@almatar/smart-booking-dashboard 0.0.2-alpha.5 → 0.0.2-alpha.7
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/hotel-cancel/almatar-hotel-auto-cancellation.component.mjs +8 -9
- package/esm2022/lib/components/hotel-cancel/components/almatar-hotel-auto-cancellation-refund-summary/almatar-hotel-auto-cancellation-refund-summary.component.mjs +3 -3
- package/esm2022/lib/components/hotel-cancel/components/almatar-hotel-auto-cancellation-result-overlay/almatar-hotel-auto-cancellation-result-overlay.component.mjs +16 -19
- package/esm2022/lib/components/hotel-cancel/components/almatar-hotel-auto-cancellation-select-rooms/almatar-hotel-auto-cancellation-select-rooms.component.mjs +3 -3
- package/esm2022/lib/components/hotel-cancel/components/hotel-refund-method-selector/hotel-refund-method-selector.component.mjs +9 -10
- package/fesm2022/almatar-smart-booking-dashboard.mjs +119 -125
- package/fesm2022/almatar-smart-booking-dashboard.mjs.map +1 -1
- package/lib/components/action-dialog/action-dialog.component.d.ts +1 -1
- package/lib/components/cancel-dialog/cancel-dialog.component.d.ts +3 -3
- package/lib/components/hotel-cancel/almatar-hotel-auto-cancellation.component.d.ts +1 -1
- package/lib/components/hotel-cancel/components/hotel-content/hotel-content.component.d.ts +1 -1
- package/lib/components/reissue-dialog/steps/reissue-notice/reissue-notice.component.d.ts +1 -1
- package/lib/components/result-panel/result-panel.component.d.ts +1 -1
- package/lib/pages/smart-booking-dashboard/smart-booking-dashboard.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -75,7 +75,7 @@ export class AlmatarHotelAutoCancellationSelectRoomsComponent {
|
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
77
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlmatarHotelAutoCancellationSelectRoomsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AlmatarHotelAutoCancellationSelectRoomsComponent, isStandalone: true, selector: "almatar-hotel-auto-cancellation-select-rooms", inputs: { packages: { classPropertyName: "packages", publicName: "packages", isSignal: true, isRequired: true, transformFunction: null }, hotelInfo: { classPropertyName: "hotelInfo", publicName: "hotelInfo", isSignal: true, isRequired: true, transformFunction: null }, bookingId: { classPropertyName: "bookingId", publicName: "bookingId", isSignal: true, isRequired: false, transformFunction: null }, hotelId: { classPropertyName: "hotelId", publicName: "hotelId", isSignal: true, isRequired: false, transformFunction: null }, currencyCode: { classPropertyName: "currencyCode", publicName: "currencyCode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { continueToCancel: "continueToCancel", closeModal: "closeModal", nonRefundableSubmitSuccess: "nonRefundableSubmitSuccess", chatWithAgent: "chatWithAgent" }, ngImport: i0, template: "<div class=\"select-rooms\">\n <div class=\"select-rooms__content\">\n @if (hotelInfo(); as hotel) {\n <div class=\"hotel-info-card\">\n <h3 class=\"hotel-info-card__name\">{{ hotel.hotelName }}</h3>\n\n <div class=\"hotel-info-card__content\">\n @if (hotel.hotelImage) {\n <div class=\"hotel-info-card__image\">\n <img [src]=\"hotel.hotelImage\" [alt]=\"hotel.hotelName\" />\n </div>\n }\n\n <div class=\"hotel-info-card__dates\">\n <div class=\"date-box\">\n <span class=\"date-box__label\">CHECK-IN</span>\n <span class=\"date-box__day\">{{\n formatDate(hotel.checkIn).day\n }}</span>\n <span class=\"date-box__month\">{{\n formatDate(hotel.checkIn).month\n }}</span>\n <span class=\"date-box__day-name\">{{\n formatDate(hotel.checkIn).dayName\n }}</span>\n <span class=\"date-box__time\"\n >From\n {{ hotel?.checkInTime }}</span\n >\n </div>\n\n <div class=\"date-box\">\n <span class=\"date-box__label\">CHECK-OUT</span>\n <span class=\"date-box__day\">{{\n formatDate(hotel.checkOut).day\n }}</span>\n <span class=\"date-box__month\">{{\n formatDate(hotel.checkOut).month\n }}</span>\n <span class=\"date-box__day-name\">{{\n formatDate(hotel.checkOut).dayName\n }}</span>\n <span class=\"date-box__time\"\n >Until\n {{ hotel?.checkOutTime }}</span\n >\n </div>\n </div>\n\n <div class=\"hotel-info-card__stats\">\n <div class=\"stat-box\">\n <span class=\"stat-box__label\">Rooms</span>\n <span class=\"stat-box__value\">{{ totalRoomsCount() }}</span>\n </div>\n <div class=\"stat-box\">\n <span class=\"stat-box__label\">NIGHTS</span>\n <span class=\"stat-box__value\">{{ hotel.nights }}</span>\n </div>\n </div>\n </div>\n </div>\n }\n\n <div class=\"select-rooms__notice select-rooms__notice--default\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\">\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"9\"\n stroke=\"currentColor\"\n stroke-width=\"1.6\"\n />\n <path\n d=\"M12 11v5.5M12 8v.01\"\n stroke=\"currentColor\"\n stroke-width=\"1.6\"\n stroke-linecap=\"round\"\n />\n </svg>\n <span>\n Some rooms in each package, share one booking reference, so they will be cancelled together.</span\n >\n </div>\n\n <div class=\"rooms-list\">\n @for (package of displayPackages(); track $index) {\n @if (!package.manualRefundRequest && !package.isCancelled) {\n <almatar-hotel-auto-cancellation-refundable-room\n [package]=\"package\"\n [hideCheckbox]=\"isSinglePackage()\"\n (togglePackage)=\"togglePackage($event)\"\n />\n } @else {\n <almatar-hotel-auto-cancellation-non-refundable-room\n [package]=\"package\"\n [allPackages]=\"displayPackages()\"\n [hotelInfo]=\"hotelInfo()\"\n [hotelId]=\"hotelId()\"\n [currencyCode]=\"currencyCode()\"\n [allPackagesNonRefundable]=\"allPackagesNonRefundable()\"\n (closeModal)=\"onClose()\"\n (nonRefundableSubmitSuccess)=\"onNonRefundableSubmitSuccess($event)\"\n />\n }\n }\n </div>\n\n @if (allPackagesNonRefundable()) {\n <div class=\"select-rooms__notice select-rooms__notice--warning\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\">\n <!-- warning triangle icon -->\n <path\n d=\"M12 9v4M12 17h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z\"\n stroke=\"currentColor\"\n stroke-width=\"1.6\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <span>Sorry, we couldn't process your refund right now. Please chat with our Customer Service team for help.</span>\n </div>\n }\n </div>\n\n <div class=\"select-rooms__footer\">\n @if (allPackagesNonRefundable()) {\n <button\n class=\"main_btn main_btn--chat-with-us\"\n type=\"button\"\n (click)=\"onChatWithAgent()\"\n >\n Chat with customer service\n </button>\n } @else {\n @if (!hasSelectedPackages()) {\n <p class=\"select-rooms__hint\">\n Select at least one room to continue\n </p>\n }\n <button\n class=\"main_btn\"\n type=\"button\"\n [disabled]=\"!hasSelectedPackages()\"\n (click)=\"onContinue()\"\n >\n Continue to cancel\n </button>\n }\n </div>\n</div>\n", styles: [".select-rooms{display:flex;flex-direction:column;height:100%;background-color:#fff}.select-rooms__header{padding:16px;border-bottom:1px solid var(--almatar-neutral-border-default)}.select-rooms__notice{display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:400;margin:12px 0}.select-rooms__notice svg{flex-shrink:0;width:18px;height:18px;margin-top:1px}.select-rooms__notice--info{background:var(--almatar-info-surface, #eaf2ff);border:1px solid var(--almatar-info-border, #b9d6ff);color:var(--almatar-info-text, #1a56db);border-radius:12px}.select-rooms__notice--info svg{color:var(--almatar-info-icon, #1a56db)}.select-rooms__notice--default{background:#f7f7f8;border:1px solid rgb(217,217,222);color:#1b1a1f;border-radius:12px}.select-rooms__notice--default svg{color:#1b1a1f}.select-rooms__notice--warning{background:#faedcc;border:1px solid rgb(137,99,42);color:#89632a;border-radius:12px}.select-rooms__notice--warning svg{color:#89632a}.select-rooms__title{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-semibold);color:var(--almatar-neutral-text-primary-static);margin-bottom:4px}.select-rooms__subtitle{font-size:calc(14 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static)}.select-rooms__content{flex:1;overflow-y:auto;padding:12px}.select-rooms__footer{padding:16px;background:var(--almatar-neutral-surface-card);border-top:1px solid rgb(217,217,222)}.select-rooms__hint{text-align:center;font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static);margin-bottom:12px}.hotel-info-card{background:var(--almatar-neutral-surface-card);border-radius:12px;padding:12px;margin-bottom:12px;border:1px solid rgb(217,217,222)}.hotel-info-card__name{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-medium);color:var(--almatar-neutral-text-primary-static);margin-bottom:12px}.hotel-info-card__content{display:flex;align-items:stretch;gap:0}.hotel-info-card__image{width:120px;overflow:hidden;flex-shrink:0;padding-inline-end:12px;border-inline-end:1px solid rgb(217,217,222)}.hotel-info-card__image img{border-radius:5px;width:100%;height:100%;object-fit:cover;max-height:100px}.hotel-info-card__dates{display:flex;flex:1;border-inline-start:1px solid var(--almatar-neutral-border-default)}.hotel-info-card__stats{display:flex;flex-direction:column;justify-content:center;border-inline-start:1px solid var(--almatar-neutral-border-default);padding-inline-start:12px;margin-inline-start:0;min-width:70px}.date-box{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;padding:0 12px;border-inline-end:1px solid rgb(217,217,222);gap:4px}.date-box__label{font-size:calc(10 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static);text-transform:uppercase;letter-spacing:.5px}.date-box__day{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-medium);color:#491d95;line-height:1.2}.date-box__month{font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-regular);color:var(--almatar-neutral-text-primary-static)}.date-box__day-name{font-size:calc(10 * var(--almatar-font-size-ratio, 1) * 1px);color:#747583}.date-box__time{font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-regular);color:var(--almatar-neutral-text-primary-static)}.stat-box{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 0;border-bottom:1px solid rgb(217,217,222)}.stat-box:last-child{border-bottom:none}.stat-box__label{font-size:calc(11 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.stat-box__value{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-medium);color:var(--almatar-neutral-text-primary-static);line-height:1.3;color:#491d95}.rooms-list{display:flex;flex-direction:column;gap:12px}.main_btn{font-weight:var(--almatar-font-weight-medium);padding:17.5px;border-radius:6px;display:block;width:100%}.main_btn:disabled{opacity:.5;cursor:not-allowed}.main_btn--chat-with-us{background-color:#fff;border:1px solid rgb(217,217,222);color:#1b1a1f}button[disabled],input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{background-color:#747583;color:#b8b9c1;border-radius:12px}.info-banner{display:flex;gap:8px;border:1px solid rgb(11,84,194);border-radius:12px;padding:14px;align-items:flex-start;transition:all .3s cubic-bezier(.4,0,.2,1)}.info-banner__icon{color:#0b54c2;flex-shrink:0;width:20px;height:20px}.info-banner__content{flex:1}.info-banner__text{font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);color:#0b54c2;margin:0 0 4px;font-weight:var(--almatar-font-weight-regular);line-height:16px}.info-banner__subtext{font-size:calc(14 * var(--almatar-font-size-ratio, 1) * 1px);color:#1b1a1f;margin:0;line-height:1.4}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AlmatarHotelAutoCancellationRefundableRoomComponent, selector: "almatar-hotel-auto-cancellation-refundable-room", inputs: ["package", "hideCheckbox"], outputs: ["togglePackage"] }, { kind: "component", type: AlmatarHotelAutoCancellationNonRefundableRoomComponent, selector: "almatar-hotel-auto-cancellation-non-refundable-room", inputs: ["package", "allPackages", "hotelInfo", "hotelId", "currencyCode", "allPackagesNonRefundable"], outputs: ["closeModal", "nonRefundableSubmitSuccess"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
78
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AlmatarHotelAutoCancellationSelectRoomsComponent, isStandalone: true, selector: "almatar-hotel-auto-cancellation-select-rooms", inputs: { packages: { classPropertyName: "packages", publicName: "packages", isSignal: true, isRequired: true, transformFunction: null }, hotelInfo: { classPropertyName: "hotelInfo", publicName: "hotelInfo", isSignal: true, isRequired: true, transformFunction: null }, bookingId: { classPropertyName: "bookingId", publicName: "bookingId", isSignal: true, isRequired: false, transformFunction: null }, hotelId: { classPropertyName: "hotelId", publicName: "hotelId", isSignal: true, isRequired: false, transformFunction: null }, currencyCode: { classPropertyName: "currencyCode", publicName: "currencyCode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { continueToCancel: "continueToCancel", closeModal: "closeModal", nonRefundableSubmitSuccess: "nonRefundableSubmitSuccess", chatWithAgent: "chatWithAgent" }, ngImport: i0, template: "<div class=\"select-rooms\">\n <div class=\"select-rooms__content\">\n @if (hotelInfo(); as hotel) {\n <div class=\"hotel-info-card\">\n <h3 class=\"hotel-info-card__name\">{{ hotel.hotelName }}</h3>\n\n <div class=\"hotel-info-card__content\">\n @if (hotel.hotelImage) {\n <div class=\"hotel-info-card__image\">\n <img [src]=\"hotel.hotelImage\" [alt]=\"hotel.hotelName\" />\n </div>\n }\n\n <div class=\"hotel-info-card__dates\">\n <div class=\"date-box\">\n <span class=\"date-box__label\">CHECK-IN</span>\n <span class=\"date-box__day\">{{\n formatDate(hotel.checkIn).day\n }}</span>\n <span class=\"date-box__month\">{{\n formatDate(hotel.checkIn).month\n }}</span>\n <span class=\"date-box__day-name\">{{\n formatDate(hotel.checkIn).dayName\n }}</span>\n <span class=\"date-box__time\"\n >From\n {{ hotel?.checkInTime }}</span\n >\n </div>\n\n <div class=\"date-box\">\n <span class=\"date-box__label\">CHECK-OUT</span>\n <span class=\"date-box__day\">{{\n formatDate(hotel.checkOut).day\n }}</span>\n <span class=\"date-box__month\">{{\n formatDate(hotel.checkOut).month\n }}</span>\n <span class=\"date-box__day-name\">{{\n formatDate(hotel.checkOut).dayName\n }}</span>\n <span class=\"date-box__time\"\n >Until\n {{ hotel?.checkOutTime }}</span\n >\n </div>\n </div>\n\n <div class=\"hotel-info-card__stats\">\n <div class=\"stat-box\">\n <span class=\"stat-box__label\">Rooms</span>\n <span class=\"stat-box__value\">{{ totalRoomsCount() }}</span>\n </div>\n <div class=\"stat-box\">\n <span class=\"stat-box__label\">NIGHTS</span>\n <span class=\"stat-box__value\">{{ hotel.nights }}</span>\n </div>\n </div>\n </div>\n </div>\n }\n\n <div class=\"select-rooms__notice select-rooms__notice--default\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\">\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"9\"\n stroke=\"currentColor\"\n stroke-width=\"1.6\"\n />\n <path\n d=\"M12 11v5.5M12 8v.01\"\n stroke=\"currentColor\"\n stroke-width=\"1.6\"\n stroke-linecap=\"round\"\n />\n </svg>\n <span>\n Some rooms in each package, share one booking reference, so they will be cancelled together.</span\n >\n </div>\n\n <div class=\"rooms-list\">\n @for (package of displayPackages(); track $index) {\n @if (!package.manualRefundRequest && !package.isCancelled) {\n <almatar-hotel-auto-cancellation-refundable-room\n [package]=\"package\"\n [hideCheckbox]=\"isSinglePackage()\"\n (togglePackage)=\"togglePackage($event)\"\n />\n } @else {\n <almatar-hotel-auto-cancellation-non-refundable-room\n [package]=\"package\"\n [allPackages]=\"displayPackages()\"\n [hotelInfo]=\"hotelInfo()\"\n [hotelId]=\"hotelId()\"\n [currencyCode]=\"currencyCode()\"\n [allPackagesNonRefundable]=\"allPackagesNonRefundable()\"\n (closeModal)=\"onClose()\"\n (nonRefundableSubmitSuccess)=\"onNonRefundableSubmitSuccess($event)\"\n />\n }\n }\n </div>\n\n @if (allPackagesNonRefundable()) {\n <div class=\"select-rooms__notice select-rooms__notice--warning\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\">\n <!-- warning triangle icon -->\n <path\n d=\"M12 9v4M12 17h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z\"\n stroke=\"currentColor\"\n stroke-width=\"1.6\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <span>Sorry, we couldn't process your refund right now. Please chat with our Customer Service team for help.</span>\n </div>\n }\n </div>\n\n <div class=\"select-rooms__footer\">\n @if (allPackagesNonRefundable()) {\n \n } @else {\n @if (!hasSelectedPackages()) {\n <p class=\"select-rooms__hint\">\n Select at least one room to continue\n </p>\n }\n <button\n class=\"main_btn\"\n type=\"button\"\n [disabled]=\"!hasSelectedPackages()\"\n (click)=\"onContinue()\"\n >\n Continue to cancel\n </button>\n }\n </div>\n</div>\n", styles: [".select-rooms{display:flex;flex-direction:column;height:100%;background-color:#fff}.select-rooms__header{padding:16px;border-bottom:1px solid var(--almatar-neutral-border-default)}.select-rooms__notice{display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:400;margin:12px 0}.select-rooms__notice svg{flex-shrink:0;width:18px;height:18px;margin-top:1px}.select-rooms__notice--info{background:var(--almatar-info-surface, #eaf2ff);border:1px solid var(--almatar-info-border, #b9d6ff);color:var(--almatar-info-text, #1a56db);border-radius:12px}.select-rooms__notice--info svg{color:var(--almatar-info-icon, #1a56db)}.select-rooms__notice--default{background:#f7f7f8;border:1px solid rgb(217,217,222);color:#1b1a1f;border-radius:12px}.select-rooms__notice--default svg{color:#1b1a1f}.select-rooms__notice--warning{background:#faedcc;border:1px solid rgb(137,99,42);color:#89632a;border-radius:12px}.select-rooms__notice--warning svg{color:#89632a}.select-rooms__title{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-semibold);color:var(--almatar-neutral-text-primary-static);margin-bottom:4px}.select-rooms__subtitle{font-size:calc(14 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static)}.select-rooms__content{flex:1;overflow-y:auto;padding:12px}.select-rooms__footer{padding:16px;background:var(--almatar-neutral-surface-card);border-top:1px solid rgb(217,217,222)}.select-rooms__hint{text-align:center;font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static);margin-bottom:12px}.hotel-info-card{background:var(--almatar-neutral-surface-card);border-radius:12px;padding:12px;margin-bottom:12px;border:1px solid rgb(217,217,222)}.hotel-info-card__name{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-medium);color:var(--almatar-neutral-text-primary-static);margin-bottom:12px}.hotel-info-card__content{display:flex;align-items:stretch;gap:0}.hotel-info-card__image{width:120px;overflow:hidden;flex-shrink:0;padding-inline-end:12px;border-inline-end:1px solid rgb(217,217,222)}.hotel-info-card__image img{border-radius:5px;width:100%;height:100%;object-fit:cover;max-height:100px}.hotel-info-card__dates{display:flex;flex:1;border-inline-start:1px solid var(--almatar-neutral-border-default)}.hotel-info-card__stats{display:flex;flex-direction:column;justify-content:center;border-inline-start:1px solid var(--almatar-neutral-border-default);padding-inline-start:12px;margin-inline-start:0;min-width:70px}.date-box{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;padding:0 12px;border-inline-end:1px solid rgb(217,217,222);gap:4px}.date-box__label{font-size:calc(10 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static);text-transform:uppercase;letter-spacing:.5px}.date-box__day{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-medium);color:#491d95;line-height:1.2}.date-box__month{font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-regular);color:var(--almatar-neutral-text-primary-static)}.date-box__day-name{font-size:calc(10 * var(--almatar-font-size-ratio, 1) * 1px);color:#747583}.date-box__time{font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-regular);color:var(--almatar-neutral-text-primary-static)}.stat-box{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 0;border-bottom:1px solid rgb(217,217,222)}.stat-box:last-child{border-bottom:none}.stat-box__label{font-size:calc(11 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.stat-box__value{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-medium);color:var(--almatar-neutral-text-primary-static);line-height:1.3;color:#491d95}.rooms-list{display:flex;flex-direction:column;gap:12px}.main_btn{font-weight:var(--almatar-font-weight-medium);padding:17.5px;border-radius:6px;display:block;width:100%}.main_btn:disabled{opacity:.5;cursor:not-allowed}.main_btn--chat-with-us{background-color:#fff;border:1px solid rgb(217,217,222);color:#1b1a1f}button[disabled],input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{background-color:#747583;color:#b8b9c1;border-radius:12px}.info-banner{display:flex;gap:8px;border:1px solid rgb(11,84,194);border-radius:12px;padding:14px;align-items:flex-start;transition:all .3s cubic-bezier(.4,0,.2,1)}.info-banner__icon{color:#0b54c2;flex-shrink:0;width:20px;height:20px}.info-banner__content{flex:1}.info-banner__text{font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);color:#0b54c2;margin:0 0 4px;font-weight:var(--almatar-font-weight-regular);line-height:16px}.info-banner__subtext{font-size:calc(14 * var(--almatar-font-size-ratio, 1) * 1px);color:#1b1a1f;margin:0;line-height:1.4}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AlmatarHotelAutoCancellationRefundableRoomComponent, selector: "almatar-hotel-auto-cancellation-refundable-room", inputs: ["package", "hideCheckbox"], outputs: ["togglePackage"] }, { kind: "component", type: AlmatarHotelAutoCancellationNonRefundableRoomComponent, selector: "almatar-hotel-auto-cancellation-non-refundable-room", inputs: ["package", "allPackages", "hotelInfo", "hotelId", "currencyCode", "allPackagesNonRefundable"], outputs: ["closeModal", "nonRefundableSubmitSuccess"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
79
79
|
}
|
|
80
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlmatarHotelAutoCancellationSelectRoomsComponent, decorators: [{
|
|
81
81
|
type: Component,
|
|
@@ -83,6 +83,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
83
83
|
CommonModule,
|
|
84
84
|
AlmatarHotelAutoCancellationRefundableRoomComponent,
|
|
85
85
|
AlmatarHotelAutoCancellationNonRefundableRoomComponent,
|
|
86
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"select-rooms\">\n <div class=\"select-rooms__content\">\n @if (hotelInfo(); as hotel) {\n <div class=\"hotel-info-card\">\n <h3 class=\"hotel-info-card__name\">{{ hotel.hotelName }}</h3>\n\n <div class=\"hotel-info-card__content\">\n @if (hotel.hotelImage) {\n <div class=\"hotel-info-card__image\">\n <img [src]=\"hotel.hotelImage\" [alt]=\"hotel.hotelName\" />\n </div>\n }\n\n <div class=\"hotel-info-card__dates\">\n <div class=\"date-box\">\n <span class=\"date-box__label\">CHECK-IN</span>\n <span class=\"date-box__day\">{{\n formatDate(hotel.checkIn).day\n }}</span>\n <span class=\"date-box__month\">{{\n formatDate(hotel.checkIn).month\n }}</span>\n <span class=\"date-box__day-name\">{{\n formatDate(hotel.checkIn).dayName\n }}</span>\n <span class=\"date-box__time\"\n >From\n {{ hotel?.checkInTime }}</span\n >\n </div>\n\n <div class=\"date-box\">\n <span class=\"date-box__label\">CHECK-OUT</span>\n <span class=\"date-box__day\">{{\n formatDate(hotel.checkOut).day\n }}</span>\n <span class=\"date-box__month\">{{\n formatDate(hotel.checkOut).month\n }}</span>\n <span class=\"date-box__day-name\">{{\n formatDate(hotel.checkOut).dayName\n }}</span>\n <span class=\"date-box__time\"\n >Until\n {{ hotel?.checkOutTime }}</span\n >\n </div>\n </div>\n\n <div class=\"hotel-info-card__stats\">\n <div class=\"stat-box\">\n <span class=\"stat-box__label\">Rooms</span>\n <span class=\"stat-box__value\">{{ totalRoomsCount() }}</span>\n </div>\n <div class=\"stat-box\">\n <span class=\"stat-box__label\">NIGHTS</span>\n <span class=\"stat-box__value\">{{ hotel.nights }}</span>\n </div>\n </div>\n </div>\n </div>\n }\n\n <div class=\"select-rooms__notice select-rooms__notice--default\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\">\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"9\"\n stroke=\"currentColor\"\n stroke-width=\"1.6\"\n />\n <path\n d=\"M12 11v5.5M12 8v.01\"\n stroke=\"currentColor\"\n stroke-width=\"1.6\"\n stroke-linecap=\"round\"\n />\n </svg>\n <span>\n Some rooms in each package, share one booking reference, so they will be cancelled together.</span\n >\n </div>\n\n <div class=\"rooms-list\">\n @for (package of displayPackages(); track $index) {\n @if (!package.manualRefundRequest && !package.isCancelled) {\n <almatar-hotel-auto-cancellation-refundable-room\n [package]=\"package\"\n [hideCheckbox]=\"isSinglePackage()\"\n (togglePackage)=\"togglePackage($event)\"\n />\n } @else {\n <almatar-hotel-auto-cancellation-non-refundable-room\n [package]=\"package\"\n [allPackages]=\"displayPackages()\"\n [hotelInfo]=\"hotelInfo()\"\n [hotelId]=\"hotelId()\"\n [currencyCode]=\"currencyCode()\"\n [allPackagesNonRefundable]=\"allPackagesNonRefundable()\"\n (closeModal)=\"onClose()\"\n (nonRefundableSubmitSuccess)=\"onNonRefundableSubmitSuccess($event)\"\n />\n }\n }\n </div>\n\n @if (allPackagesNonRefundable()) {\n <div class=\"select-rooms__notice select-rooms__notice--warning\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\">\n <!-- warning triangle icon -->\n <path\n d=\"M12 9v4M12 17h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z\"\n stroke=\"currentColor\"\n stroke-width=\"1.6\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <span>Sorry, we couldn't process your refund right now. Please chat with our Customer Service team for help.</span>\n </div>\n }\n </div>\n\n <div class=\"select-rooms__footer\">\n @if (allPackagesNonRefundable()) {\n <button\n class=\"main_btn main_btn--chat-with-us\"\n type=\"button\"\n (click)=\"onChatWithAgent()\"\n >\n Chat with customer service\n </button>\n } @else {\n @if (!hasSelectedPackages()) {\n <p class=\"select-rooms__hint\">\n Select at least one room to continue\n </p>\n }\n <button\n class=\"main_btn\"\n type=\"button\"\n [disabled]=\"!hasSelectedPackages()\"\n (click)=\"onContinue()\"\n >\n Continue to cancel\n </button>\n }\n </div>\n</div>\n", styles: [".select-rooms{display:flex;flex-direction:column;height:100%;background-color:#fff}.select-rooms__header{padding:16px;border-bottom:1px solid var(--almatar-neutral-border-default)}.select-rooms__notice{display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:400;margin:12px 0}.select-rooms__notice svg{flex-shrink:0;width:18px;height:18px;margin-top:1px}.select-rooms__notice--info{background:var(--almatar-info-surface, #eaf2ff);border:1px solid var(--almatar-info-border, #b9d6ff);color:var(--almatar-info-text, #1a56db);border-radius:12px}.select-rooms__notice--info svg{color:var(--almatar-info-icon, #1a56db)}.select-rooms__notice--default{background:#f7f7f8;border:1px solid rgb(217,217,222);color:#1b1a1f;border-radius:12px}.select-rooms__notice--default svg{color:#1b1a1f}.select-rooms__notice--warning{background:#faedcc;border:1px solid rgb(137,99,42);color:#89632a;border-radius:12px}.select-rooms__notice--warning svg{color:#89632a}.select-rooms__title{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-semibold);color:var(--almatar-neutral-text-primary-static);margin-bottom:4px}.select-rooms__subtitle{font-size:calc(14 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static)}.select-rooms__content{flex:1;overflow-y:auto;padding:12px}.select-rooms__footer{padding:16px;background:var(--almatar-neutral-surface-card);border-top:1px solid rgb(217,217,222)}.select-rooms__hint{text-align:center;font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static);margin-bottom:12px}.hotel-info-card{background:var(--almatar-neutral-surface-card);border-radius:12px;padding:12px;margin-bottom:12px;border:1px solid rgb(217,217,222)}.hotel-info-card__name{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-medium);color:var(--almatar-neutral-text-primary-static);margin-bottom:12px}.hotel-info-card__content{display:flex;align-items:stretch;gap:0}.hotel-info-card__image{width:120px;overflow:hidden;flex-shrink:0;padding-inline-end:12px;border-inline-end:1px solid rgb(217,217,222)}.hotel-info-card__image img{border-radius:5px;width:100%;height:100%;object-fit:cover;max-height:100px}.hotel-info-card__dates{display:flex;flex:1;border-inline-start:1px solid var(--almatar-neutral-border-default)}.hotel-info-card__stats{display:flex;flex-direction:column;justify-content:center;border-inline-start:1px solid var(--almatar-neutral-border-default);padding-inline-start:12px;margin-inline-start:0;min-width:70px}.date-box{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;padding:0 12px;border-inline-end:1px solid rgb(217,217,222);gap:4px}.date-box__label{font-size:calc(10 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static);text-transform:uppercase;letter-spacing:.5px}.date-box__day{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-medium);color:#491d95;line-height:1.2}.date-box__month{font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-regular);color:var(--almatar-neutral-text-primary-static)}.date-box__day-name{font-size:calc(10 * var(--almatar-font-size-ratio, 1) * 1px);color:#747583}.date-box__time{font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-regular);color:var(--almatar-neutral-text-primary-static)}.stat-box{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 0;border-bottom:1px solid rgb(217,217,222)}.stat-box:last-child{border-bottom:none}.stat-box__label{font-size:calc(11 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.stat-box__value{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-medium);color:var(--almatar-neutral-text-primary-static);line-height:1.3;color:#491d95}.rooms-list{display:flex;flex-direction:column;gap:12px}.main_btn{font-weight:var(--almatar-font-weight-medium);padding:17.5px;border-radius:6px;display:block;width:100%}.main_btn:disabled{opacity:.5;cursor:not-allowed}.main_btn--chat-with-us{background-color:#fff;border:1px solid rgb(217,217,222);color:#1b1a1f}button[disabled],input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{background-color:#747583;color:#b8b9c1;border-radius:12px}.info-banner{display:flex;gap:8px;border:1px solid rgb(11,84,194);border-radius:12px;padding:14px;align-items:flex-start;transition:all .3s cubic-bezier(.4,0,.2,1)}.info-banner__icon{color:#0b54c2;flex-shrink:0;width:20px;height:20px}.info-banner__content{flex:1}.info-banner__text{font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);color:#0b54c2;margin:0 0 4px;font-weight:var(--almatar-font-weight-regular);line-height:16px}.info-banner__subtext{font-size:calc(14 * var(--almatar-font-size-ratio, 1) * 1px);color:#1b1a1f;margin:0;line-height:1.4}\n"] }]
|
|
86
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"select-rooms\">\n <div class=\"select-rooms__content\">\n @if (hotelInfo(); as hotel) {\n <div class=\"hotel-info-card\">\n <h3 class=\"hotel-info-card__name\">{{ hotel.hotelName }}</h3>\n\n <div class=\"hotel-info-card__content\">\n @if (hotel.hotelImage) {\n <div class=\"hotel-info-card__image\">\n <img [src]=\"hotel.hotelImage\" [alt]=\"hotel.hotelName\" />\n </div>\n }\n\n <div class=\"hotel-info-card__dates\">\n <div class=\"date-box\">\n <span class=\"date-box__label\">CHECK-IN</span>\n <span class=\"date-box__day\">{{\n formatDate(hotel.checkIn).day\n }}</span>\n <span class=\"date-box__month\">{{\n formatDate(hotel.checkIn).month\n }}</span>\n <span class=\"date-box__day-name\">{{\n formatDate(hotel.checkIn).dayName\n }}</span>\n <span class=\"date-box__time\"\n >From\n {{ hotel?.checkInTime }}</span\n >\n </div>\n\n <div class=\"date-box\">\n <span class=\"date-box__label\">CHECK-OUT</span>\n <span class=\"date-box__day\">{{\n formatDate(hotel.checkOut).day\n }}</span>\n <span class=\"date-box__month\">{{\n formatDate(hotel.checkOut).month\n }}</span>\n <span class=\"date-box__day-name\">{{\n formatDate(hotel.checkOut).dayName\n }}</span>\n <span class=\"date-box__time\"\n >Until\n {{ hotel?.checkOutTime }}</span\n >\n </div>\n </div>\n\n <div class=\"hotel-info-card__stats\">\n <div class=\"stat-box\">\n <span class=\"stat-box__label\">Rooms</span>\n <span class=\"stat-box__value\">{{ totalRoomsCount() }}</span>\n </div>\n <div class=\"stat-box\">\n <span class=\"stat-box__label\">NIGHTS</span>\n <span class=\"stat-box__value\">{{ hotel.nights }}</span>\n </div>\n </div>\n </div>\n </div>\n }\n\n <div class=\"select-rooms__notice select-rooms__notice--default\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\">\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"9\"\n stroke=\"currentColor\"\n stroke-width=\"1.6\"\n />\n <path\n d=\"M12 11v5.5M12 8v.01\"\n stroke=\"currentColor\"\n stroke-width=\"1.6\"\n stroke-linecap=\"round\"\n />\n </svg>\n <span>\n Some rooms in each package, share one booking reference, so they will be cancelled together.</span\n >\n </div>\n\n <div class=\"rooms-list\">\n @for (package of displayPackages(); track $index) {\n @if (!package.manualRefundRequest && !package.isCancelled) {\n <almatar-hotel-auto-cancellation-refundable-room\n [package]=\"package\"\n [hideCheckbox]=\"isSinglePackage()\"\n (togglePackage)=\"togglePackage($event)\"\n />\n } @else {\n <almatar-hotel-auto-cancellation-non-refundable-room\n [package]=\"package\"\n [allPackages]=\"displayPackages()\"\n [hotelInfo]=\"hotelInfo()\"\n [hotelId]=\"hotelId()\"\n [currencyCode]=\"currencyCode()\"\n [allPackagesNonRefundable]=\"allPackagesNonRefundable()\"\n (closeModal)=\"onClose()\"\n (nonRefundableSubmitSuccess)=\"onNonRefundableSubmitSuccess($event)\"\n />\n }\n }\n </div>\n\n @if (allPackagesNonRefundable()) {\n <div class=\"select-rooms__notice select-rooms__notice--warning\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\">\n <!-- warning triangle icon -->\n <path\n d=\"M12 9v4M12 17h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z\"\n stroke=\"currentColor\"\n stroke-width=\"1.6\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <span>Sorry, we couldn't process your refund right now. Please chat with our Customer Service team for help.</span>\n </div>\n }\n </div>\n\n <div class=\"select-rooms__footer\">\n @if (allPackagesNonRefundable()) {\n \n } @else {\n @if (!hasSelectedPackages()) {\n <p class=\"select-rooms__hint\">\n Select at least one room to continue\n </p>\n }\n <button\n class=\"main_btn\"\n type=\"button\"\n [disabled]=\"!hasSelectedPackages()\"\n (click)=\"onContinue()\"\n >\n Continue to cancel\n </button>\n }\n </div>\n</div>\n", styles: [".select-rooms{display:flex;flex-direction:column;height:100%;background-color:#fff}.select-rooms__header{padding:16px;border-bottom:1px solid var(--almatar-neutral-border-default)}.select-rooms__notice{display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:400;margin:12px 0}.select-rooms__notice svg{flex-shrink:0;width:18px;height:18px;margin-top:1px}.select-rooms__notice--info{background:var(--almatar-info-surface, #eaf2ff);border:1px solid var(--almatar-info-border, #b9d6ff);color:var(--almatar-info-text, #1a56db);border-radius:12px}.select-rooms__notice--info svg{color:var(--almatar-info-icon, #1a56db)}.select-rooms__notice--default{background:#f7f7f8;border:1px solid rgb(217,217,222);color:#1b1a1f;border-radius:12px}.select-rooms__notice--default svg{color:#1b1a1f}.select-rooms__notice--warning{background:#faedcc;border:1px solid rgb(137,99,42);color:#89632a;border-radius:12px}.select-rooms__notice--warning svg{color:#89632a}.select-rooms__title{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-semibold);color:var(--almatar-neutral-text-primary-static);margin-bottom:4px}.select-rooms__subtitle{font-size:calc(14 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static)}.select-rooms__content{flex:1;overflow-y:auto;padding:12px}.select-rooms__footer{padding:16px;background:var(--almatar-neutral-surface-card);border-top:1px solid rgb(217,217,222)}.select-rooms__hint{text-align:center;font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static);margin-bottom:12px}.hotel-info-card{background:var(--almatar-neutral-surface-card);border-radius:12px;padding:12px;margin-bottom:12px;border:1px solid rgb(217,217,222)}.hotel-info-card__name{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-medium);color:var(--almatar-neutral-text-primary-static);margin-bottom:12px}.hotel-info-card__content{display:flex;align-items:stretch;gap:0}.hotel-info-card__image{width:120px;overflow:hidden;flex-shrink:0;padding-inline-end:12px;border-inline-end:1px solid rgb(217,217,222)}.hotel-info-card__image img{border-radius:5px;width:100%;height:100%;object-fit:cover;max-height:100px}.hotel-info-card__dates{display:flex;flex:1;border-inline-start:1px solid var(--almatar-neutral-border-default)}.hotel-info-card__stats{display:flex;flex-direction:column;justify-content:center;border-inline-start:1px solid var(--almatar-neutral-border-default);padding-inline-start:12px;margin-inline-start:0;min-width:70px}.date-box{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;padding:0 12px;border-inline-end:1px solid rgb(217,217,222);gap:4px}.date-box__label{font-size:calc(10 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static);text-transform:uppercase;letter-spacing:.5px}.date-box__day{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-medium);color:#491d95;line-height:1.2}.date-box__month{font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-regular);color:var(--almatar-neutral-text-primary-static)}.date-box__day-name{font-size:calc(10 * var(--almatar-font-size-ratio, 1) * 1px);color:#747583}.date-box__time{font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-regular);color:var(--almatar-neutral-text-primary-static)}.stat-box{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 0;border-bottom:1px solid rgb(217,217,222)}.stat-box:last-child{border-bottom:none}.stat-box__label{font-size:calc(11 * var(--almatar-font-size-ratio, 1) * 1px);color:var(--almatar-neutral-text-secondary-static);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.stat-box__value{font-size:calc(18 * var(--almatar-font-size-ratio, 1) * 1px);font-weight:var(--almatar-font-weight-medium);color:var(--almatar-neutral-text-primary-static);line-height:1.3;color:#491d95}.rooms-list{display:flex;flex-direction:column;gap:12px}.main_btn{font-weight:var(--almatar-font-weight-medium);padding:17.5px;border-radius:6px;display:block;width:100%}.main_btn:disabled{opacity:.5;cursor:not-allowed}.main_btn--chat-with-us{background-color:#fff;border:1px solid rgb(217,217,222);color:#1b1a1f}button[disabled],input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{background-color:#747583;color:#b8b9c1;border-radius:12px}.info-banner{display:flex;gap:8px;border:1px solid rgb(11,84,194);border-radius:12px;padding:14px;align-items:flex-start;transition:all .3s cubic-bezier(.4,0,.2,1)}.info-banner__icon{color:#0b54c2;flex-shrink:0;width:20px;height:20px}.info-banner__content{flex:1}.info-banner__text{font-size:calc(12 * var(--almatar-font-size-ratio, 1) * 1px);color:#0b54c2;margin:0 0 4px;font-weight:var(--almatar-font-weight-regular);line-height:16px}.info-banner__subtext{font-size:calc(14 * var(--almatar-font-size-ratio, 1) * 1px);color:#1b1a1f;margin:0;line-height:1.4}\n"] }]
|
|
87
87
|
}], ctorParameters: () => [] });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxtYXRhci1ob3RlbC1hdXRvLWNhbmNlbGxhdGlvbi1zZWxlY3Qtcm9vbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYm9va2luZy1kYXNoYm9hcmQvc3JjL2xpYi9jb21wb25lbnRzL2hvdGVsLWNhbmNlbC9jb21wb25lbnRzL2FsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tc2VsZWN0LXJvb21zL2FsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tc2VsZWN0LXJvb21zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LWJvb2tpbmctZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9ob3RlbC1jYW5jZWwvY29tcG9uZW50cy9hbG1hdGFyLWhvdGVsLWF1dG8tY2FuY2VsbGF0aW9uLXNlbGVjdC1yb29tcy9hbG1hdGFyLWhvdGVsLWF1dG8tY2FuY2VsbGF0aW9uLXNlbGVjdC1yb29tcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUzRSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFLNUIsT0FBTyxFQUFFLG1EQUFtRCxFQUFFLE1BQU0sd0hBQXdILENBQUM7QUFDN0wsT0FBTyxFQUFFLHNEQUFzRCxFQUFFLE1BQU0sZ0lBQWdJLENBQUM7QUFDeE0sT0FBTyxFQUFFLDRDQUE0QyxFQUFF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QUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELDRCQUE0QixDQUFDLFdBQW1CO1FBQzlDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTO1FBTWxCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxPQUFPO1lBQ0wsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDYixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDdkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDMUIsQ0FBQztJQUNKLENBQUM7K0dBcEhVLGdEQUFnRDttR0FBaEQsZ0RBQWdELDY2QkNwQzdELDRsS0FzSkEsNHBLRDFISSxZQUFZLCtCQUNaLG1EQUFtRCw2SkFDbkQsc0RBQXNEOzs0RkFNN0MsZ0RBQWdEO2tCQVo1RCxTQUFTOytCQUNFLDhDQUE4QyxjQUM1QyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtREFBbUQ7d0JBQ25ELHNEQUFzRDtxQkFDdkQsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBEZXN0cm95UmVmLFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGVmZmVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2hhcmVkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9zaGFyZWQuc2VydmljZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1xuICBJQWxtYXRhckhvdGVsQXV0b0NhbmNlbGxhdGlvblBhY2thZ2UsXG4gIElBbG1hdGFySG90ZWxBdXRvQ2FuY2VsbGF0aW9uSG90ZWxJbmZvLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ktYWxtYXRhci1ob3RlbC1hdXRvLWNhbmNlbGxhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQWxtYXRhckhvdGVsQXV0b0NhbmNlbGxhdGlvblJlZnVuZGFibGVSb29tQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tcmVmdW5kYWJsZS1yb29tL2FsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tcmVmdW5kYWJsZS1yb29tLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbG1hdGFySG90ZWxBdXRvQ2FuY2VsbGF0aW9uTm9uUmVmdW5kYWJsZVJvb21Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWxtYXRhci1ob3RlbC1hdXRvLWNhbmNlbGxhdGlvbi1ub24tcmVmdW5kYWJsZS1yb29tL2FsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tbm9uLXJlZnVuZGFibGUtcm9vbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxtYXRhckhvdGVsQXV0b0NhbmNlbGxhdGlvbkVuZHBvaW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbG1hdGFyLWhvdGVsLWF1dG8tY2FuY2VsbGF0aW9uLWVuZHBvaW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IEFsbWF0YXJIb3RlbEF1dG9DYW5jZWxsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWxtYXRhci1ob3RlbC1hdXRvLWNhbmNlbGxhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWxtYXRhci1ob3RlbC1hdXRvLWNhbmNlbGxhdGlvbi1zZWxlY3Qtcm9vbXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFsbWF0YXJIb3RlbEF1dG9DYW5jZWxsYXRpb25SZWZ1bmRhYmxlUm9vbUNvbXBvbmVudCxcbiAgICBBbG1hdGFySG90ZWxBdXRvQ2FuY2VsbGF0aW9uTm9uUmVmdW5kYWJsZVJvb21Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hbG1hdGFyLWhvdGVsLWF1dG8tY2FuY2VsbGF0aW9uLXNlbGVjdC1yb29tcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tc2VsZWN0LXJvb21zLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBbG1hdGFySG90ZWxBdXRvQ2FuY2VsbGF0aW9uU2VsZWN0Um9vbXNDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IHNoYXJlZFNlcnZpY2UgPSBpbmplY3QoU2hhcmVkU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW5kcG9pbnRzU2VydmljZSA9IGluamVjdChcbiAgICBBbG1hdGFySG90ZWxBdXRvQ2FuY2VsbGF0aW9uRW5kcG9pbnRzU2VydmljZSxcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGF1dG9DYW5jZWxsYXRpb25TZXJ2aWNlID0gaW5qZWN0KFxuICAgIEFsbWF0YXJIb3RlbEF1dG9DYW5jZWxsYXRpb25TZXJ2aWNlLFxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICByZWFkb25seSBwYWNrYWdlcyA9IGlucHV0LnJlcXVpcmVkPElBbG1hdGFySG90ZWxBdXRvQ2FuY2VsbGF0aW9uUGFja2FnZVtdPigpO1xuICByZWFkb25seSBpc0xvYWRpbmdSZWZ1bmQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgLy8gZ2V0IG9ubHkgdW4gY2FuY2VsbGVkIHBhY2thZ2VzXG4gICAgICAgIGNvbnN0IHBhY2thZ2VzTGlzdCA9IHRoaXMucGFja2FnZXMoKS5maWx0ZXIoXG4gICAgICAgICAgKHBrZzogYW55KSA9PiAhcGtnPy5pc0NhbmNlbGxlZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHBhY2thZ2VzTGlzdC5sZW5ndGggPT09IDEgJiYgIXBhY2thZ2VzTGlzdFswXS5pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRQYWNrYWdlID0geyAuLi5wYWNrYWdlc0xpc3RbMF0sIGlzU2VsZWN0ZWQ6IHRydWUgfTtcbiAgICAgICAgICB0aGlzLmxvY2FsUGFja2FnZXMuc2V0KFtzZWxlY3RlZFBhY2thZ2VdKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgICApO1xuICB9XG5cbiAgcmVhZG9ubHkgaG90ZWxJbmZvID1cbiAgICBpbnB1dC5yZXF1aXJlZDxJQWxtYXRhckhvdGVsQXV0b0NhbmNlbGxhdGlvbkhvdGVsSW5mbyB8IG51bGw+KCk7XG5cbiAgcmVhZG9ubHkgYm9va2luZ0lkID0gaW5wdXQ8c3RyaW5nIHwgbnVtYmVyPignJyk7XG5cbiAgcmVhZG9ubHkgaG90ZWxJZCA9IGlucHV0PHN0cmluZyB8IG51bWJlcj4oJycpO1xuXG4gIHJlYWRvbmx5IGNvbnRpbnVlVG9DYW5jZWwgPSBvdXRwdXQ8SUFsbWF0YXJIb3RlbEF1dG9DYW5jZWxsYXRpb25QYWNrYWdlW10+KCk7XG4gIHJlYWRvbmx5IGNsb3NlTW9kYWwgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcmVhZG9ubHkgbm9uUmVmdW5kYWJsZVN1Ym1pdFN1Y2Nlc3MgPSBvdXRwdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBjaGF0V2l0aEFnZW50ID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgY3VycmVuY3lDb2RlID0gaW5wdXQ8c3RyaW5nPignU0FSJyk7XG5cbiAgcmVhZG9ubHkgbG9jYWxQYWNrYWdlcyA9IHNpZ25hbDxJQWxtYXRhckhvdGVsQXV0b0NhbmNlbGxhdGlvblBhY2thZ2VbXT4oW10pO1xuXG4gIHJlYWRvbmx5IGRpc3BsYXlQYWNrYWdlcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBsb2NhbCA9IHRoaXMubG9jYWxQYWNrYWdlcygpO1xuICAgIHJldHVybiBsb2NhbC5sZW5ndGggPiAwID8gbG9jYWwgOiB0aGlzLnBhY2thZ2VzKCk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkUGFja2FnZXNDb3VudCA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuZGlzcGxheVBhY2thZ2VzKCkuZmlsdGVyKChwa2cpID0+IHBrZy5pc1NlbGVjdGVkKS5sZW5ndGgsXG4gICk7XG5cbiAgcmVhZG9ubHkgaGFzU2VsZWN0ZWRQYWNrYWdlcyA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuc2VsZWN0ZWRQYWNrYWdlc0NvdW50KCkgPiAwLFxuICApO1xuXG4gIHJlYWRvbmx5IGlzU2luZ2xlUGFja2FnZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucGFja2FnZXMoKS5sZW5ndGggPT09IDEpO1xuXG4gIHJlYWRvbmx5IHRvdGFsUm9vbXNDb3VudCA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5wYWNrYWdlcygpLnJlZHVjZSgoYWNjLCBwa2cpID0+IGFjYyArIChwa2cucm9vbXM/Lmxlbmd0aCB8fCAwKSwgMCksXG4gICk7XG5cbiAgcmVhZG9ubHkgYWxsUGFja2FnZXNOb25SZWZ1bmRhYmxlID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLnBhY2thZ2VzKCkuZXZlcnkoKHBrZykgPT4gIXBrZy5pc1JlZnVuZGFibGUgJiYgIXBrZy5pc0NhbmNlbGxlZCksXG4gICk7XG5cbiAgdG9nZ2xlUGFja2FnZShwYWNrYWdlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRQYWNrYWdlcyA9IHRoaXMuZGlzcGxheVBhY2thZ2VzKCk7XG4gICAgY29uc3QgdXBkYXRlZFBhY2thZ2VzID0gY3VycmVudFBhY2thZ2VzLm1hcCgocGtnKSA9PlxuICAgICAgcGtnLnBhY2thZ2VJZCA9PT0gcGFja2FnZUlkXG4gICAgICAgID8geyAuLi5wa2csIGlzU2VsZWN0ZWQ6ICFwa2cuaXNTZWxlY3RlZCB9XG4gICAgICAgIDogcGtnLFxuICAgICk7XG4gICAgdGhpcy5sb2NhbFBhY2thZ2VzLnNldCh1cGRhdGVkUGFja2FnZXMpO1xuICB9XG5cbiAgb25Db250aW51ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFBhY2thZ2VzKCkpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUGFja2FnZXMgPSB0aGlzLmRpc3BsYXlQYWNrYWdlcygpLmZpbHRlcihcbiAgICAgICAgKHBrZykgPT4gcGtnLmlzU2VsZWN0ZWQgJiYgIXBrZy5pc0NhbmNlbGxlZCxcbiAgICAgICk7XG4gICAgICB0aGlzLmNvbnRpbnVlVG9DYW5jZWwuZW1pdChzZWxlY3RlZFBhY2thZ2VzKTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VNb2RhbC5lbWl0KCk7XG4gIH1cblxuICBvbkNoYXRXaXRoQWdlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGF0V2l0aEFnZW50LmVtaXQoKTtcbiAgfVxuXG4gIG9uTm9uUmVmdW5kYWJsZVN1Ym1pdFN1Y2Nlc3MocGFja2FnZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubm9uUmVmdW5kYWJsZVN1Ym1pdFN1Y2Nlc3MuZW1pdChwYWNrYWdlTmFtZSk7XG4gIH1cblxuICBmb3JtYXREYXRlKGRhdGU6IGFueSk6IHtcbiAgICBkYXk6IG51bWJlcjtcbiAgICBtb250aDogc3RyaW5nO1xuICAgIHllYXI6IG51bWJlcjtcbiAgICBkYXlOYW1lOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IGxhbmcgPSB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0QXBwTGFuZ3VhZ2UoKTtcbiAgICBjb25zdCBtID0gbW9tZW50KGRhdGUpLmxvY2FsZShsYW5nKTtcblxuICAgIHJldHVybiB7XG4gICAgICBkYXk6IG0uZGF0ZSgpLFxuICAgICAgbW9udGg6IG0uZm9ybWF0KCdNTU1NJyksXG4gICAgICB5ZWFyOiBtLnllYXIoKSxcbiAgICAgIGRheU5hbWU6IG0uZm9ybWF0KCdkZGRkJyksXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNlbGVjdC1yb29tc1wiPlxuICA8ZGl2IGNsYXNzPVwic2VsZWN0LXJvb21zX19jb250ZW50XCI+XG4gICAgQGlmIChob3RlbEluZm8oKTsgYXMgaG90ZWwpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJob3RlbC1pbmZvLWNhcmRcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiaG90ZWwtaW5mby1jYXJkX19uYW1lXCI+e3sgaG90ZWwuaG90ZWxOYW1lIH19PC9oMz5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiaG90ZWwtaW5mby1jYXJkX19jb250ZW50XCI+XG4gICAgICAgICAgQGlmIChob3RlbC5ob3RlbEltYWdlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaG90ZWwtaW5mby1jYXJkX19pbWFnZVwiPlxuICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaG90ZWwuaG90ZWxJbWFnZVwiIFthbHRdPVwiaG90ZWwuaG90ZWxOYW1lXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3RlbC1pbmZvLWNhcmRfX2RhdGVzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1ib3hcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWJveF9fbGFiZWxcIj5DSEVDSy1JTjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWJveF9fZGF5XCI+e3tcbiAgICAgICAgICAgICAgICBmb3JtYXREYXRlKGhvdGVsLmNoZWNrSW4pLmRheVxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWJveF9fbW9udGhcIj57e1xuICAgICAgICAgICAgICAgIGZvcm1hdERhdGUoaG90ZWwuY2hlY2tJbikubW9udGhcbiAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1ib3hfX2RheS1uYW1lXCI+e3tcbiAgICAgICAgICAgICAgICBmb3JtYXREYXRlKGhvdGVsLmNoZWNrSW4pLmRheU5hbWVcbiAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1ib3hfX3RpbWVcIlxuICAgICAgICAgICAgICAgID5Gcm9tXG4gICAgICAgICAgICAgICAge3sgaG90ZWw/LmNoZWNrSW5UaW1lIH19PC9zcGFuXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1ib3hcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWJveF9fbGFiZWxcIj5DSEVDSy1PVVQ8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1ib3hfX2RheVwiPnt7XG4gICAgICAgICAgICAgICAgZm9ybWF0RGF0ZShob3RlbC5jaGVja091dCkuZGF5XG4gICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtYm94X19tb250aFwiPnt7XG4gICAgICAgICAgICAgICAgZm9ybWF0RGF0ZShob3RlbC5jaGVja091dCkubW9udGhcbiAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1ib3hfX2RheS1uYW1lXCI+e3tcbiAgICAgICAgICAgICAgICBmb3JtYXREYXRlKGhvdGVsLmNoZWNrT3V0KS5kYXlOYW1lXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtYm94X190aW1lXCJcbiAgICAgICAgICAgICAgICA+VW50aWxcbiAgICAgICAgICAgICAgICB7eyBob3RlbD8uY2hlY2tPdXRUaW1lIH19PC9zcGFuXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhvdGVsLWluZm8tY2FyZF9fc3RhdHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0LWJveFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YXQtYm94X19sYWJlbFwiPlJvb21zPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YXQtYm94X192YWx1ZVwiPnt7IHRvdGFsUm9vbXNDb3VudCgpIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdC1ib3hcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGF0LWJveF9fbGFiZWxcIj5OSUdIVFM8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RhdC1ib3hfX3ZhbHVlXCI+e3sgaG90ZWwubmlnaHRzIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC1yb29tc19fbm90aWNlIHNlbGVjdC1yb29tc19fbm90aWNlLS1kZWZhdWx0XCI+XG4gICAgICA8c3ZnIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgY3g9XCIxMlwiXG4gICAgICAgICAgY3k9XCIxMlwiXG4gICAgICAgICAgcj1cIjlcIlxuICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS42XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTEyIDExdjUuNU0xMiA4di4wMVwiXG4gICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjZcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgICA8c3Bhbj5cbiAgICAgICAgU29tZSByb29tcyBpbiBlYWNoIHBhY2thZ2UsIHNoYXJlIG9uZSBib29raW5nIHJlZmVyZW5jZSwgc28gdGhleSB3aWxsIGJlIGNhbmNlbGxlZCB0b2dldGhlci48L3NwYW5cbiAgICAgID5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJyb29tcy1saXN0XCI+XG4gICAgICBAZm9yIChwYWNrYWdlIG9mIGRpc3BsYXlQYWNrYWdlcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgQGlmICghcGFja2FnZS5tYW51YWxSZWZ1bmRSZXF1ZXN0ICYmICFwYWNrYWdlLmlzQ2FuY2VsbGVkKSB7XG4gICAgICAgICAgPGFsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tcmVmdW5kYWJsZS1yb29tXG4gICAgICAgICAgICBbcGFja2FnZV09XCJwYWNrYWdlXCJcbiAgICAgICAgICAgIFtoaWRlQ2hlY2tib3hdPVwiaXNTaW5nbGVQYWNrYWdlKClcIlxuICAgICAgICAgICAgKHRvZ2dsZVBhY2thZ2UpPVwidG9nZ2xlUGFja2FnZSgkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8YWxtYXRhci1ob3RlbC1hdXRvLWNhbmNlbGxhdGlvbi1ub24tcmVmdW5kYWJsZS1yb29tXG4gICAgICAgICAgICBbcGFja2FnZV09XCJwYWNrYWdlXCJcbiAgICAgICAgICAgIFthbGxQYWNrYWdlc109XCJkaXNwbGF5UGFja2FnZXMoKVwiXG4gICAgICAgICAgICBbaG90ZWxJbmZvXT1cImhvdGVsSW5mbygpXCJcbiAgICAgICAgICAgIFtob3RlbElkXT1cImhvdGVsSWQoKVwiXG4gICAgICAgICAgICBbY3VycmVuY3lDb2RlXT1cImN1cnJlbmN5Q29kZSgpXCJcbiAgICAgICAgICAgIFthbGxQYWNrYWdlc05vblJlZnVuZGFibGVdPVwiYWxsUGFja2FnZXNOb25SZWZ1bmRhYmxlKClcIlxuICAgICAgICAgICAgKGNsb3NlTW9kYWwpPVwib25DbG9zZSgpXCJcbiAgICAgICAgICAgIChub25SZWZ1bmRhYmxlU3VibWl0U3VjY2Vzcyk9XCJvbk5vblJlZnVuZGFibGVTdWJtaXRTdWNjZXNzKCRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoYWxsUGFja2FnZXNOb25SZWZ1bmRhYmxlKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtcm9vbXNfX25vdGljZSBzZWxlY3Qtcm9vbXNfX25vdGljZS0td2FybmluZ1wiPlxuICAgICAgICA8c3ZnIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgIDwhLS0gd2FybmluZyB0cmlhbmdsZSBpY29uIC0tPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTEyIDl2NE0xMiAxN2guMDFNMTAuMjkgMy44NkwxLjgyIDE4YTIgMiAwIDAwMS43MSAzaDE2Ljk0YTIgMiAwIDAwMS43MS0zTDEzLjcxIDMuODZhMiAyIDAgMDAtMy40MiAwelwiXG4gICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS42XCJcbiAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICA8c3Bhbj5Tb3JyeSwgd2UgY291bGRuJ3QgcHJvY2VzcyB5b3VyIHJlZnVuZCByaWdodCBub3cuIFBsZWFzZSBjaGF0IHdpdGggb3VyIEN1c3RvbWVyIFNlcnZpY2UgdGVhbSBmb3IgaGVscC48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzZWxlY3Qtcm9vbXNfX2Zvb3RlclwiPlxuICAgIEBpZiAoYWxsUGFja2FnZXNOb25SZWZ1bmRhYmxlKCkpIHtcbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJtYWluX2J0biBtYWluX2J0bi0tY2hhdC13aXRoLXVzXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvbkNoYXRXaXRoQWdlbnQoKVwiXG4gICAgICA+XG4gICAgICAgIENoYXQgd2l0aCBjdXN0b21lciBzZXJ2aWNlXG4gICAgICA8L2J1dHRvbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAoIWhhc1NlbGVjdGVkUGFja2FnZXMoKSkge1xuICAgICAgICA8cCBjbGFzcz1cInNlbGVjdC1yb29tc19faGludFwiPlxuICAgICAgICAgIFNlbGVjdCBhdCBsZWFzdCBvbmUgcm9vbSB0byBjb250aW51ZVxuICAgICAgICA8L3A+XG4gICAgICB9XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwibWFpbl9idG5cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFoYXNTZWxlY3RlZFBhY2thZ2VzKClcIlxuICAgICAgICAoY2xpY2spPVwib25Db250aW51ZSgpXCJcbiAgICAgID5cbiAgICAgICAgQ29udGludWUgdG8gY2FuY2VsXG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxtYXRhci1ob3RlbC1hdXRvLWNhbmNlbGxhdGlvbi1zZWxlY3Qtcm9vbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtYm9va2luZy1kYXNoYm9hcmQvc3JjL2xpYi9jb21wb25lbnRzL2hvdGVsLWNhbmNlbC9jb21wb25lbnRzL2FsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tc2VsZWN0LXJvb21zL2FsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tc2VsZWN0LXJvb21zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LWJvb2tpbmctZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9ob3RlbC1jYW5jZWwvY29tcG9uZW50cy9hbG1hdGFyLWhvdGVsLWF1dG8tY2FuY2VsbGF0aW9uLXNlbGVjdC1yb29tcy9hbG1hdGFyLWhvdGVsLWF1dG8tY2FuY2VsbGF0aW9uLXNlbGVjdC1yb29tcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUzRSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFLNUIsT0FBTyxFQUFFLG1EQUFtRCxFQUFFLE1BQU0sd0hBQXdILENBQUM7QUFDN0wsT0FBTyxFQUFFLHNEQUFzRCxFQUFFLE1BQU0sZ0lBQWdJLENBQUM7QUFDeE0sT0FBTyxFQUFFLDRDQUE0QyxFQUFF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QUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELDRCQUE0QixDQUFDLFdBQW1CO1FBQzlDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTO1FBTWxCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxPQUFPO1lBQ0wsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDYixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDdkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDMUIsQ0FBQztJQUNKLENBQUM7K0dBcEhVLGdEQUFnRDttR0FBaEQsZ0RBQWdELDY2QkNwQzdELG82SkFnSkEsNHBLRHBISSxZQUFZLCtCQUNaLG1EQUFtRCw2SkFDbkQsc0RBQXNEOzs0RkFNN0MsZ0RBQWdEO2tCQVo1RCxTQUFTOytCQUNFLDhDQUE4QyxjQUM1QyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtREFBbUQ7d0JBQ25ELHNEQUFzRDtxQkFDdkQsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBEZXN0cm95UmVmLFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGVmZmVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2hhcmVkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9zaGFyZWQuc2VydmljZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1xuICBJQWxtYXRhckhvdGVsQXV0b0NhbmNlbGxhdGlvblBhY2thZ2UsXG4gIElBbG1hdGFySG90ZWxBdXRvQ2FuY2VsbGF0aW9uSG90ZWxJbmZvLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ktYWxtYXRhci1ob3RlbC1hdXRvLWNhbmNlbGxhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQWxtYXRhckhvdGVsQXV0b0NhbmNlbGxhdGlvblJlZnVuZGFibGVSb29tQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tcmVmdW5kYWJsZS1yb29tL2FsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tcmVmdW5kYWJsZS1yb29tLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbG1hdGFySG90ZWxBdXRvQ2FuY2VsbGF0aW9uTm9uUmVmdW5kYWJsZVJvb21Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWxtYXRhci1ob3RlbC1hdXRvLWNhbmNlbGxhdGlvbi1ub24tcmVmdW5kYWJsZS1yb29tL2FsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tbm9uLXJlZnVuZGFibGUtcm9vbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxtYXRhckhvdGVsQXV0b0NhbmNlbGxhdGlvbkVuZHBvaW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbG1hdGFyLWhvdGVsLWF1dG8tY2FuY2VsbGF0aW9uLWVuZHBvaW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IEFsbWF0YXJIb3RlbEF1dG9DYW5jZWxsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWxtYXRhci1ob3RlbC1hdXRvLWNhbmNlbGxhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWxtYXRhci1ob3RlbC1hdXRvLWNhbmNlbGxhdGlvbi1zZWxlY3Qtcm9vbXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFsbWF0YXJIb3RlbEF1dG9DYW5jZWxsYXRpb25SZWZ1bmRhYmxlUm9vbUNvbXBvbmVudCxcbiAgICBBbG1hdGFySG90ZWxBdXRvQ2FuY2VsbGF0aW9uTm9uUmVmdW5kYWJsZVJvb21Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hbG1hdGFyLWhvdGVsLWF1dG8tY2FuY2VsbGF0aW9uLXNlbGVjdC1yb29tcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tc2VsZWN0LXJvb21zLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBbG1hdGFySG90ZWxBdXRvQ2FuY2VsbGF0aW9uU2VsZWN0Um9vbXNDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IHNoYXJlZFNlcnZpY2UgPSBpbmplY3QoU2hhcmVkU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW5kcG9pbnRzU2VydmljZSA9IGluamVjdChcbiAgICBBbG1hdGFySG90ZWxBdXRvQ2FuY2VsbGF0aW9uRW5kcG9pbnRzU2VydmljZSxcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGF1dG9DYW5jZWxsYXRpb25TZXJ2aWNlID0gaW5qZWN0KFxuICAgIEFsbWF0YXJIb3RlbEF1dG9DYW5jZWxsYXRpb25TZXJ2aWNlLFxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICByZWFkb25seSBwYWNrYWdlcyA9IGlucHV0LnJlcXVpcmVkPElBbG1hdGFySG90ZWxBdXRvQ2FuY2VsbGF0aW9uUGFja2FnZVtdPigpO1xuICByZWFkb25seSBpc0xvYWRpbmdSZWZ1bmQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgLy8gZ2V0IG9ubHkgdW4gY2FuY2VsbGVkIHBhY2thZ2VzXG4gICAgICAgIGNvbnN0IHBhY2thZ2VzTGlzdCA9IHRoaXMucGFja2FnZXMoKS5maWx0ZXIoXG4gICAgICAgICAgKHBrZzogYW55KSA9PiAhcGtnPy5pc0NhbmNlbGxlZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHBhY2thZ2VzTGlzdC5sZW5ndGggPT09IDEgJiYgIXBhY2thZ2VzTGlzdFswXS5pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRQYWNrYWdlID0geyAuLi5wYWNrYWdlc0xpc3RbMF0sIGlzU2VsZWN0ZWQ6IHRydWUgfTtcbiAgICAgICAgICB0aGlzLmxvY2FsUGFja2FnZXMuc2V0KFtzZWxlY3RlZFBhY2thZ2VdKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgICApO1xuICB9XG5cbiAgcmVhZG9ubHkgaG90ZWxJbmZvID1cbiAgICBpbnB1dC5yZXF1aXJlZDxJQWxtYXRhckhvdGVsQXV0b0NhbmNlbGxhdGlvbkhvdGVsSW5mbyB8IG51bGw+KCk7XG5cbiAgcmVhZG9ubHkgYm9va2luZ0lkID0gaW5wdXQ8c3RyaW5nIHwgbnVtYmVyPignJyk7XG5cbiAgcmVhZG9ubHkgaG90ZWxJZCA9IGlucHV0PHN0cmluZyB8IG51bWJlcj4oJycpO1xuXG4gIHJlYWRvbmx5IGNvbnRpbnVlVG9DYW5jZWwgPSBvdXRwdXQ8SUFsbWF0YXJIb3RlbEF1dG9DYW5jZWxsYXRpb25QYWNrYWdlW10+KCk7XG4gIHJlYWRvbmx5IGNsb3NlTW9kYWwgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcmVhZG9ubHkgbm9uUmVmdW5kYWJsZVN1Ym1pdFN1Y2Nlc3MgPSBvdXRwdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBjaGF0V2l0aEFnZW50ID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgY3VycmVuY3lDb2RlID0gaW5wdXQ8c3RyaW5nPignU0FSJyk7XG5cbiAgcmVhZG9ubHkgbG9jYWxQYWNrYWdlcyA9IHNpZ25hbDxJQWxtYXRhckhvdGVsQXV0b0NhbmNlbGxhdGlvblBhY2thZ2VbXT4oW10pO1xuXG4gIHJlYWRvbmx5IGRpc3BsYXlQYWNrYWdlcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBsb2NhbCA9IHRoaXMubG9jYWxQYWNrYWdlcygpO1xuICAgIHJldHVybiBsb2NhbC5sZW5ndGggPiAwID8gbG9jYWwgOiB0aGlzLnBhY2thZ2VzKCk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkUGFja2FnZXNDb3VudCA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuZGlzcGxheVBhY2thZ2VzKCkuZmlsdGVyKChwa2cpID0+IHBrZy5pc1NlbGVjdGVkKS5sZW5ndGgsXG4gICk7XG5cbiAgcmVhZG9ubHkgaGFzU2VsZWN0ZWRQYWNrYWdlcyA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuc2VsZWN0ZWRQYWNrYWdlc0NvdW50KCkgPiAwLFxuICApO1xuXG4gIHJlYWRvbmx5IGlzU2luZ2xlUGFja2FnZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucGFja2FnZXMoKS5sZW5ndGggPT09IDEpO1xuXG4gIHJlYWRvbmx5IHRvdGFsUm9vbXNDb3VudCA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5wYWNrYWdlcygpLnJlZHVjZSgoYWNjLCBwa2cpID0+IGFjYyArIChwa2cucm9vbXM/Lmxlbmd0aCB8fCAwKSwgMCksXG4gICk7XG5cbiAgcmVhZG9ubHkgYWxsUGFja2FnZXNOb25SZWZ1bmRhYmxlID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLnBhY2thZ2VzKCkuZXZlcnkoKHBrZykgPT4gIXBrZy5pc1JlZnVuZGFibGUgJiYgIXBrZy5pc0NhbmNlbGxlZCksXG4gICk7XG5cbiAgdG9nZ2xlUGFja2FnZShwYWNrYWdlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRQYWNrYWdlcyA9IHRoaXMuZGlzcGxheVBhY2thZ2VzKCk7XG4gICAgY29uc3QgdXBkYXRlZFBhY2thZ2VzID0gY3VycmVudFBhY2thZ2VzLm1hcCgocGtnKSA9PlxuICAgICAgcGtnLnBhY2thZ2VJZCA9PT0gcGFja2FnZUlkXG4gICAgICAgID8geyAuLi5wa2csIGlzU2VsZWN0ZWQ6ICFwa2cuaXNTZWxlY3RlZCB9XG4gICAgICAgIDogcGtnLFxuICAgICk7XG4gICAgdGhpcy5sb2NhbFBhY2thZ2VzLnNldCh1cGRhdGVkUGFja2FnZXMpO1xuICB9XG5cbiAgb25Db250aW51ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFBhY2thZ2VzKCkpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUGFja2FnZXMgPSB0aGlzLmRpc3BsYXlQYWNrYWdlcygpLmZpbHRlcihcbiAgICAgICAgKHBrZykgPT4gcGtnLmlzU2VsZWN0ZWQgJiYgIXBrZy5pc0NhbmNlbGxlZCxcbiAgICAgICk7XG4gICAgICB0aGlzLmNvbnRpbnVlVG9DYW5jZWwuZW1pdChzZWxlY3RlZFBhY2thZ2VzKTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VNb2RhbC5lbWl0KCk7XG4gIH1cblxuICBvbkNoYXRXaXRoQWdlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGF0V2l0aEFnZW50LmVtaXQoKTtcbiAgfVxuXG4gIG9uTm9uUmVmdW5kYWJsZVN1Ym1pdFN1Y2Nlc3MocGFja2FnZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubm9uUmVmdW5kYWJsZVN1Ym1pdFN1Y2Nlc3MuZW1pdChwYWNrYWdlTmFtZSk7XG4gIH1cblxuICBmb3JtYXREYXRlKGRhdGU6IGFueSk6IHtcbiAgICBkYXk6IG51bWJlcjtcbiAgICBtb250aDogc3RyaW5nO1xuICAgIHllYXI6IG51bWJlcjtcbiAgICBkYXlOYW1lOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IGxhbmcgPSB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0QXBwTGFuZ3VhZ2UoKTtcbiAgICBjb25zdCBtID0gbW9tZW50KGRhdGUpLmxvY2FsZShsYW5nKTtcblxuICAgIHJldHVybiB7XG4gICAgICBkYXk6IG0uZGF0ZSgpLFxuICAgICAgbW9udGg6IG0uZm9ybWF0KCdNTU1NJyksXG4gICAgICB5ZWFyOiBtLnllYXIoKSxcbiAgICAgIGRheU5hbWU6IG0uZm9ybWF0KCdkZGRkJyksXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNlbGVjdC1yb29tc1wiPlxuICA8ZGl2IGNsYXNzPVwic2VsZWN0LXJvb21zX19jb250ZW50XCI+XG4gICAgQGlmIChob3RlbEluZm8oKTsgYXMgaG90ZWwpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJob3RlbC1pbmZvLWNhcmRcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiaG90ZWwtaW5mby1jYXJkX19uYW1lXCI+e3sgaG90ZWwuaG90ZWxOYW1lIH19PC9oMz5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiaG90ZWwtaW5mby1jYXJkX19jb250ZW50XCI+XG4gICAgICAgICAgQGlmIChob3RlbC5ob3RlbEltYWdlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaG90ZWwtaW5mby1jYXJkX19pbWFnZVwiPlxuICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaG90ZWwuaG90ZWxJbWFnZVwiIFthbHRdPVwiaG90ZWwuaG90ZWxOYW1lXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3RlbC1pbmZvLWNhcmRfX2RhdGVzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1ib3hcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWJveF9fbGFiZWxcIj5DSEVDSy1JTjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWJveF9fZGF5XCI+e3tcbiAgICAgICAgICAgICAgICBmb3JtYXREYXRlKGhvdGVsLmNoZWNrSW4pLmRheVxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWJveF9fbW9udGhcIj57e1xuICAgICAgICAgICAgICAgIGZvcm1hdERhdGUoaG90ZWwuY2hlY2tJbikubW9udGhcbiAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1ib3hfX2RheS1uYW1lXCI+e3tcbiAgICAgICAgICAgICAgICBmb3JtYXREYXRlKGhvdGVsLmNoZWNrSW4pLmRheU5hbWVcbiAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1ib3hfX3RpbWVcIlxuICAgICAgICAgICAgICAgID5Gcm9tXG4gICAgICAgICAgICAgICAge3sgaG90ZWw/LmNoZWNrSW5UaW1lIH19PC9zcGFuXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1ib3hcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWJveF9fbGFiZWxcIj5DSEVDSy1PVVQ8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1ib3hfX2RheVwiPnt7XG4gICAgICAgICAgICAgICAgZm9ybWF0RGF0ZShob3RlbC5jaGVja091dCkuZGF5XG4gICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtYm94X19tb250aFwiPnt7XG4gICAgICAgICAgICAgICAgZm9ybWF0RGF0ZShob3RlbC5jaGVja091dCkubW9udGhcbiAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1ib3hfX2RheS1uYW1lXCI+e3tcbiAgICAgICAgICAgICAgICBmb3JtYXREYXRlKGhvdGVsLmNoZWNrT3V0KS5kYXlOYW1lXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtYm94X190aW1lXCJcbiAgICAgICAgICAgICAgICA+VW50aWxcbiAgICAgICAgICAgICAgICB7eyBob3RlbD8uY2hlY2tPdXRUaW1lIH19PC9zcGFuXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhvdGVsLWluZm8tY2FyZF9fc3RhdHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0LWJveFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YXQtYm94X19sYWJlbFwiPlJvb21zPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YXQtYm94X192YWx1ZVwiPnt7IHRvdGFsUm9vbXNDb3VudCgpIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdC1ib3hcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGF0LWJveF9fbGFiZWxcIj5OSUdIVFM8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RhdC1ib3hfX3ZhbHVlXCI+e3sgaG90ZWwubmlnaHRzIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC1yb29tc19fbm90aWNlIHNlbGVjdC1yb29tc19fbm90aWNlLS1kZWZhdWx0XCI+XG4gICAgICA8c3ZnIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgY3g9XCIxMlwiXG4gICAgICAgICAgY3k9XCIxMlwiXG4gICAgICAgICAgcj1cIjlcIlxuICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS42XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTEyIDExdjUuNU0xMiA4di4wMVwiXG4gICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjZcIlxuICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgICA8c3Bhbj5cbiAgICAgICAgU29tZSByb29tcyBpbiBlYWNoIHBhY2thZ2UsIHNoYXJlIG9uZSBib29raW5nIHJlZmVyZW5jZSwgc28gdGhleSB3aWxsIGJlIGNhbmNlbGxlZCB0b2dldGhlci48L3NwYW5cbiAgICAgID5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJyb29tcy1saXN0XCI+XG4gICAgICBAZm9yIChwYWNrYWdlIG9mIGRpc3BsYXlQYWNrYWdlcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgQGlmICghcGFja2FnZS5tYW51YWxSZWZ1bmRSZXF1ZXN0ICYmICFwYWNrYWdlLmlzQ2FuY2VsbGVkKSB7XG4gICAgICAgICAgPGFsbWF0YXItaG90ZWwtYXV0by1jYW5jZWxsYXRpb24tcmVmdW5kYWJsZS1yb29tXG4gICAgICAgICAgICBbcGFja2FnZV09XCJwYWNrYWdlXCJcbiAgICAgICAgICAgIFtoaWRlQ2hlY2tib3hdPVwiaXNTaW5nbGVQYWNrYWdlKClcIlxuICAgICAgICAgICAgKHRvZ2dsZVBhY2thZ2UpPVwidG9nZ2xlUGFja2FnZSgkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8YWxtYXRhci1ob3RlbC1hdXRvLWNhbmNlbGxhdGlvbi1ub24tcmVmdW5kYWJsZS1yb29tXG4gICAgICAgICAgICBbcGFja2FnZV09XCJwYWNrYWdlXCJcbiAgICAgICAgICAgIFthbGxQYWNrYWdlc109XCJkaXNwbGF5UGFja2FnZXMoKVwiXG4gICAgICAgICAgICBbaG90ZWxJbmZvXT1cImhvdGVsSW5mbygpXCJcbiAgICAgICAgICAgIFtob3RlbElkXT1cImhvdGVsSWQoKVwiXG4gICAgICAgICAgICBbY3VycmVuY3lDb2RlXT1cImN1cnJlbmN5Q29kZSgpXCJcbiAgICAgICAgICAgIFthbGxQYWNrYWdlc05vblJlZnVuZGFibGVdPVwiYWxsUGFja2FnZXNOb25SZWZ1bmRhYmxlKClcIlxuICAgICAgICAgICAgKGNsb3NlTW9kYWwpPVwib25DbG9zZSgpXCJcbiAgICAgICAgICAgIChub25SZWZ1bmRhYmxlU3VibWl0U3VjY2Vzcyk9XCJvbk5vblJlZnVuZGFibGVTdWJtaXRTdWNjZXNzKCRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoYWxsUGFja2FnZXNOb25SZWZ1bmRhYmxlKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtcm9vbXNfX25vdGljZSBzZWxlY3Qtcm9vbXNfX25vdGljZS0td2FybmluZ1wiPlxuICAgICAgICA8c3ZnIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgIDwhLS0gd2FybmluZyB0cmlhbmdsZSBpY29uIC0tPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTEyIDl2NE0xMiAxN2guMDFNMTAuMjkgMy44NkwxLjgyIDE4YTIgMiAwIDAwMS43MSAzaDE2Ljk0YTIgMiAwIDAwMS43MS0zTDEzLjcxIDMuODZhMiAyIDAgMDAtMy40MiAwelwiXG4gICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS42XCJcbiAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICA8c3Bhbj5Tb3JyeSwgd2UgY291bGRuJ3QgcHJvY2VzcyB5b3VyIHJlZnVuZCByaWdodCBub3cuIFBsZWFzZSBjaGF0IHdpdGggb3VyIEN1c3RvbWVyIFNlcnZpY2UgdGVhbSBmb3IgaGVscC48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzZWxlY3Qtcm9vbXNfX2Zvb3RlclwiPlxuICAgIEBpZiAoYWxsUGFja2FnZXNOb25SZWZ1bmRhYmxlKCkpIHtcbiAgICAgIFxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICghaGFzU2VsZWN0ZWRQYWNrYWdlcygpKSB7XG4gICAgICAgIDxwIGNsYXNzPVwic2VsZWN0LXJvb21zX19oaW50XCI+XG4gICAgICAgICAgU2VsZWN0IGF0IGxlYXN0IG9uZSByb29tIHRvIGNvbnRpbnVlXG4gICAgICAgIDwvcD5cbiAgICAgIH1cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJtYWluX2J0blwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWhhc1NlbGVjdGVkUGFja2FnZXMoKVwiXG4gICAgICAgIChjbGljayk9XCJvbkNvbnRpbnVlKClcIlxuICAgICAgPlxuICAgICAgICBDb250aW51ZSB0byBjYW5jZWxcbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|