ctt-babylon 0.23.4 → 0.23.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/core/babylon-container-text-l2/babylon-container-text-l2.component.mjs +5 -3
- package/esm2022/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.mjs +20 -3
- package/esm2022/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.mjs +1 -1
- package/esm2022/lib/components/core/babylon-info-zigzag-v5/babylon-info-zigzag-v5.component.mjs +3 -3
- package/esm2022/lib/components/core/babylon-list-img/babylon-list-img.component.mjs +4 -3
- package/esm2022/lib/components/core/babylon-slider-img-static/babylon-slider-img-static.component.mjs +6 -4
- package/esm2022/lib/components/core/babylon-top-simple-banner/babylon-top-simple-banner.component.mjs +7 -5
- package/esm2022/lib/interfaces/babylon-equipments-item.interface.mjs +1 -1
- package/esm2022/lib/interfaces/babylon-icon.interface.mjs +1 -1
- package/esm2022/lib/services/mapper/mapper.service.mjs +27 -4
- package/fesm2022/ctt-babylon.mjs +63 -17
- package/fesm2022/ctt-babylon.mjs.map +1 -1
- package/lib/components/core/babylon-container-text-l2/babylon-container-text-l2.component.d.ts +2 -1
- package/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.d.ts +4 -0
- package/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.d.ts +1 -0
- package/lib/components/core/babylon-slider-img-static/babylon-slider-img-static.component.d.ts +3 -2
- package/lib/components/core/babylon-top-simple-banner/babylon-top-simple-banner.component.d.ts +1 -1
- package/lib/interfaces/babylon-equipments-item.interface.d.ts +2 -0
- package/lib/interfaces/babylon-icon.interface.d.ts +2 -0
- package/lib/services/mapper/mapper.service.d.ts +2 -1
- package/package.json +1 -1
package/esm2022/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.mjs
CHANGED
|
@@ -185,6 +185,15 @@ export class BabylonEngineModalV2Component {
|
|
|
185
185
|
? this.guests.babiesAgesDropdown.options
|
|
186
186
|
: this.fallbackBabyAgeOptions;
|
|
187
187
|
}
|
|
188
|
+
get childrenAgeRangeLabel() {
|
|
189
|
+
return this.getAgeRangeLabel(this.childAgeOptions);
|
|
190
|
+
}
|
|
191
|
+
get babiesAgeRangeLabel() {
|
|
192
|
+
return this.getAgeRangeLabel(this.babyAgeOptions);
|
|
193
|
+
}
|
|
194
|
+
get ageUnitLabel() {
|
|
195
|
+
return this.guests?.ageUnitLabel?.trim() || 'años';
|
|
196
|
+
}
|
|
188
197
|
getSelectValue(event) {
|
|
189
198
|
const target = event.target;
|
|
190
199
|
return Number(target?.value ?? 0) || 0;
|
|
@@ -202,6 +211,14 @@ export class BabylonEngineModalV2Component {
|
|
|
202
211
|
getDefaultBabyAge() {
|
|
203
212
|
return Number(this.babyAgeOptions[0]?.code ?? 0) || 0;
|
|
204
213
|
}
|
|
214
|
+
getAgeRangeLabel(options) {
|
|
215
|
+
const first = options?.[0]?.code;
|
|
216
|
+
const last = options?.[options.length - 1]?.code;
|
|
217
|
+
if (first === undefined || last === undefined) {
|
|
218
|
+
return '';
|
|
219
|
+
}
|
|
220
|
+
return `${first}-${last} ${this.ageUnitLabel}`;
|
|
221
|
+
}
|
|
205
222
|
syncChildrenAgeSelections(count) {
|
|
206
223
|
if (count <= 0) {
|
|
207
224
|
this.childrenAgeSelections = [];
|
|
@@ -248,7 +265,7 @@ export class BabylonEngineModalV2Component {
|
|
|
248
265
|
});
|
|
249
266
|
}
|
|
250
267
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonEngineModalV2Component, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
251
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BabylonEngineModalV2Component, isStandalone: true, selector: "lib-babylon-engine-modal-v2", inputs: { title: "title", subtitle: "subtitle", datepickerData: "datepickerData", guestsInput: "guestsInput", promoInput: "promoInput", button: "button", guests: "guests", openInNewWindow: "openInNewWindow" }, outputs: { close: "close" }, viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datepicker"], descendants: true }], ngImport: i0, template: "<div class=\"modal modal__reservar\">\n <div class=\"modal__inner\">\n <div\n class=\"modal__close js-close\"\n data-modal_name=\"reservar\"\n role=\"button\"\n (click)=\"closeModal()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use href=\"/assets/babylon/svg/icon-close.svg#icon-close\"></use>\n </svg>\n </div>\n <figure class=\"modal__reservar-graphic\">\n <img src=\"/assets/babylon/images/img-40.webp\" />\n </figure>\n <div class=\"modal__box\">\n @if (title) {\n <h2>{{ title }}</h2>\n }\n <div class=\"modal__reservar-form\" [formGroup]=\"form\">\n @if (datepickerData) {\n <div class=\"input-group\" (click)=\"openCalendar()\">\n <label class=\"input-group--label\" for=\"In-date\">{{\n datepickerData.placeholder\n }}</label>\n\n <p-calendar\n class=\"input-control\"\n [showOtherMonths]=\"false\"\n dateFormat=\"dd-mm-yy\"\n selectionMode=\"range\"\n [placeholder]=\"displayDates\"\n formControlName=\"dates\"\n [numberOfMonths]=\"2\"\n #datepicker\n [readonlyInput]=\"true\"\n [showOnFocus]=\"false\"\n (onSelect)=\"onDateSelect()\"\n ></p-calendar>\n <span\n class=\"input-group--icon\"\n (click)=\"openCalendar()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-calender.svg#icon-calender\"\n ></use>\n </svg>\n </span>\n </div>\n }\n\n @if (guestsInput) {\n <div\n class=\"input-group js-personas-subfields\"\n role=\"button\"\n (click)=\"togglePersonas()\"\n [class.open]=\"showSubfields\"\n [class.final]=\"finalizedGuests\"\n >\n <span class=\"input-control\">{{\n guestsValue || '01'\n }}</span>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"persons\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests) {\n <div\n class=\"sub-fields\"\n [style.display]=\"showSubfields ? 'block' : 'none'\"\n >\n @if (guests.adultsDropdown) {\n <div class=\"input-group\">\n <label\n class=\"input-group--label\"\n for=\"adult1\"\n >{{ guests.adultsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Adultos\"\n id=\"adult1\"\n #adult1\n [value]=\"guestsValueSeparates.adults\"\n (change)=\"onAdultsChange($event)\"\n >\n <!-- <option value=\"0\" selected>00</option> -->\n @for (\n option of guests.adultsDropdown.options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests.kidsDropdown) {\n <div class=\"input-group\">\n <div\n class=\"input-group--inner childAge-group-list\"\n >\n <label\n class=\"input-group--label\"\n for=\"child1\"\n >{{ guests.kidsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Ni\u00F1os\"\n id=\"child1\"\n #child1\n [value]=\"guestsValueSeparates.kids\"\n (change)=\"onChildrenChange($event)\"\n >\n @for (\n option of guests.kidsDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"user\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box children-list\"\n [style.display]=\"\n showChildrenAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n childAge of childrenAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'children-age' +\n ($index + 1)\n \"\n >{{ guests.kidsLabel || 'Nino' }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'children-age' +\n ($index + 1)\n \"\n [id]=\"\n 'children-age' +\n ($index + 1)\n \"\n [value]=\"childAge\"\n (change)=\"\n onChildAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of childAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n @if (guests.babiesDropdown) {\n <div class=\"input-group\">\n <div class=\"input-group--inner babiesAge-group-list\">\n <label\n class=\"input-group--label\"\n for=\"babies1\"\n >{{\n guests.babiesDropdown.title\n }}</label\n >\n <select\n class=\"select-control\"\n name=\"Beb\u00E9s\"\n id=\"babies1\"\n #babies1\n [value]=\"guestsValueSeparates.infants\"\n (change)=\"onBabiesChange($event)\"\n >\n @for (\n option of guests.babiesDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"baby\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box babies-list\"\n [style.display]=\"\n showBabiesAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n babyAge of babiesAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'babies-age' +\n ($index + 1)\n \"\n >{{\n guests.babiesLabel ||\n 'Bebe'\n }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'babies-age' +\n ($index + 1)\n \"\n [id]=\"\n 'babies-age' +\n ($index + 1)\n \"\n [value]=\"babyAge\"\n (change)=\"\n onBabiesAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of babyAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n <div class=\"btn__group\">\n <button\n type=\"submit\"\n class=\"btn btn__secondary js-apply-guests1\"\n role=\"button\"\n (click)=\"applyGuestsFromViewChildren()\"\n >\n <span>{{ guests.btn?.label }}</span>\n </button>\n </div>\n </div>\n }\n @if (promoInput) {\n <div class=\"input-group\">\n <label class=\"input-group--label\" for=\"email\">{{\n promoInput.placeholder\n }}</label>\n <input\n type=\"text\"\n class=\"input-control\"\n name=\"email\"\n id=\"email\"\n placeholder=\"...\"\n formControlName=\"promo\"\n />\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-promo.svg#icon-promo\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (button) {\n <div class=\"btn__group\">\n <a\n class=\"btn btn__primary\"\n [attr.target]=\"openInNewWindow ? '_blank' : '_self'\"\n [attr.aria-label]=\"button.label\"\n [href]=\"generatedUrl\"\n (click)=\"updateGeneratedUrl(); closeModal()\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: ["@media (min-width: 1280px){.order-custom-xl-xxl-1{order:1}.order-custom-xl-xxl-2{order:2}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width: 540px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width: 1025px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width: 1280px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width: 1366px){.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}@media (min-width: 1680px){.flex-xxxl-row{flex-direction:row!important}.flex-xxxl-column{flex-direction:column!important}.flex-xxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxl-wrap{flex-wrap:wrap!important}.flex-xxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxl-fill{flex:1 1 auto!important}.flex-xxxl-grow-0{flex-grow:0!important}.flex-xxxl-grow-1{flex-grow:1!important}.flex-xxxl-shrink-0{flex-shrink:0!important}.flex-xxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxl-start{justify-content:flex-start!important}.justify-content-xxxl-end{justify-content:flex-end!important}.justify-content-xxxl-center{justify-content:center!important}.justify-content-xxxl-between{justify-content:space-between!important}.justify-content-xxxl-around{justify-content:space-around!important}.align-items-xxxl-start{align-items:flex-start!important}.align-items-xxxl-end{align-items:flex-end!important}.align-items-xxxl-center{align-items:center!important}.align-items-xxxl-baseline{align-items:baseline!important}.align-items-xxxl-stretch{align-items:stretch!important}.align-content-xxxl-start{align-content:flex-start!important}.align-content-xxxl-end{align-content:flex-end!important}.align-content-xxxl-center{align-content:center!important}.align-content-xxxl-between{align-content:space-between!important}.align-content-xxxl-around{align-content:space-around!important}.align-content-xxxl-stretch{align-content:stretch!important}.align-self-xxxl-auto{align-self:auto!important}.align-self-xxxl-start{align-self:flex-start!important}.align-self-xxxl-end{align-self:flex-end!important}.align-self-xxxl-center{align-self:center!important}.align-self-xxxl-baseline{align-self:baseline!important}.align-self-xxxl-stretch{align-self:stretch!important}.m-xxxl-auto{margin:auto!important}.mt-xxxl-auto,.my-xxxl-auto{margin-top:auto!important}.mr-xxxl-auto,.mx-xxxl-auto{margin-right:auto!important}.mb-xxxl-auto,.my-xxxl-auto{margin-bottom:auto!important}.ml-xxxl-auto,.mx-xxxl-auto{margin-left:auto!important}}@media (min-width: 1921px){.flex-xxxxl-row{flex-direction:row!important}.flex-xxxxl-column{flex-direction:column!important}.flex-xxxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxxl-wrap{flex-wrap:wrap!important}.flex-xxxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxxl-fill{flex:1 1 auto!important}.flex-xxxxl-grow-0{flex-grow:0!important}.flex-xxxxl-grow-1{flex-grow:1!important}.flex-xxxxl-shrink-0{flex-shrink:0!important}.flex-xxxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxxl-start{justify-content:flex-start!important}.justify-content-xxxxl-end{justify-content:flex-end!important}.justify-content-xxxxl-center{justify-content:center!important}.justify-content-xxxxl-between{justify-content:space-between!important}.justify-content-xxxxl-around{justify-content:space-around!important}.align-items-xxxxl-start{align-items:flex-start!important}.align-items-xxxxl-end{align-items:flex-end!important}.align-items-xxxxl-center{align-items:center!important}.align-items-xxxxl-baseline{align-items:baseline!important}.align-items-xxxxl-stretch{align-items:stretch!important}.align-content-xxxxl-start{align-content:flex-start!important}.align-content-xxxxl-end{align-content:flex-end!important}.align-content-xxxxl-center{align-content:center!important}.align-content-xxxxl-between{align-content:space-between!important}.align-content-xxxxl-around{align-content:space-around!important}.align-content-xxxxl-stretch{align-content:stretch!important}.align-self-xxxxl-auto{align-self:auto!important}.align-self-xxxxl-start{align-self:flex-start!important}.align-self-xxxxl-end{align-self:flex-end!important}.align-self-xxxxl-center{align-self:center!important}.align-self-xxxxl-baseline{align-self:baseline!important}.align-self-xxxxl-stretch{align-self:stretch!important}.m-xxxxl-auto{margin:auto!important}.mt-xxxxl-auto,.my-xxxxl-auto{margin-top:auto!important}.mr-xxxxl-auto,.mx-xxxxl-auto{margin-right:auto!important}.mb-xxxxl-auto,.my-xxxxl-auto{margin-bottom:auto!important}.ml-xxxxl-auto,.mx-xxxxl-auto{margin-left:auto!important}}.mt--0{margin-top:0!important}.mb--0{margin-bottom:0!important}.pt--0{padding-top:0}.pb--0{padding-bottom:0}.mblock--0{margin-block:0px}.pblock--0{padding-block:0px}.mt--10{margin-top:10px!important}.mb--10{margin-bottom:10px!important}.pt--10{padding-top:10px}.pb--10{padding-bottom:10px}.mblock--10{margin-block:10px}.pblock--10{padding-block:10px}.mt--20{margin-top:20px!important}.mb--20{margin-bottom:20px!important}.pt--20{padding-top:20px}.pb--20{padding-bottom:20px}.mblock--20{margin-block:20px}.pblock--20{padding-block:20px}.mt--25{margin-top:25px!important}.mb--25{margin-bottom:25px!important}.pt--25{padding-top:25px}.pb--25{padding-bottom:25px}.mblock--25{margin-block:25px}.pblock--25{padding-block:25px}.mt--30{margin-top:30px!important}.mb--30{margin-bottom:30px!important}.pt--30{padding-top:30px}.pb--30{padding-bottom:30px}.mblock--30{margin-block:30px}.pblock--30{padding-block:30px}.mt--40{margin-top:40px!important}.mb--40{margin-bottom:40px!important}.pt--40{padding-top:40px}.pb--40{padding-bottom:40px}.mblock--40{margin-block:40px}.pblock--40{padding-block:40px}.mt--50{margin-top:50px!important}.mb--50{margin-bottom:50px!important}.pt--50{padding-top:50px}.pb--50{padding-bottom:50px}.mblock--50{margin-block:50px}.pblock--50{padding-block:50px}.mt--60{margin-top:60px!important}.mb--60{margin-bottom:60px!important}.pt--60{padding-top:60px}.pb--60{padding-bottom:60px}.mblock--60{margin-block:60px}.pblock--60{padding-block:60px}.mt--70{margin-top:70px!important}.mb--70{margin-bottom:70px!important}.pt--70{padding-top:70px}.pb--70{padding-bottom:70px}.mblock--70{margin-block:70px}.pblock--70{padding-block:70px}.mt--80{margin-top:80px!important}.mb--80{margin-bottom:80px!important}.pt--80{padding-top:80px}.pb--80{padding-bottom:80px}.mblock--80{margin-block:80px}.pblock--80{padding-block:80px}.mt--90{margin-top:90px!important}.mb--90{margin-bottom:90px!important}.pt--90{padding-top:90px}.pb--90{padding-bottom:90px}.mblock--90{margin-block:90px}.pblock--90{padding-block:90px}.mt--100{margin-top:100px!important}.mb--100{margin-bottom:100px!important}.pt--100{padding-top:100px}.pb--100{padding-bottom:100px}.mblock--100{margin-block:100px}.pblock--100{padding-block:100px}.mt--150{margin-top:150px!important}.mb--150{margin-bottom:150px!important}.pt--150{padding-top:150px}.pb--150{padding-bottom:150px}.mblock--150{margin-block:150px}.pblock--150{padding-block:150px}.mt--180{margin-top:180px!important}.mb--180{margin-bottom:180px!important}.pt--180{padding-top:180px}.pb--180{padding-bottom:180px}.mblock--180{margin-block:180px}.pblock--180{padding-block:180px}@keyframes move-right{0%{right:30px}50%{right:20px}to{right:30px}}:root{--font-title: \"the-seasons\", Helvetica, sans-serif;--font-pretitle: \"Poppins\", Helvetica, sans-serif;--font-text: \"Poppins\", Helvetica, sans-serif;--font-claim: \"turbinado-pro\", Helvetica, sans-serif;--cl_corp: #24262d;--cl_accent: #aa8453;--cl_icon: #978667;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #24262d;--cl_breadcrumb-hover: #978667;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #fdfbf8;--cl_background_white: #fff;--cl_background_dark: #19314b;--cl_background_gray: #eee;--cl_background_dark-opacity: #19314bbf;--cl_background_dark-opacity-v2: #1326398b;--cl_background_body-transparent: #ffffffe7;--cl_title: #978667;--cl_subtitle: #19314b;--cl_pretitle: #19314b;--cl_text: #3c3b3b;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_text-disable: #888;--w_title: 600;--w_text: 300;--w_subtitle: 300;--w_pretitle: 300;--padding-bottom-slider: 0px;--lh_pretitle-slider: 1.2;--lh_title-slider: 1.2;--cl_header-bg-nosticky: #0000001a;--cl_header-text-nosticky: #fff;--cl_header-bg-sticky: #eee;--cl_header-text-sticky: #19314b;--cl_header-bg-mobile: #b6b6b6;--cl_headerBottom-bg-mobile: #b6b6b6;--cl_header-text-mobile: #19314b;--cl_menu-modal-bg: #19314b;--cl_menu-modal-items: #978667;--cl_menu-modal-items-hover: #fff;--cl_menu-modal-text: #fff;--cl_menu-modal-text-hover: #fff;--ls_menu-modal-items: 1px;--w_menu-modal-items: 300;--hg_menu-img-height: 15rem;--cl_submenu-bg: #19314b;--cl_submenu-text: #fff;--cl_submenu-hover: #978667;--w_btn: 400;--size_btn: 14px;--size_link: 14px;--ls_link: 1px;--ls_btn: 1px;--upper_btn: uppercase;--upper_link: uppercase;--font-btn: \"Poppins\", Helvetica, sans-serif;--font-link: \"Poppins\", Helvetica, sans-serif;--cl_btn-box: #19314b;--cl_btn-box-text: #19314b;--cl_btn-box-hover: #978667;--cl_btn-box-text-hover: #fff;--cl_btn-call: #19314bf2;--cl_btn-call-text: #fff;--cl_btn-call-hover: #978667;--cl_btn-call-text-hover: #fff;--cl_btn-link: #19314b;--cl_btn-link-hover: #978667;--cl_btn-arrow: #19314b;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #978667;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #24262d;--cl_btn-dots-active: #978667;--cl_btn-dots-hover: #978667;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #978667;--cl_btn-light-text-hover: #978667;--cl_footer-bg: #19314b;--cl_footer-bg-bottom: #0a1d31;--cl_footer-bg-logos: #f8f7f3;--cl_footer-scroll: #978667;--cl_footer-text: #fff;--cl_footer-text-hover: #978667;--btn_radius: 5px;--img_radius: 5px;--img_border: #fff;--img_border-width: 1px;--dropdown-radius: 20px;--cl_background_dropdown: #fdfbf8;--cl_border-dropdown: #d9e1e6;--font-size-engine-text: 14px;--cl_engine-text: #19314b;--cl_engine-bg-nosticky: #ffffffcf;--cl_engine-text-nosticky: #19314b;--cl_engine-bg-sticky: #ffffff00;--cl_engine-text-sticky: #19314b;--cl_engine-bg-modal: #19314bbf;--cl_engine-input-bg: #ebebeb;--cl_engine-input-bg-select: #ebebeb;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a;--cl_error: #ff7173;--cl_desde: #bcbbc3;--cl_price: #19314b;--cl_badget: #ff8874;--cl_badget-text: #fff;--alg-service-room-detail: center;--cl_alert-text: #19314b;--cl_alert-text-error: #fff;--cl_alert-background: #fff;--cl_alert-background-error: rgb(230, 92, 92);--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: var(--cl_corp);--mdc-checkbox-selected-hover-icon-color: var(--cl_corp);--mdc-checkbox-selected-icon-color: var(--cl_corp);--mdc-checkbox-selected-pressed-icon-color: var(--cl_corp);--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-hover-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-pressed-state-layer-color: var(--cl_corp);--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38);--primary: #4a4a49;--cream: #f9f8f5;--white: #ffffff;--black: #000000;--whatsapp: #24cc63;--logo: #616161;--grey: #dcdcdc;--darkgrey: #1e1e1e;--instagram: #61bdff;--facebook: #3782f4;--twitter: #4a4a49;--youtube: #d9464b;--tripadvisor: #34e0a1;--booking: #0c3b7c;--silver: #c0bebe;--gold: #ffca64;--platinum: #b5d9e2}.cs_dark{--cl_corp: #181818;--cl_accent: #aa8453;--cl_icon: #aa8453;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #fff;--cl_breadcrumb-hover: #aa8453;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #181818;--cl_background_white: transparent;--cl_background_dark: #aa8453;--cl_background_gray: #333;--type-align: center;--cl_title: #fff;--cl_subtitle: #aa8453;--cl_pretitle: #aa8453;--cl_text: #fff;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_header-bg: #aa8453;--cl_header-text-light: #fff;--cl_menu-bg: #79582c;--cl_menu-text: #fff;--cl_btn-box: #aa8453;--cl_btn-box-text: #aa8453;--cl_btn-box-hover: #79582c;--cl_btn-box-text-hover: #fff;--cl_btn-call: #aa8453;--cl_btn-call-text: white;--cl_btn-call-hover: #79582c;--cl_btn-call-text-hover: #fff;--cl_btn-link: #aa8453;--cl_btn-link-hover: #79582c;--cl_btn-arrow: #ffffff3a;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #79582c;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #eee;--cl_btn-dots-active: #79582c;--cl_btn-dots-hover: #79582c;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #79582c;--cl_btn-light-text-hover: #79582c;--cl_footer-bg: #aa8453;--cl_footer-bg-bottom: #79582c;--cl_footer-scroll: #aa8453;--cl_footer-text: #fff;--cl_footer-text-hover: #aa8453;--btn_radius: 1px;--img_radius: 0px;--img_border: #fff;--img_border-width: 2px;--cl_engine-bg: #181818;--cl_engine-input-bg: #79582c;--cl_engine-input-bg-hover: #081523;--cl_engine-text: #fff;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_dropdown-radius: 20px;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a}.container{max-width:100%}.modal{opacity:1!important;pointer-events:all!important}.modal.modal__reservar{background:var(--white);display:flex;isolation:isolate}.modal--open.reservar .modal.modal__reservar{opacity:1;pointer-events:auto}.modal.modal__reservar .modal__inner{display:flex;justify-content:center;width:100%;position:relative}.modal.modal__reservar .modal__box{overflow-x:clip;padding-block:6rem 15.3rem;width:100%;background:var(--white);display:flex;flex-direction:column;gap:3rem;align-items:center;height:max-content;min-height:100%}@media (min-width: 540px){.modal.modal__reservar .modal__box{padding-block:6rem 14.3rem;gap:4rem}}@media (min-width: 768px){.modal.modal__reservar .modal__box{max-width:48rem;padding-block:10rem 18.505rem;gap:5rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__box{padding-block:10rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__box{max-width:60rem;padding-block:13rem}}@media (min-width: 1800px){.modal.modal__reservar .modal__box{padding-block:18rem}}.modal.modal__reservar .modal__box h2{text-align:center;width:min-content;font-size:4.6rem;line-height:1}@media (min-width: 540px){.modal.modal__reservar .modal__box h2{font-size:6.4rem;line-height:1}}@media (min-width: 768px){.modal.modal__reservar .modal__box h2{font-size:8rem;line-height:1}}@media (min-width: 1680px){.modal.modal__reservar .modal__box h2{font-size:9rem;line-height:1}}.modal.modal__reservar .modal__close{top:2rem}@media (min-width: 540px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 768px){.modal.modal__reservar .modal__close{top:4rem;right:4rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__close{top:5rem;right:5rem}}.modal.modal__reservar .modal__reservar-graphic{opacity:0;pointer-events:none;position:fixed;inset:0;z-index:-1;overflow:clip}@media (min-width: 1024px){.modal.modal__reservar .modal__reservar-graphic{opacity:1}}.modal.modal__reservar .modal__reservar-graphic img{animation:zoomInOut 5s infinite ease-in-out;transform-origin:center}.modal.modal__reservar .modal__reservar-form .btn__group{justify-content:center}.modal.modal__reservar .modal__reservar-form{display:flex;flex-direction:column;gap:3rem;width:100%;max-width:28rem}.modal.modal__reservar .modal__reservar-form .sub-fields{display:none;background:var(--cream);transform:translateY(-1rem);margin-inline:-20rem;padding:3rem 20rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group{margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .select-control,.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-control{border-color:var(--grey);background:var(--white)}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--inner{position:relative;max-height:fit-content}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box{display:none;width:calc(100% - 11.5rem);margin-top:0rem;margin-left:2rem;background:var(--white);padding:2.5rem 2rem 2.4rem 1.8rem;border:1px solid var(--grey)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box--heading{font-size:1.6rem;line-height:1;text-transform:uppercase;margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner{position:relative}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .select-control{height:3.8rem;padding:1rem 2rem 1rem 1rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .label{font-size:1.4rem;line-height:1;margin-bottom:.6rem;display:block}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon{top:3.2rem;right:.5rem;transform:translateY(0)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon svg.down-arrow{display:block!important}.modal.modal__reservar .modal__reservar-form .sub-fields[style=\"display: block;\"]{display:flex!important;flex-direction:column}.js-personas-subfields.final .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}:host ::ng-deep .p-calendar{width:100%}:host ::ng-deep .p-inputtext{background:transparent;border:none;padding:1rem 0 0!important}:host ::ng-deep input:focus-visible{outline:none!important}:host ::ng-deep .p-calendar:not(.p-calendar-disabled).p-focus>.p-inputtext{box-shadow:0 0 0 .2rem transparent!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i2.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: DropdownModule }, { kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
268
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BabylonEngineModalV2Component, isStandalone: true, selector: "lib-babylon-engine-modal-v2", inputs: { title: "title", subtitle: "subtitle", datepickerData: "datepickerData", guestsInput: "guestsInput", promoInput: "promoInput", button: "button", guests: "guests", openInNewWindow: "openInNewWindow" }, outputs: { close: "close" }, viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datepicker"], descendants: true }], ngImport: i0, template: "<div class=\"modal modal__reservar\">\n <div class=\"modal__inner\">\n <div\n class=\"modal__close js-close\"\n data-modal_name=\"reservar\"\n role=\"button\"\n (click)=\"closeModal()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use href=\"/assets/babylon/svg/icon-close.svg#icon-close\"></use>\n </svg>\n </div>\n <figure class=\"modal__reservar-graphic\">\n <img src=\"/assets/babylon/images/img-40.webp\" />\n </figure>\n <div class=\"modal__box\">\n @if (title) {\n <h2>{{ title }}</h2>\n }\n <div class=\"modal__reservar-form\" [formGroup]=\"form\">\n @if (datepickerData) {\n <div class=\"input-group\" (click)=\"openCalendar()\">\n <label class=\"input-group--label\" for=\"In-date\">{{\n datepickerData.placeholder\n }}</label>\n\n <p-calendar\n class=\"input-control\"\n [showOtherMonths]=\"false\"\n dateFormat=\"dd-mm-yy\"\n selectionMode=\"range\"\n [placeholder]=\"displayDates\"\n formControlName=\"dates\"\n [numberOfMonths]=\"2\"\n #datepicker\n [readonlyInput]=\"true\"\n [showOnFocus]=\"false\"\n (onSelect)=\"onDateSelect()\"\n ></p-calendar>\n <span\n class=\"input-group--icon\"\n (click)=\"openCalendar()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-calender.svg#icon-calender\"\n ></use>\n </svg>\n </span>\n </div>\n }\n\n @if (guestsInput) {\n <div\n class=\"input-group js-personas-subfields\"\n role=\"button\"\n (click)=\"togglePersonas()\"\n [class.open]=\"showSubfields\"\n [class.final]=\"finalizedGuests\"\n >\n <span class=\"input-control\">{{\n guestsValue || '01'\n }}</span>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"persons\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests) {\n <div\n class=\"sub-fields\"\n [style.display]=\"showSubfields ? 'block' : 'none'\"\n >\n @if (guests.adultsDropdown) {\n <div class=\"input-group\">\n <label\n class=\"input-group--label\"\n for=\"adult1\"\n >{{ guests.adultsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Adultos\"\n id=\"adult1\"\n #adult1\n [value]=\"guestsValueSeparates.adults\"\n (change)=\"onAdultsChange($event)\"\n >\n <!-- <option value=\"0\" selected>00</option> -->\n @for (\n option of guests.adultsDropdown.options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests.kidsDropdown) {\n <div class=\"input-group\">\n <div\n class=\"input-group--inner childAge-group-list\"\n >\n <label\n class=\"input-group--label input-group--label--range\"\n for=\"child1\"\n >\n {{ guests.kidsDropdown.title }}\n @if (childrenAgeRangeLabel) {\n <small\n class=\"input-group--label--range--small\"\n >\n / {{ childrenAgeRangeLabel }}\n </small>\n }\n </label>\n <select\n class=\"select-control\"\n name=\"Ni\u00F1os\"\n id=\"child1\"\n #child1\n [value]=\"guestsValueSeparates.kids\"\n (change)=\"onChildrenChange($event)\"\n >\n @for (\n option of guests.kidsDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"user\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box children-list\"\n [style.display]=\"\n showChildrenAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n childAge of childrenAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'children-age' +\n ($index + 1)\n \"\n >{{ guests.kidsLabel || 'Nino' }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'children-age' +\n ($index + 1)\n \"\n [id]=\"\n 'children-age' +\n ($index + 1)\n \"\n [value]=\"childAge\"\n (change)=\"\n onChildAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of childAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n @if (guests.babiesDropdown) {\n <div class=\"input-group\">\n <div class=\"input-group--inner babiesAge-group-list\">\n <label\n class=\"input-group--label input-group--label--range\"\n for=\"babies1\"\n >\n {{ guests.babiesDropdown.title }}\n @if (babiesAgeRangeLabel) {\n <small\n class=\"input-group--label--range--small\"\n >\n / {{ babiesAgeRangeLabel }}\n </small>\n }\n </label>\n <select\n class=\"select-control\"\n name=\"Beb\u00E9s\"\n id=\"babies1\"\n #babies1\n [value]=\"guestsValueSeparates.infants\"\n (change)=\"onBabiesChange($event)\"\n >\n @for (\n option of guests.babiesDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"baby\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box babies-list\"\n [style.display]=\"\n showBabiesAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n babyAge of babiesAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'babies-age' +\n ($index + 1)\n \"\n >{{\n guests.babiesLabel ||\n 'Bebe'\n }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'babies-age' +\n ($index + 1)\n \"\n [id]=\"\n 'babies-age' +\n ($index + 1)\n \"\n [value]=\"babyAge\"\n (change)=\"\n onBabiesAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of babyAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n <div class=\"btn__group\">\n <button\n type=\"submit\"\n class=\"btn btn__secondary js-apply-guests1\"\n role=\"button\"\n (click)=\"applyGuestsFromViewChildren()\"\n >\n <span>{{ guests.btn?.label }}</span>\n </button>\n </div>\n </div>\n }\n @if (promoInput) {\n <div class=\"input-group\">\n <label class=\"input-group--label\" for=\"email\">{{\n promoInput.placeholder\n }}</label>\n <input\n type=\"text\"\n class=\"input-control\"\n name=\"email\"\n id=\"email\"\n placeholder=\"...\"\n formControlName=\"promo\"\n />\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-promo.svg#icon-promo\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (button) {\n <div class=\"btn__group\">\n <a\n class=\"btn btn__primary\"\n [attr.target]=\"openInNewWindow ? '_blank' : '_self'\"\n [attr.aria-label]=\"button.label\"\n [href]=\"generatedUrl\"\n (click)=\"updateGeneratedUrl(); closeModal()\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: ["@media (min-width: 1280px){.order-custom-xl-xxl-1{order:1}.order-custom-xl-xxl-2{order:2}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width: 540px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width: 1025px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width: 1280px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width: 1366px){.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}@media (min-width: 1680px){.flex-xxxl-row{flex-direction:row!important}.flex-xxxl-column{flex-direction:column!important}.flex-xxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxl-wrap{flex-wrap:wrap!important}.flex-xxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxl-fill{flex:1 1 auto!important}.flex-xxxl-grow-0{flex-grow:0!important}.flex-xxxl-grow-1{flex-grow:1!important}.flex-xxxl-shrink-0{flex-shrink:0!important}.flex-xxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxl-start{justify-content:flex-start!important}.justify-content-xxxl-end{justify-content:flex-end!important}.justify-content-xxxl-center{justify-content:center!important}.justify-content-xxxl-between{justify-content:space-between!important}.justify-content-xxxl-around{justify-content:space-around!important}.align-items-xxxl-start{align-items:flex-start!important}.align-items-xxxl-end{align-items:flex-end!important}.align-items-xxxl-center{align-items:center!important}.align-items-xxxl-baseline{align-items:baseline!important}.align-items-xxxl-stretch{align-items:stretch!important}.align-content-xxxl-start{align-content:flex-start!important}.align-content-xxxl-end{align-content:flex-end!important}.align-content-xxxl-center{align-content:center!important}.align-content-xxxl-between{align-content:space-between!important}.align-content-xxxl-around{align-content:space-around!important}.align-content-xxxl-stretch{align-content:stretch!important}.align-self-xxxl-auto{align-self:auto!important}.align-self-xxxl-start{align-self:flex-start!important}.align-self-xxxl-end{align-self:flex-end!important}.align-self-xxxl-center{align-self:center!important}.align-self-xxxl-baseline{align-self:baseline!important}.align-self-xxxl-stretch{align-self:stretch!important}.m-xxxl-auto{margin:auto!important}.mt-xxxl-auto,.my-xxxl-auto{margin-top:auto!important}.mr-xxxl-auto,.mx-xxxl-auto{margin-right:auto!important}.mb-xxxl-auto,.my-xxxl-auto{margin-bottom:auto!important}.ml-xxxl-auto,.mx-xxxl-auto{margin-left:auto!important}}@media (min-width: 1921px){.flex-xxxxl-row{flex-direction:row!important}.flex-xxxxl-column{flex-direction:column!important}.flex-xxxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxxl-wrap{flex-wrap:wrap!important}.flex-xxxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxxl-fill{flex:1 1 auto!important}.flex-xxxxl-grow-0{flex-grow:0!important}.flex-xxxxl-grow-1{flex-grow:1!important}.flex-xxxxl-shrink-0{flex-shrink:0!important}.flex-xxxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxxl-start{justify-content:flex-start!important}.justify-content-xxxxl-end{justify-content:flex-end!important}.justify-content-xxxxl-center{justify-content:center!important}.justify-content-xxxxl-between{justify-content:space-between!important}.justify-content-xxxxl-around{justify-content:space-around!important}.align-items-xxxxl-start{align-items:flex-start!important}.align-items-xxxxl-end{align-items:flex-end!important}.align-items-xxxxl-center{align-items:center!important}.align-items-xxxxl-baseline{align-items:baseline!important}.align-items-xxxxl-stretch{align-items:stretch!important}.align-content-xxxxl-start{align-content:flex-start!important}.align-content-xxxxl-end{align-content:flex-end!important}.align-content-xxxxl-center{align-content:center!important}.align-content-xxxxl-between{align-content:space-between!important}.align-content-xxxxl-around{align-content:space-around!important}.align-content-xxxxl-stretch{align-content:stretch!important}.align-self-xxxxl-auto{align-self:auto!important}.align-self-xxxxl-start{align-self:flex-start!important}.align-self-xxxxl-end{align-self:flex-end!important}.align-self-xxxxl-center{align-self:center!important}.align-self-xxxxl-baseline{align-self:baseline!important}.align-self-xxxxl-stretch{align-self:stretch!important}.m-xxxxl-auto{margin:auto!important}.mt-xxxxl-auto,.my-xxxxl-auto{margin-top:auto!important}.mr-xxxxl-auto,.mx-xxxxl-auto{margin-right:auto!important}.mb-xxxxl-auto,.my-xxxxl-auto{margin-bottom:auto!important}.ml-xxxxl-auto,.mx-xxxxl-auto{margin-left:auto!important}}.mt--0{margin-top:0!important}.mb--0{margin-bottom:0!important}.pt--0{padding-top:0}.pb--0{padding-bottom:0}.mblock--0{margin-block:0px}.pblock--0{padding-block:0px}.mt--10{margin-top:10px!important}.mb--10{margin-bottom:10px!important}.pt--10{padding-top:10px}.pb--10{padding-bottom:10px}.mblock--10{margin-block:10px}.pblock--10{padding-block:10px}.mt--20{margin-top:20px!important}.mb--20{margin-bottom:20px!important}.pt--20{padding-top:20px}.pb--20{padding-bottom:20px}.mblock--20{margin-block:20px}.pblock--20{padding-block:20px}.mt--25{margin-top:25px!important}.mb--25{margin-bottom:25px!important}.pt--25{padding-top:25px}.pb--25{padding-bottom:25px}.mblock--25{margin-block:25px}.pblock--25{padding-block:25px}.mt--30{margin-top:30px!important}.mb--30{margin-bottom:30px!important}.pt--30{padding-top:30px}.pb--30{padding-bottom:30px}.mblock--30{margin-block:30px}.pblock--30{padding-block:30px}.mt--40{margin-top:40px!important}.mb--40{margin-bottom:40px!important}.pt--40{padding-top:40px}.pb--40{padding-bottom:40px}.mblock--40{margin-block:40px}.pblock--40{padding-block:40px}.mt--50{margin-top:50px!important}.mb--50{margin-bottom:50px!important}.pt--50{padding-top:50px}.pb--50{padding-bottom:50px}.mblock--50{margin-block:50px}.pblock--50{padding-block:50px}.mt--60{margin-top:60px!important}.mb--60{margin-bottom:60px!important}.pt--60{padding-top:60px}.pb--60{padding-bottom:60px}.mblock--60{margin-block:60px}.pblock--60{padding-block:60px}.mt--70{margin-top:70px!important}.mb--70{margin-bottom:70px!important}.pt--70{padding-top:70px}.pb--70{padding-bottom:70px}.mblock--70{margin-block:70px}.pblock--70{padding-block:70px}.mt--80{margin-top:80px!important}.mb--80{margin-bottom:80px!important}.pt--80{padding-top:80px}.pb--80{padding-bottom:80px}.mblock--80{margin-block:80px}.pblock--80{padding-block:80px}.mt--90{margin-top:90px!important}.mb--90{margin-bottom:90px!important}.pt--90{padding-top:90px}.pb--90{padding-bottom:90px}.mblock--90{margin-block:90px}.pblock--90{padding-block:90px}.mt--100{margin-top:100px!important}.mb--100{margin-bottom:100px!important}.pt--100{padding-top:100px}.pb--100{padding-bottom:100px}.mblock--100{margin-block:100px}.pblock--100{padding-block:100px}.mt--150{margin-top:150px!important}.mb--150{margin-bottom:150px!important}.pt--150{padding-top:150px}.pb--150{padding-bottom:150px}.mblock--150{margin-block:150px}.pblock--150{padding-block:150px}.mt--180{margin-top:180px!important}.mb--180{margin-bottom:180px!important}.pt--180{padding-top:180px}.pb--180{padding-bottom:180px}.mblock--180{margin-block:180px}.pblock--180{padding-block:180px}@keyframes move-right{0%{right:30px}50%{right:20px}to{right:30px}}:root{--font-title: \"the-seasons\", Helvetica, sans-serif;--font-pretitle: \"Poppins\", Helvetica, sans-serif;--font-text: \"Poppins\", Helvetica, sans-serif;--font-claim: \"turbinado-pro\", Helvetica, sans-serif;--cl_corp: #24262d;--cl_accent: #aa8453;--cl_icon: #978667;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #24262d;--cl_breadcrumb-hover: #978667;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #fdfbf8;--cl_background_white: #fff;--cl_background_dark: #19314b;--cl_background_gray: #eee;--cl_background_dark-opacity: #19314bbf;--cl_background_dark-opacity-v2: #1326398b;--cl_background_body-transparent: #ffffffe7;--cl_title: #978667;--cl_subtitle: #19314b;--cl_pretitle: #19314b;--cl_text: #3c3b3b;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_text-disable: #888;--w_title: 600;--w_text: 300;--w_subtitle: 300;--w_pretitle: 300;--padding-bottom-slider: 0px;--lh_pretitle-slider: 1.2;--lh_title-slider: 1.2;--cl_header-bg-nosticky: #0000001a;--cl_header-text-nosticky: #fff;--cl_header-bg-sticky: #eee;--cl_header-text-sticky: #19314b;--cl_header-bg-mobile: #b6b6b6;--cl_headerBottom-bg-mobile: #b6b6b6;--cl_header-text-mobile: #19314b;--cl_menu-modal-bg: #19314b;--cl_menu-modal-items: #978667;--cl_menu-modal-items-hover: #fff;--cl_menu-modal-text: #fff;--cl_menu-modal-text-hover: #fff;--ls_menu-modal-items: 1px;--w_menu-modal-items: 300;--hg_menu-img-height: 15rem;--cl_submenu-bg: #19314b;--cl_submenu-text: #fff;--cl_submenu-hover: #978667;--w_btn: 400;--size_btn: 14px;--size_link: 14px;--ls_link: 1px;--ls_btn: 1px;--upper_btn: uppercase;--upper_link: uppercase;--font-btn: \"Poppins\", Helvetica, sans-serif;--font-link: \"Poppins\", Helvetica, sans-serif;--cl_btn-box: #19314b;--cl_btn-box-text: #19314b;--cl_btn-box-hover: #978667;--cl_btn-box-text-hover: #fff;--cl_btn-call: #19314bf2;--cl_btn-call-text: #fff;--cl_btn-call-hover: #978667;--cl_btn-call-text-hover: #fff;--cl_btn-link: #19314b;--cl_btn-link-hover: #978667;--cl_btn-arrow: #19314b;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #978667;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #24262d;--cl_btn-dots-active: #978667;--cl_btn-dots-hover: #978667;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #978667;--cl_btn-light-text-hover: #978667;--cl_footer-bg: #19314b;--cl_footer-bg-bottom: #0a1d31;--cl_footer-bg-logos: #f8f7f3;--cl_footer-scroll: #978667;--cl_footer-text: #fff;--cl_footer-text-hover: #978667;--btn_radius: 5px;--img_radius: 5px;--img_border: #fff;--img_border-width: 1px;--dropdown-radius: 20px;--cl_background_dropdown: #fdfbf8;--cl_border-dropdown: #d9e1e6;--font-size-engine-text: 14px;--cl_engine-text: #19314b;--cl_engine-bg-nosticky: #ffffffcf;--cl_engine-text-nosticky: #19314b;--cl_engine-bg-sticky: #ffffff00;--cl_engine-text-sticky: #19314b;--cl_engine-bg-modal: #19314bbf;--cl_engine-input-bg: #ebebeb;--cl_engine-input-bg-select: #ebebeb;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a;--cl_error: #ff7173;--cl_desde: #bcbbc3;--cl_price: #19314b;--cl_badget: #ff8874;--cl_badget-text: #fff;--alg-service-room-detail: center;--cl_alert-text: #19314b;--cl_alert-text-error: #fff;--cl_alert-background: #fff;--cl_alert-background-error: rgb(230, 92, 92);--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: var(--cl_corp);--mdc-checkbox-selected-hover-icon-color: var(--cl_corp);--mdc-checkbox-selected-icon-color: var(--cl_corp);--mdc-checkbox-selected-pressed-icon-color: var(--cl_corp);--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-hover-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-pressed-state-layer-color: var(--cl_corp);--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38);--primary: #4a4a49;--cream: #f9f8f5;--white: #ffffff;--black: #000000;--whatsapp: #24cc63;--logo: #616161;--grey: #dcdcdc;--darkgrey: #1e1e1e;--instagram: #61bdff;--facebook: #3782f4;--twitter: #4a4a49;--youtube: #d9464b;--tripadvisor: #34e0a1;--booking: #0c3b7c;--silver: #c0bebe;--gold: #ffca64;--platinum: #b5d9e2}.cs_dark{--cl_corp: #181818;--cl_accent: #aa8453;--cl_icon: #aa8453;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #fff;--cl_breadcrumb-hover: #aa8453;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #181818;--cl_background_white: transparent;--cl_background_dark: #aa8453;--cl_background_gray: #333;--type-align: center;--cl_title: #fff;--cl_subtitle: #aa8453;--cl_pretitle: #aa8453;--cl_text: #fff;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_header-bg: #aa8453;--cl_header-text-light: #fff;--cl_menu-bg: #79582c;--cl_menu-text: #fff;--cl_btn-box: #aa8453;--cl_btn-box-text: #aa8453;--cl_btn-box-hover: #79582c;--cl_btn-box-text-hover: #fff;--cl_btn-call: #aa8453;--cl_btn-call-text: white;--cl_btn-call-hover: #79582c;--cl_btn-call-text-hover: #fff;--cl_btn-link: #aa8453;--cl_btn-link-hover: #79582c;--cl_btn-arrow: #ffffff3a;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #79582c;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #eee;--cl_btn-dots-active: #79582c;--cl_btn-dots-hover: #79582c;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #79582c;--cl_btn-light-text-hover: #79582c;--cl_footer-bg: #aa8453;--cl_footer-bg-bottom: #79582c;--cl_footer-scroll: #aa8453;--cl_footer-text: #fff;--cl_footer-text-hover: #aa8453;--btn_radius: 1px;--img_radius: 0px;--img_border: #fff;--img_border-width: 2px;--cl_engine-bg: #181818;--cl_engine-input-bg: #79582c;--cl_engine-input-bg-hover: #081523;--cl_engine-text: #fff;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_dropdown-radius: 20px;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a}.container{max-width:100%}.modal{opacity:1!important;pointer-events:all!important}.modal.modal__reservar{background:var(--white);display:flex;isolation:isolate}.modal--open.reservar .modal.modal__reservar{opacity:1;pointer-events:auto}.modal.modal__reservar .modal__inner{display:flex;justify-content:center;width:100%;position:relative}.modal.modal__reservar .modal__box{overflow-x:clip;padding-block:6rem 15.3rem;width:100%;background:var(--white);display:flex;flex-direction:column;gap:3rem;align-items:center;height:max-content;min-height:100%}@media (min-width: 540px){.modal.modal__reservar .modal__box{padding-block:6rem 14.3rem;gap:4rem}}@media (min-width: 768px){.modal.modal__reservar .modal__box{max-width:48rem;padding-block:10rem 18.505rem;gap:5rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__box{padding-block:10rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__box{max-width:60rem;padding-block:13rem}}@media (min-width: 1800px){.modal.modal__reservar .modal__box{padding-block:18rem}}.modal.modal__reservar .modal__box h2{text-align:center;width:min-content;font-size:4.6rem;line-height:1}@media (min-width: 540px){.modal.modal__reservar .modal__box h2{font-size:6.4rem;line-height:1}}@media (min-width: 768px){.modal.modal__reservar .modal__box h2{font-size:8rem;line-height:1}}@media (min-width: 1680px){.modal.modal__reservar .modal__box h2{font-size:9rem;line-height:1}}.modal.modal__reservar .modal__close{top:2rem}@media (min-width: 540px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 768px){.modal.modal__reservar .modal__close{top:4rem;right:4rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__close{top:5rem;right:5rem}}.modal.modal__reservar .modal__reservar-graphic{opacity:0;pointer-events:none;position:fixed;inset:0;z-index:-1;overflow:clip}@media (min-width: 1024px){.modal.modal__reservar .modal__reservar-graphic{opacity:1}}.modal.modal__reservar .modal__reservar-graphic img{animation:zoomInOut 5s infinite ease-in-out;transform-origin:center}.modal.modal__reservar .modal__reservar-form .btn__group{justify-content:center}.modal.modal__reservar .modal__reservar-form{display:flex;flex-direction:column;gap:3rem;width:100%;max-width:28rem}.modal.modal__reservar .modal__reservar-form .sub-fields{display:none;background:var(--cream);transform:translateY(-1rem);margin-inline:-20rem;padding:3rem 20rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group{display:flex;flex-direction:column;align-items:stretch;margin-bottom:2rem;gap:1.2rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .select-control,.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-control{width:100%;border-color:var(--grey);background:var(--white)}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--label{padding-top:1.1rem;padding-bottom:.8rem;line-height:1;background:transparent}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--label--range{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--label--range--small{font-size:1.4rem;line-height:1}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--inner{position:relative;max-height:fit-content;width:100%}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box{display:none;width:100%;margin-top:0rem;margin-left:0;background:var(--white);padding:2.5rem 2rem 2.4rem 1.8rem;border:1px solid var(--grey)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box--heading{font-size:1.6rem;line-height:1;text-transform:uppercase;margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner{position:relative}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .select-control{height:3.8rem;padding:1rem 2rem 1rem 1rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .label{font-size:1.4rem;line-height:1;margin-bottom:.6rem;display:block}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon{top:3.2rem;right:.5rem;transform:translateY(0)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon svg.down-arrow{display:block!important}.modal.modal__reservar .modal__reservar-form .sub-fields[style=\"display: block;\"]{display:flex!important;flex-direction:column}.js-personas-subfields.final .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}:host ::ng-deep .p-calendar{width:100%}:host ::ng-deep .p-inputtext{background:transparent;border:none;padding:1rem 0 0!important}:host ::ng-deep input:focus-visible{outline:none!important}:host ::ng-deep .p-calendar:not(.p-calendar-disabled).p-focus>.p-inputtext{box-shadow:0 0 0 .2rem transparent!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i2.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: DropdownModule }, { kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
252
269
|
}
|
|
253
270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonEngineModalV2Component, decorators: [{
|
|
254
271
|
type: Component,
|
|
@@ -259,7 +276,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
259
276
|
DialogModule,
|
|
260
277
|
DropdownModule,
|
|
261
278
|
CommonModule,
|
|
262
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"modal modal__reservar\">\n <div class=\"modal__inner\">\n <div\n class=\"modal__close js-close\"\n data-modal_name=\"reservar\"\n role=\"button\"\n (click)=\"closeModal()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use href=\"/assets/babylon/svg/icon-close.svg#icon-close\"></use>\n </svg>\n </div>\n <figure class=\"modal__reservar-graphic\">\n <img src=\"/assets/babylon/images/img-40.webp\" />\n </figure>\n <div class=\"modal__box\">\n @if (title) {\n <h2>{{ title }}</h2>\n }\n <div class=\"modal__reservar-form\" [formGroup]=\"form\">\n @if (datepickerData) {\n <div class=\"input-group\" (click)=\"openCalendar()\">\n <label class=\"input-group--label\" for=\"In-date\">{{\n datepickerData.placeholder\n }}</label>\n\n <p-calendar\n class=\"input-control\"\n [showOtherMonths]=\"false\"\n dateFormat=\"dd-mm-yy\"\n selectionMode=\"range\"\n [placeholder]=\"displayDates\"\n formControlName=\"dates\"\n [numberOfMonths]=\"2\"\n #datepicker\n [readonlyInput]=\"true\"\n [showOnFocus]=\"false\"\n (onSelect)=\"onDateSelect()\"\n ></p-calendar>\n <span\n class=\"input-group--icon\"\n (click)=\"openCalendar()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-calender.svg#icon-calender\"\n ></use>\n </svg>\n </span>\n </div>\n }\n\n @if (guestsInput) {\n <div\n class=\"input-group js-personas-subfields\"\n role=\"button\"\n (click)=\"togglePersonas()\"\n [class.open]=\"showSubfields\"\n [class.final]=\"finalizedGuests\"\n >\n <span class=\"input-control\">{{\n guestsValue || '01'\n }}</span>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"persons\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests) {\n <div\n class=\"sub-fields\"\n [style.display]=\"showSubfields ? 'block' : 'none'\"\n >\n @if (guests.adultsDropdown) {\n <div class=\"input-group\">\n <label\n class=\"input-group--label\"\n for=\"adult1\"\n >{{ guests.adultsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Adultos\"\n id=\"adult1\"\n #adult1\n [value]=\"guestsValueSeparates.adults\"\n (change)=\"onAdultsChange($event)\"\n >\n <!-- <option value=\"0\" selected>00</option> -->\n @for (\n option of guests.adultsDropdown.options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests.kidsDropdown) {\n <div class=\"input-group\">\n <div\n class=\"input-group--inner childAge-group-list\"\n >\n <label\n class=\"input-group--label\"\n for=\"child1\"\n >{{ guests.kidsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Ni\u00F1os\"\n id=\"child1\"\n #child1\n [value]=\"guestsValueSeparates.kids\"\n (change)=\"onChildrenChange($event)\"\n >\n @for (\n option of guests.kidsDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"user\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box children-list\"\n [style.display]=\"\n showChildrenAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n childAge of childrenAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'children-age' +\n ($index + 1)\n \"\n >{{ guests.kidsLabel || 'Nino' }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'children-age' +\n ($index + 1)\n \"\n [id]=\"\n 'children-age' +\n ($index + 1)\n \"\n [value]=\"childAge\"\n (change)=\"\n onChildAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of childAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n @if (guests.babiesDropdown) {\n <div class=\"input-group\">\n <div class=\"input-group--inner babiesAge-group-list\">\n <label\n class=\"input-group--label\"\n for=\"babies1\"\n >{{\n guests.babiesDropdown.title\n }}</label\n >\n <select\n class=\"select-control\"\n name=\"Beb\u00E9s\"\n id=\"babies1\"\n #babies1\n [value]=\"guestsValueSeparates.infants\"\n (change)=\"onBabiesChange($event)\"\n >\n @for (\n option of guests.babiesDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"baby\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box babies-list\"\n [style.display]=\"\n showBabiesAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n babyAge of babiesAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'babies-age' +\n ($index + 1)\n \"\n >{{\n guests.babiesLabel ||\n 'Bebe'\n }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'babies-age' +\n ($index + 1)\n \"\n [id]=\"\n 'babies-age' +\n ($index + 1)\n \"\n [value]=\"babyAge\"\n (change)=\"\n onBabiesAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of babyAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n <div class=\"btn__group\">\n <button\n type=\"submit\"\n class=\"btn btn__secondary js-apply-guests1\"\n role=\"button\"\n (click)=\"applyGuestsFromViewChildren()\"\n >\n <span>{{ guests.btn?.label }}</span>\n </button>\n </div>\n </div>\n }\n @if (promoInput) {\n <div class=\"input-group\">\n <label class=\"input-group--label\" for=\"email\">{{\n promoInput.placeholder\n }}</label>\n <input\n type=\"text\"\n class=\"input-control\"\n name=\"email\"\n id=\"email\"\n placeholder=\"...\"\n formControlName=\"promo\"\n />\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-promo.svg#icon-promo\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (button) {\n <div class=\"btn__group\">\n <a\n class=\"btn btn__primary\"\n [attr.target]=\"openInNewWindow ? '_blank' : '_self'\"\n [attr.aria-label]=\"button.label\"\n [href]=\"generatedUrl\"\n (click)=\"updateGeneratedUrl(); closeModal()\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: ["@media (min-width: 1280px){.order-custom-xl-xxl-1{order:1}.order-custom-xl-xxl-2{order:2}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width: 540px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width: 1025px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width: 1280px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width: 1366px){.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}@media (min-width: 1680px){.flex-xxxl-row{flex-direction:row!important}.flex-xxxl-column{flex-direction:column!important}.flex-xxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxl-wrap{flex-wrap:wrap!important}.flex-xxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxl-fill{flex:1 1 auto!important}.flex-xxxl-grow-0{flex-grow:0!important}.flex-xxxl-grow-1{flex-grow:1!important}.flex-xxxl-shrink-0{flex-shrink:0!important}.flex-xxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxl-start{justify-content:flex-start!important}.justify-content-xxxl-end{justify-content:flex-end!important}.justify-content-xxxl-center{justify-content:center!important}.justify-content-xxxl-between{justify-content:space-between!important}.justify-content-xxxl-around{justify-content:space-around!important}.align-items-xxxl-start{align-items:flex-start!important}.align-items-xxxl-end{align-items:flex-end!important}.align-items-xxxl-center{align-items:center!important}.align-items-xxxl-baseline{align-items:baseline!important}.align-items-xxxl-stretch{align-items:stretch!important}.align-content-xxxl-start{align-content:flex-start!important}.align-content-xxxl-end{align-content:flex-end!important}.align-content-xxxl-center{align-content:center!important}.align-content-xxxl-between{align-content:space-between!important}.align-content-xxxl-around{align-content:space-around!important}.align-content-xxxl-stretch{align-content:stretch!important}.align-self-xxxl-auto{align-self:auto!important}.align-self-xxxl-start{align-self:flex-start!important}.align-self-xxxl-end{align-self:flex-end!important}.align-self-xxxl-center{align-self:center!important}.align-self-xxxl-baseline{align-self:baseline!important}.align-self-xxxl-stretch{align-self:stretch!important}.m-xxxl-auto{margin:auto!important}.mt-xxxl-auto,.my-xxxl-auto{margin-top:auto!important}.mr-xxxl-auto,.mx-xxxl-auto{margin-right:auto!important}.mb-xxxl-auto,.my-xxxl-auto{margin-bottom:auto!important}.ml-xxxl-auto,.mx-xxxl-auto{margin-left:auto!important}}@media (min-width: 1921px){.flex-xxxxl-row{flex-direction:row!important}.flex-xxxxl-column{flex-direction:column!important}.flex-xxxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxxl-wrap{flex-wrap:wrap!important}.flex-xxxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxxl-fill{flex:1 1 auto!important}.flex-xxxxl-grow-0{flex-grow:0!important}.flex-xxxxl-grow-1{flex-grow:1!important}.flex-xxxxl-shrink-0{flex-shrink:0!important}.flex-xxxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxxl-start{justify-content:flex-start!important}.justify-content-xxxxl-end{justify-content:flex-end!important}.justify-content-xxxxl-center{justify-content:center!important}.justify-content-xxxxl-between{justify-content:space-between!important}.justify-content-xxxxl-around{justify-content:space-around!important}.align-items-xxxxl-start{align-items:flex-start!important}.align-items-xxxxl-end{align-items:flex-end!important}.align-items-xxxxl-center{align-items:center!important}.align-items-xxxxl-baseline{align-items:baseline!important}.align-items-xxxxl-stretch{align-items:stretch!important}.align-content-xxxxl-start{align-content:flex-start!important}.align-content-xxxxl-end{align-content:flex-end!important}.align-content-xxxxl-center{align-content:center!important}.align-content-xxxxl-between{align-content:space-between!important}.align-content-xxxxl-around{align-content:space-around!important}.align-content-xxxxl-stretch{align-content:stretch!important}.align-self-xxxxl-auto{align-self:auto!important}.align-self-xxxxl-start{align-self:flex-start!important}.align-self-xxxxl-end{align-self:flex-end!important}.align-self-xxxxl-center{align-self:center!important}.align-self-xxxxl-baseline{align-self:baseline!important}.align-self-xxxxl-stretch{align-self:stretch!important}.m-xxxxl-auto{margin:auto!important}.mt-xxxxl-auto,.my-xxxxl-auto{margin-top:auto!important}.mr-xxxxl-auto,.mx-xxxxl-auto{margin-right:auto!important}.mb-xxxxl-auto,.my-xxxxl-auto{margin-bottom:auto!important}.ml-xxxxl-auto,.mx-xxxxl-auto{margin-left:auto!important}}.mt--0{margin-top:0!important}.mb--0{margin-bottom:0!important}.pt--0{padding-top:0}.pb--0{padding-bottom:0}.mblock--0{margin-block:0px}.pblock--0{padding-block:0px}.mt--10{margin-top:10px!important}.mb--10{margin-bottom:10px!important}.pt--10{padding-top:10px}.pb--10{padding-bottom:10px}.mblock--10{margin-block:10px}.pblock--10{padding-block:10px}.mt--20{margin-top:20px!important}.mb--20{margin-bottom:20px!important}.pt--20{padding-top:20px}.pb--20{padding-bottom:20px}.mblock--20{margin-block:20px}.pblock--20{padding-block:20px}.mt--25{margin-top:25px!important}.mb--25{margin-bottom:25px!important}.pt--25{padding-top:25px}.pb--25{padding-bottom:25px}.mblock--25{margin-block:25px}.pblock--25{padding-block:25px}.mt--30{margin-top:30px!important}.mb--30{margin-bottom:30px!important}.pt--30{padding-top:30px}.pb--30{padding-bottom:30px}.mblock--30{margin-block:30px}.pblock--30{padding-block:30px}.mt--40{margin-top:40px!important}.mb--40{margin-bottom:40px!important}.pt--40{padding-top:40px}.pb--40{padding-bottom:40px}.mblock--40{margin-block:40px}.pblock--40{padding-block:40px}.mt--50{margin-top:50px!important}.mb--50{margin-bottom:50px!important}.pt--50{padding-top:50px}.pb--50{padding-bottom:50px}.mblock--50{margin-block:50px}.pblock--50{padding-block:50px}.mt--60{margin-top:60px!important}.mb--60{margin-bottom:60px!important}.pt--60{padding-top:60px}.pb--60{padding-bottom:60px}.mblock--60{margin-block:60px}.pblock--60{padding-block:60px}.mt--70{margin-top:70px!important}.mb--70{margin-bottom:70px!important}.pt--70{padding-top:70px}.pb--70{padding-bottom:70px}.mblock--70{margin-block:70px}.pblock--70{padding-block:70px}.mt--80{margin-top:80px!important}.mb--80{margin-bottom:80px!important}.pt--80{padding-top:80px}.pb--80{padding-bottom:80px}.mblock--80{margin-block:80px}.pblock--80{padding-block:80px}.mt--90{margin-top:90px!important}.mb--90{margin-bottom:90px!important}.pt--90{padding-top:90px}.pb--90{padding-bottom:90px}.mblock--90{margin-block:90px}.pblock--90{padding-block:90px}.mt--100{margin-top:100px!important}.mb--100{margin-bottom:100px!important}.pt--100{padding-top:100px}.pb--100{padding-bottom:100px}.mblock--100{margin-block:100px}.pblock--100{padding-block:100px}.mt--150{margin-top:150px!important}.mb--150{margin-bottom:150px!important}.pt--150{padding-top:150px}.pb--150{padding-bottom:150px}.mblock--150{margin-block:150px}.pblock--150{padding-block:150px}.mt--180{margin-top:180px!important}.mb--180{margin-bottom:180px!important}.pt--180{padding-top:180px}.pb--180{padding-bottom:180px}.mblock--180{margin-block:180px}.pblock--180{padding-block:180px}@keyframes move-right{0%{right:30px}50%{right:20px}to{right:30px}}:root{--font-title: \"the-seasons\", Helvetica, sans-serif;--font-pretitle: \"Poppins\", Helvetica, sans-serif;--font-text: \"Poppins\", Helvetica, sans-serif;--font-claim: \"turbinado-pro\", Helvetica, sans-serif;--cl_corp: #24262d;--cl_accent: #aa8453;--cl_icon: #978667;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #24262d;--cl_breadcrumb-hover: #978667;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #fdfbf8;--cl_background_white: #fff;--cl_background_dark: #19314b;--cl_background_gray: #eee;--cl_background_dark-opacity: #19314bbf;--cl_background_dark-opacity-v2: #1326398b;--cl_background_body-transparent: #ffffffe7;--cl_title: #978667;--cl_subtitle: #19314b;--cl_pretitle: #19314b;--cl_text: #3c3b3b;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_text-disable: #888;--w_title: 600;--w_text: 300;--w_subtitle: 300;--w_pretitle: 300;--padding-bottom-slider: 0px;--lh_pretitle-slider: 1.2;--lh_title-slider: 1.2;--cl_header-bg-nosticky: #0000001a;--cl_header-text-nosticky: #fff;--cl_header-bg-sticky: #eee;--cl_header-text-sticky: #19314b;--cl_header-bg-mobile: #b6b6b6;--cl_headerBottom-bg-mobile: #b6b6b6;--cl_header-text-mobile: #19314b;--cl_menu-modal-bg: #19314b;--cl_menu-modal-items: #978667;--cl_menu-modal-items-hover: #fff;--cl_menu-modal-text: #fff;--cl_menu-modal-text-hover: #fff;--ls_menu-modal-items: 1px;--w_menu-modal-items: 300;--hg_menu-img-height: 15rem;--cl_submenu-bg: #19314b;--cl_submenu-text: #fff;--cl_submenu-hover: #978667;--w_btn: 400;--size_btn: 14px;--size_link: 14px;--ls_link: 1px;--ls_btn: 1px;--upper_btn: uppercase;--upper_link: uppercase;--font-btn: \"Poppins\", Helvetica, sans-serif;--font-link: \"Poppins\", Helvetica, sans-serif;--cl_btn-box: #19314b;--cl_btn-box-text: #19314b;--cl_btn-box-hover: #978667;--cl_btn-box-text-hover: #fff;--cl_btn-call: #19314bf2;--cl_btn-call-text: #fff;--cl_btn-call-hover: #978667;--cl_btn-call-text-hover: #fff;--cl_btn-link: #19314b;--cl_btn-link-hover: #978667;--cl_btn-arrow: #19314b;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #978667;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #24262d;--cl_btn-dots-active: #978667;--cl_btn-dots-hover: #978667;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #978667;--cl_btn-light-text-hover: #978667;--cl_footer-bg: #19314b;--cl_footer-bg-bottom: #0a1d31;--cl_footer-bg-logos: #f8f7f3;--cl_footer-scroll: #978667;--cl_footer-text: #fff;--cl_footer-text-hover: #978667;--btn_radius: 5px;--img_radius: 5px;--img_border: #fff;--img_border-width: 1px;--dropdown-radius: 20px;--cl_background_dropdown: #fdfbf8;--cl_border-dropdown: #d9e1e6;--font-size-engine-text: 14px;--cl_engine-text: #19314b;--cl_engine-bg-nosticky: #ffffffcf;--cl_engine-text-nosticky: #19314b;--cl_engine-bg-sticky: #ffffff00;--cl_engine-text-sticky: #19314b;--cl_engine-bg-modal: #19314bbf;--cl_engine-input-bg: #ebebeb;--cl_engine-input-bg-select: #ebebeb;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a;--cl_error: #ff7173;--cl_desde: #bcbbc3;--cl_price: #19314b;--cl_badget: #ff8874;--cl_badget-text: #fff;--alg-service-room-detail: center;--cl_alert-text: #19314b;--cl_alert-text-error: #fff;--cl_alert-background: #fff;--cl_alert-background-error: rgb(230, 92, 92);--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: var(--cl_corp);--mdc-checkbox-selected-hover-icon-color: var(--cl_corp);--mdc-checkbox-selected-icon-color: var(--cl_corp);--mdc-checkbox-selected-pressed-icon-color: var(--cl_corp);--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-hover-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-pressed-state-layer-color: var(--cl_corp);--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38);--primary: #4a4a49;--cream: #f9f8f5;--white: #ffffff;--black: #000000;--whatsapp: #24cc63;--logo: #616161;--grey: #dcdcdc;--darkgrey: #1e1e1e;--instagram: #61bdff;--facebook: #3782f4;--twitter: #4a4a49;--youtube: #d9464b;--tripadvisor: #34e0a1;--booking: #0c3b7c;--silver: #c0bebe;--gold: #ffca64;--platinum: #b5d9e2}.cs_dark{--cl_corp: #181818;--cl_accent: #aa8453;--cl_icon: #aa8453;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #fff;--cl_breadcrumb-hover: #aa8453;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #181818;--cl_background_white: transparent;--cl_background_dark: #aa8453;--cl_background_gray: #333;--type-align: center;--cl_title: #fff;--cl_subtitle: #aa8453;--cl_pretitle: #aa8453;--cl_text: #fff;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_header-bg: #aa8453;--cl_header-text-light: #fff;--cl_menu-bg: #79582c;--cl_menu-text: #fff;--cl_btn-box: #aa8453;--cl_btn-box-text: #aa8453;--cl_btn-box-hover: #79582c;--cl_btn-box-text-hover: #fff;--cl_btn-call: #aa8453;--cl_btn-call-text: white;--cl_btn-call-hover: #79582c;--cl_btn-call-text-hover: #fff;--cl_btn-link: #aa8453;--cl_btn-link-hover: #79582c;--cl_btn-arrow: #ffffff3a;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #79582c;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #eee;--cl_btn-dots-active: #79582c;--cl_btn-dots-hover: #79582c;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #79582c;--cl_btn-light-text-hover: #79582c;--cl_footer-bg: #aa8453;--cl_footer-bg-bottom: #79582c;--cl_footer-scroll: #aa8453;--cl_footer-text: #fff;--cl_footer-text-hover: #aa8453;--btn_radius: 1px;--img_radius: 0px;--img_border: #fff;--img_border-width: 2px;--cl_engine-bg: #181818;--cl_engine-input-bg: #79582c;--cl_engine-input-bg-hover: #081523;--cl_engine-text: #fff;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_dropdown-radius: 20px;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a}.container{max-width:100%}.modal{opacity:1!important;pointer-events:all!important}.modal.modal__reservar{background:var(--white);display:flex;isolation:isolate}.modal--open.reservar .modal.modal__reservar{opacity:1;pointer-events:auto}.modal.modal__reservar .modal__inner{display:flex;justify-content:center;width:100%;position:relative}.modal.modal__reservar .modal__box{overflow-x:clip;padding-block:6rem 15.3rem;width:100%;background:var(--white);display:flex;flex-direction:column;gap:3rem;align-items:center;height:max-content;min-height:100%}@media (min-width: 540px){.modal.modal__reservar .modal__box{padding-block:6rem 14.3rem;gap:4rem}}@media (min-width: 768px){.modal.modal__reservar .modal__box{max-width:48rem;padding-block:10rem 18.505rem;gap:5rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__box{padding-block:10rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__box{max-width:60rem;padding-block:13rem}}@media (min-width: 1800px){.modal.modal__reservar .modal__box{padding-block:18rem}}.modal.modal__reservar .modal__box h2{text-align:center;width:min-content;font-size:4.6rem;line-height:1}@media (min-width: 540px){.modal.modal__reservar .modal__box h2{font-size:6.4rem;line-height:1}}@media (min-width: 768px){.modal.modal__reservar .modal__box h2{font-size:8rem;line-height:1}}@media (min-width: 1680px){.modal.modal__reservar .modal__box h2{font-size:9rem;line-height:1}}.modal.modal__reservar .modal__close{top:2rem}@media (min-width: 540px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 768px){.modal.modal__reservar .modal__close{top:4rem;right:4rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__close{top:5rem;right:5rem}}.modal.modal__reservar .modal__reservar-graphic{opacity:0;pointer-events:none;position:fixed;inset:0;z-index:-1;overflow:clip}@media (min-width: 1024px){.modal.modal__reservar .modal__reservar-graphic{opacity:1}}.modal.modal__reservar .modal__reservar-graphic img{animation:zoomInOut 5s infinite ease-in-out;transform-origin:center}.modal.modal__reservar .modal__reservar-form .btn__group{justify-content:center}.modal.modal__reservar .modal__reservar-form{display:flex;flex-direction:column;gap:3rem;width:100%;max-width:28rem}.modal.modal__reservar .modal__reservar-form .sub-fields{display:none;background:var(--cream);transform:translateY(-1rem);margin-inline:-20rem;padding:3rem 20rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group{margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .select-control,.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-control{border-color:var(--grey);background:var(--white)}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--inner{position:relative;max-height:fit-content}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box{display:none;width:calc(100% - 11.5rem);margin-top:0rem;margin-left:2rem;background:var(--white);padding:2.5rem 2rem 2.4rem 1.8rem;border:1px solid var(--grey)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box--heading{font-size:1.6rem;line-height:1;text-transform:uppercase;margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner{position:relative}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .select-control{height:3.8rem;padding:1rem 2rem 1rem 1rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .label{font-size:1.4rem;line-height:1;margin-bottom:.6rem;display:block}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon{top:3.2rem;right:.5rem;transform:translateY(0)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon svg.down-arrow{display:block!important}.modal.modal__reservar .modal__reservar-form .sub-fields[style=\"display: block;\"]{display:flex!important;flex-direction:column}.js-personas-subfields.final .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}:host ::ng-deep .p-calendar{width:100%}:host ::ng-deep .p-inputtext{background:transparent;border:none;padding:1rem 0 0!important}:host ::ng-deep input:focus-visible{outline:none!important}:host ::ng-deep .p-calendar:not(.p-calendar-disabled).p-focus>.p-inputtext{box-shadow:0 0 0 .2rem transparent!important}\n"] }]
|
|
279
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"modal modal__reservar\">\n <div class=\"modal__inner\">\n <div\n class=\"modal__close js-close\"\n data-modal_name=\"reservar\"\n role=\"button\"\n (click)=\"closeModal()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use href=\"/assets/babylon/svg/icon-close.svg#icon-close\"></use>\n </svg>\n </div>\n <figure class=\"modal__reservar-graphic\">\n <img src=\"/assets/babylon/images/img-40.webp\" />\n </figure>\n <div class=\"modal__box\">\n @if (title) {\n <h2>{{ title }}</h2>\n }\n <div class=\"modal__reservar-form\" [formGroup]=\"form\">\n @if (datepickerData) {\n <div class=\"input-group\" (click)=\"openCalendar()\">\n <label class=\"input-group--label\" for=\"In-date\">{{\n datepickerData.placeholder\n }}</label>\n\n <p-calendar\n class=\"input-control\"\n [showOtherMonths]=\"false\"\n dateFormat=\"dd-mm-yy\"\n selectionMode=\"range\"\n [placeholder]=\"displayDates\"\n formControlName=\"dates\"\n [numberOfMonths]=\"2\"\n #datepicker\n [readonlyInput]=\"true\"\n [showOnFocus]=\"false\"\n (onSelect)=\"onDateSelect()\"\n ></p-calendar>\n <span\n class=\"input-group--icon\"\n (click)=\"openCalendar()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-calender.svg#icon-calender\"\n ></use>\n </svg>\n </span>\n </div>\n }\n\n @if (guestsInput) {\n <div\n class=\"input-group js-personas-subfields\"\n role=\"button\"\n (click)=\"togglePersonas()\"\n [class.open]=\"showSubfields\"\n [class.final]=\"finalizedGuests\"\n >\n <span class=\"input-control\">{{\n guestsValue || '01'\n }}</span>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"persons\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests) {\n <div\n class=\"sub-fields\"\n [style.display]=\"showSubfields ? 'block' : 'none'\"\n >\n @if (guests.adultsDropdown) {\n <div class=\"input-group\">\n <label\n class=\"input-group--label\"\n for=\"adult1\"\n >{{ guests.adultsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Adultos\"\n id=\"adult1\"\n #adult1\n [value]=\"guestsValueSeparates.adults\"\n (change)=\"onAdultsChange($event)\"\n >\n <!-- <option value=\"0\" selected>00</option> -->\n @for (\n option of guests.adultsDropdown.options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests.kidsDropdown) {\n <div class=\"input-group\">\n <div\n class=\"input-group--inner childAge-group-list\"\n >\n <label\n class=\"input-group--label input-group--label--range\"\n for=\"child1\"\n >\n {{ guests.kidsDropdown.title }}\n @if (childrenAgeRangeLabel) {\n <small\n class=\"input-group--label--range--small\"\n >\n / {{ childrenAgeRangeLabel }}\n </small>\n }\n </label>\n <select\n class=\"select-control\"\n name=\"Ni\u00F1os\"\n id=\"child1\"\n #child1\n [value]=\"guestsValueSeparates.kids\"\n (change)=\"onChildrenChange($event)\"\n >\n @for (\n option of guests.kidsDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"user\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box children-list\"\n [style.display]=\"\n showChildrenAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n childAge of childrenAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'children-age' +\n ($index + 1)\n \"\n >{{ guests.kidsLabel || 'Nino' }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'children-age' +\n ($index + 1)\n \"\n [id]=\"\n 'children-age' +\n ($index + 1)\n \"\n [value]=\"childAge\"\n (change)=\"\n onChildAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of childAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n @if (guests.babiesDropdown) {\n <div class=\"input-group\">\n <div class=\"input-group--inner babiesAge-group-list\">\n <label\n class=\"input-group--label input-group--label--range\"\n for=\"babies1\"\n >\n {{ guests.babiesDropdown.title }}\n @if (babiesAgeRangeLabel) {\n <small\n class=\"input-group--label--range--small\"\n >\n / {{ babiesAgeRangeLabel }}\n </small>\n }\n </label>\n <select\n class=\"select-control\"\n name=\"Beb\u00E9s\"\n id=\"babies1\"\n #babies1\n [value]=\"guestsValueSeparates.infants\"\n (change)=\"onBabiesChange($event)\"\n >\n @for (\n option of guests.babiesDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"baby\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box babies-list\"\n [style.display]=\"\n showBabiesAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n babyAge of babiesAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'babies-age' +\n ($index + 1)\n \"\n >{{\n guests.babiesLabel ||\n 'Bebe'\n }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'babies-age' +\n ($index + 1)\n \"\n [id]=\"\n 'babies-age' +\n ($index + 1)\n \"\n [value]=\"babyAge\"\n (change)=\"\n onBabiesAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of babyAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n <div class=\"btn__group\">\n <button\n type=\"submit\"\n class=\"btn btn__secondary js-apply-guests1\"\n role=\"button\"\n (click)=\"applyGuestsFromViewChildren()\"\n >\n <span>{{ guests.btn?.label }}</span>\n </button>\n </div>\n </div>\n }\n @if (promoInput) {\n <div class=\"input-group\">\n <label class=\"input-group--label\" for=\"email\">{{\n promoInput.placeholder\n }}</label>\n <input\n type=\"text\"\n class=\"input-control\"\n name=\"email\"\n id=\"email\"\n placeholder=\"...\"\n formControlName=\"promo\"\n />\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-promo.svg#icon-promo\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (button) {\n <div class=\"btn__group\">\n <a\n class=\"btn btn__primary\"\n [attr.target]=\"openInNewWindow ? '_blank' : '_self'\"\n [attr.aria-label]=\"button.label\"\n [href]=\"generatedUrl\"\n (click)=\"updateGeneratedUrl(); closeModal()\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: ["@media (min-width: 1280px){.order-custom-xl-xxl-1{order:1}.order-custom-xl-xxl-2{order:2}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width: 540px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width: 1025px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width: 1280px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width: 1366px){.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}@media (min-width: 1680px){.flex-xxxl-row{flex-direction:row!important}.flex-xxxl-column{flex-direction:column!important}.flex-xxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxl-wrap{flex-wrap:wrap!important}.flex-xxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxl-fill{flex:1 1 auto!important}.flex-xxxl-grow-0{flex-grow:0!important}.flex-xxxl-grow-1{flex-grow:1!important}.flex-xxxl-shrink-0{flex-shrink:0!important}.flex-xxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxl-start{justify-content:flex-start!important}.justify-content-xxxl-end{justify-content:flex-end!important}.justify-content-xxxl-center{justify-content:center!important}.justify-content-xxxl-between{justify-content:space-between!important}.justify-content-xxxl-around{justify-content:space-around!important}.align-items-xxxl-start{align-items:flex-start!important}.align-items-xxxl-end{align-items:flex-end!important}.align-items-xxxl-center{align-items:center!important}.align-items-xxxl-baseline{align-items:baseline!important}.align-items-xxxl-stretch{align-items:stretch!important}.align-content-xxxl-start{align-content:flex-start!important}.align-content-xxxl-end{align-content:flex-end!important}.align-content-xxxl-center{align-content:center!important}.align-content-xxxl-between{align-content:space-between!important}.align-content-xxxl-around{align-content:space-around!important}.align-content-xxxl-stretch{align-content:stretch!important}.align-self-xxxl-auto{align-self:auto!important}.align-self-xxxl-start{align-self:flex-start!important}.align-self-xxxl-end{align-self:flex-end!important}.align-self-xxxl-center{align-self:center!important}.align-self-xxxl-baseline{align-self:baseline!important}.align-self-xxxl-stretch{align-self:stretch!important}.m-xxxl-auto{margin:auto!important}.mt-xxxl-auto,.my-xxxl-auto{margin-top:auto!important}.mr-xxxl-auto,.mx-xxxl-auto{margin-right:auto!important}.mb-xxxl-auto,.my-xxxl-auto{margin-bottom:auto!important}.ml-xxxl-auto,.mx-xxxl-auto{margin-left:auto!important}}@media (min-width: 1921px){.flex-xxxxl-row{flex-direction:row!important}.flex-xxxxl-column{flex-direction:column!important}.flex-xxxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxxl-wrap{flex-wrap:wrap!important}.flex-xxxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxxl-fill{flex:1 1 auto!important}.flex-xxxxl-grow-0{flex-grow:0!important}.flex-xxxxl-grow-1{flex-grow:1!important}.flex-xxxxl-shrink-0{flex-shrink:0!important}.flex-xxxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxxl-start{justify-content:flex-start!important}.justify-content-xxxxl-end{justify-content:flex-end!important}.justify-content-xxxxl-center{justify-content:center!important}.justify-content-xxxxl-between{justify-content:space-between!important}.justify-content-xxxxl-around{justify-content:space-around!important}.align-items-xxxxl-start{align-items:flex-start!important}.align-items-xxxxl-end{align-items:flex-end!important}.align-items-xxxxl-center{align-items:center!important}.align-items-xxxxl-baseline{align-items:baseline!important}.align-items-xxxxl-stretch{align-items:stretch!important}.align-content-xxxxl-start{align-content:flex-start!important}.align-content-xxxxl-end{align-content:flex-end!important}.align-content-xxxxl-center{align-content:center!important}.align-content-xxxxl-between{align-content:space-between!important}.align-content-xxxxl-around{align-content:space-around!important}.align-content-xxxxl-stretch{align-content:stretch!important}.align-self-xxxxl-auto{align-self:auto!important}.align-self-xxxxl-start{align-self:flex-start!important}.align-self-xxxxl-end{align-self:flex-end!important}.align-self-xxxxl-center{align-self:center!important}.align-self-xxxxl-baseline{align-self:baseline!important}.align-self-xxxxl-stretch{align-self:stretch!important}.m-xxxxl-auto{margin:auto!important}.mt-xxxxl-auto,.my-xxxxl-auto{margin-top:auto!important}.mr-xxxxl-auto,.mx-xxxxl-auto{margin-right:auto!important}.mb-xxxxl-auto,.my-xxxxl-auto{margin-bottom:auto!important}.ml-xxxxl-auto,.mx-xxxxl-auto{margin-left:auto!important}}.mt--0{margin-top:0!important}.mb--0{margin-bottom:0!important}.pt--0{padding-top:0}.pb--0{padding-bottom:0}.mblock--0{margin-block:0px}.pblock--0{padding-block:0px}.mt--10{margin-top:10px!important}.mb--10{margin-bottom:10px!important}.pt--10{padding-top:10px}.pb--10{padding-bottom:10px}.mblock--10{margin-block:10px}.pblock--10{padding-block:10px}.mt--20{margin-top:20px!important}.mb--20{margin-bottom:20px!important}.pt--20{padding-top:20px}.pb--20{padding-bottom:20px}.mblock--20{margin-block:20px}.pblock--20{padding-block:20px}.mt--25{margin-top:25px!important}.mb--25{margin-bottom:25px!important}.pt--25{padding-top:25px}.pb--25{padding-bottom:25px}.mblock--25{margin-block:25px}.pblock--25{padding-block:25px}.mt--30{margin-top:30px!important}.mb--30{margin-bottom:30px!important}.pt--30{padding-top:30px}.pb--30{padding-bottom:30px}.mblock--30{margin-block:30px}.pblock--30{padding-block:30px}.mt--40{margin-top:40px!important}.mb--40{margin-bottom:40px!important}.pt--40{padding-top:40px}.pb--40{padding-bottom:40px}.mblock--40{margin-block:40px}.pblock--40{padding-block:40px}.mt--50{margin-top:50px!important}.mb--50{margin-bottom:50px!important}.pt--50{padding-top:50px}.pb--50{padding-bottom:50px}.mblock--50{margin-block:50px}.pblock--50{padding-block:50px}.mt--60{margin-top:60px!important}.mb--60{margin-bottom:60px!important}.pt--60{padding-top:60px}.pb--60{padding-bottom:60px}.mblock--60{margin-block:60px}.pblock--60{padding-block:60px}.mt--70{margin-top:70px!important}.mb--70{margin-bottom:70px!important}.pt--70{padding-top:70px}.pb--70{padding-bottom:70px}.mblock--70{margin-block:70px}.pblock--70{padding-block:70px}.mt--80{margin-top:80px!important}.mb--80{margin-bottom:80px!important}.pt--80{padding-top:80px}.pb--80{padding-bottom:80px}.mblock--80{margin-block:80px}.pblock--80{padding-block:80px}.mt--90{margin-top:90px!important}.mb--90{margin-bottom:90px!important}.pt--90{padding-top:90px}.pb--90{padding-bottom:90px}.mblock--90{margin-block:90px}.pblock--90{padding-block:90px}.mt--100{margin-top:100px!important}.mb--100{margin-bottom:100px!important}.pt--100{padding-top:100px}.pb--100{padding-bottom:100px}.mblock--100{margin-block:100px}.pblock--100{padding-block:100px}.mt--150{margin-top:150px!important}.mb--150{margin-bottom:150px!important}.pt--150{padding-top:150px}.pb--150{padding-bottom:150px}.mblock--150{margin-block:150px}.pblock--150{padding-block:150px}.mt--180{margin-top:180px!important}.mb--180{margin-bottom:180px!important}.pt--180{padding-top:180px}.pb--180{padding-bottom:180px}.mblock--180{margin-block:180px}.pblock--180{padding-block:180px}@keyframes move-right{0%{right:30px}50%{right:20px}to{right:30px}}:root{--font-title: \"the-seasons\", Helvetica, sans-serif;--font-pretitle: \"Poppins\", Helvetica, sans-serif;--font-text: \"Poppins\", Helvetica, sans-serif;--font-claim: \"turbinado-pro\", Helvetica, sans-serif;--cl_corp: #24262d;--cl_accent: #aa8453;--cl_icon: #978667;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #24262d;--cl_breadcrumb-hover: #978667;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #fdfbf8;--cl_background_white: #fff;--cl_background_dark: #19314b;--cl_background_gray: #eee;--cl_background_dark-opacity: #19314bbf;--cl_background_dark-opacity-v2: #1326398b;--cl_background_body-transparent: #ffffffe7;--cl_title: #978667;--cl_subtitle: #19314b;--cl_pretitle: #19314b;--cl_text: #3c3b3b;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_text-disable: #888;--w_title: 600;--w_text: 300;--w_subtitle: 300;--w_pretitle: 300;--padding-bottom-slider: 0px;--lh_pretitle-slider: 1.2;--lh_title-slider: 1.2;--cl_header-bg-nosticky: #0000001a;--cl_header-text-nosticky: #fff;--cl_header-bg-sticky: #eee;--cl_header-text-sticky: #19314b;--cl_header-bg-mobile: #b6b6b6;--cl_headerBottom-bg-mobile: #b6b6b6;--cl_header-text-mobile: #19314b;--cl_menu-modal-bg: #19314b;--cl_menu-modal-items: #978667;--cl_menu-modal-items-hover: #fff;--cl_menu-modal-text: #fff;--cl_menu-modal-text-hover: #fff;--ls_menu-modal-items: 1px;--w_menu-modal-items: 300;--hg_menu-img-height: 15rem;--cl_submenu-bg: #19314b;--cl_submenu-text: #fff;--cl_submenu-hover: #978667;--w_btn: 400;--size_btn: 14px;--size_link: 14px;--ls_link: 1px;--ls_btn: 1px;--upper_btn: uppercase;--upper_link: uppercase;--font-btn: \"Poppins\", Helvetica, sans-serif;--font-link: \"Poppins\", Helvetica, sans-serif;--cl_btn-box: #19314b;--cl_btn-box-text: #19314b;--cl_btn-box-hover: #978667;--cl_btn-box-text-hover: #fff;--cl_btn-call: #19314bf2;--cl_btn-call-text: #fff;--cl_btn-call-hover: #978667;--cl_btn-call-text-hover: #fff;--cl_btn-link: #19314b;--cl_btn-link-hover: #978667;--cl_btn-arrow: #19314b;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #978667;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #24262d;--cl_btn-dots-active: #978667;--cl_btn-dots-hover: #978667;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #978667;--cl_btn-light-text-hover: #978667;--cl_footer-bg: #19314b;--cl_footer-bg-bottom: #0a1d31;--cl_footer-bg-logos: #f8f7f3;--cl_footer-scroll: #978667;--cl_footer-text: #fff;--cl_footer-text-hover: #978667;--btn_radius: 5px;--img_radius: 5px;--img_border: #fff;--img_border-width: 1px;--dropdown-radius: 20px;--cl_background_dropdown: #fdfbf8;--cl_border-dropdown: #d9e1e6;--font-size-engine-text: 14px;--cl_engine-text: #19314b;--cl_engine-bg-nosticky: #ffffffcf;--cl_engine-text-nosticky: #19314b;--cl_engine-bg-sticky: #ffffff00;--cl_engine-text-sticky: #19314b;--cl_engine-bg-modal: #19314bbf;--cl_engine-input-bg: #ebebeb;--cl_engine-input-bg-select: #ebebeb;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a;--cl_error: #ff7173;--cl_desde: #bcbbc3;--cl_price: #19314b;--cl_badget: #ff8874;--cl_badget-text: #fff;--alg-service-room-detail: center;--cl_alert-text: #19314b;--cl_alert-text-error: #fff;--cl_alert-background: #fff;--cl_alert-background-error: rgb(230, 92, 92);--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: var(--cl_corp);--mdc-checkbox-selected-hover-icon-color: var(--cl_corp);--mdc-checkbox-selected-icon-color: var(--cl_corp);--mdc-checkbox-selected-pressed-icon-color: var(--cl_corp);--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-hover-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-pressed-state-layer-color: var(--cl_corp);--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38);--primary: #4a4a49;--cream: #f9f8f5;--white: #ffffff;--black: #000000;--whatsapp: #24cc63;--logo: #616161;--grey: #dcdcdc;--darkgrey: #1e1e1e;--instagram: #61bdff;--facebook: #3782f4;--twitter: #4a4a49;--youtube: #d9464b;--tripadvisor: #34e0a1;--booking: #0c3b7c;--silver: #c0bebe;--gold: #ffca64;--platinum: #b5d9e2}.cs_dark{--cl_corp: #181818;--cl_accent: #aa8453;--cl_icon: #aa8453;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #fff;--cl_breadcrumb-hover: #aa8453;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #181818;--cl_background_white: transparent;--cl_background_dark: #aa8453;--cl_background_gray: #333;--type-align: center;--cl_title: #fff;--cl_subtitle: #aa8453;--cl_pretitle: #aa8453;--cl_text: #fff;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_header-bg: #aa8453;--cl_header-text-light: #fff;--cl_menu-bg: #79582c;--cl_menu-text: #fff;--cl_btn-box: #aa8453;--cl_btn-box-text: #aa8453;--cl_btn-box-hover: #79582c;--cl_btn-box-text-hover: #fff;--cl_btn-call: #aa8453;--cl_btn-call-text: white;--cl_btn-call-hover: #79582c;--cl_btn-call-text-hover: #fff;--cl_btn-link: #aa8453;--cl_btn-link-hover: #79582c;--cl_btn-arrow: #ffffff3a;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #79582c;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #eee;--cl_btn-dots-active: #79582c;--cl_btn-dots-hover: #79582c;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #79582c;--cl_btn-light-text-hover: #79582c;--cl_footer-bg: #aa8453;--cl_footer-bg-bottom: #79582c;--cl_footer-scroll: #aa8453;--cl_footer-text: #fff;--cl_footer-text-hover: #aa8453;--btn_radius: 1px;--img_radius: 0px;--img_border: #fff;--img_border-width: 2px;--cl_engine-bg: #181818;--cl_engine-input-bg: #79582c;--cl_engine-input-bg-hover: #081523;--cl_engine-text: #fff;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_dropdown-radius: 20px;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a}.container{max-width:100%}.modal{opacity:1!important;pointer-events:all!important}.modal.modal__reservar{background:var(--white);display:flex;isolation:isolate}.modal--open.reservar .modal.modal__reservar{opacity:1;pointer-events:auto}.modal.modal__reservar .modal__inner{display:flex;justify-content:center;width:100%;position:relative}.modal.modal__reservar .modal__box{overflow-x:clip;padding-block:6rem 15.3rem;width:100%;background:var(--white);display:flex;flex-direction:column;gap:3rem;align-items:center;height:max-content;min-height:100%}@media (min-width: 540px){.modal.modal__reservar .modal__box{padding-block:6rem 14.3rem;gap:4rem}}@media (min-width: 768px){.modal.modal__reservar .modal__box{max-width:48rem;padding-block:10rem 18.505rem;gap:5rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__box{padding-block:10rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__box{max-width:60rem;padding-block:13rem}}@media (min-width: 1800px){.modal.modal__reservar .modal__box{padding-block:18rem}}.modal.modal__reservar .modal__box h2{text-align:center;width:min-content;font-size:4.6rem;line-height:1}@media (min-width: 540px){.modal.modal__reservar .modal__box h2{font-size:6.4rem;line-height:1}}@media (min-width: 768px){.modal.modal__reservar .modal__box h2{font-size:8rem;line-height:1}}@media (min-width: 1680px){.modal.modal__reservar .modal__box h2{font-size:9rem;line-height:1}}.modal.modal__reservar .modal__close{top:2rem}@media (min-width: 540px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 768px){.modal.modal__reservar .modal__close{top:4rem;right:4rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__close{top:5rem;right:5rem}}.modal.modal__reservar .modal__reservar-graphic{opacity:0;pointer-events:none;position:fixed;inset:0;z-index:-1;overflow:clip}@media (min-width: 1024px){.modal.modal__reservar .modal__reservar-graphic{opacity:1}}.modal.modal__reservar .modal__reservar-graphic img{animation:zoomInOut 5s infinite ease-in-out;transform-origin:center}.modal.modal__reservar .modal__reservar-form .btn__group{justify-content:center}.modal.modal__reservar .modal__reservar-form{display:flex;flex-direction:column;gap:3rem;width:100%;max-width:28rem}.modal.modal__reservar .modal__reservar-form .sub-fields{display:none;background:var(--cream);transform:translateY(-1rem);margin-inline:-20rem;padding:3rem 20rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group{display:flex;flex-direction:column;align-items:stretch;margin-bottom:2rem;gap:1.2rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .select-control,.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-control{width:100%;border-color:var(--grey);background:var(--white)}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--label{padding-top:1.1rem;padding-bottom:.8rem;line-height:1;background:transparent}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--label--range{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--label--range--small{font-size:1.4rem;line-height:1}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--inner{position:relative;max-height:fit-content;width:100%}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box{display:none;width:100%;margin-top:0rem;margin-left:0;background:var(--white);padding:2.5rem 2rem 2.4rem 1.8rem;border:1px solid var(--grey)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box--heading{font-size:1.6rem;line-height:1;text-transform:uppercase;margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner{position:relative}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .select-control{height:3.8rem;padding:1rem 2rem 1rem 1rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .label{font-size:1.4rem;line-height:1;margin-bottom:.6rem;display:block}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon{top:3.2rem;right:.5rem;transform:translateY(0)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon svg.down-arrow{display:block!important}.modal.modal__reservar .modal__reservar-form .sub-fields[style=\"display: block;\"]{display:flex!important;flex-direction:column}.js-personas-subfields.final .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}:host ::ng-deep .p-calendar{width:100%}:host ::ng-deep .p-inputtext{background:transparent;border:none;padding:1rem 0 0!important}:host ::ng-deep input:focus-visible{outline:none!important}:host ::ng-deep .p-calendar:not(.p-calendar-disabled).p-focus>.p-inputtext{box-shadow:0 0 0 .2rem transparent!important}\n"] }]
|
|
263
280
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { datepicker: [{
|
|
264
281
|
type: ViewChild,
|
|
265
282
|
args: ['datepicker']
|
|
@@ -282,4 +299,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
282
299
|
}], close: [{
|
|
283
300
|
type: Output
|
|
284
301
|
}] } });
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1lbmdpbmUtbW9kYWwtdjIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9iYWJ5bG9uLWVuZ2luZS1tb2RhbC12Mi9iYWJ5bG9uLWVuZ2luZS1tb2RhbC12Mi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tZW5naW5lLW1vZGFsLXYyL2JhYnlsb24tZW5naW5lLW1vZGFsLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQVksY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQXdCbEQsTUFBTSxPQUFPLDZCQUE2QjtJQXlEdEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE3Q2hDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTNDLFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNqQixLQUFLLEVBQUUsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxVQUFV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bkIsY0FBYywwekNBQ2QsWUFBWSw4QkFDWixjQUFjLDhCQUNkLFlBQVk7OzRGQU1QLDZCQUE2QjtrQkFmekMsU0FBUzsrQkFDSSw2QkFBNkIsY0FDM0IsSUFBSSxXQUNQO3dCQUNMLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxZQUFZO3FCQUNmLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNO3NGQUd0QixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBRWQsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBGb3JtQ29udHJvbCxcbiAgICBGb3JtR3JvdXAsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYWxlbmRhciwgQ2FsZW5kYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NhbGVuZGFyJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQgeyBCYWJ5bG9uQnV0dG9uSSwgQmFieWxvbklucHV0SSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQmFieWxvbkd1ZXN0c1BvcHVwSSB9IGZyb20gJy4uL2JhYnlsb24tZ3Vlc3RzLXBvcHVwL2JhYnlsb24tZ3Vlc3RzLXBvcHVwLmludGVyZmFjZSc7XG5cbnR5cGUgQWdlT3B0aW9uID0ge1xuICAgIGNvZGU6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1iYWJ5bG9uLWVuZ2luZS1tb2RhbC12MicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBDYWxlbmRhck1vZHVsZSxcbiAgICAgICAgRGlhbG9nTW9kdWxlLFxuICAgICAgICBEcm9wZG93bk1vZHVsZSxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhYnlsb24tZW5naW5lLW1vZGFsLXYyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vYmFieWxvbi1lbmdpbmUtbW9kYWwtdjIuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCYWJ5bG9uRW5naW5lTW9kYWxWMkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnZGF0ZXBpY2tlcicpIGRhdGVwaWNrZXIhOiBDYWxlbmRhcjtcblxuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRhdGVwaWNrZXJEYXRhPzogQmFieWxvbklucHV0STtcbiAgICBASW5wdXQoKSBndWVzdHNJbnB1dD86IEJhYnlsb25JbnB1dEk7XG4gICAgQElucHV0KCkgcHJvbW9JbnB1dD86IEJhYnlsb25JbnB1dEk7XG4gICAgQElucHV0KCkgYnV0dG9uPzogQmFieWxvbkJ1dHRvbkk7XG4gICAgQElucHV0KCkgZ3Vlc3RzPzogQmFieWxvbkd1ZXN0c1BvcHVwSTtcbiAgICBASW5wdXQoKSBvcGVuSW5OZXdXaW5kb3c/OiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBkYXRlczogbmV3IEZvcm1Db250cm9sPERhdGVbXSB8IG51bGw+KG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBndWVzdHM6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcwMScsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBwcm9tbzogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLFxuICAgIH0pO1xuXG4gICAgZ2VuZXJhdGVkVXJsID0gJyc7XG4gICAgZ3Vlc3RzVmFsdWUgPSAnMDEnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYWxsYmFja0NoaWxkQWdlT3B0aW9uczogQWdlT3B0aW9uW10gPSBBcnJheS5mcm9tKFxuICAgICAgICB7IGxlbmd0aDogMTIgfSxcbiAgICAgICAgKF8sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhZ2UgPSBpbmRleCArIDM7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgY29kZTogYWdlLFxuICAgICAgICAgICAgICAgIG5hbWU6IGFnZSA8IDEwID8gYDAke2FnZX1gIDogYCR7YWdlfWAsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFsbGJhY2tCYWJ5QWdlT3B0aW9uczogQWdlT3B0aW9uW10gPSBBcnJheS5mcm9tKFxuICAgICAgICB7IGxlbmd0aDogMyB9LFxuICAgICAgICAoXywgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICBjb2RlOiBpbmRleCxcbiAgICAgICAgICAgIG5hbWU6IGluZGV4IDwgMTAgPyBgMCR7aW5kZXh9YCA6IGAke2luZGV4fWAsXG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIGd1ZXN0c1ZhbHVlU2VwYXJhdGVzID0ge1xuICAgICAgICBhZHVsdHM6IDEsXG4gICAgICAgIGtpZHM6IDAsXG4gICAgICAgIGluZmFudHM6IDAsXG4gICAgfTtcblxuICAgIGNoaWxkcmVuQWdlU2VsZWN0aW9uczogbnVtYmVyW10gPSBbXTtcbiAgICBiYWJpZXNBZ2VTZWxlY3Rpb25zOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgc2hvd1N1YmZpZWxkcyA9IGZhbHNlO1xuICAgIHNob3dDaGlsZHJlbkFnZXMgPSBmYWxzZTtcbiAgICBzaG93QmFiaWVzQWdlcyA9IGZhbHNlO1xuICAgIGZpbmFsaXplZEd1ZXN0cyA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgdG9tb3Jyb3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB0b21vcnJvdy5zZXREYXRlKHRvZGF5LmdldERhdGUoKSArIDEpO1xuXG4gICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGRhdGVzOiBbdG9kYXksIHRvbW9ycm93XSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5hZHVsdHMgPSB0aGlzLmdldERlZmF1bHRBZHVsdFZhbHVlKCk7XG4gICAgICAgIHRoaXMuc3luY0NoaWxkcmVuQWdlU2VsZWN0aW9ucyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMpO1xuICAgICAgICB0aGlzLnN5bmNCYWJpZXNBZ2VTZWxlY3Rpb25zKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuaW5mYW50cyk7XG4gICAgICAgIHRoaXMucmVmcmVzaEd1ZXN0c1ZhbHVlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG5cbiAgICAgICAgdGhpcy5mb3JtLmdldCgncHJvbW8nKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUdlbmVyYXRlZFVybCgpO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9wZW5DYWxlbmRhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyLm92ZXJsYXlWaXNpYmxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbkRhdGVTZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5kYXRlcGlja2VyLnZhbHVlO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgIGRhdGVzOiB2YWx1ZSBhcyBEYXRlW10sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHRvZ2dsZVBlcnNvbmFzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dTdWJmaWVsZHMgPSAhdGhpcy5zaG93U3ViZmllbGRzO1xuICAgIH1cblxuICAgIG9uQWR1bHRzQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cyA9IHRoaXMuZ2V0U2VsZWN0VmFsdWUoZXZlbnQpO1xuICAgICAgICB0aGlzLnJlZnJlc2hHdWVzdHNWYWx1ZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUdlbmVyYXRlZFVybCgpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbkNoaWxkcmVuQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMgPSB0aGlzLmdldFNlbGVjdFZhbHVlKGV2ZW50KTtcbiAgICAgICAgdGhpcy5zeW5jQ2hpbGRyZW5BZ2VTZWxlY3Rpb25zKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyk7XG4gICAgICAgIHRoaXMucmVmcmVzaEd1ZXN0c1ZhbHVlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG9uQmFiaWVzQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHMgPSB0aGlzLmdldFNlbGVjdFZhbHVlKGV2ZW50KTtcbiAgICAgICAgdGhpcy5zeW5jQmFiaWVzQWdlU2VsZWN0aW9ucyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHMpO1xuICAgICAgICB0aGlzLnJlZnJlc2hHdWVzdHNWYWx1ZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUdlbmVyYXRlZFVybCgpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbkNoaWxkQWdlQ2hhbmdlKGluZGV4OiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0QWdlU2VsZWN0VmFsdWUoZXZlbnQpO1xuICAgICAgICB0aGlzLmNoaWxkcmVuQWdlU2VsZWN0aW9uc1tpbmRleF0gPSBOdW1iZXIuaXNOYU4odmFsdWUpXG4gICAgICAgICAgICA/IHRoaXMuZ2V0RGVmYXVsdENoaWxkQWdlKClcbiAgICAgICAgICAgIDogdmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG9uQmFiaWVzQWdlQ2hhbmdlKGluZGV4OiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0QWdlU2VsZWN0VmFsdWUoZXZlbnQpO1xuICAgICAgICB0aGlzLmJhYmllc0FnZVNlbGVjdGlvbnNbaW5kZXhdID0gTnVtYmVyLmlzTmFOKHZhbHVlKVxuICAgICAgICAgICAgPyB0aGlzLmdldERlZmF1bHRCYWJ5QWdlKClcbiAgICAgICAgICAgIDogdmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGFwcGx5R3Vlc3RzKGFkdWx0czogYW55LCBjaGlsZHJlbjogYW55LCBiYWJpZXM6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cyA9IE51bWJlcihhZHVsdHMpIHx8IDA7XG4gICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyA9IE51bWJlcihjaGlsZHJlbikgfHwgMDtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzID0gTnVtYmVyKGJhYmllcykgfHwgMDtcbiAgICAgICAgdGhpcy5zeW5jQ2hpbGRyZW5BZ2VTZWxlY3Rpb25zKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyk7XG4gICAgICAgIHRoaXMuc3luY0JhYmllc0FnZVNlbGVjdGlvbnModGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoR3Vlc3RzVmFsdWUoKTtcblxuICAgICAgICB0aGlzLnNob3dTdWJmaWVsZHMgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5hbGl6ZWRHdWVzdHMgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHVwZGF0ZUdlbmVyYXRlZFVybCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmJ1dHRvbj8udXJsKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgICBjb25zdCBkYXRlcyA9IHRoaXMuZm9ybS5nZXQoJ2RhdGVzJyk/LnZhbHVlO1xuICAgICAgICBjb25zdCBwcm9tbyA9IHRoaXMuZm9ybS5nZXQoJ3Byb21vJyk/LnZhbHVlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoZGF0ZXMpICYmXG4gICAgICAgICAgICBkYXRlcy5sZW5ndGggPT09IDIgJiZcbiAgICAgICAgICAgIGRhdGVzWzBdIGluc3RhbmNlb2YgRGF0ZSAmJlxuICAgICAgICAgICAgZGF0ZXNbMV0gaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZWluID0gdGhpcy5mb3JtYXREYXRlKGRhdGVzWzBdKTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVvdXQgPSB0aGlzLmZvcm1hdERhdGUoZGF0ZXNbMV0pO1xuXG4gICAgICAgICAgICBwYXJhbXMuc2V0KCdkYXRlaW4nLCBkYXRlaW4pO1xuICAgICAgICAgICAgcGFyYW1zLnNldCgnZGF0ZW91dCcsIGRhdGVvdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFyYW1zLnNldCgnYWR1bHRvcycsIFN0cmluZyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cykpO1xuICAgICAgICBwYXJhbXMuc2V0KCdjaGlsZHJlbicsIFN0cmluZyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMpKTtcbiAgICAgICAgcGFyYW1zLnNldCgnYmFiaWVzJywgU3RyaW5nKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuaW5mYW50cykpO1xuICAgICAgICB0aGlzLmFwcGVuZEd1ZXN0QWdlcyhwYXJhbXMpO1xuXG4gICAgICAgIGlmIChwcm9tbykge1xuICAgICAgICAgICAgcGFyYW1zLnNldCgncHJvbScsIHByb21vKTtcbiAgICAgICAgICAgIHBhcmFtcy5zZXQoJ3Byb21fY2xlYW4nLCAnMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyYW1zLnNldCgncHJvbV9jbGVhbicsICcxJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdlbmVyYXRlZFVybCA9IGAke3RoaXMuYnV0dG9uLnVybH0/JHtwYXJhbXMudG9TdHJpbmcoKX1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0RGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGRhdGVcbiAgICAgICAgICAgIC50b0xvY2FsZURhdGVTdHJpbmcoJ2VzLUVTJywge1xuICAgICAgICAgICAgICAgIGRheTogJzItZGlnaXQnLFxuICAgICAgICAgICAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICAgICAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXC8vZywgJy0nKTtcbiAgICB9XG5cbiAgICBjbG9zZU1vZGFsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBnZXQgZGlzcGxheURhdGVzKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGVzID0gdGhpcy5mb3JtLmdldCgnZGF0ZXMnKT8udmFsdWU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIUFycmF5LmlzQXJyYXkoZGF0ZXMpIHx8XG4gICAgICAgICAgICBkYXRlcy5sZW5ndGggIT09IDIgfHxcbiAgICAgICAgICAgICEoZGF0ZXNbMF0gaW5zdGFuY2VvZiBEYXRlKSB8fFxuICAgICAgICAgICAgIShkYXRlc1sxXSBpbnN0YW5jZW9mIERhdGUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZShuZXcgRGF0ZSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHt0aGlzLmZvcm1hdERhdGUoZGF0ZXNbMF0pfSAtICR7dGhpcy5mb3JtYXREYXRlKGRhdGVzWzFdKX1gO1xuICAgIH1cblxuICAgIGFwcGx5R3Vlc3RzRnJvbVZpZXdDaGlsZHJlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBseUd1ZXN0cyhcbiAgICAgICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuYWR1bHRzLFxuICAgICAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzLFxuICAgICAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkQWdlT3B0aW9ucygpOiBBZ2VPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmd1ZXN0cz8uYWdlc0Ryb3Bkb3duPy5vcHRpb25zPy5sZW5ndGhcbiAgICAgICAgICAgID8gKHRoaXMuZ3Vlc3RzLmFnZXNEcm9wZG93bi5vcHRpb25zIGFzIEFnZU9wdGlvbltdKVxuICAgICAgICAgICAgOiB0aGlzLmZhbGxiYWNrQ2hpbGRBZ2VPcHRpb25zO1xuICAgIH1cblxuICAgIGdldCBiYWJ5QWdlT3B0aW9ucygpOiBBZ2VPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmd1ZXN0cz8uYmFiaWVzQWdlc0Ryb3Bkb3duPy5vcHRpb25zPy5sZW5ndGhcbiAgICAgICAgICAgID8gKHRoaXMuZ3Vlc3RzLmJhYmllc0FnZXNEcm9wZG93bi5vcHRpb25zIGFzIEFnZU9wdGlvbltdKVxuICAgICAgICAgICAgOiB0aGlzLmZhbGxiYWNrQmFieUFnZU9wdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RWYWx1ZShldmVudDogRXZlbnQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQgfCBudWxsO1xuXG4gICAgICAgIHJldHVybiBOdW1iZXIodGFyZ2V0Py52YWx1ZSA/PyAwKSB8fCAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWdlU2VsZWN0VmFsdWUoZXZlbnQ6IEV2ZW50KTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxTZWxlY3RFbGVtZW50IHwgbnVsbDtcblxuICAgICAgICByZXR1cm4gTnVtYmVyKHRhcmdldD8udmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVmYXVsdEFkdWx0VmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmd1ZXN0cz8uYWR1bHRzRHJvcGRvd24/Lm9wdGlvbnM/LlswXT8uY29kZSA/PyAxKSB8fCAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVmYXVsdENoaWxkQWdlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5jaGlsZEFnZU9wdGlvbnNbMF0/LmNvZGUgPz8gMykgfHwgMztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZmF1bHRCYWJ5QWdlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5iYWJ5QWdlT3B0aW9uc1swXT8uY29kZSA/PyAwKSB8fCAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3luY0NoaWxkcmVuQWdlU2VsZWN0aW9ucyhjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChjb3VudCA8PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuQWdlU2VsZWN0aW9ucyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5zaG93Q2hpbGRyZW5BZ2VzID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWZhdWx0QWdlID0gdGhpcy5nZXREZWZhdWx0Q2hpbGRBZ2UoKTtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlcyA9IHRoaXMuY2hpbGRyZW5BZ2VTZWxlY3Rpb25zLnNsaWNlKDAsIGNvdW50KTtcblxuICAgICAgICB3aGlsZSAobmV4dFZhbHVlcy5sZW5ndGggPCBjb3VudCkge1xuICAgICAgICAgICAgbmV4dFZhbHVlcy5wdXNoKGRlZmF1bHRBZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGlsZHJlbkFnZVNlbGVjdGlvbnMgPSBuZXh0VmFsdWVzO1xuICAgICAgICB0aGlzLnNob3dDaGlsZHJlbkFnZXMgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3luY0JhYmllc0FnZVNlbGVjdGlvbnMoY291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY291bnQgPD0gMCkge1xuICAgICAgICAgICAgdGhpcy5iYWJpZXNBZ2VTZWxlY3Rpb25zID0gW107XG4gICAgICAgICAgICB0aGlzLnNob3dCYWJpZXNBZ2VzID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWZhdWx0QWdlID0gdGhpcy5nZXREZWZhdWx0QmFieUFnZSgpO1xuICAgICAgICBjb25zdCBuZXh0VmFsdWVzID0gdGhpcy5iYWJpZXNBZ2VTZWxlY3Rpb25zLnNsaWNlKDAsIGNvdW50KTtcblxuICAgICAgICB3aGlsZSAobmV4dFZhbHVlcy5sZW5ndGggPCBjb3VudCkge1xuICAgICAgICAgICAgbmV4dFZhbHVlcy5wdXNoKGRlZmF1bHRBZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5iYWJpZXNBZ2VTZWxlY3Rpb25zID0gbmV4dFZhbHVlcztcbiAgICAgICAgdGhpcy5zaG93QmFiaWVzQWdlcyA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWZyZXNoR3Vlc3RzVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvdGFsID1cbiAgICAgICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuYWR1bHRzICtcbiAgICAgICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyArXG4gICAgICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHM7XG5cbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZSA9IHRvdGFsIDwgMTAgPyBgMCR7dG90YWx9YCA6IFN0cmluZyh0b3RhbCk7XG4gICAgICAgIHRoaXMuZm9ybS5nZXQoJ2d1ZXN0cycpPy5zZXRWYWx1ZSh0aGlzLmd1ZXN0c1ZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGVuZEd1ZXN0QWdlcyhwYXJhbXM6IFVSTFNlYXJjaFBhcmFtcyk6IHZvaWQge1xuICAgICAgICBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHMgfSkuZm9yRWFjaChcbiAgICAgICAgICAgIChfLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoXG4gICAgICAgICAgICAgICAgICAgICdndWVzdEFnZXMnLFxuICAgICAgICAgICAgICAgICAgICBTdHJpbmcoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhYmllc0FnZVNlbGVjdGlvbnNbaW5kZXhdID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXREZWZhdWx0QmFieUFnZSgpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyB9KS5mb3JFYWNoKFxuICAgICAgICAgICAgKF8sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgcGFyYW1zLmFwcGVuZChcbiAgICAgICAgICAgICAgICAgICAgJ2d1ZXN0QWdlcycsXG4gICAgICAgICAgICAgICAgICAgIFN0cmluZyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5BZ2VTZWxlY3Rpb25zW2luZGV4XSA/P1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RGVmYXVsdENoaWxkQWdlKClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsIG1vZGFsX19yZXNlcnZhclwiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbF9faW5uZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJtb2RhbF9fY2xvc2UganMtY2xvc2VcIlxuICAgICAgICAgICAgZGF0YS1tb2RhbF9uYW1lPVwicmVzZXJ2YXJcIlxuICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHN2ZyBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIi9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1jbG9zZS5zdmcjaWNvbi1jbG9zZVwiPjwvdXNlPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZmlndXJlIGNsYXNzPVwibW9kYWxfX3Jlc2VydmFyLWdyYXBoaWNcIj5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy9iYWJ5bG9uL2ltYWdlcy9pbWctNDAud2VicFwiIC8+XG4gICAgICAgIDwvZmlndXJlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWxfX2JveFwiPlxuICAgICAgICAgICAgQGlmICh0aXRsZSkge1xuICAgICAgICAgICAgICAgIDxoMj57eyB0aXRsZSB9fTwvaDI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWxfX3Jlc2VydmFyLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICAgICAgICAgICAgICBAaWYgKGRhdGVwaWNrZXJEYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIChjbGljayk9XCJvcGVuQ2FsZW5kYXIoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWxhYmVsXCIgZm9yPVwiSW4tZGF0ZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXBpY2tlckRhdGEucGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93T3RoZXJNb250aHNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJkZC1tbS15eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uTW9kZT1cInJhbmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGlzcGxheURhdGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW251bWJlck9mTW9udGhzXT1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNkYXRlcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5SW5wdXRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25TZWxlY3QpPVwib25EYXRlU2VsZWN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cC0taWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5DYWxlbmRhcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tY2FsZW5kZXIuc3ZnI2ljb24tY2FsZW5kZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoZ3Vlc3RzSW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cCBqcy1wZXJzb25hcy1zdWJmaWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUGVyc29uYXMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3Blbl09XCJzaG93U3ViZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5maW5hbF09XCJmaW5hbGl6ZWRHdWVzdHNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWNvbnRyb2xcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0c1ZhbHVlIHx8ICcwMSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC0taWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwZXJzb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1wZXJzb25zLnN2ZyNpY29uLXBlcnNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvd24tYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLWFycm93LnN2ZyNpY29uLWFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChndWVzdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWItZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cInNob3dTdWJmaWVsZHMgPyAnYmxvY2snIDogJ25vbmUnXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChndWVzdHMuYWR1bHRzRHJvcGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJhZHVsdDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGd1ZXN0cy5hZHVsdHNEcm9wZG93bi50aXRsZSB9fTwvbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdC1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJBZHVsdG9zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWR1bHQxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhZHVsdDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJndWVzdHNWYWx1ZVNlcGFyYXRlcy5hZHVsdHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkFkdWx0c0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8b3B0aW9uIHZhbHVlPVwiMFwiIHNlbGVjdGVkPjAwPC9vcHRpb24+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uIG9mIGd1ZXN0cy5hZHVsdHNEcm9wZG93bi5vcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrICRpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLmNvZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tcGVyc29ucy5zdmcjaWNvbi1wZXJzb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChndWVzdHMua2lkc0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWlubmVyIGNoaWxkQWdlLWdyb3VwLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yPVwiY2hpbGQxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgZ3Vlc3RzLmtpZHNEcm9wZG93bi50aXRsZSB9fTwvbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdC1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiTmnDsW9zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImNoaWxkMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2NoaWxkMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hpbGRyZW5DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBndWVzdHMua2lkc0Ryb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAub3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXNlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tdXNlci5zdmcjaWNvbi11c2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZ2UtZ3JvdXAtYm94IGNoaWxkcmVuLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0NoaWxkcmVuQWdlcyA/ICdibG9jaycgOiAnbm9uZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsZWdlbmQgY2xhc3M9XCJhZ2UtZ3JvdXAtYm94LS1oZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ3Vlc3RzLmFnZXNMYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWdlLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkQWdlIG9mIGNoaWxkcmVuQWdlU2VsZWN0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1pbm5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcl09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoaWxkcmVuLWFnZScgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGluZGV4ICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBndWVzdHMua2lkc0xhYmVsIHx8ICdOaW5vJyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICRpbmRleCArIDEgfX08L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QtY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZHJlbi1hZ2UnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRpbmRleCArIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZHJlbi1hZ2UnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRpbmRleCArIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY2hpbGRBZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hpbGRBZ2VDaGFuZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBjaGlsZEFnZU9wdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrIG9wdGlvbi5jb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24uY29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG93bi1hcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tYXJyb3cuc3ZnI2ljb24tYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZ3Vlc3RzLmJhYmllc0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC0taW5uZXIgYmFiaWVzQWdlLWdyb3VwLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJiYWJpZXMxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Vlc3RzLmJhYmllc0Ryb3Bkb3duLnRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QtY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cIkJlYsOpc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJiYWJpZXMxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYmFiaWVzMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQmFiaWVzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24gb2YgZ3Vlc3RzLmJhYmllc0Ryb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAub3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFieVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tdXNlci5zdmcjaWNvbi11c2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZ2UtZ3JvdXAtYm94IGJhYmllcy1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dCYWJpZXNBZ2VzID8gJ2Jsb2NrJyA6ICdub25lJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImFnZS1ncm91cC1ib3gtLWhlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBndWVzdHMuYWdlc0xhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xlZ2VuZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZ2UtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFieUFnZSBvZiBiYWJpZXNBZ2VTZWxlY3Rpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayAkaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFiaWVzLWFnZScgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGluZGV4ICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWVzdHMuYmFiaWVzTGFiZWwgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JlYmUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAkaW5kZXggKyAxIH19PC9sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFiaWVzLWFnZScgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGluZGV4ICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhYmllcy1hZ2UnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRpbmRleCArIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiYmFieUFnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CYWJpZXNBZ2VDaGFuZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBiYWJ5QWdlT3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgb3B0aW9uLmNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duLWFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy5zdmcjaWNvbi1hcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3NlY29uZGFyeSBqcy1hcHBseS1ndWVzdHMxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhcHBseUd1ZXN0c0Zyb21WaWV3Q2hpbGRyZW4oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBndWVzdHMuYnRuPy5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChwcm9tb0lucHV0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWxhYmVsXCIgZm9yPVwiZW1haWxcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb21vSW5wdXQucGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCIuLi5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInByb21vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLS1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLXByb21vLnN2ZyNpY29uLXByb21vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwib3BlbkluTmV3V2luZG93ID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiZ2VuZXJhdGVkVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlR2VuZXJhdGVkVXJsKCk7IGNsb3NlTW9kYWwoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1lbmdpbmUtbW9kYWwtdjIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9iYWJ5bG9uLWVuZ2luZS1tb2RhbC12Mi9iYWJ5bG9uLWVuZ2luZS1tb2RhbC12Mi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tZW5naW5lLW1vZGFsLXYyL2JhYnlsb24tZW5naW5lLW1vZGFsLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQVksY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQXdCbEQsTUFBTSxPQUFPLDZCQUE2QjtJQXlEdEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE3Q2hDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTNDLFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNqQixLQUFLLEVBQUUsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxVQUFV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QUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBGb3JtQ29udHJvbCxcbiAgICBGb3JtR3JvdXAsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYWxlbmRhciwgQ2FsZW5kYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NhbGVuZGFyJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQgeyBCYWJ5bG9uQnV0dG9uSSwgQmFieWxvbklucHV0SSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQmFieWxvbkd1ZXN0c1BvcHVwSSB9IGZyb20gJy4uL2JhYnlsb24tZ3Vlc3RzLXBvcHVwL2JhYnlsb24tZ3Vlc3RzLXBvcHVwLmludGVyZmFjZSc7XG5cbnR5cGUgQWdlT3B0aW9uID0ge1xuICAgIGNvZGU6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1iYWJ5bG9uLWVuZ2luZS1tb2RhbC12MicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBDYWxlbmRhck1vZHVsZSxcbiAgICAgICAgRGlhbG9nTW9kdWxlLFxuICAgICAgICBEcm9wZG93bk1vZHVsZSxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhYnlsb24tZW5naW5lLW1vZGFsLXYyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vYmFieWxvbi1lbmdpbmUtbW9kYWwtdjIuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCYWJ5bG9uRW5naW5lTW9kYWxWMkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnZGF0ZXBpY2tlcicpIGRhdGVwaWNrZXIhOiBDYWxlbmRhcjtcblxuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRhdGVwaWNrZXJEYXRhPzogQmFieWxvbklucHV0STtcbiAgICBASW5wdXQoKSBndWVzdHNJbnB1dD86IEJhYnlsb25JbnB1dEk7XG4gICAgQElucHV0KCkgcHJvbW9JbnB1dD86IEJhYnlsb25JbnB1dEk7XG4gICAgQElucHV0KCkgYnV0dG9uPzogQmFieWxvbkJ1dHRvbkk7XG4gICAgQElucHV0KCkgZ3Vlc3RzPzogQmFieWxvbkd1ZXN0c1BvcHVwSTtcbiAgICBASW5wdXQoKSBvcGVuSW5OZXdXaW5kb3c/OiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBkYXRlczogbmV3IEZvcm1Db250cm9sPERhdGVbXSB8IG51bGw+KG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBndWVzdHM6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcwMScsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBwcm9tbzogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLFxuICAgIH0pO1xuXG4gICAgZ2VuZXJhdGVkVXJsID0gJyc7XG4gICAgZ3Vlc3RzVmFsdWUgPSAnMDEnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYWxsYmFja0NoaWxkQWdlT3B0aW9uczogQWdlT3B0aW9uW10gPSBBcnJheS5mcm9tKFxuICAgICAgICB7IGxlbmd0aDogMTIgfSxcbiAgICAgICAgKF8sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhZ2UgPSBpbmRleCArIDM7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgY29kZTogYWdlLFxuICAgICAgICAgICAgICAgIG5hbWU6IGFnZSA8IDEwID8gYDAke2FnZX1gIDogYCR7YWdlfWAsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFsbGJhY2tCYWJ5QWdlT3B0aW9uczogQWdlT3B0aW9uW10gPSBBcnJheS5mcm9tKFxuICAgICAgICB7IGxlbmd0aDogMyB9LFxuICAgICAgICAoXywgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICBjb2RlOiBpbmRleCxcbiAgICAgICAgICAgIG5hbWU6IGluZGV4IDwgMTAgPyBgMCR7aW5kZXh9YCA6IGAke2luZGV4fWAsXG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIGd1ZXN0c1ZhbHVlU2VwYXJhdGVzID0ge1xuICAgICAgICBhZHVsdHM6IDEsXG4gICAgICAgIGtpZHM6IDAsXG4gICAgICAgIGluZmFudHM6IDAsXG4gICAgfTtcblxuICAgIGNoaWxkcmVuQWdlU2VsZWN0aW9uczogbnVtYmVyW10gPSBbXTtcbiAgICBiYWJpZXNBZ2VTZWxlY3Rpb25zOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgc2hvd1N1YmZpZWxkcyA9IGZhbHNlO1xuICAgIHNob3dDaGlsZHJlbkFnZXMgPSBmYWxzZTtcbiAgICBzaG93QmFiaWVzQWdlcyA9IGZhbHNlO1xuICAgIGZpbmFsaXplZEd1ZXN0cyA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgdG9tb3Jyb3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB0b21vcnJvdy5zZXREYXRlKHRvZGF5LmdldERhdGUoKSArIDEpO1xuXG4gICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGRhdGVzOiBbdG9kYXksIHRvbW9ycm93XSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5hZHVsdHMgPSB0aGlzLmdldERlZmF1bHRBZHVsdFZhbHVlKCk7XG4gICAgICAgIHRoaXMuc3luY0NoaWxkcmVuQWdlU2VsZWN0aW9ucyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMpO1xuICAgICAgICB0aGlzLnN5bmNCYWJpZXNBZ2VTZWxlY3Rpb25zKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuaW5mYW50cyk7XG4gICAgICAgIHRoaXMucmVmcmVzaEd1ZXN0c1ZhbHVlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG5cbiAgICAgICAgdGhpcy5mb3JtLmdldCgncHJvbW8nKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUdlbmVyYXRlZFVybCgpO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9wZW5DYWxlbmRhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyLm92ZXJsYXlWaXNpYmxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbkRhdGVTZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5kYXRlcGlja2VyLnZhbHVlO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgIGRhdGVzOiB2YWx1ZSBhcyBEYXRlW10sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHRvZ2dsZVBlcnNvbmFzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dTdWJmaWVsZHMgPSAhdGhpcy5zaG93U3ViZmllbGRzO1xuICAgIH1cblxuICAgIG9uQWR1bHRzQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cyA9IHRoaXMuZ2V0U2VsZWN0VmFsdWUoZXZlbnQpO1xuICAgICAgICB0aGlzLnJlZnJlc2hHdWVzdHNWYWx1ZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUdlbmVyYXRlZFVybCgpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbkNoaWxkcmVuQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMgPSB0aGlzLmdldFNlbGVjdFZhbHVlKGV2ZW50KTtcbiAgICAgICAgdGhpcy5zeW5jQ2hpbGRyZW5BZ2VTZWxlY3Rpb25zKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyk7XG4gICAgICAgIHRoaXMucmVmcmVzaEd1ZXN0c1ZhbHVlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG9uQmFiaWVzQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHMgPSB0aGlzLmdldFNlbGVjdFZhbHVlKGV2ZW50KTtcbiAgICAgICAgdGhpcy5zeW5jQmFiaWVzQWdlU2VsZWN0aW9ucyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHMpO1xuICAgICAgICB0aGlzLnJlZnJlc2hHdWVzdHNWYWx1ZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUdlbmVyYXRlZFVybCgpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbkNoaWxkQWdlQ2hhbmdlKGluZGV4OiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0QWdlU2VsZWN0VmFsdWUoZXZlbnQpO1xuICAgICAgICB0aGlzLmNoaWxkcmVuQWdlU2VsZWN0aW9uc1tpbmRleF0gPSBOdW1iZXIuaXNOYU4odmFsdWUpXG4gICAgICAgICAgICA/IHRoaXMuZ2V0RGVmYXVsdENoaWxkQWdlKClcbiAgICAgICAgICAgIDogdmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG9uQmFiaWVzQWdlQ2hhbmdlKGluZGV4OiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0QWdlU2VsZWN0VmFsdWUoZXZlbnQpO1xuICAgICAgICB0aGlzLmJhYmllc0FnZVNlbGVjdGlvbnNbaW5kZXhdID0gTnVtYmVyLmlzTmFOKHZhbHVlKVxuICAgICAgICAgICAgPyB0aGlzLmdldERlZmF1bHRCYWJ5QWdlKClcbiAgICAgICAgICAgIDogdmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGFwcGx5R3Vlc3RzKGFkdWx0czogYW55LCBjaGlsZHJlbjogYW55LCBiYWJpZXM6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cyA9IE51bWJlcihhZHVsdHMpIHx8IDA7XG4gICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyA9IE51bWJlcihjaGlsZHJlbikgfHwgMDtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzID0gTnVtYmVyKGJhYmllcykgfHwgMDtcbiAgICAgICAgdGhpcy5zeW5jQ2hpbGRyZW5BZ2VTZWxlY3Rpb25zKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyk7XG4gICAgICAgIHRoaXMuc3luY0JhYmllc0FnZVNlbGVjdGlvbnModGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoR3Vlc3RzVmFsdWUoKTtcblxuICAgICAgICB0aGlzLnNob3dTdWJmaWVsZHMgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5hbGl6ZWRHdWVzdHMgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHVwZGF0ZUdlbmVyYXRlZFVybCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmJ1dHRvbj8udXJsKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgICBjb25zdCBkYXRlcyA9IHRoaXMuZm9ybS5nZXQoJ2RhdGVzJyk/LnZhbHVlO1xuICAgICAgICBjb25zdCBwcm9tbyA9IHRoaXMuZm9ybS5nZXQoJ3Byb21vJyk/LnZhbHVlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoZGF0ZXMpICYmXG4gICAgICAgICAgICBkYXRlcy5sZW5ndGggPT09IDIgJiZcbiAgICAgICAgICAgIGRhdGVzWzBdIGluc3RhbmNlb2YgRGF0ZSAmJlxuICAgICAgICAgICAgZGF0ZXNbMV0gaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZWluID0gdGhpcy5mb3JtYXREYXRlKGRhdGVzWzBdKTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVvdXQgPSB0aGlzLmZvcm1hdERhdGUoZGF0ZXNbMV0pO1xuXG4gICAgICAgICAgICBwYXJhbXMuc2V0KCdkYXRlaW4nLCBkYXRlaW4pO1xuICAgICAgICAgICAgcGFyYW1zLnNldCgnZGF0ZW91dCcsIGRhdGVvdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFyYW1zLnNldCgnYWR1bHRvcycsIFN0cmluZyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cykpO1xuICAgICAgICBwYXJhbXMuc2V0KCdjaGlsZHJlbicsIFN0cmluZyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMpKTtcbiAgICAgICAgcGFyYW1zLnNldCgnYmFiaWVzJywgU3RyaW5nKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuaW5mYW50cykpO1xuICAgICAgICB0aGlzLmFwcGVuZEd1ZXN0QWdlcyhwYXJhbXMpO1xuXG4gICAgICAgIGlmIChwcm9tbykge1xuICAgICAgICAgICAgcGFyYW1zLnNldCgncHJvbScsIHByb21vKTtcbiAgICAgICAgICAgIHBhcmFtcy5zZXQoJ3Byb21fY2xlYW4nLCAnMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyYW1zLnNldCgncHJvbV9jbGVhbicsICcxJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdlbmVyYXRlZFVybCA9IGAke3RoaXMuYnV0dG9uLnVybH0/JHtwYXJhbXMudG9TdHJpbmcoKX1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0RGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGRhdGVcbiAgICAgICAgICAgIC50b0xvY2FsZURhdGVTdHJpbmcoJ2VzLUVTJywge1xuICAgICAgICAgICAgICAgIGRheTogJzItZGlnaXQnLFxuICAgICAgICAgICAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICAgICAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXC8vZywgJy0nKTtcbiAgICB9XG5cbiAgICBjbG9zZU1vZGFsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBnZXQgZGlzcGxheURhdGVzKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGVzID0gdGhpcy5mb3JtLmdldCgnZGF0ZXMnKT8udmFsdWU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIUFycmF5LmlzQXJyYXkoZGF0ZXMpIHx8XG4gICAgICAgICAgICBkYXRlcy5sZW5ndGggIT09IDIgfHxcbiAgICAgICAgICAgICEoZGF0ZXNbMF0gaW5zdGFuY2VvZiBEYXRlKSB8fFxuICAgICAgICAgICAgIShkYXRlc1sxXSBpbnN0YW5jZW9mIERhdGUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZShuZXcgRGF0ZSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHt0aGlzLmZvcm1hdERhdGUoZGF0ZXNbMF0pfSAtICR7dGhpcy5mb3JtYXREYXRlKGRhdGVzWzFdKX1gO1xuICAgIH1cblxuICAgIGFwcGx5R3Vlc3RzRnJvbVZpZXdDaGlsZHJlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBseUd1ZXN0cyhcbiAgICAgICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuYWR1bHRzLFxuICAgICAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzLFxuICAgICAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkQWdlT3B0aW9ucygpOiBBZ2VPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmd1ZXN0cz8uYWdlc0Ryb3Bkb3duPy5vcHRpb25zPy5sZW5ndGhcbiAgICAgICAgICAgID8gKHRoaXMuZ3Vlc3RzLmFnZXNEcm9wZG93bi5vcHRpb25zIGFzIEFnZU9wdGlvbltdKVxuICAgICAgICAgICAgOiB0aGlzLmZhbGxiYWNrQ2hpbGRBZ2VPcHRpb25zO1xuICAgIH1cblxuICAgIGdldCBiYWJ5QWdlT3B0aW9ucygpOiBBZ2VPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmd1ZXN0cz8uYmFiaWVzQWdlc0Ryb3Bkb3duPy5vcHRpb25zPy5sZW5ndGhcbiAgICAgICAgICAgID8gKHRoaXMuZ3Vlc3RzLmJhYmllc0FnZXNEcm9wZG93bi5vcHRpb25zIGFzIEFnZU9wdGlvbltdKVxuICAgICAgICAgICAgOiB0aGlzLmZhbGxiYWNrQmFieUFnZU9wdGlvbnM7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkcmVuQWdlUmFuZ2VMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBZ2VSYW5nZUxhYmVsKHRoaXMuY2hpbGRBZ2VPcHRpb25zKTtcbiAgICB9XG5cbiAgICBnZXQgYmFiaWVzQWdlUmFuZ2VMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBZ2VSYW5nZUxhYmVsKHRoaXMuYmFieUFnZU9wdGlvbnMpO1xuICAgIH1cblxuICAgIGdldCBhZ2VVbml0TGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3Vlc3RzPy5hZ2VVbml0TGFiZWw/LnRyaW0oKSB8fCAnYcOxb3MnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0VmFsdWUoZXZlbnQ6IEV2ZW50KTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxTZWxlY3RFbGVtZW50IHwgbnVsbDtcblxuICAgICAgICByZXR1cm4gTnVtYmVyKHRhcmdldD8udmFsdWUgPz8gMCkgfHwgMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFnZVNlbGVjdFZhbHVlKGV2ZW50OiBFdmVudCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudCB8IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIE51bWJlcih0YXJnZXQ/LnZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZmF1bHRBZHVsdFZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5ndWVzdHM/LmFkdWx0c0Ryb3Bkb3duPy5vcHRpb25zPy5bMF0/LmNvZGUgPz8gMSkgfHwgMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZmF1bHRDaGlsZEFnZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuY2hpbGRBZ2VPcHRpb25zWzBdPy5jb2RlID8/IDMpIHx8IDM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWZhdWx0QmFieUFnZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuYmFieUFnZU9wdGlvbnNbMF0/LmNvZGUgPz8gMCkgfHwgMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFnZVJhbmdlTGFiZWwob3B0aW9uczogQWdlT3B0aW9uW10pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmaXJzdCA9IG9wdGlvbnM/LlswXT8uY29kZTtcbiAgICAgICAgY29uc3QgbGFzdCA9IG9wdGlvbnM/LltvcHRpb25zLmxlbmd0aCAtIDFdPy5jb2RlO1xuXG4gICAgICAgIGlmIChmaXJzdCA9PT0gdW5kZWZpbmVkIHx8IGxhc3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke2ZpcnN0fS0ke2xhc3R9ICR7dGhpcy5hZ2VVbml0TGFiZWx9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNDaGlsZHJlbkFnZVNlbGVjdGlvbnMoY291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY291bnQgPD0gMCkge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbkFnZVNlbGVjdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuc2hvd0NoaWxkcmVuQWdlcyA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdEFnZSA9IHRoaXMuZ2V0RGVmYXVsdENoaWxkQWdlKCk7XG4gICAgICAgIGNvbnN0IG5leHRWYWx1ZXMgPSB0aGlzLmNoaWxkcmVuQWdlU2VsZWN0aW9ucy5zbGljZSgwLCBjb3VudCk7XG5cbiAgICAgICAgd2hpbGUgKG5leHRWYWx1ZXMubGVuZ3RoIDwgY291bnQpIHtcbiAgICAgICAgICAgIG5leHRWYWx1ZXMucHVzaChkZWZhdWx0QWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hpbGRyZW5BZ2VTZWxlY3Rpb25zID0gbmV4dFZhbHVlcztcbiAgICAgICAgdGhpcy5zaG93Q2hpbGRyZW5BZ2VzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNCYWJpZXNBZ2VTZWxlY3Rpb25zKGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNvdW50IDw9IDApIHtcbiAgICAgICAgICAgIHRoaXMuYmFiaWVzQWdlU2VsZWN0aW9ucyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5zaG93QmFiaWVzQWdlcyA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdEFnZSA9IHRoaXMuZ2V0RGVmYXVsdEJhYnlBZ2UoKTtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlcyA9IHRoaXMuYmFiaWVzQWdlU2VsZWN0aW9ucy5zbGljZSgwLCBjb3VudCk7XG5cbiAgICAgICAgd2hpbGUgKG5leHRWYWx1ZXMubGVuZ3RoIDwgY291bnQpIHtcbiAgICAgICAgICAgIG5leHRWYWx1ZXMucHVzaChkZWZhdWx0QWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYmFiaWVzQWdlU2VsZWN0aW9ucyA9IG5leHRWYWx1ZXM7XG4gICAgICAgIHRoaXMuc2hvd0JhYmllc0FnZXMgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaEd1ZXN0c1ZhbHVlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0b3RhbCA9XG4gICAgICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cyArXG4gICAgICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMgK1xuICAgICAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzO1xuXG4gICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWUgPSB0b3RhbCA8IDEwID8gYDAke3RvdGFsfWAgOiBTdHJpbmcodG90YWwpO1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdndWVzdHMnKT8uc2V0VmFsdWUodGhpcy5ndWVzdHNWYWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBlbmRHdWVzdEFnZXMocGFyYW1zOiBVUkxTZWFyY2hQYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzIH0pLmZvckVhY2goXG4gICAgICAgICAgICAoXywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBwYXJhbXMuYXBwZW5kKFxuICAgICAgICAgICAgICAgICAgICAnZ3Vlc3RBZ2VzJyxcbiAgICAgICAgICAgICAgICAgICAgU3RyaW5nKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWJpZXNBZ2VTZWxlY3Rpb25zW2luZGV4XSA/P1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RGVmYXVsdEJhYnlBZ2UoKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMgfSkuZm9yRWFjaChcbiAgICAgICAgICAgIChfLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoXG4gICAgICAgICAgICAgICAgICAgICdndWVzdEFnZXMnLFxuICAgICAgICAgICAgICAgICAgICBTdHJpbmcoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoaWxkcmVuQWdlU2VsZWN0aW9uc1tpbmRleF0gPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldERlZmF1bHRDaGlsZEFnZSgpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2RhbCBtb2RhbF9fcmVzZXJ2YXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWxfX2lubmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibW9kYWxfX2Nsb3NlIGpzLWNsb3NlXCJcbiAgICAgICAgICAgIGRhdGEtbW9kYWxfbmFtZT1cInJlc2VydmFyXCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tY2xvc2Uuc3ZnI2ljb24tY2xvc2VcIj48L3VzZT5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZpZ3VyZSBjbGFzcz1cIm1vZGFsX19yZXNlcnZhci1ncmFwaGljXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cIi9hc3NldHMvYmFieWxvbi9pbWFnZXMvaW1nLTQwLndlYnBcIiAvPlxuICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsX19ib3hcIj5cbiAgICAgICAgICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8aDI+e3sgdGl0bGUgfX08L2gyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsX19yZXNlcnZhci1mb3JtXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICAgICAgICAgICAgQGlmIChkYXRlcGlja2VyRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiAoY2xpY2spPVwib3BlbkNhbGVuZGFyKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImlucHV0LWdyb3VwLS1sYWJlbFwiIGZvcj1cIkluLWRhdGVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVwaWNrZXJEYXRhLnBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvbGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd090aGVyTW9udGhzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQtbW0teXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk1vZGU9XCJyYW5nZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRpc3BsYXlEYXRlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtudW1iZXJPZk1vbnRoc109XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZGF0ZXBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seUlucHV0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93T25Gb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3AtY2FsZW5kYXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuQ2FsZW5kYXIoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLWNhbGVuZGVyLnN2ZyNpY29uLWNhbGVuZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKGd1ZXN0c0lucHV0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAganMtcGVyc29uYXMtc3ViZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBlcnNvbmFzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm9wZW5dPVwic2hvd1N1YmZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmluYWxdPVwiZmluYWxpemVkR3Vlc3RzXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1jb250cm9sXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWVzdHNWYWx1ZSB8fCAnMDEnXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGVyc29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tcGVyc29ucy5zdmcjaWNvbi1wZXJzb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duLWFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy5zdmcjaWNvbi1hcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoZ3Vlc3RzKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3ViLWZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJzaG93U3ViZmllbGRzID8gJ2Jsb2NrJyA6ICdub25lJ1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZ3Vlc3RzLmFkdWx0c0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cC0tbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yPVwiYWR1bHQxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBndWVzdHMuYWR1bHRzRHJvcGRvd24udGl0bGUgfX08L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QtY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiQWR1bHRvc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImFkdWx0MVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYWR1bHQxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuYWR1bHRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25BZHVsdHNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPG9wdGlvbiB2YWx1ZT1cIjBcIiBzZWxlY3RlZD4wMDwvb3B0aW9uPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBndWVzdHMuYWR1bHRzRHJvcGRvd24ub3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayAkaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLS1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLXBlcnNvbnMuc3ZnI2ljb24tcGVyc29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZ3Vlc3RzLmtpZHNEcm9wZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLS1pbm5lciBjaGlsZEFnZS1ncm91cC1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cC0tbGFiZWwgaW5wdXQtZ3JvdXAtLWxhYmVsLS1yYW5nZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yPVwiY2hpbGQxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBndWVzdHMua2lkc0Ryb3Bkb3duLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChjaGlsZHJlbkFnZVJhbmdlTGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLS1sYWJlbC0tcmFuZ2UtLXNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyB7eyBjaGlsZHJlbkFnZVJhbmdlTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJOacOxb3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiY2hpbGQxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjY2hpbGQxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGlsZHJlbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uIG9mIGd1ZXN0cy5raWRzRHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5vcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayAkaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLmNvZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC0taWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1c2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi11c2VyLnN2ZyNpY29uLXVzZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFnZS1ncm91cC1ib3ggY2hpbGRyZW4tbGlzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93Q2hpbGRyZW5BZ2VzID8gJ2Jsb2NrJyA6ICdub25lJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImFnZS1ncm91cC1ib3gtLWhlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBndWVzdHMuYWdlc0xhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xlZ2VuZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZ2UtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRBZ2Ugb2YgY2hpbGRyZW5BZ2VTZWxlY3Rpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayAkaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hpbGRyZW4tYWdlJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkaW5kZXggKyAxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGd1ZXN0cy5raWRzTGFiZWwgfHwgJ05pbm8nIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJGluZGV4ICsgMSB9fTwvbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdC1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoaWxkcmVuLWFnZScgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGluZGV4ICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoaWxkcmVuLWFnZScgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGluZGV4ICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjaGlsZEFnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGlsZEFnZUNoYW5nZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uIG9mIGNoaWxkQWdlT3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgb3B0aW9uLmNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duLWFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy5zdmcjaWNvbi1hcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChndWVzdHMuYmFiaWVzRHJvcGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLS1pbm5lciBiYWJpZXNBZ2UtZ3JvdXAtbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cC0tbGFiZWwgaW5wdXQtZ3JvdXAtLWxhYmVsLS1yYW5nZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yPVwiYmFiaWVzMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ3Vlc3RzLmJhYmllc0Ryb3Bkb3duLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChiYWJpZXNBZ2VSYW5nZUxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cC0tbGFiZWwtLXJhbmdlLS1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8ge3sgYmFiaWVzQWdlUmFuZ2VMYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QtY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cIkJlYsOpc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJiYWJpZXMxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYmFiaWVzMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQmFiaWVzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24gb2YgZ3Vlc3RzLmJhYmllc0Ryb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAub3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFieVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tdXNlci5zdmcjaWNvbi11c2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZ2UtZ3JvdXAtYm94IGJhYmllcy1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dCYWJpZXNBZ2VzID8gJ2Jsb2NrJyA6ICdub25lJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImFnZS1ncm91cC1ib3gtLWhlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBndWVzdHMuYWdlc0xhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xlZ2VuZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZ2UtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFieUFnZSBvZiBiYWJpZXNBZ2VTZWxlY3Rpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayAkaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFiaWVzLWFnZScgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGluZGV4ICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWVzdHMuYmFiaWVzTGFiZWwgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JlYmUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAkaW5kZXggKyAxIH19PC9sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFiaWVzLWFnZScgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGluZGV4ICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhYmllcy1hZ2UnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRpbmRleCArIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiYmFieUFnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CYWJpZXNBZ2VDaGFuZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBiYWJ5QWdlT3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgb3B0aW9uLmNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duLWFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy5zdmcjaWNvbi1hcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3NlY29uZGFyeSBqcy1hcHBseS1ndWVzdHMxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhcHBseUd1ZXN0c0Zyb21WaWV3Q2hpbGRyZW4oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBndWVzdHMuYnRuPy5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChwcm9tb0lucHV0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWxhYmVsXCIgZm9yPVwiZW1haWxcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb21vSW5wdXQucGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCIuLi5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInByb21vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLS1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLXByb21vLnN2ZyNpY29uLXByb21vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwib3BlbkluTmV3V2luZG93ID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiZ2VuZXJhdGVkVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlR2VuZXJhdGVkVXJsKCk7IGNsb3NlTW9kYWwoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|