/*
** NOTE: This file is generated by Gulp and should not be edited directly!
** Any changes made directly to this file will be overwritten next time its asset group is processed by Gulp.
*/

.vcard {
  max-width: 370px;
  float: left;
  border: solid 1px #cccccc;
  padding: 30px;
  margin-right: 30px;
  margin-bottom: 30px;
}
.vcard h3 {
  margin-top: 0px;
  text-transform: capitalize;
}
.vcard .email {
  -ms-word-break: break-word;
  word-break: break-word;
}
.vcard i {
  width: 20px;
  margin-right: 3px;
}
.vcard .fn,
.vcard .org {
  font-weight: 700;
}
.phone-icon {
  padding-left: 3px;
  padding-top: 2px;
}
.email-icon {
  font-size: 12px;
  padding-left: 3px;
}
.address-icon {
  float: left;
  padding-left: 2px;
  padding-top: 2px;
}
.edit-address,
.remove-address,
.ask a,
.confirm-yes a,
.confirm-no a {
  padding: 4px 10px;
}
.confirm-no a,
.ask a.remove-address {
  pointer-events: none;
}
.ask {
  overflow: hidden;
  width: 100%;
  float: left;
  cursor: pointer;
}
.confirm-yes,
.confirm-no {
  overflow: hidden;
  width: 0;
  float: left;
  cursor: pointer;
}
.confirm-yes button,
.confirm-yes a {
  border-radius: 4px 0px 0px 4px;
}
.confirm-no button,
.confirm-no a {
  border-radius: 0px 4px 4px 0px;
}
.slider-confirmation-container {
  overflow: hidden;
}
.slider-confirmation-container div {
  transition: all 0.2s ease-in-out;
}
.expire-date {
  padding-top: 4px;
}
.expire-date.date-is-expired {
  color: #ff0000;
}
#new-payment-method-container .form-group {
  margin: 5px;
}
.edit-expiration {
  padding: 0 !important;
  margin: 0 !important;
}
.expiration-date {
  float: left;
  padding-right: 10px;
  margin-top: 3px;
}
.credit-card.ccard {
  padding-top: 20px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 5px;
  margin-bottom: 20px;
  border: solid 1px black;
  max-width: 420px;
  width: 350px;
  margin-right: 20px;
  float: left;
}
.credit-card.ccard h3 {
  margin-top: 0;
  text-transform: capitalize;
}
.confirm-no,
.confirm-yes,
.ask,
.slider-confirmation-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.zone-navigation .widget-search-form {
  float: left;
  width: 18%;
  margin-top: 18px;
}
.address-form {
  clear: both;
}
.card-holder {
  overflow: hidden;
}
.card-contents {
  display: inline;
}
.custom-amount {
  max-width: 150px;
}
.address-modal .modal-dialog {
  max-width: 1000px;
  width: auto;
}
.address-modal .modal-dialog .modal-body {
  padding-top: 0;
}
.address-modal .modal-dialog .modal-body label.checkbox input {
  margin-right: 5px;
}
.address-modal .modal-dialog .modal-body .selectable-address-group,
.address-modal .modal-dialog .modal-body .add-address-container {
  margin: 0 45px;
}
.address-modal .modal-dialog .modal-body .selectable-address-group:before,
.address-modal .modal-dialog .modal-body .add-address-container:before,
.address-modal .modal-dialog .modal-body .selectable-address-group:after,
.address-modal .modal-dialog .modal-body .add-address-container:after {
  content: " ";
  display: table;
}
.address-modal .modal-dialog .modal-body .selectable-address-group:after,
.address-modal .modal-dialog .modal-body .add-address-container:after {
  clear: both;
}
.address-modal .modal-dialog .modal-body .add-address-container .btn.submit-new-address {
  width: 100%;
}
.address-modal .modal-dialog .modal-body .add-address-container legend {
  display: none;
}
.span-11 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-10 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-9 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .span-11 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
  .span-10 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
  .span-9 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label {
    float: left;
    width: 25%;
  }
}
.span-11 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-10 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-9 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .span-11 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
  .span-10 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
  .span-9 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control {
    float: left;
    width: 75%;
  }
}
.span-8 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-7 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-6 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-5 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-4 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .span-8 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
  .span-7 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
  .span-6 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
  .span-5 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
  .span-4 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label {
    float: left;
    width: 33.33333333%;
  }
}
.span-8 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-7 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-6 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-5 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-4 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .span-8 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
  .span-7 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
  .span-6 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
  .span-5 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
  .span-4 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control {
    float: left;
    width: 66.66666667%;
  }
}
.span-3 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-2 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-1 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label {
  position: relative;
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  text-align: left;
}
.span-3 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-2 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-1 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control {
  position: relative;
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
.address-block {
  overflow: hidden;
  display: -ms-flexbox;
  display: flex;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkN1c3RvbWVyLmxlc3MiLCJDdXN0b21lci5jc3MiLCJsaWIvYm9vdHN0cmFwLTMuMC4zL21peGlucy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0E7RUFDSSxpQkFBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0NDRkg7QURKRDtFQVNRLGdCQUFBO0VBQ0EsMkJBQUE7Q0NGUDtBRFJEO0VBY1EsMkJBQUE7RUFDQSx1QkFBQTtDQ0hQO0FEWkQ7RUFtQlEsWUFBQTtFQUNBLGtCQUFBO0NDSlA7QURPRDs7RUFDSSxpQkFBQTtDQ0pIO0FET0Q7RUFDSSxrQkFBQTtFQUNBLGlCQUFBO0NDTEg7QURRRDtFQUNJLGdCQUFBO0VBQ0Esa0JBQUE7Q0NOSDtBRFNEO0VBQ0ksWUFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7Q0NQSDtBRFVEOzs7OztFQUNJLGtCQUFBO0NDSkg7QURPRDs7RUFDSSxxQkFBQTtDQ0pIO0FET0Q7RUFDSSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7Q0NMSDtBRFFEOztFQUNJLGlCQUFBO0VBQ0EsU0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtDQ0xIO0FEUUQ7O0VBQ0ksK0JBQUE7Q0NMSDtBRFFEOztFQUNJLCtCQUFBO0NDTEg7QURRRDtFQUNJLGlCQUFBO0NDTkg7QURLRDtFQU9RLGlDQUFBO0NDTlA7QURVRDtFQUNJLGlCQUFBO0NDUkg7QURTRztFQUNJLGVBQUE7Q0NQUDtBRFdEO0VBRVEsWUFBQTtDQ1ZQO0FEYUQ7RUFDSSxzQkFBQTtFQUNBLHFCQUFBO0NDWEg7QURjRDtFQUNJLFlBQUE7RUFDQSxvQkFBQTtFQUNBLGdCQUFBO0NDWkg7QURnQkQ7RUFDSSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFQUNBLG9CQUFBO0VBQ0Esd0JBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7Q0NkSDtBRElEO0VBYVEsY0FBQTtFQUNBLDJCQUFBO0NDZFA7QURrQkQ7Ozs7RUFDSSwyQkFBQTtFQUNBLDRCQUFBO0NDYkg7QURnQkQ7RUFFUSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0NDZlA7QURtQkQ7RUFDSSxZQUFBO0NDakJIO0FEb0JEO0VBQ0ksaUJBQUE7Q0NsQkg7QURxQkQ7RUFDSSxnQkFBQTtDQ25CSDtBRHNCRDtFQUNJLGlCQUFBO0NDcEJIO0FEdUJEO0VBRVEsa0JBQUE7RUFDQSxZQUFBO0NDdEJQO0FEbUJEO0VBTVksZUFBQTtDQ3RCWDtBRGdCRDtFQVNnQixrQkFBQTtDQ3RCZjtBRGFEOztFQWNnQixlQUFBO0NDdkJmO0FDbElDOzs7O0VBRUUsYUFBQTtFQUNBLGVBQUE7Q0RzSUg7QUNwSUM7O0VBQ0UsWUFBQTtDRHVJSDtBREZEO0VBbUJvQixZQUFBO0NDZG5CO0FETEQ7RUF1Qm9CLGNBQUE7Q0NmbkI7QURzQkQ7OztFRXdaRSxtQkFBQTtFQUVBLGdCQUFBO0VBRUEsbUJBQUE7RUFDQSxvQkFBQTtDRDNhRDtBQzhhQztFQWlQRjs7O0lBaFBJLFlBQUE7SUFDQSxXQUFBO0dEemFEO0NBQ0Y7QURNRDs7O0VFd1pFLG1CQUFBO0VBRUEsZ0JBQUE7RUFFQSxtQkFBQTtFQUNBLG9CQUFBO0NEM1pEO0FDOFpDO0VBaVBGOzs7SUFoUEksWUFBQTtJQUNBLFdBQUE7R0R6WkQ7Q0FDRjtBRElEOzs7OztFRTBZRSxtQkFBQTtFQUVBLGdCQUFBO0VBRUEsbUJBQUE7RUFDQSxvQkFBQTtDRHpZRDtBQzRZQztFQWlQRjs7Ozs7SUFoUEksWUFBQTtJQUNBLG9CQUFBO0dEcllEO0NBQ0Y7QURoQkQ7Ozs7O0VFMFlFLG1CQUFBO0VBRUEsZ0JBQUE7RUFFQSxtQkFBQTtFQUNBLG9CQUFBO0NEclhEO0FDd1hDO0VBaVBGOzs7OztJQWhQSSxZQUFBO0lBQ0Esb0JBQUE7R0RqWEQ7Q0FDRjtBRHRCRDs7O0VFZ1hFLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFFQSxnQkFBQTtFQUVBLG1CQUFBO0VBQ0Esb0JBQUE7RUZsWGMsaUJBQUE7Q0M0QmY7QURqQ0Q7OztFRWdYRSxtQkFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBRUEsZ0JBQUE7RUFFQSxtQkFBQTtFQUNBLG9CQUFBO0NENVVEO0FENUJEO0VBQ0ksaUJBQUE7RUFDQSxxQkFBQTtFQUFBLGNBQUE7Q0M4QkgiLCJmaWxlIjoiQ3VzdG9tZXIuY3NzIiwic291cmNlc0NvbnRlbnQiOlsi77u/QGltcG9ydCAocmVmZXJlbmNlKSBcImxpYi9ib290c3RyYXAtcmVmZXJlbmNlcy5sZXNzXCI7XHJcbkBpbWFnZUhlaWdodDoyNjVweDtcclxuXHJcbi52Y2FyZCB7XHJcbiAgICBtYXgtd2lkdGg6IDM3MHB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgIH1cclxuXHJcbiAgICAuZW1haWwge1xyXG4gICAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICB9XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbiAgICB9XHJcbn1cclxuLnZjYXJkIC5mbiwgLnZjYXJkIC5vcmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLnBob25lLWljb24ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xyXG59XHJcblxyXG4uZW1haWwtaWNvbiB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDNweDtcclxufVxyXG5cclxuLmFkZHJlc3MtaWNvbiB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctbGVmdDogMnB4O1xyXG4gICAgcGFkZGluZy10b3A6IDJweDtcclxufVxyXG5cclxuLmVkaXQtYWRkcmVzcywgLnJlbW92ZS1hZGRyZXNzLCAuYXNrIGEsIC5jb25maXJtLXllcyBhLCAuY29uZmlybS1ubyBhIHtcclxuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xyXG59XHJcblxyXG4uY29uZmlybS1ubyBhLCAuYXNrIGEucmVtb3ZlLWFkZHJlc3Mge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5hc2sge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jb25maXJtLXllcywgLmNvbmZpcm0tbm8ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jb25maXJtLXllcyBidXR0b24sIC5jb25maXJtLXllcyBhIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwcHggMHB4IDRweDtcclxufVxyXG5cclxuLmNvbmZpcm0tbm8gYnV0dG9uLCAuY29uZmlybS1ubyBhIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDBweCA0cHggNHB4IDBweDtcclxufVxyXG5cclxuLnNsaWRlci1jb25maXJtYXRpb24tY29udGFpbmVyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgZGl2IHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcclxuICAgIH1cclxufVxyXG5cclxuLmV4cGlyZS1kYXRlIHtcclxuICAgIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgICAmLmRhdGUtaXMtZXhwaXJlZCB7XHJcbiAgICAgICAgY29sb3I6ICNmZjAwMDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNuZXctcGF5bWVudC1tZXRob2QtY29udGFpbmVye1xyXG4gICAgLmZvcm0tZ3JvdXB7XHJcbiAgICAgICAgbWFyZ2luOjVweDtcclxuICAgIH1cclxufVxyXG4uZWRpdC1leHBpcmF0aW9uIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZXhwaXJhdGlvbi1kYXRlIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIG1hcmdpbi10b3A6IDNweDtcclxufVxyXG5cclxuXHJcbi5jcmVkaXQtY2FyZC5jY2FyZCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGJvcmRlcjogc29saWQgMXB4IGJsYWNrO1xyXG4gICAgbWF4LXdpZHRoOiA0MjBweDtcclxuICAgIHdpZHRoOiAzNTBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29uZmlybS1ubywgLmNvbmZpcm0teWVzLCAuYXNrLCAuc2xpZGVyLWNvbmZpcm1hdGlvbi1jb250YWluZXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi56b25lLW5hdmlnYXRpb257XHJcbiAgICAud2lkZ2V0LXNlYXJjaC1mb3Jte1xyXG4gICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAgd2lkdGg6MTglO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hZGRyZXNzLWZvcm0ge1xyXG4gICAgY2xlYXI6Ym90aDtcclxufVxyXG5cclxuLmNhcmQtaG9sZGVyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5jYXJkLWNvbnRlbnRzIHtcclxuICAgIGRpc3BsYXk6aW5saW5lO1xyXG59XHJcblxyXG4uY3VzdG9tLWFtb3VudHtcclxuICAgIG1heC13aWR0aDogMTUwcHg7XHJcbn1cclxuXHJcbi5hZGRyZXNzLW1vZGFsIHtcclxuICAgIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwMHB4O1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgICAubW9kYWwtYm9keSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG5cclxuICAgICAgICAgICAgbGFiZWwuY2hlY2tib3ggaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zZWxlY3RhYmxlLWFkZHJlc3MtZ3JvdXAsIC5hZGQtYWRkcmVzcy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLmNsZWFyZml4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDQ1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5hZGQtYWRkcmVzcy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLmJ0bi5zdWJtaXQtbmV3LWFkZHJlc3Mge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGxlZ2VuZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNwYW4tMTEsIC5zcGFuLTEwLCAuc3Bhbi05IHtcclxuICAgIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSB7XHJcbiAgICAgICAgLmhvcml6b250YWwtZm9ybS1ncm91cCB7XHJcbiAgICAgICAgICAgIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgLm1ha2Utc20tY29sdW1uKDMpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgLm1ha2Utc20tY29sdW1uKDkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3Bhbi04LCAuc3Bhbi03LCAuc3Bhbi02LCAuc3Bhbi01LCAuc3Bhbi00IHtcclxuICAgIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSB7XHJcbiAgICAgICAgLmhvcml6b250YWwtZm9ybS1ncm91cCB7XHJcbiAgICAgICAgICAgIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgLm1ha2Utc20tY29sdW1uKDQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgLm1ha2Utc20tY29sdW1uKDgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3Bhbi0zLCAuc3Bhbi0yLCAuc3Bhbi0xIHtcclxuICAgIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSB7XHJcbiAgICAgICAgLmhvcml6b250YWwtZm9ybS1ncm91cCB7XHJcbiAgICAgICAgICAgIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgLm1ha2UteHMtY29sdW1uKDEyKTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICAgICAgICAubWFrZS14cy1jb2x1bW4oMTIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWRkcmVzcy1ibG9jayB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuIiwiLnZjYXJkIHtcbiAgbWF4LXdpZHRoOiAzNzBweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2M7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi52Y2FyZCBoMyB7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG4udmNhcmQgLmVtYWlsIHtcbiAgLW1zLXdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG4udmNhcmQgaSB7XG4gIHdpZHRoOiAyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbn1cbi52Y2FyZCAuZm4sXG4udmNhcmQgLm9yZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ucGhvbmUtaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogM3B4O1xuICBwYWRkaW5nLXRvcDogMnB4O1xufVxuLmVtYWlsLWljb24ge1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmctbGVmdDogM3B4O1xufVxuLmFkZHJlc3MtaWNvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgcGFkZGluZy10b3A6IDJweDtcbn1cbi5lZGl0LWFkZHJlc3MsXG4ucmVtb3ZlLWFkZHJlc3MsXG4uYXNrIGEsXG4uY29uZmlybS15ZXMgYSxcbi5jb25maXJtLW5vIGEge1xuICBwYWRkaW5nOiA0cHggMTBweDtcbn1cbi5jb25maXJtLW5vIGEsXG4uYXNrIGEucmVtb3ZlLWFkZHJlc3Mge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5hc2sge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jb25maXJtLXllcyxcbi5jb25maXJtLW5vIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY29uZmlybS15ZXMgYnV0dG9uLFxuLmNvbmZpcm0teWVzIGEge1xuICBib3JkZXItcmFkaXVzOiA0cHggMHB4IDBweCA0cHg7XG59XG4uY29uZmlybS1ubyBidXR0b24sXG4uY29uZmlybS1ubyBhIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDRweCA0cHggMHB4O1xufVxuLnNsaWRlci1jb25maXJtYXRpb24tY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zbGlkZXItY29uZmlybWF0aW9uLWNvbnRhaW5lciBkaXYge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4uZXhwaXJlLWRhdGUge1xuICBwYWRkaW5nLXRvcDogNHB4O1xufVxuLmV4cGlyZS1kYXRlLmRhdGUtaXMtZXhwaXJlZCB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuI25ldy1wYXltZW50LW1ldGhvZC1jb250YWluZXIgLmZvcm0tZ3JvdXAge1xuICBtYXJnaW46IDVweDtcbn1cbi5lZGl0LWV4cGlyYXRpb24ge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuLmV4cGlyYXRpb24tZGF0ZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiAzcHg7XG59XG4uY3JlZGl0LWNhcmQuY2NhcmQge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6IHNvbGlkIDFweCBibGFjaztcbiAgbWF4LXdpZHRoOiA0MjBweDtcbiAgd2lkdGg6IDM1MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLmNyZWRpdC1jYXJkLmNjYXJkIGgzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG4uY29uZmlybS1ubyxcbi5jb25maXJtLXllcyxcbi5hc2ssXG4uc2xpZGVyLWNvbmZpcm1hdGlvbi1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuLnpvbmUtbmF2aWdhdGlvbiAud2lkZ2V0LXNlYXJjaC1mb3JtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxOCU7XG4gIG1hcmdpbi10b3A6IDE4cHg7XG59XG4uYWRkcmVzcy1mb3JtIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uY2FyZC1ob2xkZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNhcmQtY29udGVudHMge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4uY3VzdG9tLWFtb3VudCB7XG4gIG1heC13aWR0aDogMTUwcHg7XG59XG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIHtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSBsYWJlbC5jaGVja2JveCBpbnB1dCB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSAuc2VsZWN0YWJsZS1hZGRyZXNzLWdyb3VwLFxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSAuYWRkLWFkZHJlc3MtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDQ1cHg7XG59XG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5IC5zZWxlY3RhYmxlLWFkZHJlc3MtZ3JvdXA6YmVmb3JlLFxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSAuYWRkLWFkZHJlc3MtY29udGFpbmVyOmJlZm9yZSxcbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHkgLnNlbGVjdGFibGUtYWRkcmVzcy1ncm91cDphZnRlcixcbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHkgLmFkZC1hZGRyZXNzLWNvbnRhaW5lcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHkgLnNlbGVjdGFibGUtYWRkcmVzcy1ncm91cDphZnRlcixcbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHkgLmFkZC1hZGRyZXNzLWNvbnRhaW5lcjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSAuYWRkLWFkZHJlc3MtY29udGFpbmVyIC5idG4uc3VibWl0LW5ldy1hZGRyZXNzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5IC5hZGQtYWRkcmVzcy1jb250YWluZXIgbGVnZW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zcGFuLTExIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4uc3Bhbi0xMCAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuLnNwYW4tOSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3Bhbi0xMSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuICAuc3Bhbi0xMCAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuICAuc3Bhbi05IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cbi5zcGFuLTExIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbi5zcGFuLTEwIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbi5zcGFuLTkgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3Bhbi0xMSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4gIC5zcGFuLTEwIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbiAgLnNwYW4tOSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cbi5zcGFuLTggLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbi5zcGFuLTcgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbi5zcGFuLTYgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbi5zcGFuLTUgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbi5zcGFuLTQgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNwYW4tOCAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuICAuc3Bhbi03IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4gIC5zcGFuLTYgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbiAgLnNwYW4tNSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuICAuc3Bhbi00IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cbn1cbi5zcGFuLTggLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuLnNwYW4tNyAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4uc3Bhbi02IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbi5zcGFuLTUgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuLnNwYW4tNCAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zcGFuLTggLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuICAuc3Bhbi03IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbiAgLnNwYW4tNiAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4gIC5zcGFuLTUgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuICAuc3Bhbi00IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgfVxufVxuLnNwYW4tMyAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuLnNwYW4tMiAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuLnNwYW4tMSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnNwYW4tMyAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4uc3Bhbi0yIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbi5zcGFuLTEgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuLmFkZHJlc3MtYmxvY2sge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuIiwiLy9cbi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ2xlYXJmaXhcbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLmNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuLnRhYi1mb2N1cygpIHtcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgLy8gV2ViS2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcbi5jZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBTaXppbmcgc2hvcnRjdXRzXG4uc2l6ZShAd2lkdGg7IEBoZWlnaHQpIHtcbiAgd2lkdGg6IEB3aWR0aDtcbiAgaGVpZ2h0OiBAaGVpZ2h0O1xufVxuLnNxdWFyZShAc2l6ZSkge1xuICAuc2l6ZShAc2l6ZTsgQHNpemUpO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG4ucGxhY2Vob2xkZXIoQGNvbG9yOiBAaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEZpcmVmb3ggNC0xOFxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7IGNvbG9yOiBAY29sb3I7ICAgLy8gRmlyZWZveCAxOStcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyB9IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gSW50ZXJuZXQgRXhwbG9yZXIgMTArXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgIHsgY29sb3I6IEBjb2xvcjsgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxufVxuXG4vLyBUZXh0IG92ZXJmbG93XG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG4udGV4dC1vdmVyZmxvdygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy9cbi8vIEhlYWRzIHVwISB2MyBsYXVuY2hlZCB3aXRoIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuIE5vdGVcbi8vIHRoYXQgd2UgY2Fubm90IGNoYWluIHRoZSBtaXhpbnMgdG9nZXRoZXIgaW4gTGVzcywgc28gdGhleSBhcmUgcmVwZWF0ZWQuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xICh3aWxsIGJlIHJlbW92ZWQgaW4gdjQpXG4uaGlkZS10ZXh0KCkge1xuICBmb250OiB+XCIwLzBcIiBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbi50ZXh0LWhpZGUoKSB7XG4gIC5oaWRlLXRleHQoKTtcbn1cblxuXG5cbi8vIENTUzMgUFJPUEVSVElFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuLmJvcmRlci10b3AtcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1yaWdodC1yYWRpdXMoQHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLWJvdHRvbS1yYWRpdXMoQHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbiAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLWxlZnQtcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4uYm94LXNoYWRvdyhAc2hhZG93KSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogQHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiBAc2hhZG93O1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLnRyYW5zaXRpb24oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cbi50cmFuc2l0aW9uLXByb3BlcnR5KEB0cmFuc2l0aW9uLXByb3BlcnR5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG4udHJhbnNpdGlvbi1kZWxheShAdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xufVxuLnRyYW5zaXRpb24tZHVyYXRpb24oQHRyYW5zaXRpb24tZHVyYXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbi50cmFuc2l0aW9uLXRyYW5zZm9ybShAdHJhbnNpdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQHRyYW5zaXRpb247XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuLnJvdGF0ZShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG59XG4uc2NhbGUoQHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTsgLy8gSUU5K1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbn1cbi50cmFuc2xhdGUoQHg7IEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbn1cbi5za2V3KEB4OyBAeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2tldyhAeCwgQHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tldyhAeCwgQHkpO1xufVxuLnRyYW5zbGF0ZTNkKEB4OyBAeTsgQHopIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG59XG5cbi5yb3RhdGVYKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTtcbn1cbi5yb3RhdGVZKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTtcbn1cbi5wZXJzcGVjdGl2ZShAcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbn1cbi5wZXJzcGVjdGl2ZS1vcmlnaW4oQHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG59XG4udHJhbnNmb3JtLW9yaWdpbihAb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG59XG5cbi8vIEFuaW1hdGlvbnNcbi5hbmltYXRpb24oQGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogQGFuaW1hdGlvbjtcbiAgICAgICAgICBhbmltYXRpb246IEBhbmltYXRpb247XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG4uYmFja2ZhY2UtdmlzaWJpbGl0eShAdmlzaWJpbGl0eSl7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG59XG5cbi8vIEJveCBzaXppbmdcbi5ib3gtc2l6aW5nKEBib3htb2RlbCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgICAgICAgYm94LXNpemluZzogQGJveG1vZGVsO1xufVxuXG4vLyBVc2VyIHNlbGVjdFxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXG4udXNlci1zZWxlY3QoQHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBAc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgIC1vLXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBAc2VsZWN0O1xufVxuXG4vLyBSZXNpemUgYW55dGhpbmdcbi5yZXNpemFibGUoQGRpcmVjdGlvbikge1xuICByZXNpemU6IEBkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBTYWZhcmkgZml4XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG4uY29udGVudC1jb2x1bW5zKEBjb2x1bW4tY291bnQ7IEBjb2x1bW4tZ2FwOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbi5oeXBoZW5zKEBtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBAbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiBAbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiBAbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiBAbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiBAbW9kZTtcbn1cblxuLy8gT3BhY2l0eVxuLm9wYWNpdHkoQG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogQG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgQG9wYWNpdHktaWU6IChAb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogflwiYWxwaGEob3BhY2l0eT1Ae29wYWNpdHktaWV9KVwiO1xufVxuXG5cblxuLy8gR1JBRElFTlRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jZ3JhZGllbnQge1xuXG4gIC8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuICAvL1xuICAvLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuICAvLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuICAuaG9yaXpvbnRhbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBzdGFydC1wZXJjZW50OiAwJTsgQGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgY29sb3Itc3RvcChAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQpLCBjb2xvci1zdG9wKEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KSk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duXG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4gIC8vXG4gIC8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4gIC8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG4gIC52ZXJ0aWNhbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBzdGFydC1wZXJjZW50OiAwJTsgQGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgIC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duXG4gIH1cblxuICAuZGlyZWN0aW9uYWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAZGVnOiA0NWRlZykge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0LWNvbG9yLCBAZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICB9XG4gIC5ob3Jpem9udGFsLXRocmVlLWNvbG9ycyhAc3RhcnQtY29sb3I6ICMwMGIzZWU7IEBtaWQtY29sb3I6ICM3YTQzYjY7IEBjb2xvci1zdG9wOiA1MCU7IEBlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbiAgfVxuICAudmVydGljYWwtdGhyZWUtY29sb3JzKEBzdGFydC1jb2xvcjogIzAwYjNlZTsgQG1pZC1jb2xvcjogIzdhNDNiNjsgQGNvbG9yLXN0b3A6IDUwJTsgQGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG4gIH1cbiAgLnJhZGlhbChAaW5uZXItY29sb3I6ICM1NTU7IEBvdXRlci1jb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lci1jb2xvciwgQG91dGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC5zdHJpcGVkKEBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpOyBAYW5nbGU6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCBAY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgQGNvbG9yIDUwJSwgQGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG5cbi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuLnJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiKSk7XG59XG5cblxuXG4vLyBSZXRpbmEgaW1hZ2VzXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplXG5cbi5pbWctcmV0aW5hKEBmaWxlLTF4OyBAZmlsZS0yeDsgQHdpZHRoLTF4OyBAaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7ZmlsZS0xeH1cIik7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmaWxlLTJ4fVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IEB3aWR0aC0xeCBAaGVpZ2h0LTF4O1xuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbi5pbWctcmVzcG9uc2l2ZShAZGlzcGxheTogYmxvY2s7KSB7XG4gIGRpc3BsYXk6IEBkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBDT01QT05FTlQgTUlYSU5TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcbi5uYXYtZGl2aWRlcihAY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbn1cblxuLy8gUGFuZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGFuZWwtdmFyaWFudChAYm9yZGVyOyBAaGVhZGluZy10ZXh0LWNvbG9yOyBAaGVhZGluZy1iZy1jb2xvcjsgQGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcblxuICAmID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiBAaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBib3JkZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIEFsZXJ0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmFsZXJ0LXZhcmlhbnQoQGJhY2tncm91bmQ7IEBib3JkZXI7IEB0ZXh0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7XG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKEBib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbihAdGV4dC1jb2xvciwgMTAlKTtcbiAgfVxufVxuXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi50YWJsZS1yb3ctdmFyaWFudChAc3RhdGU7IEBiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZSB7XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0ciA+IC5Ae3N0YXRlfSxcbiAgICAgID4gLkB7c3RhdGV9ID4gdGQsXG4gICAgICA+IC5Ae3N0YXRlfSA+IHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkge1xuICAgID4gdHIgPiAuQHtzdGF0ZX06aG92ZXIsXG4gICAgPiAuQHtzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICA+IC5Ae3N0YXRlfTpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gdmFyaWFudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuLmJ1dHRvbi12YXJpYW50KEBjb2xvcjsgQGJhY2tncm91bmQ7IEBib3JkZXIpIHtcbiAgY29sb3I6IEBjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuIC5kcm9wZG93bi10b2dnbGUmIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAYmFja2dyb3VuZCwgOCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IEBib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBjb2xvcjogQGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5idXR0b24tc2l6ZShAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGxpbmUtaGVpZ2h0OyBAYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzO1xufVxuXG4vLyBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGFnaW5hdGlvbi1zaXplKEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAYm9yZGVyLXJhZGl1cykge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6IEBmb250LXNpemU7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgLmJvcmRlci1sZWZ0LXJhZGl1cyhAYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cyhAYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmxhYmVsLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG5cbi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cbi5uYXZiYXItdmVydGljYWwtYWxpZ24oQGVsZW1lbnQtaGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6ICgoQG5hdmJhci1oZWlnaHQgLSBAZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgoQG5hdmJhci1oZWlnaHQgLSBAZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG5cbi8vIFByb2dyZXNzIGJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wcm9ncmVzcy1iYXItdmFyaWFudChAY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICAucHJvZ3Jlc3Mtc3RyaXBlZCAmIHtcbiAgICAjZ3JhZGllbnQgPiAuc3RyaXBlZCgpO1xuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLnJlc3BvbnNpdmUtdmlzaWJpbGl0eSgpIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgdGFibGUmICB7IGRpc3BsYXk6IHRhYmxlOyB9XG4gIHRyJiAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCYsXG4gIHRkJiAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCkge1xuICAgICYsXG4gIHRyJixcbiAgdGgmLFxuICB0ZCYgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuXG4vLyBHcmlkIFN5c3RlbVxuLy8gLS0tLS0tLS0tLS1cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbi5jb250YWluZXItZml4ZWQoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogIChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAuY2xlYXJmaXgoKTtcbn1cblxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcbi5tYWtlLXJvdyhAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6ICAoQGd1dHRlciAvIC0yKTtcbiAgbWFyZ2luLXJpZ2h0OiAoQGd1dHRlciAvIC0yKTtcbiAgLmNsZWFyZml4KCk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG4ubWFrZS14cy1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uc1xuLm1ha2Utc20tY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgbWluLWhlaWdodDogMXB4O1xuICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICAvLyBDYWxjdWxhdGUgd2lkdGggYmFzZWQgb24gbnVtYmVyIG9mIGNvbHVtbnMgYXZhaWxhYmxlXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uIG9mZnNldHNcbi5tYWtlLXNtLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1zbS1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2Utc20tY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuLm1ha2UtbWQtY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgbWluLWhlaWdodDogMXB4O1xuICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICAvLyBDYWxjdWxhdGUgd2lkdGggYmFzZWQgb24gbnVtYmVyIG9mIGNvbHVtbnMgYXZhaWxhYmxlXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbiBvZmZzZXRzXG4ubWFrZS1tZC1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbWQtY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQpIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbWQtY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG4ubWFrZS1sZy1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xuXG4gIC8vIENhbGN1bGF0ZSB3aWR0aCBiYXNlZCBvbiBudW1iZXIgb2YgY29sdW1ucyBhdmFpbGFibGVcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW4gb2Zmc2V0c1xuLm1ha2UtbGctY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLWxnLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1sZy1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYEBncmlkLWNvbHVtbnNgLlxuXG4ubWFrZS1ncmlkLWNvbHVtbnMoKSB7XG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIGFsbCBzaXplcyBvZiBncmlkIGNvbHVtbnMsIHdpZHRocyAxLTEyXG4gIC5jb2woQGluZGV4KSB3aGVuIChAaW5kZXggPSAxKSB7IC8vIGluaXRpYWxcbiAgICBAaXRlbTogflwiLmNvbC14cy1Ae2luZGV4fSwgLmNvbC1zbS1Ae2luZGV4fSwgLmNvbC1tZC1Ae2luZGV4fSwgLmNvbC1sZy1Ae2luZGV4fVwiO1xuICAgIC5jb2woQGluZGV4ICsgMSwgQGl0ZW0pO1xuICB9XG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID08IEBncmlkLWNvbHVtbnMpIHsgLy8gZ2VuZXJhbDsgXCI9PFwiIGlzbid0IGEgdHlwb1xuICAgIEBpdGVtOiB+XCIuY29sLXhzLUB7aW5kZXh9LCAuY29sLXNtLUB7aW5kZXh9LCAuY29sLW1kLUB7aW5kZXh9LCAuY29sLWxnLUB7aW5kZXh9XCI7XG4gICAgLmNvbChAaW5kZXggKyAxLCB+XCJAe2xpc3R9LCBAe2l0ZW19XCIpO1xuICB9XG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID4gQGdyaWQtY29sdW1ucykgeyAvLyB0ZXJtaW5hbFxuICAgIEB7bGlzdH0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICAgIHBhZGRpbmctbGVmdDogIChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICB9XG4gIH1cbiAgLmNvbCgxKTsgLy8ga2lja3N0YXJ0IGl0XG59XG5cbi5tYWtlLWdyaWQtY29sdW1ucy1mbG9hdChAY2xhc3MpIHtcbiAgLmNvbChAaW5kZXgpIHdoZW4gKEBpbmRleCA9IDEpIHsgLy8gaW5pdGlhbFxuICAgIEBpdGVtOiB+XCIuY29sLUB7Y2xhc3N9LUB7aW5kZXh9XCI7XG4gICAgLmNvbChAaW5kZXggKyAxLCBAaXRlbSk7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPTwgQGdyaWQtY29sdW1ucykgeyAvLyBnZW5lcmFsXG4gICAgQGl0ZW06IH5cIi5jb2wtQHtjbGFzc30tQHtpbmRleH1cIjtcbiAgICAuY29sKEBpbmRleCArIDEsIH5cIkB7bGlzdH0sIEB7aXRlbX1cIik7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPiBAZ3JpZC1jb2x1bW5zKSB7IC8vIHRlcm1pbmFsXG4gICAgQHtsaXN0fSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cbiAgLmNvbCgxKTsgLy8ga2lja3N0YXJ0IGl0XG59XG5cbi5jYWxjLWdyaWQoQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IHdpZHRoKSBhbmQgKEBpbmRleCA+IDApIHtcbiAgLmNvbC1Ae2NsYXNzfS1Ae2luZGV4fSB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLmNhbGMtZ3JpZChAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVzaCkge1xuICAuY29sLUB7Y2xhc3N9LXB1c2gtQHtpbmRleH0ge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLmNhbGMtZ3JpZChAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVsbCkge1xuICAuY29sLUB7Y2xhc3N9LXB1bGwtQHtpbmRleH0ge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5jYWxjLWdyaWQoQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IG9mZnNldCkge1xuICAuY29sLUB7Y2xhc3N9LW9mZnNldC1Ae2luZGV4fSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBCYXNpYyBsb29waW5nIGluIExFU1Ncbi5tYWtlLWdyaWQoQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAaW5kZXggPj0gMCkge1xuICAuY2FsYy1ncmlkKEBpbmRleCwgQGNsYXNzLCBAdHlwZSk7XG4gIC8vIG5leHQgaXRlcmF0aW9uXG4gIC5tYWtlLWdyaWQoQGluZGV4IC0gMSwgQGNsYXNzLCBAdHlwZSk7XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy9cbi8vIFVzZWQgaW4gZm9ybXMubGVzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbi5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAdGV4dC1jb2xvcjogIzU1NTsgQGJvcmRlci1jb2xvcjogI2NjYzsgQGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmhlbHAtYmxvY2ssXG4gIC5jb250cm9sLWxhYmVsLFxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSAge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xuICAgIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICBAc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKEBib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICAuYm94LXNoYWRvdyhAc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQtY29sb3I7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgQGlucHV0LWZvY3VzLWJvcmRlcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cblxuLmZvcm0tY29udHJvbC1mb2N1cyhAY29sb3I6IEBpbnB1dC1ib3JkZXItZm9jdXMpIHtcbiAgQGNvbG9yLXJnYmE6IHJnYmEocmVkKEBjb2xvciksIGdyZWVuKEBjb2xvciksIGJsdWUoQGNvbG9yKSwgLjYpO1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC5ib3gtc2hhZG93KH5cImluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4IEB7Y29sb3ItcmdiYX1cIik7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG5cbi5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQ7IEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAbGluZS1oZWlnaHQ7IEBib3JkZXItcmFkaXVzKSB7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cztcblxuICBzZWxlY3QmIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSYge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIl19 */
