html[lang="en"] .seat.seat-prop-IE .seatName wrap wrap:after{content:'The possibility of providing the service is limited for certain categories of passengers, read the rules'}html[lang="en"] .seat.seat-prop-1A .seatName wrap wrap:after{content:'The possibility of providing the service is limited for certain categories of passengers, read the rules'}html[lang="en"] .seat.seat-prop-1C .seatName wrap wrap:after{content:'The possibility of providing the service is limited for certain categories of passengers, read the rules'}html[lang="en"] .seat.seat-prop-1B .seatName wrap wrap:after{content:'The possibility of providing the service is limited for certain categories of passengers, read the rules'}html[lang="ru"] .seat.seat-prop-IE .seatName wrap wrap:after{content:'Возможность предоставления услуги ограничена для некоторых категорий пассажиров, ознакомьтесь с правилами'}html[lang="ru"] .seat.seat-prop-1A .seatName wrap wrap:after{content:'Возможность предоставления услуги ограничена для некоторых категорий пассажиров, ознакомьтесь с правилами'}html[lang="ru"] .seat.seat-prop-1C .seatName wrap wrap:after{content:'Возможность предоставления услуги ограничена для некоторых категорий пассажиров, ознакомьтесь с правилами'}html[lang="ru"] .seat.seat-prop-1B .seatName wrap wrap:after{content:'Возможность предоставления услуги ограничена для некоторых категорий пассажиров, ознакомьтесь с правилами'}.food{display:-webkit-box;display:-ms-flexbox;display:flex}.food .list__i wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.food .name{padding:0 10px}.checkoutServices__i .passengersTable .food .item{-webkit-box-flex:50%;-ms-flex:50%;flex:50%}.checkoutServices__i .passengersTable .food .item .food_wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media only screen and (max-width: 768px){.checkoutServices__i .drop_mobile .passengersTable .route{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.passengersBlock_row-control-droporder-passenger-outer.active{background-color:rgba(138,23,118,0.4);color:#fff}.passengersBlock_row-control-droporder-passenger-outer.active:after{border-left-color:rgba(138,23,118,0.4)}.passengersBlock_row-menu .list__i.isotopeGrid wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:wrap row;flex-flow:wrap row}.passengersBlock_row-menu .item{-webkit-box-flex:50%;-ms-flex:50%;flex:50%}.pika-lendar__availability-highlight .pika-button.unavailable{pointer-events:all;cursor:pointer}.seat.seat-map-color-group-1{background:#45a4cf}.seat.seat-map-color-group-2{background:#c5638f}.deck-label{padding-top:40px}.seat.seat-prop-not_for_infant.seat-prop-IE .seatName,.seat.seat-prop-not_for_infant.seat-prop-1A .seatName,.seat.seat-prop-not_for_infant.seat-prop-1C .seatName,.seat.seat-prop-not_for_infant.seat-prop-1B .seatName{display:block;white-space:pre-line;width:150px;top:-115px;z-index:10}.seat.seat-prop-not_for_infant.seat-prop-IE .seatName wrap wrap:after,.seat.seat-prop-not_for_infant.seat-prop-1A .seatName wrap wrap:after,.seat.seat-prop-not_for_infant.seat-prop-1C .seatName wrap wrap:after,.seat.seat-prop-not_for_infant.seat-prop-1B .seatName wrap wrap:after{display:inline-block;font-size:0.6em}.seat.seat-prop-not_for_infant.seat-prop-IE .seatName .price,.seat.seat-prop-not_for_infant.seat-prop-1A .seatName .price,.seat.seat-prop-not_for_infant.seat-prop-1C .seatName .price,.seat.seat-prop-not_for_infant.seat-prop-1B .seatName .price{text-align:center}.ui-select-passengers .selectize-input{padding-bottom:29px}.selectDate .item.active a{background:#8a1776;color:#fff}.selectDate .item.active a .date_text{color:#fff}.ui-select-header.ui-select-header-mobile .selectize-input .ui-select-match{color:#fff}.ui-select-header.ui-select-header-mobile .selectize-input:after{border-color:#fff transparent transparent transparent !important}@media only screen and (max-width: 768px){.ui-select-header .ui-select-placeholder.text-muted{color:#fff}}.row{margin:0}.coment-t a{white-space:initial;border-bottom:1px dashed #0b6cb1}.awesome-search-form-footer__col-button .btn{background:#0b6cb1;color:#ffffff}.awesome-search-form-footer__col-button .btn:hover{background:#8a1776}body .moment-picker .datepicker-arrow:hover{background:#0b6cb1;border-color:#0b6cb1}body .moment-picker .month-view .moment-picker-specific-views td:not(.disabled){background:#bcd2e6;color:#333}body .moment-picker .month-view .moment-picker-specific-views td:not(.disabled):hover{background:#8a1776;color:#ffffff}body .moment-picker .month-view .moment-picker-specific-views td.today{color:#ffffff;background:#0b6cb1}body .moment-picker .month-view .moment-picker-specific-views td.disabled{background:#f5f5f5}body .moment-picker .month-view .moment-picker-specific-views td.selected{color:#fff !important;background:#8a1776 !important}.awesome-simple-route__switch-button:hover{background:#0b6cb1;border-color:#b3b3b3}.form-group{display:inline-block}.form-inline .btn-primary.btn-sm.blue-btn{background:#8a1776;border-color:#8a1776}.popover .popover-inner{background:#8a1776}.btn_receipt_cont a.send_receipt{background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzkuNDc0IDM5LjQ3NCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzkuNDc0IDM5LjQ3NDsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSI1MTJweCIgaGVpZ2h0PSI1MTJweCI+DQo8cGF0aCBkPSJNMzguMzQ3LDQuODI1YzAuNjE5LDAsMS4xMjcsMC41MDgsMS4xMjcsMS4xMjd2MjcuNTcxYzAsMC42MTktMC41MDgsMS4xMjctMS4xMjcsMS4xMjdoLTAuMjdIMS4zODEgIGgtMC4yN0MwLjQ5MiwzNC42NDksMCwzNC4xNDEsMCwzMy41MjJWNS45NTJjMC0wLjYxOSwwLjQ5Mi0xLjEyNywxLjExMS0xLjEyN2gwLjI3aDAuMzE3aDAuNTg3YzExLjgyNSwwLDIzLjY1LDAsMzUuNDksMGgwLjMwMiAgSDM4LjM0N3ogTTE5LjcyOSwyMC4zNDhsOC40NDQtNy4zMDFsNi45MDQtNS45ODRoLTAuMDMySDM0LjQ5Yy05LjY1LDAtMTkuMzE2LDAtMjguOTgzLDBoLTAuNTRoLTAuNTRINC4zODFsNi45MDQsNS45ODQgIEwxOS43MjksMjAuMzQ4eiBNMjkuNjMzLDE0LjcyOWwtOS4xNTgsNy45MzZjLTAuNDEzLDAuMzY1LTEuMDQ4LDAuMzgxLTEuNDc2LDAuMDE2bC05LjE3NC03Ljk1MkwyLjIzOCw4LjE1OHYyMy4xNThsNy41ODctNi41ODcgIGw0LjI1NC0zLjY2N2MwLjQ2LTAuNDEzLDEuMTc1LTAuMzY1LDEuNTcxLDAuMTExYzAuNDEzLDAuNDYsMC4zNDksMS4xNzUtMC4xMTEsMS41NzFsLTQuMjU0LDMuNjgybC02LjkwNCw1Ljk2OGgzMC42OTcgIGwtNi45MDQtNS45NjhsLTQuMjU0LTMuNjgyYy0wLjQ2LTAuMzk3LTAuNTA4LTEuMTExLTAuMTExLTEuNTcxYzAuNDEzLTAuNDc2LDEuMTExLTAuNTI0LDEuNTcxLTAuMTExbDQuMjU0LDMuNjY3bDcuNjAzLDYuNTg3ICBWOC4xNThMMjkuNjMzLDE0LjcyOXoiIGZpbGw9IiNmZmZmZmYiLz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjwvc3ZnPg0K")}.tooltip-cont .tooltip .tooltip-inner{background:#8a1776}.tooltip-cont .tooltip svg.svg-symbol-tooltip-arrow *{fill:#0b6cb1}#checkinForm .list>.item .mobileShow .top table td:first-child{background:#f2f2f2}#checkinForm .list>.item .mobileShow .top table td:first-child i{border:1px solid #ccc;padding:15px;color:#0b6cb1}#checkinForm .list .item .row:first-child{margin-top:15px;margin-left:0px}#checkinForm .list>.item .mobileShow .top table td{background:#f2f2f2}#checkinForm .list>.item .mobileShow .top .name{color:#000}#checkinForm .list>.item .mobileShow .top .name i{color:#000}#checkinForm .list .item .row{background:transparent}#extraServicesCont>div.invoice>div>div:nth-child(1){padding:15px}@media only screen and (max-width: 768px){.webRegistration .registration__passengers__seatMap .info-top{width:100%;position:relative;top:0;bottom:0}}@media only screen and (max-width: 768px){.webRegistration .registration__passengers__seatMap .info-bottom{width:100%;bottom:0;position:relative}}@media only screen and (max-width: 768px){.webRegistration .registration__passengers__seatMap .view-craft-box{margin:0}}@media only screen and (max-width: 768px){#checkinForm .seatInfo .seat--autoAssigned::after,.seatMap .seat--autoAssigned::after{font-weight:500;color:#fff;right:0;top:-1px;bottom:1px;font-size:18px;line-height:22px}}.seatInfo .seat--autoAssigned::after{left:0;right:0;top:-1px;bottom:0;font-size:18px;line-height:22px}@media only screen and (max-width: 515px){.awesome-simple-route__row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.awesome-simple-route__row .awesome-simple-route__col-date:first-child,.awesome-simple-route__row .awesome-simple-route__col-date:last-child{padding:5px 0;width:100%}}@media only screen and (max-width: 1100px){.awesome-simple-route__row:nth-child(1){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}@media only screen and (max-width: 768px){body .moment-picker .moment-picker-container.open{top:0;height:100vh}}@media only screen and (max-width: 768px){.awesome-city-picker-field_origin.awesome-city-picker-field_active,.awesome-city-picker-field_destination.awesome-city-picker-field_active,.awesome-date-picker__header{background:#0b6cb1}}@media only screen and (max-width: 768px){.awesome-city-drop{max-height:100vh}}.awesome-simple-route__switch-button .svg-switch-arrows *,.passenger-calc-field__icon .svg-drop-arrow *,.flight-date-picker-field__icon *,.flight-date-picker-drop__header-icon svg *,.passenger-count__plus .svg-sprite-icon *,.passenger-count__minus .svg-sprite-icon *{fill:#0b6cb1}.flight-date-picker-drop__header-text{color:#0b6cb1}.flight-date-picker-drop__switch{height:22px;width:22px}.flight-date-picker-drop__switch svg{margin:5px auto;width:10px}.flight-date-picker-drop__switch:hover{background:#0b6cb1;color:#fff;border-color:#0b6cb1}.passenger-count__plus:not(.disabled):hover,.passenger-count__minus:not(.disabled):hover{background:#0b6cb1;color:#fff}@media only screen and (max-width: 768px){.passenger-count__plus:not(.disabled):hover,.passenger-count__minus:not(.disabled):hover{background:transparent}}.awesome-simple-route,.awesome-search-form-footer__row:not(:last-child){padding-right:180px}@media only screen and (max-width: 768px){.awesome-simple-route,.awesome-search-form-footer__row:not(:last-child){padding-right:0}}@media only screen and (max-width: 768px){.flight-date-picker-drop__header{background:#0b6cb1}.flight-date-picker-drop__header .flight-date-picker-drop__header-text{color:#fff}}.flight-date-picker-field{border:none}.flight-date-picker-field:hover{border:none}.flight-date-picker-field .flight-date-picker-field__placeholder{background:#fff;border:#ccc 1px solid}.flight-date-picker-field .flight-date-picker-field__placeholder .flight-date-picker-field_locked{height:42px;background:#fff}.awesome-city-picker-field__placeholder:before{content:'\25bc';font-family:'FontAwesome';font-size:9px;position:absolute;right:20px;color:#0b6cb1}.awesome-city-drop.awesome-city-drop__item:hover{background:#0b6cb1 0.3}.is-disabled .pika-button.pika-day{background:white}div.flight-date-picker-drop.flight-date-picker-drop_there,div.flight-date-picker-drop.flight-date-picker-drop_back{width:762px;top:40px}@media only screen and (max-width: 768px){div.flight-date-picker-drop.flight-date-picker-drop_there,div.flight-date-picker-drop.flight-date-picker-drop_back{width:100%;top:0}}.flight-date-picker-drop__months{-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}@media only screen and (max-width: 768px){.flight-date-picker-drop__months .flight-date-picker-mohth-table{width:90%;margin-top:5%}}.flight-date-picker-drop__months .flight-date-picker-mohth-table .flight-date-picker-mohth-table__day-cell{border:1px solid #fff}.flight-date-picker-drop__footer-button{color:#0b6cb1;border:1px solid #0b6cb1;margin-top:20px}.flight-date-picker-drop__footer-button:hover{color:#fff;background:#0b6cb1}.pika-button.pika-day{background:#0b6cb1 0.6;color:#fff}.pika-button.pika-day:hover{background:#0b6cb1}.flight-date-picker-field__close{display:none}.flight-date-picker-mohth-table__day-cell_available{background:#0a6cb14d;position:relative}.flight-date-picker-mohth-table__day-cell_available:hover{background:#0b6cb1;color:#fff}.flight-date-picker-mohth-table__day-cell_available:hover:before{content:'\25b6';color:#fff;font-family:'FontAwesome';position:absolute;left:0;top:60%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.flight-date-picker-mohth-table__day-cell_without-flights{background:white}.flight-date-picker-mohth-table__day-cell_without-flights:hover{color:#ccc}.flight-date-picker-drop_back .flight-date-picker-mohth-table__day-cell_available:hover:before{content:'	\25C0';color:#fff;font-family:'FontAwesome';position:absolute;left:75%;top:60%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.flight-date-picker-mohth-table__day-cell_today{color:#0b6cb1}.flight-date-picker-field__selected{border:#ccc 1px solid}.flight-date-picker-mohth-table__day-cell_selected,.flight-date-picker-mohth-table__day-cell_opposite{background:#0b6cb1;color:#fff}.flight-date-picker-mohth-table__day-cell_interval{background:#8a16764d;color:#696969}@media only screen and (max-width: 768px){.passenger-calc-drop__header,.passenger-calc-drop__close-button{background:#0b6cb1;border-color:#0b6cb1}}.flight-discount-select-footer .btn{background:#0b6cb1}.popup modal-loader .process-bar{top:300px}div.flight-date-picker-drop.flight-date-picker-drop_advanced{width:762px;right:0}@media only screen and (max-width: 768px){div.flight-date-picker-drop.flight-date-picker-drop_advanced{width:100%}}.flightTable .contentRow td.active .price-cell__text:before{left:30px;content:'\e900';display:block;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-family:'OpenSkyIcons' !important;font-size:14px}.chooseFlight__table__item__content.active .chooseFlight__table__item__content__link{background:#8a1776}.awesome-advanced-route__remove-segment{background:#0b6cb1}.awesome-advanced-route__remove-segment .svg-sprite-icon.svg-close use{fill:#fff}.awesome-advanced-route__remove-segment:hover{background:#8a1776}.awesome-advanced-route{padding-right:180px}@media only screen and (max-width: 768px){.awesome-advanced-route{padding-right:0}}.bonus-control__intro,.awesome-search-form-footer__mode-swither{color:#8a1776}.bonus-control__intro .svg-sprite-icon *,.awesome-search-form-footer__mode-swither svg *{fill:#8a1776}.passengersBlock_row .passengersBlock_row-control,.passengersBlock_row .passengersBlock_row-menu{padding:20px}.passengersBlock_row-menu .img img{max-width:100%}.item__btn{margin:10px auto;padding:5px 10px;border:none;background:#0b6cb1;color:white}.item__btn:hover{background:#8a1776}search-schedule-form flight-date-picker .flight-date-picker-drop__months{width:762px}@media only screen and (max-width: 768px){search-schedule-form flight-date-picker .flight-date-picker-drop__months{width:100%}}.chooseDate .tableWrap table td:hover{background:#f4f4f4}.flightTable>table>tbody>tr>td.firstCol .sortingDrop:after{height:16px;top:-16px}.ui-select-passengers .selectize-input{height:41px}.ui-select-aeroexpress .selectize-input{width:375px}@media only screen and (max-width: 768px){.ui-select-aeroexpress .selectize-input{width:250px}}.inp .selectize-input{border-color:#e3e3e3;height:41px}.aeroexpress-table-wrap table td:first-child{width:410px;padding-right:0}@media only screen and (max-width: 768px){.aeroexpress-table-wrap table td:first-child{width:340px}}@media only screen and (max-width: 768px){.aeroexpress-table-wrap table td:nth-child(2) .ui-select-aeroexpress{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;padding:0 25px}}.aeroexpress .passengersInfo{padding:25px 25px 0}@media only screen and (max-width: 768px){.aeroexpress .passengersInfo .inp{width:100%}}.aeroexpress .passengersInfo table.passengerInfo td{padding:20px 20px 0}@media only screen and (max-width: 768px){.aeroexpress .passengersInfo table.passengerInfo td{padding:20px 0 0}}@media only screen and (max-width: 768px){.aeroexpress .passengersInfo table.passengerInfo td:nth-child(2){width:100%;padding:20px 0 0}}.aeroexpress .passenger .remove-ae-passenger{top:16px}@media only screen and (max-width: 768px){.aeroexpress .passenger .remove-ae-passenger{top:16px}}.aeroexpress .passenger .remove-ae-passenger .icon_remove:before{color:#fff}@media only screen and (max-width: 768px){.aeroexpress .passenger .remove-ae-passenger .icon_remove:before{color:#fff}}es-aeroexpress div.item__i.mobileHide .passengersInfo table tr:nth-child(2)>td{padding-top:10px}@media only screen and (max-width: 768px){#compare>div.popup__i>div.compareTabsWrap.mobileShow .item table td{background:#fff}}@media only screen and (max-width: 768px){#compare>div.popup__i>div.compareTabsWrap.mobileShow .tabsControl li.econom_type2 a{background:#64bee6}}@media only screen and (max-width: 768px){#compare>div.popup__i>div.compareTabsWrap.mobileShow .tabsControl li.econom_type3 a{background:#0081c1}}@media only screen and (max-width: 768px){#compare>div.popup__i>div.compareTabsWrap.mobileShow .tabsControl li.business_type1 a{background:#c5638f}}@media only screen and (max-width: 768px){#compare>div.popup__i>div.compareTabsWrap.mobileShow .tabsControl li.business_type2 a{background:#8f5c94}}@media only screen and (max-width: 768px){.compareTabsWrap .item.econom_type2 .name{background:#64bee6}}@media only screen and (max-width: 768px){.compareTabsWrap .item.econom_type3 .name{background:#0081c1}}@media only screen and (max-width: 768px){.compareTabsWrap .item.business_type1 .name{background:#c5638f}}@media only screen and (max-width: 768px){.compareTabsWrap .item.business_type2 .name{background:#8f5c94}}@media only screen and (max-width: 768px){.popup_compare{width:100vw}}.checkoutServices__i .list>.item.active .top{border-bottom:none}@media only screen and (max-width: 768px){.popup_selectSeat .seatSelect .btnRow .btn{border-color:#006eae;background:#006eae;color:#fff}}extra-services-list geo-marker div{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media only screen and (max-width: 768px){.invoice .col:first-child{padding-left:0}}@media only screen and (max-width: 768px){.returnList__i .mobileHide{display:none}}.inp-animate__label span{padding:11px}.passengersInfo input[type='text'],.passengersInfo input[type='password'],.passengersInfo input[type='tel'],.passengersInfo input[type='email']{padding:10px}.flightTable .options i{position:relative}.insurance-fares__vendor-image{display:none}.insurance-fares__name{border-bottom:none;pointer-events:none;text-decoration:none}.insurance-fares__promo-image-frame{margin:0}.insurance-fares__promo-image{width:100px;margin:0}.insurance-fares__select{color:#8a1776}.insurance-fares__remove svg *{fill:#333333}.insurance-fares__card{width:35%;border-radius:0;background:#ffffff;border-width:2px}.insurance-fares__card_active{border-color:#8a1776}.insurance-fares__card_active .insurance-fares__vendor-image{display:inline-block}.insurance-fares__card_active .insurance-fares__price,.insurance-fares__card_active .insurance-fares__name,.insurance-fares__card_active .insurance-fares__desk,.insurance-fares__card_active .insurance-fares__desk *,.insurance-fares__card_active .insurance-fares__select{color:#333333}.insurance-fares__card_active .insurance-fares__name{color:#1b75bc}.insurance-fares__card_active .insurance-fares__footer:before,.insurance-fares__card_active .insurance-fares__footer:after{display:none}@media only screen and (max-width: 768px){.insurance-fares__card{width:100%}}.insurance-fares__desk a{text-decoration:underline}es-insurance .passenger__link__i__name strong{color:#333333}es-insurance .insuranceSelect__i .passenger{border-bottom:2px solid #8a1776}.passengersInfo .inp .inp-label{display:none}search-form .flight-date-picker-mohth-table{margin:0;width:49%}.passengersInfo .iconfirm{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vcmRzdGFyL19pMThuLnNhc3MiLCJub3Jkc3Rhci9pbmRleC5zY3NzIiwibm9yZHN0YXIvX3ZhcmlhYmxlcy5zYXNzIiwiY29tbW9uL19taXhpbnMuc2NzcyIsIm5vcmRzdGFyL19taXhpbnMuc2FzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDRSw2REFVQSxrSEFBbUgsQ0FWbkgsNkRBVUEsa0hBQW1ILENBVm5ILDZEQVVBLGtIQUFtSCxDQVZuSCw2REFVQSxrSEFBbUgsQ0FWbkgsNkRBYUEsbUhBQW9ILENBYnBILDZEQWFBLG1IQUFvSCxDQWJwSCw2REFhQSxtSEFBb0gsQ0FicEgsNkRBYUEsbUhBQW9ILENDS3RILE1BQ0Msb0JBQUEsQUFBYSxvQkFBYixBQUFhLFlBQUEsQ0FEZCxvQkFLSSxvQkFBQSxBQUNBLG9CQURBLEFBQ0EsYUFBQSxtQkFBQSxBQUFlLGNBQUEsQ0FObkIsWUFXRSxjQUFlLENBQ2Ysa0RBT0UscUJBQUEsQUFBUyxhQUFULEFBQVMsUUFBQSxDQUpiLDZEQU9NLDRCQUFBLEFBQ0EsNkJBREEsQUFDQSwwQkFEQSxBQUNBLHNCQUFBLHlCQUFBLEFBQW1CLHNCQUFuQixBQUFtQixrQkFBQSxDQUNuQiwwQ0FUTiwwREFtQkssbUJBQUEsQUFDQSxlQUFBLHdCQUFBLEFBQXVCLHFCQUF2QixBQUF1QixzQkFBQSxDQUV4QixDQVNKLDhEQUNDLHNDQUNBLFVDekRjLENEMERkLG9FQUdBLHNDQ25FeUIsQ0RvRXpCLG9EQUdBLG9CQUFBLEFBQ0Esb0JBREEsQUFDQSxhQUFBLDhCQUFBLEFBQW1CLDZCQUFuQixBQUFtQix1QkFBbkIsQUFBbUIsa0JBQUEsQ0FDbkIsZ0NBR0EscUJBQUEsQUFBUyxhQUFULEFBQVMsUUFBQSxDQUNULDhERW9LQyxtQkFDQSxjQUFlLENGekpqQiw2QkFDQyxrQkFBbUIsQ0FDbkIsNkJBR0Esa0JBQW1CLENBQ25CLFlBT0EsZ0JBQWlCLENBQ2pCLHdOQU9DLGNBQ0EscUJBQ0EsWUFDQSxXQUNBLFVBQVcsQ0FU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dHhCQywwQ0gweEJKLGVBRUUsV0FBWSxDQUViLENBRUQsNkNBQ0Msa0JBQW1CLENBQ25CLDBDQUVELDJDQUVFLHFCQUNBLG1CQUNBLFVBQVcsQ0FFWixDQUVELG1DQUNDLG9CQUFBLEFBQ0Esb0JBREEsQUFDQSxhQUFBLG1CQUFBLEFBQ0EsZUFBQSx3QkFBQSxBQUF1QixxQkFBdkIsQUFBdUIsc0JBQUEsQ0FDdkIsMENBRUQsMEJBRUUsY0FBZSxDQUVoQixDR3R6QkcsMENId3pCSiwyQkFFRSxZQUFhLENBRWQsQ0VvTUEseUJBQ0MsWUFBYSxDQUNiLGdKQU1BLFlBQWEsQ0Z0TWYsd0JBQ0MsaUJBQWtCLENBQ2xCLCtCQUlDLFlBQWEsQ0FDYix1QkFHQSxtQkFDQSxvQkFDQSxvQkFBcUIsQ0FDckIsb0NBR0EsUUFBUyxDQUNULDhCQUdBLFlBQ0EsUUFBUyxDQUNULHlCQUdBLGFDcjVCd0IsQ0RzNUJ4QiwrQkFJQyxZQUFhLENBQ2IsdUJBSUQsVUFDQSxnQkFDQSxtQkFDQSxnQkFBaUIsQ0FFakIsOEJBQ0Msb0JDcjZCdUIsQ0RvNkJ2Qiw2REFJQyxvQkFBcUIsQ0FKdEIsOFFBWUMsYUFBYyxDQVpmLHFEQWdCQyxhQUFjLENBaEJmLDJIQXNCRSxZQUFhLENBQ2IsMENBN0JKLHVCQWtDRSxVQUFXLENBRVosQ0FFQSx5QkFFQyx5QkFBMEIsQ0FDMUIsOENBTUQsYUFBYyxDQUZoQiw0Q0FNRSwrQkNqOUJ3QixDRGs5QnhCLGdDQUlELFlBQWEsQ0FDYiw0Q0U0SUUsU0FDQSxTQUFVLENGekliLDBCQUVFLG9CQUFBLEFBQ0Esb0JBREEsQUFDQSxhQUFBLDRCQUFBLEFBQ0EsNkJBREEsQUFDQSwwQkFEQSxBQUNBLHNCQUFBLGNBQWUsQ0FDZiIsImZpbGUiOiJub3Jkc3Rhci9pbmRleC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbWl4aW4gc2V0VG9vbHRpcENvbnRlbnRGb3JQcm9wcygkbGFuZywgJHByb3BzTGlzdCkge1xuICBodG1sW2xhbmc9XCIjeyRsYW5nfVwiXSB7XG4gICAgQGVhY2ggJHByb3AgaW4gJHByb3BzTGlzdCB7XG4gICAgICAvKiA9PT09IE9TLTEyOTEgPT09PSAqL1xuICAgICAgLnNlYXQuc2VhdC1wcm9wLSN7JHByb3B9IHtcbiAgICAgICAgLnNlYXROYW1lIHtcbiAgICAgICAgICB3cmFwIHdyYXAge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIEBjb250ZW50OyB9IH0gfSB9IH0gfSB9XG5cbkBpbmNsdWRlIHNldFRvb2x0aXBDb250ZW50Rm9yUHJvcHMoJ2VuJywgKCdJRScsICcxQScsICcxQycsICcxQicpKSB7XG4gIGNvbnRlbnQ6ICdUaGUgcG9zc2liaWxpdHkgb2YgcHJvdmlkaW5nIHRoZSBzZXJ2aWNlIGlzIGxpbWl0ZWQgZm9yIGNlcnRhaW4gY2F0ZWdvcmllcyBvZiBwYXNzZW5nZXJzLCByZWFkIHRoZSBydWxlcyc7IH1cblxuQGluY2x1ZGUgc2V0VG9vbHRpcENvbnRlbnRGb3JQcm9wcygncnUnLCAoJ0lFJywgJzFBJywgJzFDJywgJzFCJykpIHtcbiAgY29udGVudDogJ9CS0L7Qt9C80L7QttC90L7RgdGC0Ywg0L/RgNC10LTQvtGB0YLQsNCy0LvQtdC90LjRjyDRg9GB0LvRg9Cz0Lgg0L7Qs9GA0LDQvdC40YfQtdC90LAg0LTQu9GPINC90LXQutC+0YLQvtGA0YvRhSDQutCw0YLQtdCz0L7RgNC40Lkg0L/QsNGB0YHQsNC20LjRgNC+0LIsINC+0LfQvdCw0LrQvtC80YzRgtC10YHRjCDRgSDQv9GA0LDQstC40LvQsNC80LgnOyB9XG5cbiIsIkBpbXBvcnQgJy4uL2NvbW1vbi9taXhpbnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICdpMThuJztcblxuLy8gPT09PT09PT09PT09PT0gYmxvY2tzID09PT09PT09PT09PT1cblxuJWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJhY2tncm91bmQ6ICMwMDZlYWU7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Ym9yZGVyLWNvbG9yOiAjMDA2ZWFlO1xufVxuXG4vLyA9PT09PT09PT09PT09PSBFTkQgYmxvY2tzID09PT09PT09PVxuXG4vKiA9PT09IEJvb2tpbmcgPT09PSAqL1xuXG4uZm9vZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdC5saXN0IHtcblx0XHQmX19pIHtcblx0XHRcdHdyYXAge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5uYW1lIHtcblx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdH1cbn1cblxuLmNoZWNrb3V0U2VydmljZXNfX2kge1xuXHQucGFzc2VuZ2Vyc1RhYmxlIHtcblx0XHQuZm9vZCB7XG5cdFx0XHQuaXRlbSB7XG5cdFx0XHRcdGZsZXg6IDUwJTtcblx0XHRcdFx0LmZvb2Qge1xuXHRcdFx0XHRcdCZfd3JhcCB7XG5cdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZHJvcF9tb2JpbGUge1xuXHRcdC5wYXNzZW5nZXJzVGFibGUge1xuXHRcdFx0LnJvdXRlIHtcblx0XHRcdFx0QGluY2x1ZGUgYWRhcHRpdml0eSh0YWJsZXQpIHtcblx0XHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogPT09PSBFTkQgQm9va2luZyA9PT09ICovXG5cbi8vID09PT09PT09PT09PT09ICMzODA3NCA9PT09PT09PT09PT09XG5cbi5wYXNzZW5nZXJzQmxvY2tfcm93LWNvbnRyb2wtZHJvcG9yZGVyLXBhc3Nlbmdlci1vdXRlci5hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRQdXJwbGVCcmFuZENvbG9yO1xuXHRjb2xvcjogJHdoaXRlO1xufVxuXG4ucGFzc2VuZ2Vyc0Jsb2NrX3Jvdy1jb250cm9sLWRyb3BvcmRlci1wYXNzZW5nZXItb3V0ZXIuYWN0aXZlOmFmdGVyIHtcblx0Ym9yZGVyLWxlZnQtY29sb3I6ICRsaWdodFB1cnBsZUJyYW5kQ29sb3I7XG59XG5cbi5wYXNzZW5nZXJzQmxvY2tfcm93LW1lbnUgLmxpc3RfX2kuaXNvdG9wZUdyaWQgd3JhcCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogd3JhcCByb3c7XG59XG5cbi5wYXNzZW5nZXJzQmxvY2tfcm93LW1lbnUgLml0ZW0ge1xuXHRmbGV4OiA1MCU7XG59XG5cbi8vID09PT09PT09PT09PT09IEVORCAjMzgwNzQgPT09PT09PT09XG5cbi8qID09PT0gIzM1MzgyID09PT0gKi9cblxuQGluY2x1ZGUgcmVtb3ZlUG9pbnRlckRpc2FibGVkRnJvbUNhbGVuZGFyO1xuXG4vKiA9PT09IEVORCAjMzUzODIgPT09PSAqL1xuXG4vKiA9PT09ICMjMDAyMjcyMjkgPT09PSAqL1xuXG4uc2VhdC5zZWF0LW1hcC1jb2xvci1ncm91cC0xIHtcblx0YmFja2dyb3VuZDogIzQ1YTRjZjtcbn1cblxuLnNlYXQuc2VhdC1tYXAtY29sb3ItZ3JvdXAtMiB7XG5cdGJhY2tncm91bmQ6ICNjNTYzOGY7XG59XG5cbi8qID09PT0gRU5EICMjMDAyMjcyMjkgPT09PSAqL1xuXG4vKiA9PT09IE9TLTEyOTEgPT09PSAqL1xuXG4uZGVjay1sYWJlbCB7XG5cdHBhZGRpbmctdG9wOiA0MHB4O1xufVxuXG4uc2VhdC5zZWF0LXByb3Atbm90X2Zvcl9pbmZhbnQuc2VhdC1wcm9wLUlFLFxuLnNlYXQuc2VhdC1wcm9wLW5vdF9mb3JfaW5mYW50LnNlYXQtcHJvcC0xQSxcbi5zZWF0LnNlYXQtcHJvcC1ub3RfZm9yX2luZmFudC5zZWF0LXByb3AtMUMsXG4uc2VhdC5zZWF0LXByb3Atbm90X2Zvcl9pbmZhbnQuc2VhdC1wcm9wLTFCIHtcblx0LnNlYXROYW1lIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG5cdFx0d2lkdGg6IDE1MHB4O1xuXHRcdHRvcDogLTExNXB4O1xuXHRcdHotaW5kZXg6IDEwO1xuXHRcdHdyYXAgd3JhcCB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRmb250LXNpemU6IDAuNmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucHJpY2Uge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblx0fVxufVxuXG4vKiA9PT09IEVORCBPUy0xMjkxID09PT0gKi9cblxuLyogPT09PSBveHlnZW4gMC40MCB1cGRhdGUgPT09PSAqL1xuXG4udWktc2VsZWN0LXBhc3NlbmdlcnMgLnNlbGVjdGl6ZS1pbnB1dCB7XG5cdHBhZGRpbmctYm90dG9tOiAyOXB4O1xufVxuXG4vKiA9PT09IEVORCBveHlnZW4gMC40MCB1cGRhdGUgPT09PSAqL1xuXG4vKiA9PT09ICMzMTM3MyNub3RlLTM4ID09PT0gKi9cblxuLyogNyAqL1xuQGluY2x1ZGUgY29sb3JpemVTZWdtZW50UHJpY2VzQ2FsZW5kYXIoJHB1cnBsZUJyYW5kQ29sb3IsIHdoaXRlKTtcblxuQGluY2x1ZGUgbGFuZ3VhZ2VNb2JpbGVDb2xvcih3aGl0ZSwgd2hpdGUpO1xuXG4ucm93IHtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiA9PT09IEVORCAjMzEzNzMjbm90ZS0zOCA9PT09ICovXG5cbi8qID09PT0gIzMxMzczI25vdGUtNDEgPT09PSAqL1xuXG4uY29tZW50LXQgYSB7XG5cdHdoaXRlLXNwYWNlOiBpbml0aWFsO1xuXHRib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMwYjZjYjE7XG5cdC8vZGlzcGxheTogaW5saW5lXG59XG5cbi8qID09PT0gRU5EICMzMTM3MyNub3RlLTQxID09PT0gKi9cblxuLyogPT09PSAjNDM3NTQgPT09PSAqL1xuXG4uYXdlc29tZS1zZWFyY2gtZm9ybS1mb290ZXJfX2NvbC1idXR0b24gLmJ0biB7XG5cdGJhY2tncm91bmQ6ICRibHVlQnJhbmRDb2xvcjtcblx0Y29sb3I6ICNmZmZmZmY7XG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDogJHB1cnBsZUJyYW5kQ29sb3I7XG5cdH1cbn1cblxuYm9keSAubW9tZW50LXBpY2tlciB7XG5cdC5kYXRlcGlja2VyLWFycm93IHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICRibHVlQnJhbmRDb2xvcjtcblx0XHRcdGJvcmRlci1jb2xvcjogJGJsdWVCcmFuZENvbG9yO1xuXHRcdH1cblx0fVxuXG5cdC5tb250aC12aWV3IHtcblx0XHQubW9tZW50LXBpY2tlci1zcGVjaWZpYy12aWV3cyB0ZCB7XG5cdFx0XHQmOm5vdCguZGlzYWJsZWQpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2JjZDJlNjtcblx0XHRcdFx0Y29sb3I6ICMzMzM7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHB1cnBsZUJyYW5kQ29sb3I7XG5cdFx0XHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji50b2RheSB7XG5cdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkYmx1ZUJyYW5kQ29sb3I7XG5cdFx0XHR9XG5cblx0XHRcdCYuZGlzYWJsZWQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuXHRcdFx0fVxuXG5cdFx0XHQmLnNlbGVjdGVkIHtcblx0XHRcdFx0Y29sb3I6ICNmZmYgIWltcG9ydGFudDtcblx0XHRcdFx0YmFja2dyb3VuZDogJHB1cnBsZUJyYW5kQ29sb3IgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmF3ZXNvbWUtc2ltcGxlLXJvdXRlX19zd2l0Y2gtYnV0dG9uIHtcblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDogJGJsdWVCcmFuZENvbG9yO1xuXHRcdGJvcmRlci1jb2xvcjogI2IzYjNiMztcblx0fVxufVxuLyogPT09PSBFTkQgIzQzNzU0ID09PT0gKi9cblxuLyogPT09PSAjNDM5ODEgPT09PSAqL1xuXG4uZm9ybS1ncm91cCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZvcm0taW5saW5lIC5idG4tcHJpbWFyeS5idG4tc20uYmx1ZS1idG4ge1xuXHRiYWNrZ3JvdW5kOiAkcHVycGxlQnJhbmRDb2xvcjtcblx0Ym9yZGVyLWNvbG9yOiAkcHVycGxlQnJhbmRDb2xvcjtcbn1cblxuLnBvcG92ZXIgLnBvcG92ZXItaW5uZXIge1xuXHRiYWNrZ3JvdW5kOiAkcHVycGxlQnJhbmRDb2xvcjtcbn1cblxuLmJ0bl9yZWNlaXB0X2NvbnQgYS5zZW5kX3JlY2VpcHQge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAkbWFpbEljb247XG59XG5cbi50b29sdGlwLWNvbnQgLnRvb2x0aXAgLnRvb2x0aXAtaW5uZXIge1xuXHRiYWNrZ3JvdW5kOiAkcHVycGxlQnJhbmRDb2xvcjtcbn1cblxuLnRvb2x0aXAtY29udCAudG9vbHRpcCBzdmcuc3ZnLXN5bWJvbC10b29sdGlwLWFycm93ICoge1xuXHRmaWxsOiAkYmx1ZUJyYW5kQ29sb3I7XG59XG5cbiNjaGVja2luRm9ybSAubGlzdCA+IC5pdGVtIC5tb2JpbGVTaG93IC50b3AgdGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuXHRiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuXG5cdGkge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG5cdFx0cGFkZGluZzogMTVweDtcblx0XHRjb2xvcjogJGJsdWVCcmFuZENvbG9yO1xuXHR9XG59XG5cbiNjaGVja2luRm9ybSAubGlzdCAuaXRlbSAucm93OmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogMTVweDtcblx0bWFyZ2luLWxlZnQ6IDBweDtcbn1cblxuI2NoZWNraW5Gb3JtIC5saXN0ID4gLml0ZW0gLm1vYmlsZVNob3cgLnRvcCB0YWJsZSB0ZCB7XG5cdGJhY2tncm91bmQ6ICNmMmYyZjI7XG59XG5cbiNjaGVja2luRm9ybSAubGlzdCA+IC5pdGVtIC5tb2JpbGVTaG93IC50b3AgLm5hbWUge1xuXHRjb2xvcjogIzAwMDtcblxuXHRpIHtcblx0XHRjb2xvcjogIzAwMDtcblx0fVxufVxuXG4jY2hlY2tpbkZvcm0gLmxpc3QgLml0ZW0gLnJvdyB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKiA9PT09IEVORCAjNDM5ODEgPT09PSAqL1xuXG4vKiA9PT09ICM0Mzk4MSMyID09PT0gKi9cbiNleHRyYVNlcnZpY2VzQ29udCA+IGRpdi5pbnZvaWNlID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSB7XG5cdHBhZGRpbmc6IDE1cHg7XG59XG5cbi53ZWJSZWdpc3RyYXRpb24gLnJlZ2lzdHJhdGlvbl9fcGFzc2VuZ2Vyc19fc2VhdE1hcCAuaW5mby10b3Age1xuXHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHR9XG59XG5cbi53ZWJSZWdpc3RyYXRpb24gLnJlZ2lzdHJhdGlvbl9fcGFzc2VuZ2Vyc19fc2VhdE1hcCAuaW5mby1ib3R0b20ge1xuXHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cbn1cblxuLndlYlJlZ2lzdHJhdGlvbiAucmVnaXN0cmF0aW9uX19wYXNzZW5nZXJzX19zZWF0TWFwIC52aWV3LWNyYWZ0LWJveCB7XG5cdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59XG5cbiNjaGVja2luRm9ybSAuc2VhdEluZm8gLnNlYXQtLWF1dG9Bc3NpZ25lZDo6YWZ0ZXIsXG4uc2VhdE1hcCAuc2VhdC0tYXV0b0Fzc2lnbmVkOjphZnRlciB7XG5cdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogLTFweDtcblx0XHRib3R0b206IDFweDtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdH1cbn1cblxuLnNlYXRJbmZvIC5zZWF0LS1hdXRvQXNzaWduZWQ6OmFmdGVyIHtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHRvcDogLTFweDtcblx0Ym90dG9tOiAwO1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGxpbmUtaGVpZ2h0OiAyMnB4O1xufVxuLyogPT09PSBFTkQgIzQzOTgxIzIgPT09PSAqL1xuXG4vKiA9PT09ICM0Mzc1NCMyID09PT0gKi9cblxuLmF3ZXNvbWUtc2ltcGxlLXJvdXRlX19yb3cge1xuXHRAaW5jbHVkZSBhZGFwdGl2aXR5KHBob25lKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG5cdFx0LmF3ZXNvbWUtc2ltcGxlLXJvdXRlX19jb2wtZGF0ZSB7XG5cdFx0XHQmOmZpcnN0LWNoaWxkLFxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0cGFkZGluZzogNXB4IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmOm50aC1jaGlsZCgxKSB7XG5cdFx0QGluY2x1ZGUgYWRhcHRpdml0eShsYXB0b3ApIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdH1cblx0fVxufVxuXG5ib2R5IC5tb21lbnQtcGlja2VyIC5tb21lbnQtcGlja2VyLWNvbnRhaW5lci5vcGVuIHtcblx0QGluY2x1ZGUgYWRhcHRpdml0eSh0YWJsZXQpIHtcblx0XHR0b3A6IDA7XG5cdFx0aGVpZ2h0OiAxMDB2aDtcblx0fVxufVxuXG4uYXdlc29tZS1jaXR5LXBpY2tlci1maWVsZF9vcmlnaW4uYXdlc29tZS1jaXR5LXBpY2tlci1maWVsZF9hY3RpdmUsXG4uYXdlc29tZS1jaXR5LXBpY2tlci1maWVsZF9kZXN0aW5hdGlvbi5hd2Vzb21lLWNpdHktcGlja2VyLWZpZWxkX2FjdGl2ZSxcbi5hd2Vzb21lLWRhdGUtcGlja2VyX19oZWFkZXIge1xuXHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdGJhY2tncm91bmQ6ICRibHVlQnJhbmRDb2xvcjtcblx0fVxufVxuXG4uYXdlc29tZS1jaXR5LWRyb3Age1xuXHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdG1heC1oZWlnaHQ6IDEwMHZoO1xuXHR9XG59XG5cbi8qID09PT0gRU5EICM0Mzc1NCMyID09PT0gKi9cblxuLyogPT09PSAjNDUxMTYtMC00Ni13aWRnZXQgPT09PSAqL1xuXG4uYXdlc29tZS1zaW1wbGUtcm91dGVfX3N3aXRjaC1idXR0b24gLnN2Zy1zd2l0Y2gtYXJyb3dzICosXG4ucGFzc2VuZ2VyLWNhbGMtZmllbGRfX2ljb24gLnN2Zy1kcm9wLWFycm93ICosXG4uZmxpZ2h0LWRhdGUtcGlja2VyLWZpZWxkX19pY29uICosXG4uZmxpZ2h0LWRhdGUtcGlja2VyLWRyb3BfX2hlYWRlci1pY29uIHN2ZyAqLFxuLnBhc3Nlbmdlci1jb3VudF9fcGx1cyAuc3ZnLXNwcml0ZS1pY29uICosXG4ucGFzc2VuZ2VyLWNvdW50X19taW51cyAuc3ZnLXNwcml0ZS1pY29uICoge1xuXHRmaWxsOiAkYmx1ZUJyYW5kQ29sb3I7XG59XG5cbi5mbGlnaHQtZGF0ZS1waWNrZXItZHJvcF9faGVhZGVyLXRleHQge1xuXHRjb2xvcjogJGJsdWVCcmFuZENvbG9yO1xufVxuXG4uZmxpZ2h0LWRhdGUtcGlja2VyLWRyb3BfX3N3aXRjaCB7XG5cdGhlaWdodDogMjJweDtcblx0d2lkdGg6IDIycHg7XG5cblx0c3ZnIHtcblx0XHRtYXJnaW46IDVweCBhdXRvO1xuXHRcdHdpZHRoOiAxMHB4O1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDogJGJsdWVCcmFuZENvbG9yO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYmx1ZUJyYW5kQ29sb3I7XG5cdH1cbn1cblxuLnBhc3Nlbmdlci1jb3VudF9fcGx1cyxcbi5wYXNzZW5nZXItY291bnRfX21pbnVzIHtcblx0Jjpub3QoLmRpc2FibGVkKSB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkYmx1ZUJyYW5kQ29sb3I7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0XHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmF3ZXNvbWUtc2ltcGxlLXJvdXRlLFxuLmF3ZXNvbWUtc2VhcmNoLWZvcm0tZm9vdGVyX19yb3c6bm90KDpsYXN0LWNoaWxkKSB7XG5cdHBhZGRpbmctcmlnaHQ6IDE4MHB4O1xuXG5cdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxufVxuXG4uZmxpZ2h0LWRhdGUtcGlja2VyLWRyb3BfX2hlYWRlciB7XG5cdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0YmFja2dyb3VuZDogJGJsdWVCcmFuZENvbG9yO1xuXG5cdFx0LmZsaWdodC1kYXRlLXBpY2tlci1kcm9wX19oZWFkZXItdGV4dCB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdH1cblx0fVxufVxuXG4uZmxpZ2h0LWRhdGUtcGlja2VyLWZpZWxkIHtcblx0Ym9yZGVyOiBub25lO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0fVxuXG5cdC5mbGlnaHQtZGF0ZS1waWNrZXItZmllbGRfX3BsYWNlaG9sZGVyIHtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0Ym9yZGVyOiAjY2NjIDFweCBzb2xpZDtcblxuXHRcdC5mbGlnaHQtZGF0ZS1waWNrZXItZmllbGRfbG9ja2VkIHtcblx0XHRcdGhlaWdodDogNDJweDtcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHR9XG5cdH1cbn1cblxuLmF3ZXNvbWUtY2l0eS1waWNrZXItZmllbGRfX3BsYWNlaG9sZGVyOmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICdcXDI1YmMnO1xuXHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcblx0Zm9udC1zaXplOiA5cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDIwcHg7XG5cdGNvbG9yOiAkYmx1ZUJyYW5kQ29sb3I7XG59XG5cbi5hd2Vzb21lLWNpdHktZHJvcC5hd2Vzb21lLWNpdHktZHJvcF9faXRlbSB7XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6ICRibHVlQnJhbmRDb2xvciAwLjM7XG5cdH1cbn1cblxuQGluY2x1ZGUgZGlzYWJsZWRDYWxlbmRhclN0eWxlcyB7XG5cdGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG5kaXYuZmxpZ2h0LWRhdGUtcGlja2VyLWRyb3AuZmxpZ2h0LWRhdGUtcGlja2VyLWRyb3BfdGhlcmUsXG5kaXYuZmxpZ2h0LWRhdGUtcGlja2VyLWRyb3AuZmxpZ2h0LWRhdGUtcGlja2VyLWRyb3BfYmFjayB7XG5cdHdpZHRoOiA3NjJweDtcblx0dG9wOiA0MHB4O1xuXG5cdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dG9wOiAwO1xuXHR9XG59XG5cbi5mbGlnaHQtZGF0ZS1waWNrZXItZHJvcF9fbW9udGhzIHtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG5cblx0LmZsaWdodC1kYXRlLXBpY2tlci1tb2h0aC10YWJsZSB7XG5cdFx0QGluY2x1ZGUgYWRhcHRpdml0eSh0YWJsZXQpIHtcblx0XHRcdHdpZHRoOiA5MCU7XG5cdFx0XHRtYXJnaW4tdG9wOiA1JTtcblx0XHR9XG5cblx0XHQuZmxpZ2h0LWRhdGUtcGlja2VyLW1vaHRoLXRhYmxlX19kYXktY2VsbCB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG5cdFx0fVxuXHR9XG59XG5cbi5mbGlnaHQtZGF0ZS1waWNrZXItZHJvcF9fZm9vdGVyLWJ1dHRvbiB7XG5cdGNvbG9yOiAkYmx1ZUJyYW5kQ29sb3I7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRibHVlQnJhbmRDb2xvcjtcblx0bWFyZ2luLXRvcDogMjBweDtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGJhY2tncm91bmQ6ICRibHVlQnJhbmRDb2xvcjtcblx0fVxufVxuXG5AaW5jbHVkZSBlbmFibGVkQ2FsZW5kYXJTdHlsZXMge1xuXHRiYWNrZ3JvdW5kOiAkYmx1ZUJyYW5kQ29sb3IgMC42O1xuXHRjb2xvcjogJHdoaXRlO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6ICRibHVlQnJhbmRDb2xvcjtcblx0fVxufVxuXG4uZmxpZ2h0LWRhdGUtcGlja2VyLWZpZWxkX19jbG9zZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mbGlnaHQtZGF0ZS1waWNrZXItbW9odGgtdGFibGVfX2RheS1jZWxsX2F2YWlsYWJsZSB7XG5cdGJhY2tncm91bmQ6ICMwYTZjYjE0ZDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6ICRibHVlQnJhbmRDb2xvcjtcblx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJ1xcMjViNic7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0dG9wOiA2MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0fVxuXHR9XG59XG5cbi5mbGlnaHQtZGF0ZS1waWNrZXItbW9odGgtdGFibGVfX2RheS1jZWxsX3dpdGhvdXQtZmxpZ2h0cyB7XG5cdGJhY2tncm91bmQ6IHdoaXRlO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiAjY2NjO1xuXHR9XG59XG5cbi5mbGlnaHQtZGF0ZS1waWNrZXItZHJvcF9iYWNrIC5mbGlnaHQtZGF0ZS1waWNrZXItbW9odGgtdGFibGVfX2RheS1jZWxsX2F2YWlsYWJsZTpob3ZlcjpiZWZvcmUge1xuXHRjb250ZW50OiAnXHRcXDI1QzAnO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiA3NSU7XG5cdHRvcDogNjAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5mbGlnaHQtZGF0ZS1waWNrZXItbW9odGgtdGFibGVfX2RheS1jZWxsX3RvZGF5IHtcblx0Y29sb3I6ICRibHVlQnJhbmRDb2xvcjtcbn1cblxuLmZsaWdodC1kYXRlLXBpY2tlci1maWVsZF9fc2VsZWN0ZWQge1xuXHRib3JkZXI6ICNjY2MgMXB4IHNvbGlkO1xufVxuXG4uZmxpZ2h0LWRhdGUtcGlja2VyLW1vaHRoLXRhYmxlX19kYXktY2VsbF9zZWxlY3RlZCxcbi5mbGlnaHQtZGF0ZS1waWNrZXItbW9odGgtdGFibGVfX2RheS1jZWxsX29wcG9zaXRlIHtcblx0YmFja2dyb3VuZDogJGJsdWVCcmFuZENvbG9yO1xuXHRjb2xvcjogJHdoaXRlO1xufVxuXG4uZmxpZ2h0LWRhdGUtcGlja2VyLW1vaHRoLXRhYmxlX19kYXktY2VsbF9pbnRlcnZhbCB7XG5cdGJhY2tncm91bmQ6ICM4YTE2NzY0ZDtcblx0Y29sb3I6ICM2OTY5Njk7XG59XG5cbi5wYXNzZW5nZXItY2FsYy1kcm9wX19oZWFkZXIsXG4ucGFzc2VuZ2VyLWNhbGMtZHJvcF9fY2xvc2UtYnV0dG9uIHtcblx0QGluY2x1ZGUgYWRhcHRpdml0eSh0YWJsZXQpIHtcblx0XHRiYWNrZ3JvdW5kOiAkYmx1ZUJyYW5kQ29sb3I7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYmx1ZUJyYW5kQ29sb3I7XG5cdH1cbn1cblxuLmZsaWdodC1kaXNjb3VudC1zZWxlY3QtZm9vdGVyIC5idG4ge1xuXHRiYWNrZ3JvdW5kOiAkYmx1ZUJyYW5kQ29sb3I7XG59XG5cbi5wb3B1cCBtb2RhbC1sb2FkZXIgLnByb2Nlc3MtYmFyIHtcblx0dG9wOiAzMDBweDtcbn1cblxuZGl2LmZsaWdodC1kYXRlLXBpY2tlci1kcm9wLmZsaWdodC1kYXRlLXBpY2tlci1kcm9wX2FkdmFuY2VkIHtcblx0d2lkdGg6IDc2MnB4O1xuXHRyaWdodDogMDtcblxuXHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5mbGlnaHRUYWJsZSAuY29udGVudFJvdyB0ZC5hY3RpdmUgLnByaWNlLWNlbGxfX3RleHQ6YmVmb3JlIHtcblx0bGVmdDogMzBweDtcblx0Y29udGVudDogJ1xcZTkwMCc7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRmb250LWZhbWlseTogJ09wZW5Ta3lJY29ucycgIWltcG9ydGFudDtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4uY2hvb3NlRmxpZ2h0X190YWJsZV9faXRlbV9fY29udGVudC5hY3RpdmUgLmNob29zZUZsaWdodF9fdGFibGVfX2l0ZW1fX2NvbnRlbnRfX2xpbmsge1xuXHRiYWNrZ3JvdW5kOiAjOGExNzc2O1xufVxuXG4uYXdlc29tZS1hZHZhbmNlZC1yb3V0ZV9fcmVtb3ZlLXNlZ21lbnQge1xuXHRiYWNrZ3JvdW5kOiAkYmx1ZUJyYW5kQ29sb3I7XG5cblx0LnN2Zy1zcHJpdGUtaWNvbi5zdmctY2xvc2UgdXNlIHtcblx0XHRmaWxsOiAkd2hpdGU7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiAkcHVycGxlQnJhbmRDb2xvcjtcblx0fVxufVxuXG4uYXdlc29tZS1hZHZhbmNlZC1yb3V0ZSB7XG5cdHBhZGRpbmctcmlnaHQ6IDE4MHB4O1xuXG5cdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxufVxuXG4uYm9udXMtY29udHJvbF9faW50cm8sXG4uYXdlc29tZS1zZWFyY2gtZm9ybS1mb290ZXJfX21vZGUtc3dpdGhlciB7XG5cdGNvbG9yOiAkcHVycGxlQnJhbmRDb2xvcjtcbn1cblxuLmJvbnVzLWNvbnRyb2xfX2ludHJvIC5zdmctc3ByaXRlLWljb24gKixcbi5hd2Vzb21lLXNlYXJjaC1mb3JtLWZvb3Rlcl9fbW9kZS1zd2l0aGVyIHN2ZyAqIHtcblx0ZmlsbDogJHB1cnBsZUJyYW5kQ29sb3I7XG59XG5cbi8qID09PT0gRU5EICM0NTExNi0wLTQ2LXdpZGdldCA9PT09ICovXG5cbi5wYXNzZW5nZXJzQmxvY2tfcm93IHtcblx0LnBhc3NlbmdlcnNCbG9ja19yb3ctY29udHJvbCxcblx0LnBhc3NlbmdlcnNCbG9ja19yb3ctbWVudSB7XG5cdFx0cGFkZGluZzogMjBweDtcblx0fVxufVxuXG4ucGFzc2VuZ2Vyc0Jsb2NrX3Jvdy1tZW51IC5pbWcgaW1nIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uaXRlbV9fYnRuIHtcblx0bWFyZ2luOiAxMHB4IGF1dG87XG5cdHBhZGRpbmc6IDVweCAxMHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQ6ICRibHVlQnJhbmRDb2xvcjtcblx0Y29sb3I6IHdoaXRlO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6ICRwdXJwbGVCcmFuZENvbG9yO1xuXHR9XG59XG5cbi8qID09PT0gIzQ2MzAxID09PT0gKi9cblxuc2VhcmNoLXNjaGVkdWxlLWZvcm0gZmxpZ2h0LWRhdGUtcGlja2VyIC5mbGlnaHQtZGF0ZS1waWNrZXItZHJvcF9fbW9udGhzIHtcblx0d2lkdGg6IDc2MnB4O1xuXG5cdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLyogPT09PSBFTkQgIzQ2MzAxID09PT0gKi9cblxuLyogPT09PSAjNDY1MDUgPT09PSAqL1xuXG4uY2hvb3NlRGF0ZSAudGFibGVXcmFwIHRhYmxlIHRkOmhvdmVyIHtcblx0YmFja2dyb3VuZDogI2Y0ZjRmNDtcbn1cblxuLmZsaWdodFRhYmxlID4gdGFibGUgPiB0Ym9keSA+IHRyID4gdGQuZmlyc3RDb2wgLnNvcnRpbmdEcm9wOmFmdGVyIHtcblx0aGVpZ2h0OiAxNnB4O1xuXHR0b3A6IC0xNnB4O1xufVxuXG4udWktc2VsZWN0LXBhc3NlbmdlcnMgLnNlbGVjdGl6ZS1pbnB1dCB7XG5cdGhlaWdodDogNDFweDtcbn1cblxuLnVpLXNlbGVjdC1hZXJvZXhwcmVzcyAuc2VsZWN0aXplLWlucHV0IHtcblx0d2lkdGg6IDM3NXB4O1xuXG5cdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0d2lkdGg6IDI1MHB4O1xuXHR9XG59XG4vL1xuLy8uc2VsZWN0aXplLWNvbnRyb2wgPiAuc2VsZWN0aXplLWRyb3Bkb3duIHtcbi8vXHR3aWR0aDogNjAlO1xuLy99XG5cbi5pbnAgLnNlbGVjdGl6ZS1pbnB1dCB7XG5cdGJvcmRlci1jb2xvcjogI2UzZTNlMztcblx0aGVpZ2h0OiA0MXB4O1xufVxuXG4uYWVyb2V4cHJlc3MtdGFibGUtd3JhcCB0YWJsZSB7XG5cdHRkOmZpcnN0LWNoaWxkIHtcblx0XHR3aWR0aDogNDEwcHg7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblxuXHRcdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0XHR3aWR0aDogMzQwcHg7XG5cdFx0fVxuXHR9XG5cblx0dGQ6bnRoLWNoaWxkKDIpIC51aS1zZWxlY3QtYWVyb2V4cHJlc3Mge1xuXHRcdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0cGFkZGluZzogMCAyNXB4O1xuXHRcdH1cblx0fVxufVxuXG4uYWVyb2V4cHJlc3Mge1xuXHQucGFzc2VuZ2Vyc0luZm8ge1xuXHRcdHBhZGRpbmc6IDI1cHggMjVweCAwO1xuXG5cdFx0LmlucCB7XG5cdFx0XHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR0YWJsZS5wYXNzZW5nZXJJbmZvIHRkIHtcblx0XHRcdHBhZGRpbmc6IDIwcHggMjBweCAwO1xuXG5cdFx0XHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdFx0XHRwYWRkaW5nOiAyMHB4IDAgMDtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDIwcHggMCAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnBhc3NlbmdlciAucmVtb3ZlLWFlLXBhc3NlbmdlciB7XG5cdFx0dG9wOiAxNnB4O1xuXG5cdFx0QGluY2x1ZGUgYWRhcHRpdml0eSh0YWJsZXQpIHtcblx0XHRcdHRvcDogMTZweDtcblx0XHR9XG5cblx0XHQuaWNvbl9yZW1vdmU6YmVmb3JlIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cblx0XHRcdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbmVzLWFlcm9leHByZXNzIGRpdi5pdGVtX19pLm1vYmlsZUhpZGUgLnBhc3NlbmdlcnNJbmZvIHRhYmxlIHRyOm50aC1jaGlsZCgyKSA+IHRkIHtcblx0cGFkZGluZy10b3A6IDEwcHg7XG59XG5cbiNjb21wYXJlID4gZGl2LnBvcHVwX19pID4gZGl2LmNvbXBhcmVUYWJzV3JhcC5tb2JpbGVTaG93IHtcblx0Lml0ZW0ge1xuXHRcdHRhYmxlIHRkIHtcblx0XHRcdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudGFic0NvbnRyb2wgbGkge1xuXHRcdCYuZWNvbm9tX3R5cGUyIGEge1xuXHRcdFx0QGluY2x1ZGUgYWRhcHRpdml0eSh0YWJsZXQpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogIzY0YmVlNjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmVjb25vbV90eXBlMyBhIHtcblx0XHRcdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMwMDgxYzE7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5idXNpbmVzc190eXBlMSBhIHtcblx0XHRcdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNjNTYzOGY7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5idXNpbmVzc190eXBlMiBhIHtcblx0XHRcdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICM4ZjVjOTQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jb21wYXJlVGFic1dyYXAge1xuXHQuaXRlbSB7XG5cdFx0Ji5lY29ub21fdHlwZTIgLm5hbWUge1xuXHRcdFx0QGluY2x1ZGUgYWRhcHRpdml0eSh0YWJsZXQpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogIzY0YmVlNjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmVjb25vbV90eXBlMyAubmFtZSB7XG5cdFx0XHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMDA4MWMxO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuYnVzaW5lc3NfdHlwZTEgLm5hbWUge1xuXHRcdFx0QGluY2x1ZGUgYWRhcHRpdml0eSh0YWJsZXQpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2M1NjM4Zjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmJ1c2luZXNzX3R5cGUyIC5uYW1lIHtcblx0XHRcdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICM4ZjVjOTQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5wb3B1cF9jb21wYXJlIHtcblx0QGluY2x1ZGUgYWRhcHRpdml0eSh0YWJsZXQpIHtcblx0XHR3aWR0aDogMTAwdnc7XG5cdH1cbn1cblxuLmNoZWNrb3V0U2VydmljZXNfX2kgLmxpc3QgPiAuaXRlbS5hY3RpdmUgLnRvcCB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5wb3B1cF9zZWxlY3RTZWF0IC5zZWF0U2VsZWN0IC5idG5Sb3cgLmJ0biB7XG5cdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjMDA2ZWFlO1xuXHRcdGJhY2tncm91bmQ6ICMwMDZlYWU7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdH1cbn1cblxuZXh0cmEtc2VydmljZXMtbGlzdCBnZW8tbWFya2VyIGRpdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5pbnZvaWNlIC5jb2w6Zmlyc3QtY2hpbGQge1xuXHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0fVxufVxuXG4ucmV0dXJuTGlzdF9faSAubW9iaWxlSGlkZSB7XG5cdEBpbmNsdWRlIGFkYXB0aXZpdHkodGFibGV0KSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vKiA9PT09IEVORCAjNDY1MDUgPT09PSAqL1xuXG5AaW5jbHVkZSBmbG9hdGluZ0xhYmVsc0hlaWdodEZpeDtcblxuLmZsaWdodFRhYmxlIC5vcHRpb25zIGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbnN1cmFuY2UtZmFyZXMge1xuXHQmX192ZW5kb3ItaW1hZ2Uge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQmX19uYW1lIHtcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXG5cdCZfX3Byb21vLWltYWdlLWZyYW1lIHtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHQmX19wcm9tby1pbWFnZSB7XG5cdFx0d2lkdGg6IDEwMHB4O1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdCZfX3NlbGVjdCB7XG5cdFx0Y29sb3I6ICRwdXJwbGVCcmFuZENvbG9yO1xuXHR9XG5cblx0Jl9fcmVtb3ZlIHtcblx0XHRzdmcgKiB7XG5cdFx0XHRmaWxsOiAjMzMzMzMzO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NhcmQge1xuXHRcdHdpZHRoOiAzNSU7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdGJvcmRlci13aWR0aDogMnB4O1xuXG5cdFx0Jl9hY3RpdmUge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkcHVycGxlQnJhbmRDb2xvcjtcblxuXHRcdFx0Lmluc3VyYW5jZS1mYXJlc19fdmVuZG9yLWltYWdlIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0fVxuXG5cdFx0XHQuaW5zdXJhbmNlLWZhcmVzX19wcmljZSxcblx0XHRcdC5pbnN1cmFuY2UtZmFyZXNfX25hbWUsXG5cdFx0XHQuaW5zdXJhbmNlLWZhcmVzX19kZXNrLFxuXHRcdFx0Lmluc3VyYW5jZS1mYXJlc19fZGVzayAqLFxuXHRcdFx0Lmluc3VyYW5jZS1mYXJlc19fc2VsZWN0IHtcblx0XHRcdFx0Y29sb3I6ICMzMzMzMzM7XG5cdFx0XHR9XG5cblx0XHRcdC5pbnN1cmFuY2UtZmFyZXNfX25hbWUge1xuXHRcdFx0XHRjb2xvcjogIzFiNzViYztcblx0XHRcdH1cblxuXHRcdFx0Lmluc3VyYW5jZS1mYXJlc19fZm9vdGVyIHtcblx0XHRcdFx0JjpiZWZvcmUsXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZGVzayB7XG5cdFx0YSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cbn1cblxuZXMtaW5zdXJhbmNlIHtcblx0LnBhc3Nlbmdlcl9fbGlua19faV9fbmFtZSBzdHJvbmcge1xuXHRcdGNvbG9yOiAjMzMzMzMzO1xuXHR9XG5cblx0Lmluc3VyYW5jZVNlbGVjdF9faSAucGFzc2VuZ2VyIHtcblx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJHB1cnBsZUJyYW5kQ29sb3I7XG5cdH1cbn1cblxuLnBhc3NlbmdlcnNJbmZvIC5pbnAgLmlucC1sYWJlbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbkBpbmNsdWRlIGZ1bGxTaXplRGF0ZXBpY2tlcjtcblxuLnBhc3NlbmdlcnNJbmZvIHtcblx0Lmljb25maXJtIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHR9XG59XG4iLCIvLyA9PT09PT09PT09PT09PSBDb2xvcnMgPT09PT09PT09PT09PVxuXG4kYmx1ZUJyYW5kQ29sb3I6ICMwYjZjYjE7XG4kZGFya0JsdWVCcmFuZENvbG9yOiAjMzQzNDVkO1xuJHB1cnBsZUJyYW5kQ29sb3I6ICM4YTE3NzY7XG5cblxuJGxpZ2h0UHVycGxlQnJhbmRDb2xvcjogcmdiYSgkcHVycGxlQnJhbmRDb2xvciwgLjQpO1xuXG5cbiR3aGl0ZTogI2ZmZmZmZjtcbiRibGFjazogIzAwMDAwMDtcblxuLy8gPT09PT09PT09PT09PT0gRU5EIENvbG9ycyA9PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT0gSWNvbnMgPT09PT09PT09XG5cbiRtYWlsSWNvbjogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlhWE52TFRnNE5Ua3RNU0kvUGcwS1BDRXRMU0JIWlc1bGNtRjBiM0k2SUVGa2IySmxJRWxzYkhWemRISmhkRzl5SURFNUxqRXVNQ3dnVTFaSElFVjRjRzl5ZENCUWJIVm5MVWx1SUM0Z1UxWkhJRlpsY25OcGIyNDZJRFl1TURBZ1FuVnBiR1FnTUNrZ0lDMHRQZzBLUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCMlpYSnphVzl1UFNJeExqRWlJR2xrUFNKRFlYQmhYekVpSUhnOUlqQndlQ0lnZVQwaU1IQjRJaUIyYVdWM1FtOTRQU0l3SURBZ016a3VORGMwSURNNUxqUTNOQ0lnYzNSNWJHVTlJbVZ1WVdKc1pTMWlZV05yWjNKdmRXNWtPbTVsZHlBd0lEQWdNemt1TkRjMElETTVMalEzTkRzaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlJSGRwWkhSb1BTSTFNVEp3ZUNJZ2FHVnBaMmgwUFNJMU1USndlQ0krRFFvOGNHRjBhQ0JrUFNKTk16Z3VNelEzTERRdU9ESTFZekF1TmpFNUxEQXNNUzR4TWpjc01DNDFNRGdzTVM0eE1qY3NNUzR4TWpkMk1qY3VOVGN4WXpBc01DNDJNVGt0TUM0MU1EZ3NNUzR4TWpjdE1TNHhNamNzTVM0eE1qZG9MVEF1TWpkSU1TNHpPREVnSUdndE1DNHlOME13TGpRNU1pd3pOQzQyTkRrc01Dd3pOQzR4TkRFc01Dd3pNeTQxTWpKV05TNDVOVEpqTUMwd0xqWXhPU3d3TGpRNU1pMHhMakV5Tnl3eExqRXhNUzB4TGpFeU4yZ3dMakkzYURBdU16RTNhREF1TlRnM1l6RXhMamd5TlN3d0xESXpMalkxTERBc016VXVORGtzTUdnd0xqTXdNaUFnU0RNNExqTTBOM29nVFRFNUxqY3lPU3d5TUM0ek5EaHNPQzQwTkRRdE55NHpNREZzTmk0NU1EUXROUzQ1T0RSb0xUQXVNRE15U0RNMExqUTVZeTA1TGpZMUxEQXRNVGt1TXpFMkxEQXRNamd1T1RnekxEQm9MVEF1TlRSb0xUQXVOVFJJTkM0ek9ERnNOaTQ1TURRc05TNDVPRFFnSUV3eE9TNDNNamtzTWpBdU16UTRlaUJOTWprdU5qTXpMREUwTGpjeU9Xd3RPUzR4TlRnc055NDVNelpqTFRBdU5ERXpMREF1TXpZMUxURXVNRFE0TERBdU16Z3hMVEV1TkRjMkxEQXVNREUyYkMwNUxqRTNOQzAzTGprMU1rd3lMakl6T0N3NExqRTFPSFl5TXk0eE5UaHNOeTQxT0RjdE5pNDFPRGNnSUd3MExqSTFOQzB6TGpZMk4yTXdMalEyTFRBdU5ERXpMREV1TVRjMUxUQXVNelkxTERFdU5UY3hMREF1TVRFeFl6QXVOREV6TERBdU5EWXNNQzR6TkRrc01TNHhOelV0TUM0eE1URXNNUzQxTnpGc0xUUXVNalUwTERNdU5qZ3liQzAyTGprd05DdzFMamsyT0dnek1DNDJPVGNnSUd3dE5pNDVNRFF0TlM0NU5qaHNMVFF1TWpVMExUTXVOamd5WXkwd0xqUTJMVEF1TXprM0xUQXVOVEE0TFRFdU1URXhMVEF1TVRFeExURXVOVGN4WXpBdU5ERXpMVEF1TkRjMkxERXVNVEV4TFRBdU5USTBMREV1TlRjeExUQXVNVEV4YkRRdU1qVTBMRE11TmpZM2JEY3VOakF6TERZdU5UZzNJQ0JXT0M0eE5UaE1Namt1TmpNekxERTBMamN5T1hvaUlHWnBiR3c5SWlObVptWm1abVlpTHo0TkNqeG5QZzBLUEM5blBnMEtQR2MrRFFvOEwyYytEUW84Wno0TkNqd3ZaejROQ2p4blBnMEtQQzluUGcwS1BHYytEUW84TDJjK0RRbzhaejROQ2p3dlp6NE5DanhuUGcwS1BDOW5QZzBLUEdjK0RRbzhMMmMrRFFvOFp6NE5Dand2Wno0TkNqeG5QZzBLUEM5blBnMEtQR2MrRFFvOEwyYytEUW84Wno0TkNqd3ZaejROQ2p4blBnMEtQQzluUGcwS1BHYytEUW84TDJjK0RRbzhaejROQ2p3dlp6NE5Dand2YzNablBnMEsnKTtcblxuXG4vLyA9PT09PT09PT09PT09PSBFTkQgSWNvbnMgPT09PT09PT09XG4iLCIvLy8gUmVtb3ZlIHRoZSB1bml0IG9mIGEgbGVuZ3RoXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcblx0QGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG5cdFx0QHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG5cdH1cblx0QHJldHVybiAkbnVtYmVyO1xufVxuXG5AZnVuY3Rpb24gZW0oJHdhbnRlZCwgJGJhc2U6IDE2KSB7XG5cdEByZXR1cm4gc3RyaXAtdW5pdCgkd2FudGVkKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMWVtO1xufVxuXG5AZnVuY3Rpb24gcmVtKCR3YW50ZWQsICRiYXNlOiAxNikge1xuXHRAcmV0dXJuIHN0cmlwLXVuaXQoJHdhbnRlZCkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG59XG5cbkBmdW5jdGlvbiBwZXJjZW50KCR3YW50ZWQsICRjb250ZXh0KSB7XG5cdEByZXR1cm4gc3RyaXAtdW5pdCgkd2FudGVkKSAvIHN0cmlwLXVuaXQoJGNvbnRleHQpICogMTAwICogMSU7XG59XG5cbkBmdW5jdGlvbiBnZXQtZGVlcCgkbWFwLCAka2V5cy4uLikge1xuXHQvLyBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvZGVlcC1nZXRzZXQtbWFwcy9cblx0QGVhY2ggJGtleSBpbiAka2V5cyB7XG5cdFx0JG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcblx0fVxuXHRAcmV0dXJuICRtYXA7XG59XG5cbkBmdW5jdGlvbiBtZXJnZSgkcGFyZW50LW1hcCwgJGNoaWxkLW1hcCkge1xuXHQvLyBodHRwczovL21lZGl1bS5jb20vQHBlbnR6enNvbHQvYS1ub24tZGVzdHJ1Y3RpdmUtbWFwLW1lcmdlLWZ1bmN0aW9uLWZvci1zYXNzLWY5MTYzN2Y4N2IyZVxuXHQkcmVzdWx0OiAkcGFyZW50LW1hcDtcblx0QGVhY2ggJGtleSwgJHZhbHVlIGluICRjaGlsZC1tYXAge1xuXHRcdEBpZiAobm90IG1hcC1oYXMta2V5KCRyZXN1bHQsICRrZXkpKSBvclxuXHRcdFx0KHR5cGUtb2YobWFwLWdldCgkcmVzdWx0LCAka2V5KSkgIT0gdHlwZS1vZigkdmFsdWUpKSBvclxuXHRcdFx0KG5vdCAodHlwZS1vZihtYXAtZ2V0KCRyZXN1bHQsICRrZXkpKSA9PSBtYXAgYW5kIHR5cGUtb2YoJHZhbHVlKSA9PSBtYXApKVxuXHRcdHtcblx0XHRcdCRyZXN1bHQ6IG1hcC1tZXJnZShcblx0XHRcdFx0JHJlc3VsdCxcblx0XHRcdFx0KFxuXHRcdFx0XHRcdCRrZXk6ICR2YWx1ZVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0JHJlc3VsdDogbWFwLW1lcmdlKFxuXHRcdFx0XHQkcmVzdWx0LFxuXHRcdFx0XHQoXG5cdFx0XHRcdFx0JGtleTogbWVyZ2UobWFwLWdldCgkcmVzdWx0LCAka2V5KSwgJHZhbHVlKVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXHRAcmV0dXJuICRyZXN1bHQ7XG59XG5cbkBtaXhpbiBmYXN0VHJhbnNpdGlvbigkcHJvcHMsICRkdXJhdGlvbjogMC4xNXMsICR0aW1pbmc6IGVhc2UtaW4tb3V0KSB7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGpvaW4oKCksICRwcm9wcywgY29tbWEpO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xufVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRjbGVhcjogYm90aDtcblx0fVxufVxuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuXHQmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxuXHQmOi1tb3otcGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cdCY6Oi1tb3otcGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cdCY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gYWRhcHRpdml0eSgkbWVkaWEpIHtcblx0JHNjcmVlbi1zaXplLWxhcHRvcC1sYXJnZTogMTQ0MHB4O1xuXHQkc2NyZWVuLXNpemUtbGFwdG9wOiAxMTAwcHg7XG5cdCRzY3JlZW4tc2l6ZS10YWJsZXQ6IDc2OHB4O1xuXHQkc2NyZWVuLXNpemUtcGhvbmU6IDUxNXB4O1xuXHRAaWYgJG1lZGlhID09IGRlc2t0b3Age1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zaXplLWxhcHRvcC1sYXJnZSkge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9XG5cdEBpZiAkbWVkaWEgPT0gbGFwdG9wLWxhcmdlIHtcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc2l6ZS1sYXB0b3AtbGFyZ2UpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fSBAZWxzZSBpZiAkbWVkaWEgPT0gbGFwdG9wIHtcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc2l6ZS1sYXB0b3ApIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fSBAZWxzZSBpZiAkbWVkaWEgPT0gb25seS1sYXB0b3Age1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zaXplLXRhYmxldCkgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc2l6ZS1sYXB0b3ApIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fSBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0IHtcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc2l6ZS10YWJsZXQpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fSBAZWxzZSBpZiAkbWVkaWEgPT0gcGhvbmUge1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zaXplLXBob25lKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGNoYW5nZUhlaWdodCB7XG5cdC8qID09PT0gY2hhbmdlSGVpZ2h0TWl4aW4gaW4gY29tbW9uL19taXhpbnMuc2FzcyA9PT09ICovXG5cdC5mbGlnaHRUYWJsZSAuY29udGVudFJvdyB0ZDpub3QoLmZpcnN0Q29sKSB7XG5cdFx0aGVpZ2h0OiAxMHB4O1xuXHR9XG59XG5cbi8qID09PT0gRU5EIGNoYW5nZUhlaWdodE1peGluIGluIGNvbW1vbi9fbWl4aW5zLnNhc3MgPT09PSAqL1xuXG5AbWl4aW4gY2hvb3NlRmxpZ2h0QWN0aXZlU3R5bGVzIHtcblx0LmZsaWdodFRhYmxlIC5jb250ZW50Um93IHRkLmFjdGl2ZSBhIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gY2hvb3NlRmxpZ2h0QWN0aXZlSWNvblN0eWxlcyB7XG5cdC5mbGlnaHRUYWJsZSAuY29udGVudFJvdyB0ZC5hY3RpdmUgaSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8gREVQUkVDQVRFRFxuQG1peGluIHNldFRhYmxldEZ1bGxXaWR0aEFuZEhlaWdodCB7XG5cdC5jaG9vc2VGbGlnaHRfX3RhYmxlX19pdGVtX19jb250ZW50X19saW5rIHtcblx0XHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHByaWNlSXRlbSB7XG5cdC5jaG9vc2VGbGlnaHRfX3RhYmxlX19pdGVtX19jb250ZW50X19saW5rIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gcHJpY2VJdGVtQWN0aXZlIHtcblx0LmNob29zZUZsaWdodF9fdGFibGVfX2l0ZW1fX2NvbnRlbnQuYWN0aXZlIC5jaG9vc2VGbGlnaHRfX3RhYmxlX19pdGVtX19jb250ZW50X19saW5rIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gZXF1YWxJbnB1dEhlaWdodCgkaGVpZ2h0KSB7XG5cdC8qID09PT0gZXF1YWxpemUgaW5wdXQgaGVpZ2h0IGluIHBhc3NlbmdlcnMgc3RlcCA9PT09ICovXG5cdC51aS1zZWxlY3QtcGFzc2VuZ2VycyAuc2VsZWN0aXplLWlucHV0IHtcblx0XHRwYWRkaW5nOiAxNXB4IDEwcHg7XG5cdFx0aGVpZ2h0OiAkaGVpZ2h0O1xuXHR9XG59XG5cbi8qID09PT0gRU5EIGVxdWFsaXplIGlucHV0IGhlaWdodCBpbiBwYXNzZW5nZXJzIHN0ZXAgPT09PSAqL1xuXG5AbWl4aW4gdHJhbnNmb3JtSW5wdXRZKCR5VHJhbnNmb3JtKSB7XG5cdC51aS1zZWxlY3QtcGFzc2VuZ2VycyAuc2VsZWN0aXplLWlucHV0IHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAkeVRyYW5zZm9ybSk7XG5cdH1cbn1cblxuQG1peGluIHNldEJhc2tldFBhZGRpbmcoJHBhZGRpbmcpIHtcblx0LnNlbGVjdGVkSW5mb19faSAuZHJvcF9faSB7XG5cdFx0QGluY2x1ZGUgYWRhcHRpdml0eSh0YWJsZXQpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGRpc2FibGVkQ2FsZW5kYXJTdHlsZXMge1xuXHQvKiDQodGC0LjQu9C4INC00LvRjyDQtNCw0YIg0L3QsCDQutC+0YLQvtGA0YvQtSDQvdC10YIg0L/QtdGA0LXQu9C10YLQvtCyICovXG5cdC5pcy1kaXNhYmxlZCAucGlrYS1idXR0b24ucGlrYS1kYXkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBlbmFibGVkQ2FsZW5kYXJTdHlsZXMge1xuXHQvKiDQodGC0LjQu9C4INC00LvRjyDQtNC+0YHRgtGD0L/QvdGL0YUg0LTQsNGCICovXG5cdC5waWthLWJ1dHRvbi5waWthLWRheSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIHdlZWtlbmRDYWxlbmRhclN0eWxlcyB7XG5cdC8qINCh0YLQuNC70Lgg0LTQu9GPINCy0YvRhdC+0LTQvdGL0YUg0LTQvdC10LkgKi9cblx0LnBpa2Etc2luZ2xlXG5cdFx0dGFibGVcblx0XHR0Ym9keVxuXHRcdHRyXG5cdFx0dGQ6bm90KC5pcy1kaXNhYmxlZCk6bm90KC5pcy1zdGFydHJhbmdlKTpub3QoLmlzLXRvZGF5KTpub3QoLmlzLWVuZHJhbmdlKTpub3QoLmlzLXNlbGVjdGVkKTpudGgtY2hpbGQoNilcblx0XHRidXR0b24sXG5cdC5waWthLXNpbmdsZVxuXHRcdHRhYmxlXG5cdFx0dGJvZHlcblx0XHR0clxuXHRcdHRkOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtc3RhcnRyYW5nZSk6bm90KC5pcy10b2RheSk6bm90KC5pcy1lbmRyYW5nZSk6bm90KC5pcy1zZWxlY3RlZCk6bnRoLWNoaWxkKDcpXG5cdFx0YnV0dG9uIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gcmFuZ2VDYWxlbmRhclN0eWxlcyB7XG5cdC8qINCh0YLQuNC70Lgg0LTQu9GPINC00LDRgiDQvNC10LbQtNGDINC00LLRg9C80Y8g0LLRi9Cx0YDQsNC90L3Ri9C80LggKi9cblx0LmlzLWlucmFuZ2UgLnBpa2EtYnV0dG9uIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gcmFuZ2VTdGFydEVuZFN0eWxlcyB7XG5cdC5pcy1zdGFydHJhbmdlIC5waWthLWJ1dHRvbi5waWthLWRheSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIHVuYXZhbGlibGVTdHlsZXMge1xuXHQvKiBzdHlsZXMgZm9yIHVuYXZhaWxhYmxlIGRhdGVzICovXG5cdC5waWthLWxlbmRhcl9fYXZhaWxhYmlsaXR5LWhpZ2hsaWdodCAucGlrYS1idXR0b24udW5hdmFpbGFibGUge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiByZW1vdmVQb2ludGVyRGlzYWJsZWRGcm9tQ2FsZW5kYXIge1xuXHQvKiDQo9C00LDQu9GP0LXQvCDQt9Cw0L/RgNC10YIg0L3QsCDQutC70LjQuiDQv9C+INC00LDRgtC1LCDQvdCwINC60L7RgtC+0YDRg9GOINC90LXRgiDQv9C10YDQtdC70LXRgtCwINGB0LwgIzM1MzgyI25vdGUtMjQgKi9cblx0LnBpa2EtbGVuZGFyX19hdmFpbGFiaWxpdHktaGlnaGxpZ2h0IC5waWthLWJ1dHRvbi51bmF2YWlsYWJsZSB7XG5cdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cbn1cblxuQG1peGluIGNhbGVuZGFySG92ZXJTdHlsZXMge1xuXHQvKiDQodGC0LjQu9C4INC00LvRjyDRhdC+0LLQtdGA0LAg0L3QsCDQtNCw0YLQtSDQsiDQutCw0LvQtdC90LTQsNGA0LUgKi9cblx0LnBpa2EtYnV0dG9uLnBpa2EtZGF5OmhvdmVyIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gY2FsZW5kYXJTZWxlY3RlZFN0eWxlcyB7XG5cdC8qINCh0YLQuNC70Lgg0LTQu9GPINCy0YvQsdGA0LDQvdC90L7QuSDQtNCw0YLRiyAqL1xuXHQuaXMtc2VsZWN0ZWQgLnBpa2EtYnV0dG9uLnBpa2EtZGF5LFxuXHQuaXMtZW5kcmFuZ2UgLnBpa2EtYnV0dG9uLnBpa2EtZGF5IHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gc2V0U2VhcmNoU3RlcHNDb2xvcigkY29sb3IpIHtcblx0LnNlYXJjaFN0ZXBzIG9sIGxpIHtcblx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29sb3I6ICRjb2xvcjtcblx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXHRcdH1cblx0XHQmLmFjdGl2ZSxcblx0XHQmLnByZXYge1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmFjdGl2ZSB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5wcmV2IHtcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3I7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBzZXRTZWFyY2hGb3JtQ29sb3IoJGNvbG9yLCAkaG92ZXJDb2xvcikge1xuXHQub3JkZXJTZWFyY2hGb3JtLFxuXHQudGltZVRhYmxlU2VhcmNoRm9ybSB7XG5cdFx0LmNhbGVuZGFyQnRuLFxuXHRcdC5hcnJvd0Rvd24ge1xuXHRcdFx0Y29sb3I6ICRjb2xvcjtcblx0XHR9XG5cdFx0LmJ0blRyYW5zZmVyIHtcblx0XHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0fVxuXHRcdC5idG5QbHVzIGkge1xuXHRcdFx0Y29sb3I6ICRjb2xvcjtcblx0XHR9XG5cdFx0LmJvbnVzSXRlbSB7XG5cdFx0XHRsYWJlbCB7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0XHR9XG5cdFx0XHQudGV4dElucCB7XG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC52YWx1ZUNvbnRyb2wge1xuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHQuYnRuTWludXMge1xuXHRcdFx0XHRcdGkge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRjb2xvcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnBpa2FkYXktdG9wX19sYWJlbCB7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0fVxuXHQudmFsdWVDb250cm9sIHtcblx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRhLmJ0bk1pbnVzOmhvdmVyIHtcblx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zZWFyY2hQYXJhbXNfX2kgLmNoYW5nZVBhcmFtcyB7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdH1cblx0fVxuXHQuYnRuLmJ0bl9ub0JhY2ssXG5cdC5idG5fbm9CYWNrLnBvcHVwX19pX19mb290ZXJfX2J1dHRvbnNfX2J1dHRvbixcblx0LnNlYXJjaFJlc3VsdHNDb250cm9sIC5idG5fbm9CYWNrLmJ0bl9uZXh0LFxuXHQuaW52b2ljZSAuYnRuLXJvdyAuYnRuX25vQmFjay5idG4sXG5cdC50aWNrZXRDaGFuZ2UgLmJ0blJvdyAuYnRuX25vQmFjay5idG4ge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3I7XG5cdH1cblx0LmJ0bi5idG5fc2VhcmNoLFxuXHQucG9wdXBfX2lfX2Zvb3Rlcl9fYnV0dG9uc19fYnV0dG9uLFxuXHQuc2VhcmNoUmVzdWx0c0NvbnRyb2wgLmJ0bl9uZXh0LFxuXHQuaW52b2ljZSAuYnRuLXJvdyAucG9wdXBfX2lfX2Zvb3Rlcl9fYnV0dG9uc19fYnV0dG9uLFxuXHQuaW52b2ljZSAuYnRuLXJvdyAuc2VhcmNoUmVzdWx0c0NvbnRyb2wgLmJ0bl9uZXh0LFxuXHQuc2VhcmNoUmVzdWx0c0NvbnRyb2wgLmludm9pY2UgLmJ0bi1yb3cgLmJ0bl9uZXh0LFxuXHQuaW52b2ljZSAuYnRuLXJvdyAuYnRuLFxuXHQudGlja2V0Q2hhbmdlIC5idG5Sb3cgLnBvcHVwX19pX19mb290ZXJfX2J1dHRvbnNfX2J1dHRvbixcblx0LnRpY2tldENoYW5nZSAuYnRuUm93IC5zZWFyY2hSZXN1bHRzQ29udHJvbCAuYnRuX25leHQsXG5cdC5zZWFyY2hSZXN1bHRzQ29udHJvbCAudGlja2V0Q2hhbmdlIC5idG5Sb3cgLmJ0bl9uZXh0LFxuXHQudGlja2V0Q2hhbmdlIC5idG5Sb3cgLmJ0biB7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogJGhvdmVyQ29sb3I7XG5cdFx0fVxuXHR9XG5cdC5vcmRlclNlYXJjaEZvcm0gLml0ZW0uaXRlbV90cmFuc2ZlciAudGV4dElucDpmb2N1cyxcblx0LnRpbWVUYWJsZVNlYXJjaEZvcm0gLml0ZW0uaXRlbV90cmFuc2ZlciAudGV4dElucDpmb2N1cyxcblx0Lm9yZGVyU2VhcmNoRm9ybSAuY2FsZW5kYXJJbnA6Zm9jdXMsXG5cdC50aW1lVGFibGVTZWFyY2hGb3JtIC5jYWxlbmRhcklucDpmb2N1cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3I7XG5cdH1cblx0Lm9yZGVyU2VhcmNoRm9ybSAuYnRuVHJhbnNmZXI6aG92ZXIsXG5cdC50aW1lVGFibGVTZWFyY2hGb3JtIC5idG5UcmFuc2Zlcjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yO1xuXHR9XG5cdC8qIG1vYmlsZSBzdHlsZXMgKi9cblx0Lm9yZGVyU2VhcmNoRm9ybSAucGlrYWRheV9faGVhZGVyX21vYmlsZS5hY3RpdmUge1xuXHRcdGJhY2tncm91bmQ6ICRjb2xvcjtcblx0fVxufVxuXG5AbWl4aW4gc2V0SGVhZGVyU3R5bGVzKCRwcmltYXJ5LCAkc2Vjb25kYXJ5LCAkdGhpcmQpIHtcblx0LmhlYWRlciB7XG5cdFx0YmFja2dyb3VuZDogJHByaW1hcnk7XG5cdH1cblx0LnNlYXJjaFN0ZXBzIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xuXHR9XG5cdC5oZWFkZXJSaWdodCB7XG5cdFx0LnVzZXJOYXZfX2kgYSB7XG5cdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0fVxuXHRcdC5zZWxlY3RlZEluZm8ge1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdC5zZWxlY3RlZEluZm9fX2kge1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkdGhpcmQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmX19pIHtcblx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRjb2xvcjogIzRkNGQ0ZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQudXNlck5hdl9faSAudWktc2VsZWN0LWhlYWRlciAuc2VsZWN0aXplLWlucHV0IHtcblx0XHRtYXJnaW4tdG9wOiAtNnB4O1xuXHR9XG59XG5cbkBtaXhpbiBjYWxlbmRhclByZXZOZXh0QnV0dG9ucyB7XG5cdC5waWthLXByZXYsXG5cdC5waWthLW5leHQge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBzZXRTZWFyY2hWYXJpYW50c0NvbG9yKCRwcmltYXJ5LCAkc2Vjb25kYXJ5LCAkdGV4dENvbG9yOiB3aGl0ZSwgJGNvbG9yU2V0OiBpbml0aWFsKSB7XG5cdC5jaG9vc2VGbGlnaHQgLmZsaWdodFdheSBhIHtcblx0XHRjb2xvcjogJHByaW1hcnk7XG5cdFx0c3BhbiB7XG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmNob29zZURhdGUge1xuXHRcdC5jb250cm9sLmNvbnRyb2xfbmV4dCxcblx0XHQuY29udHJvbC5jb250cm9sX3ByZXYge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnRhYmxlV3JhcCB7XG5cdFx0XHR0YWJsZSB7XG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHRleHRDb2xvcjtcblx0XHRcdFx0XHRcdFx0c3Ryb25nIHtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJHRleHRDb2xvcjtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuZmxpZ2h0VGFibGUge1xuXHRcdHRhYmxlID4gdGJvZHkgPiB0ci5oZWFkcm93IHtcblx0XHRcdEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkY29sb3JTZXQpIHtcblx0XHRcdFx0JGNvbG9yOiBudGgoJGNvbG9yU2V0LCAkaW5kZXgpO1xuXHRcdFx0XHQkaW5kZXg6ICRpbmRleCArIDE7XG5cdFx0XHRcdD4gdGQ6bnRoLWNoaWxkKCN7JGluZGV4fSkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQudGltZVRhYmxlIHtcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJHByaW1hcnk7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmNvbnRlbnRSb3cge1xuXHRcdFx0dGQge1xuXHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmNvbHVtblRpdGxlIHtcblx0XHRcdC5uYW1lIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuY29tcGFyZVRhYmxlV3JhcCB7XG5cdFx0Lyog0KLQsNCx0LvQuNGG0LAg0YHRgNCw0LLQvdC10L3QuNGPINGC0LDRgNC40YTQvtCyICovXG5cdFx0dGFibGUgdHI6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRjb2xvclNldCkge1xuXHRcdFx0XHQkY29sb3I6IG50aCgkY29sb3JTZXQsICRpbmRleCk7XG5cdFx0XHRcdCRpbmRleDogJGluZGV4ICsgMTtcblx0XHRcdFx0dGQ6bnRoLWNoaWxkKCN7JGluZGV4fSkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQucG9wdXBfZGV0YWlsIHtcblx0XHQucm91dGVfaXRlbSB7XG5cdFx0XHQucm91dGVfY29udGFpbmVyIHtcblx0XHRcdFx0LnJvdXRlX3RhYmxlIHtcblx0XHRcdFx0XHQuZGVwLFxuXHRcdFx0XHRcdC5hcnIge1xuXHRcdFx0XHRcdFx0Jl9fcG9pbnRfY2l0eSxcblx0XHRcdFx0XHRcdCZfX3RpbWUge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jaG9vc2VSZXN1bHRfX2ksXG5cdC5zZWFyY2hSZXN1bHRzUGxhaW5fX2kge1xuXHRcdC5yb3V0ZV9pdGVtIHtcblx0XHRcdC5yb3V0ZV9jb250YWluZXIge1xuXHRcdFx0XHQucm91dGVfdGFibGUge1xuXHRcdFx0XHRcdC5kZXAsXG5cdFx0XHRcdFx0LmFyciB7XG5cdFx0XHRcdFx0XHQmX190aW1lIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Jl9fcG9pbnRfY2l0eSB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmZsaWdodCB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuXHRcdH1cblx0XHQucGFzc2VuZ2VycyB7XG5cdFx0XHRhIHtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC50b3RhbCB7XG5cdFx0XHRwIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQvKiBtb2JpbGUgc3R5bGVzICovXG5cdC5zZWxlY3REYXRlIHtcblx0XHQuaXRlbSB7XG5cdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0LnByaWNlLFxuXHRcdFx0XHRcdC5kYXRlLFxuXHRcdFx0XHRcdC5kYXRlX3RleHQge1xuXHRcdFx0XHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jaG9vc2VGbGlnaHQge1xuXHRcdCZfX2xpc3Qge1xuXHRcdFx0Jl9faXRlbSB7XG5cdFx0XHRcdCZfX2xhYmVsIHtcblx0XHRcdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Jl9fY29udGVudCB7XG5cdFx0XHRcdFx0Jl9fYm90dG9tIHtcblx0XHRcdFx0XHRcdCZfX2xpbmsge1xuXHRcdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnk7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBpbmhlcml0O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5mbGlnaHRUYWJsZVdyYXAge1xuXHRcdC50aXRsZSB7XG5cdFx0XHQmX19pIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zZWxlY3REYXRlIC5jb250cm9sIFtjbGFzcyo9J2ljb25fJ10ge1xuXHRcdGNvbG9yOiAkcHJpbWFyeTtcblx0fVxufVxuXG5AbWl4aW4gc2V0U2VhcmNoVmFyaWFudHNDb2xvck1vYmlsZSgkc2VsZWN0ZWRDb2xvciwgJHNlbGVjdGVkSG92ZXJDb2xvciwgJHRleHRDb2xvciwgJGNvbG9yU2V0KSB7XG5cdEBpbmNsdWRlIHByaWNlSXRlbUFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogJHNlbGVjdGVkQ29sb3I7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkc2VsZWN0ZWRIb3ZlckNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdC5mbGlnaHRUYWJsZSB7XG5cdFx0LmNob29zZUZsaWdodF9fdGFibGVfX2l0ZW1fX2NvbHVtblRpdGxlIC5uYW1lIGEge1xuXHRcdFx0Y29sb3I6ICR0ZXh0Q29sb3I7XG5cdFx0fVxuXHRcdEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkY29sb3JTZXQpIHtcblx0XHRcdCRjb2xvcjogbnRoKCRjb2xvclNldCwgJGluZGV4KTtcblx0XHRcdC5jaG9vc2VGbGlnaHRfX3RhYmxlX19pdGVtOm50aC1vZi10eXBlKCN7JGluZGV4fSkgLmNob29zZUZsaWdodF9fdGFibGVfX2l0ZW1fX2NvbHVtblRpdGxlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXHRcdFx0fVxuXHRcdFx0JGluZGV4OiAkaW5kZXggKyAxO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gcGFzc2VuZ2Vyc0luZm8oJHByaW1hcnlDb2xvciwgJHNlY29uZGFyeUNvbG9yLCAkdGV4dENvbG9yKSB7XG5cdC5wYXNzZW5nZXJzSW5mbyB7XG5cdFx0aDIge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5Q29sb3I7XG5cdFx0fVxuXHRcdC5sb2dpbiB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5Q29sb3I7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBpbmhlcml0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5pdGVtTmFtZSB7XG5cdFx0XHRjb2xvcjogJHByaW1hcnlDb2xvcjtcblx0XHRcdCZfX251bWJlciB7XG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeUNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpbnB1dFt0eXBlPSd0ZXh0J106Zm9jdXMsXG5cdFx0aW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cyxcblx0XHRpbnB1dFt0eXBlPSd0ZWwnXTpmb2N1cyxcblx0XHRpbnB1dFt0eXBlPSdlbWFpbCddOmZvY3VzLFxuXHRcdC5zZWxlY3RpemUtaW5wdXQuZm9jdXMge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkcHJpbWFyeUNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdC51aS1zZWxlY3QtY2hvaWNlcy1yb3c6aG92ZXIsXG5cdFx0LnNlbGVjdGl6ZS1kcm9wZG93biAuYWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJHRleHRDb2xvciwgMC43KSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXHQuaWNvbmZpcm0ge1xuXHRcdC5jdXN0b21DaGVja2JveCB7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5Q29sb3I7XG5cdFx0XHR9XG5cdFx0XHRpbnB1dCB7XG5cdFx0XHRcdCY6Y2hlY2tlZCB7XG5cdFx0XHRcdFx0KyBzcGFuOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeUNvbG9yO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuYnRuLmJ0bl9iYWNrIHtcblx0XHRjb2xvcjogJHByaW1hcnlDb2xvcjtcblx0XHRib3JkZXItY29sb3I6ICRwcmltYXJ5Q29sb3I7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeUNvbG9yO1xuXHRcdH1cblx0fVxuXHQudWktc2VsZWN0LXBhc3NlbmdlcnMtaGVhZGVyIHtcblx0XHQuc2VsZWN0aXplLWlucHV0LFxuXHRcdC5zZWxlY3RpemUtaW5wdXQuZm9jdXMge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5Q29sb3IgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0LnVpLXNlbGVjdC1wbGFjZWhvbGRlci50ZXh0LW11dGVkIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeUNvbG9yO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gYWRkU2VydmljZXMoJHByaW1hcnlDb2xvciwgJHNlY29uZGFyeUNvbG9yLCAkdGhpcmRDb2xvciwgJHNoYWRvd0NvbG9yLCAkdGV4dENvbG9yKSB7XG5cdC5jaGVja291dFNlcnZpY2VzX19pIHtcblx0XHQudGl0bGUge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5Q29sb3I7XG5cdFx0fVxuXHRcdC5saXN0IHtcblx0XHRcdD4gLml0ZW0ge1xuXHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0LnRvcCB7XG5cdFx0XHRcdFx0XHQuaWNvbkJveCB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5Q29sb3I7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC50b3Age1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICR0aGlyZENvbG9yO1xuXHRcdFx0XHRcdC5pY29uQm94IHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5Q29sb3I7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5idG4ge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR0aGlyZENvbG9yO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkdGhpcmRDb2xvcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LyogbW9iaWxlIHN0eWxlcyAqL1xuXHRcdC5yb3cge1xuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICR0aGlyZENvbG9yO1xuXHRcdFx0fVxuXHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnlDb2xvcjtcblx0XHR9XG5cdH1cblx0LnJhZGlvQnRuIHtcblx0XHRpbnB1dDpjaGVja2VkICsgc3BhbiB7XG5cdFx0XHRib3JkZXItY29sb3I6ICR0aGlyZENvbG9yO1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICR0aGlyZENvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQucGF5TWV0aG9kcyBhIHtcblx0XHRjb2xvcjogJHRoaXJkQ29sb3I7XG5cdFx0Ym9yZGVyLWNvbG9yOiBpbmhlcml0O1xuXHR9XG59XG5cbkBtaXhpbiBvcmRlckluZm8oJHByaW1hcnlDb2xvciwgJHNlY29uZGFyeUNvbG9yLCAkdGhpcmRDb2xvciwgJGZvdXJ0aENvbG9yKSB7XG5cdC5pbnZvaWNlSW5mbyB7XG5cdFx0Lm9yZGVyTnVtIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeUNvbG9yO1xuXHRcdH1cblx0fVxuXHQuaW52b2ljZUJhY2sgYSB7XG5cdFx0Y29sb3I6ICRwcmltYXJ5Q29sb3I7XG5cdH1cblx0Lmludm9pY2VTZXJ2aWNlc1NlbGVjdGVkIHtcblx0XHQuaXRlbSB7XG5cdFx0XHQuaXRlbV9faSB7XG5cdFx0XHRcdD4gcCBzdHJvbmcge1xuXHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeUNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5pbnZvaWNlRHJvcHMge1xuXHRcdC50aXRsZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5Q29sb3I7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5Q29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5jaXJjbGUge1xuXHRcdFx0aSB7XG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeUNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gc2VhcmNoT3JkZXJQYWdlKCRwcmltYXJ5Q29sb3IsICRzZWNvbmRhcnlDb2xvciwgJHRoaXJkQ29sb3IsICRmb3VydGhDb2xvcikge1xuXHQub3RoZXJTZXJ2aWNlcyB7XG5cdFx0YmFja2dyb3VuZDogI2YyZjJmMjtcblx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0LmJ0biB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeUNvbG9yO1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICR0aGlyZENvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuaW52b2ljZSB7XG5cdFx0LmJ0bi1yb3cge1xuXHRcdFx0LmJ0biB7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmJ0bl9yZWNlaXB0X2NvbnQge1xuXHRcdGEuc2hvd19yZWNlaXB0LFxuXHRcdGEuc2VuZF9yZWNlaXB0IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5Q29sb3I7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRoaXJkQ29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGEuc2VuZF9yZWNlaXB0IHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6ICRtYWlsSWNvbjtcblx0XHR9XG5cdH1cblx0LnBhc3Nlbmdlckludm9pY2VJbmZvIHtcblx0XHRzdHJvbmcge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5Q29sb3I7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBjaG9vc2VGbGlnaHRGdWxsV2lkdGgge1xuXHQuY2hvb3NlRmxpZ2h0X190YWJsZV9faXRlbV9fY29udGVudF9fbGluayB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG59XG5cbkBtaXhpbiBjaG9vc2VGbGlnaHRGdWxsV2lkdGhBbmRIZWlnaHQge1xuXHQuZmxpZ2h0VGFibGUgLmNvbnRlbnRSb3cgPiB0ZCB7XG5cdFx0Jjpub3QoLmZpcnN0Q29sKSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRAY29udGVudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGNvbG9yaXplU2VnbWVudFByaWNlc0NhbGVuZGFyKCRiYWNrZ3JvdW5kQ29sb3IsICRmb250Q29sb3IpIHtcblx0LyogY29sb3JpemUgc2VnbWVudCBwcmljZXMgY2FsZW5kYXIgKi9cblx0LnNlbGVjdERhdGUgLml0ZW0uYWN0aXZlIGEge1xuXHRcdGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kQ29sb3I7XG5cdFx0Y29sb3I6ICRmb250Q29sb3I7XG5cdFx0LmRhdGVfdGV4dCB7XG5cdFx0XHRjb2xvcjogJGZvbnRDb2xvcjtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHNlZ21lbnRQcmljZXNDYWxlbmRhclN0eWxlcygkZm9yQWN0aXZlKSB7XG5cdEBpZiAkZm9yQWN0aXZlID09IHRydWUge1xuXHRcdC5zZWxlY3REYXRlIC5pdGVtLmFjdGl2ZSBhIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0LnNlbGVjdERhdGUgLml0ZW0gYSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGxhbmd1YWdlTW9iaWxlQ29sb3IoJGNvbG9yLCAkbXV0ZWRDb2xvcikge1xuXHQvKiBodHRwczovL3lhZGkuc2svaS9hbGw1WS1uS3h1NHFLQSAqL1xuXHQudWktc2VsZWN0LWhlYWRlci51aS1zZWxlY3QtaGVhZGVyLW1vYmlsZSAuc2VsZWN0aXplLWlucHV0IHtcblx0XHQudWktc2VsZWN0LW1hdGNoIHtcblx0XHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0LnVpLXNlbGVjdC1oZWFkZXIgLnVpLXNlbGVjdC1wbGFjZWhvbGRlci50ZXh0LW11dGVkIHtcblx0XHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdFx0Y29sb3I6ICRtdXRlZENvbG9yO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gY29sb3JpemVCcmFuZFRhYmxlKCRjb2xvclNldCkge1xuXHQuZmxpZ2h0VGFibGUge1xuXHRcdHRhYmxlID4gdGJvZHkgPiB0ci5oZWFkcm93IHtcblx0XHRcdEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkY29sb3JTZXQpIHtcblx0XHRcdFx0JGNvbG9yOiBudGgoJGNvbG9yU2V0LCAkaW5kZXgpO1xuXHRcdFx0XHQkaW5kZXg6ICRpbmRleCArIDE7XG5cdFx0XHRcdD4gdGQ6bnRoLWNoaWxkKCN7JGluZGV4fSkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuY2hvb3NlRmxpZ2h0IHtcblx0XHRcdCZfX3RhYmxlIHtcblx0XHRcdFx0QGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRjb2xvclNldCkge1xuXHRcdFx0XHRcdCRjb2xvcjogbnRoKCRjb2xvclNldCwgJGluZGV4KTtcblx0XHRcdFx0XHQkaW5kZXg6ICRpbmRleDtcblx0XHRcdFx0XHQmX19pdGVtOm50aC1vZi10eXBlKCN7JGluZGV4fSkge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYWRhcHRpdml0eSh0YWJsZXQpIHtcblx0XHRcdFx0XHRcdFx0LmNob29zZUZsaWdodF9fdGFibGVfX2l0ZW1fX2NvbHVtblRpdGxlIHtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3I7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGkxOG4oJHNlbGVjdG9yLCAkcnU6ICcnLCAkZW46ICcnKSB7XG5cdEBhdC1yb290IGh0bWxbbGFuZz0ncnUnXSB7XG5cdFx0I3skc2VsZWN0b3J9IHtcblx0XHRcdGNvbnRlbnQ6ICRydTtcblx0XHR9XG5cdH1cblx0QGF0LXJvb3QgaHRtbFtsYW5nPSdlbiddIHtcblx0XHQjeyRzZWxlY3Rvcn0ge1xuXHRcdFx0Y29udGVudDogJGVuO1xuXHRcdH1cblx0fVxufVxuXG4vKiA9PT09INCt0YLQuNC8INC80LjQutGB0LjQvdC+0Lwg0LzQvtC20L3QviDQv9C10YDQtdGH0LXRgNC60L3Rg9GC0Ywg0LjQutC+0L3QutGDINCyINCx0YDQtdC90LTQtSA9PT09ICovXG5cbkBtaXhpbiBpY29uQ3Jvc3MoJGNvbnRlbnQsICRjb2xvcikge1xuXHRmb250LWZhbWlseTogJ09wZW5Ta3lJY29ucycgIWltcG9ydGFudDtcblx0c3BlYWs6IG5vbmU7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRsaW5lLWhlaWdodDogMTtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJGNvbnRlbnQ7XG5cdFx0Y29sb3I6ICRjb2xvcjtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bGVmdDogNTUlO1xuXHRcdHRvcDogNTAlO1xuXHRcdHdpZHRoOiAzMHB4O1xuXHRcdGhlaWdodDogMnB4O1xuXHRcdGJhY2tncm91bmQ6ICRjb2xvcjtcblx0XHRjb250ZW50OiAnJztcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cdH1cbn1cblxuLyogPT09PSBFTkQg0K3RgtC40Lwg0LzQuNC60YHQuNC90L7QvCDQvNC+0LbQvdC+INC/0LXRgNC10YfQtdGA0LrQvdGD0YLRjCDQuNC60L7QvdC60YMg0LIg0LHRgNC10L3QtNC1ID09PT0gKi9cblxuLy8gbm9yZHdpbmQgc3BlY2lmaWMgbWl4aW5cbkBtaXhpbiBpY29uKCR1cmwsICR3aWR0aDogMTZweCwgJGhlaWdodDogMTZweCkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAkd2lkdGg7XG5cdGhlaWdodDogJGhlaWdodDtcblx0YmFja2dyb3VuZDogJHVybCBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuLyogPT09PSBNaXhpbiBmb3IgY2hhbmdpbmcgY29sb3Igb2YgYnV0dG9ucyBpbiBnZW9sb2NhdGlvbiBwb3B1cCA9PT09ICovXG5cbkBtaXhpbiBnZW9sb2NhdGlvbkJ1dHRvbnNDb2xvcigkcHJpbWFyeUNvbG9yLCAkc2Vjb25kYXJ5Q29sb3IsICRmb250Q29sb3IpIHtcblx0LmNvbW1vbi13YXJuaW5nX19mb290ZXIge1xuXHRcdC5idG4uaXMteWVsbG93LFxuXHRcdC5idG4uaXMteWVsbG93OmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5Q29sb3I7XG5cdFx0XHRjb2xvcjogJGZvbnRDb2xvcjtcblx0XHR9XG5cblx0XHQuYnRuLmlzLWJsdWUsXG5cdFx0LmJ0bi5pcy1ibHVlOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnlDb2xvcjtcblx0XHRcdGNvbG9yOiAkZm9udENvbG9yO1xuXHRcdH1cblx0fVxufVxuXG4vKiA9PT09IEVORCBNaXhpbiBmb3IgY2hhbmdpbmcgY29sb3Igb2YgYnV0dG9ucyBpbiBnZW9sb2NhdGlvbiBwb3B1cCA9PT09ICovXG5cbi8qID09PT0gTWl4aW4gZm9yIGJlc3QgZGVhbCBsYWJlbCA9PT09ICovXG5cbkBtaXhpbiBjcm9wQmVzdERlYWwoJHBvbHlnb25QYXJhbWV0ZXJzLCAkdG9wLCAkd2lkdGgsICRyaWdodCkge1xuXHQuZWNvbm9tX3R5cGUyLFxuXHQuZWNvbm9tX3R5cGUzLFxuXHQuYnVzaW5lc3NfdHlwZTEge1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHR9XG5cblx0LmZsaWdodFRhYmxlIHtcblx0XHQuY29sdW1uVGl0bGUge1xuXHRcdFx0LmJlc3Qge1xuXHRcdFx0XHQtd2Via2l0LWNsaXAtcGF0aDogJHBvbHlnb25QYXJhbWV0ZXJzO1xuXHRcdFx0XHRjbGlwLXBhdGg6ICRwb2x5Z29uUGFyYW1ldGVycztcblx0XHRcdFx0dG9wOiAkdG9wICFpbXBvcnRhbnQ7XG5cdFx0XHRcdHdpZHRoOiAkd2lkdGg7XG5cdFx0XHRcdHJpZ2h0OiAkcmlnaHQ7XG5cblx0XHRcdFx0JjpiZWZvcmUsXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRcdFx0XHRAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuXHRcdFx0XHRcdFx0LyogSUUxMCsgc3R5bGVzICovXG5cdFx0XHRcdFx0XHR0b3A6IC0yMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qID09PT0gRU5EIE1peGluIGZvciBiZXN0IGRlYWwgbGFiZWwgPT09PSAqL1xuXG4vKiA9PT09IGZsb2F0aW5nIGxhYmVscyA9PT09ICovXG5cbkBtaXhpbiBmbG9hdGluZ0xhYmVscygpIHtcblx0LmlucC1hbmltYXRlLW91dGVyIHtcblx0XHRtYXJnaW4tdG9wOiAxNnB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdGlucHV0IHtcblx0XHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdFx0XHRAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG5cdFx0XHRcdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaW5wLWFuaW1hdGUtbGFiZWwge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdH1cblxuXHQucGFzc2VuZ2Vyc0luZm8gaW5wdXRbdHlwZT0ndGV4dCddLFxuXHQucGFzc2VuZ2Vyc0luZm8gaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcblx0LnBhc3NlbmdlcnNJbmZvIGlucHV0W3R5cGU9J3RlbCddLFxuXHQucGFzc2VuZ2Vyc0luZm8gaW5wdXRbdHlwZT0nZW1haWwnXSB7XG5cdFx0aGVpZ2h0OiA0MHB4O1xuXHR9XG5cblx0LmlucC1hbmltYXRlLXBsYWNlaG9sZGVyOmZvY3VzIH4gLmlucC1hbmltYXRlLWxhYmVsID4gc3Bhbixcblx0LmlucC1hbmltYXRlLXBsYWNlaG9sZGVyLm5nLW5vdC1lbXB0eSB+IC5pbnAtYW5pbWF0ZS1sYWJlbCA+IHNwYW4sXG5cdC51aS1zZWxlY3QtcGFzc2VuZ2Vycy5uZy12YWxpZCB+IC5pbnAtYW5pbWF0ZS1sYWJlbCA+IHNwYW4ge1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIC0zMHB4LCAwKTtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXG5cdC5pbnAtYW5pbWF0ZS1sYWJlbCB7XG5cdFx0dG9wOiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXG5cdFx0c3BhbiB7XG5cdFx0XHRwYWRkaW5nOiAxMXB4IDEwcHg7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNlM2UzZTM7XG5cdFx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdGZvbnQtc2l6ZTogMC45ZW07XG5cdFx0XHRjb2xvcjogIzY2NjY2Njtcblx0XHR9XG5cdH1cbn1cblxuLyogPT09PSBFTkQgZmxvYXRpbmcgbGFiZWxzID09PT0gKi9cblxuQG1peGluIGZsb2F0aW5nTGFiZWxzSGVpZ2h0Rml4IHtcblx0LmlucC1hbmltYXRlX19sYWJlbCBzcGFuIHtcblx0XHRwYWRkaW5nOiAxMXB4O1xuXHR9XG5cblx0LnBhc3NlbmdlcnNJbmZvIGlucHV0W3R5cGU9J3RleHQnXSxcblx0LnBhc3NlbmdlcnNJbmZvIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG5cdC5wYXNzZW5nZXJzSW5mbyBpbnB1dFt0eXBlPSd0ZWwnXSxcblx0LnBhc3NlbmdlcnNJbmZvIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdH1cbn1cblxuQG1peGluIHNjcm9sbGFibGVGYXJlUnVsZXNUYWJzIHtcblx0LnJlbWFya190YWJzIHtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdG92ZXJmbG93LXg6IGF1dG87XG5cdH1cblx0LnJlbWFya190ZXh0IHtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHR9XG59XG5cbi8qKlxuXHQvIy9leGNoYW5nZVxuXHTQsiDQvtGC0LrRgNGL0YLQvtC8INC/0L7Qv9Cw0L/QtSDQtNC10LnRgtC/0LjQutC10YDQsCwg0YHQstC10YDRhdGDINCy0LjQtNC90LAg0LrQvtGA0LfQuNC90LAgKCDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkgei1pbmRleCApXG4gKi9cbkBtaXhpbiBmaXhDaGFuZ2VPcmRlckRhdGVwaWNrZXJNb2JpbGVWaWV3KCkge1xuXHRAaW5jbHVkZSBhZGFwdGl2aXR5KHRhYmxldCkge1xuXHRcdC5mbGlnaHQtZGF0ZS1waWNrZXItZHJvcCB7XG5cdFx0XHR6LWluZGV4OiAxMDtcblx0XHR9XG5cdH1cbn1cblxuLyoqXG5cdC8jL3NlYXJjaFxuXHTQtNC10LnRgtC/0LjQutC10YAg0L3QsCDRhNC+0YDQvNC1INC/0L7QuNGB0LrQsCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0L3QsCDQstGB0Y4g0YjQuNGA0LjQvdGDXG4gKi9cbkBtaXhpbiBmdWxsU2l6ZURhdGVwaWNrZXIoKSB7XG5cdHNlYXJjaC1mb3JtIHtcblx0XHQuZmxpZ2h0LWRhdGUtcGlja2VyLW1vaHRoLXRhYmxlIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHdpZHRoOiA0OSU7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBzZXRSZWNhcHRjaGFCYWNrZ3JvdW5kKCRjb2xvcjogcmdiYSg3MywgOTAsIDEwMiwgMC43KSkge1xuXHQucmVjYXB0Y2hhLWNvbnRhaW5lciB7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yO1xuXHR9XG59XG4iLCIvLy8gUmVtb3ZlIHRoZSB1bml0IG9mIGEgbGVuZ3RoXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7IH1cbiAgQHJldHVybiAkbnVtYmVyOyB9XG5cblxuQGZ1bmN0aW9uIGVtKCR3YW50ZWQsICRiYXNlOiAxNikge1xuICBAcmV0dXJuIChzdHJpcC11bml0KCR3YW50ZWQpIC8gc3RyaXAtdW5pdCgkYmFzZSkpICogMWVtOyB9XG5cbkBmdW5jdGlvbiByZW0oJHdhbnRlZCwgJGJhc2U6IDE2KSB7XG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHdhbnRlZCkgLyBzdHJpcC11bml0KCRiYXNlKSkgKiAxcmVtOyB9XG5cbkBmdW5jdGlvbiBwZXJjZW50KCR3YW50ZWQsICRjb250ZXh0KSB7XG4gIEByZXR1cm4gKHN0cmlwLXVuaXQoJHdhbnRlZCkgLyBzdHJpcC11bml0KCRjb250ZXh0KSAqIDEwMCkgKiAxJTsgfVxuXG5AbWl4aW4gZmFzdFRyYW5zaXRpb24oJHByb3BzLCAkZHVyYXRpb246IC4xNXMsICR0aW1pbmc6IGVhc2UtaW4tb3V0KSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGpvaW4oKCksICRwcm9wcywgY29tbWEpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nOyB9XG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfSB9XG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50OyB9XG4gICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7IH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7IH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50OyB9IH1cblxuXG5AbWl4aW4gYWRhcHRpdml0eSgkbWVkaWEpIHtcbiAgJHNjcmVlbi1zaXplLWxhcHRvcC1sYXJnZTogMTQ0MHB4O1xuICAkc2NyZWVuLXNpemUtbGFwdG9wOiAxMTAwcHg7XG4gICRzY3JlZW4tc2l6ZS10YWJsZXQ6IDc2OHB4O1xuICAkc2NyZWVuLXNpemUtcGhvbmU6IDUxNXB4O1xuICBAaWYgJG1lZGlhID09IGRlc2t0b3Age1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zaXplLWxhcHRvcC1sYXJnZSkge1xuICAgICAgQGNvbnRlbnQ7IH0gfVxuXG4gIEBpZiAkbWVkaWEgPT0gbGFwdG9wLWxhcmdlIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc2l6ZS1sYXB0b3AtbGFyZ2UpIHtcbiAgICAgIEBjb250ZW50OyB9IH1cblxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbGFwdG9wIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc2l6ZS1sYXB0b3ApIHtcbiAgICAgIEBjb250ZW50OyB9IH1cblxuICBAZWxzZSBpZiAkbWVkaWEgPT0gb25seS1sYXB0b3Age1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zaXplLXRhYmxldCkgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc2l6ZS1sYXB0b3ApIHtcbiAgICAgIEBjb250ZW50OyB9IH1cblxuICBAZWxzZSBpZiAkbWVkaWEgPT0gdGFibGV0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc2l6ZS10YWJsZXQpIHtcbiAgICAgIEBjb250ZW50OyB9IH1cblxuICBAZWxzZSBpZiAkbWVkaWEgPT0gcGhvbmUge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zaXplLXBob25lKSB7XG4gICAgICBAY29udGVudDsgfSB9IH1cbiJdfQ== */
