@tolle_/tolle-ui 18.2.28 → 18.2.30
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/accordion-item.component.mjs +5 -11
- package/esm2022/lib/accordion.component.mjs +4 -9
- package/esm2022/lib/alert-dialog-dynamic.component.mjs +5 -10
- package/esm2022/lib/alert-dialog.component.mjs +44 -59
- package/esm2022/lib/alert.component.mjs +5 -11
- package/esm2022/lib/aspect-ratio.component.mjs +119 -0
- package/esm2022/lib/attachment.component.mjs +334 -0
- package/esm2022/lib/avatar-fallback.component.mjs +3 -3
- package/esm2022/lib/avatar.component.mjs +4 -9
- package/esm2022/lib/badge.component.mjs +4 -9
- package/esm2022/lib/breadcrumb-item.component.mjs +3 -3
- package/esm2022/lib/breadcrumb-link.component.mjs +3 -3
- package/esm2022/lib/breadcrumb-separator.component.mjs +3 -3
- package/esm2022/lib/breadcrumb.component.mjs +3 -3
- package/esm2022/lib/bubble.component.mjs +301 -0
- package/esm2022/lib/button.component.mjs +5 -11
- package/esm2022/lib/calendar.component.mjs +5 -11
- package/esm2022/lib/card.component.mjs +14 -43
- package/esm2022/lib/carousel/carousel.component.mjs +5 -12
- package/esm2022/lib/chain-of-thought.component.mjs +380 -0
- package/esm2022/lib/chart-pie.component.mjs +386 -0
- package/esm2022/lib/chart.component.mjs +1146 -0
- package/esm2022/lib/chart.service.mjs +555 -0
- package/esm2022/lib/checkbox.component.mjs +5 -11
- package/esm2022/lib/checkpoint.component.mjs +134 -0
- package/esm2022/lib/collapsible.component.mjs +4 -11
- package/esm2022/lib/combobox.component.mjs +372 -0
- package/esm2022/lib/command-dialog.component.mjs +164 -0
- package/esm2022/lib/command.component.mjs +514 -0
- package/esm2022/lib/command.service.mjs +130 -0
- package/esm2022/lib/confirmation.component.mjs +219 -0
- package/esm2022/lib/context-menu-trigger.directive.mjs +36 -0
- package/esm2022/lib/context-menu.component.mjs +460 -0
- package/esm2022/lib/context-menu.service.mjs +121 -0
- package/esm2022/lib/context.component.mjs +377 -0
- package/esm2022/lib/conversation.component.mjs +442 -0
- package/esm2022/lib/country-selector.component.mjs +5 -11
- package/esm2022/lib/data-table.component.mjs +63 -12
- package/esm2022/lib/date-picker.component.mjs +251 -198
- package/esm2022/lib/date-range-picker.component.mjs +224 -116
- package/esm2022/lib/date-time-picker.component.mjs +506 -0
- package/esm2022/lib/direction.component.mjs +79 -0
- package/esm2022/lib/dropdown-item.component.mjs +3 -3
- package/esm2022/lib/dropdown-label.component.mjs +3 -3
- package/esm2022/lib/dropdown-menu.component.mjs +3 -3
- package/esm2022/lib/dropdown-separator.component.mjs +3 -3
- package/esm2022/lib/dropdown-trigger.directive.mjs +6 -4
- package/esm2022/lib/empty-state.component.mjs +4 -9
- package/esm2022/lib/field.component.mjs +394 -0
- package/esm2022/lib/hover-card.component.mjs +6 -16
- package/esm2022/lib/inline-citation.component.mjs +263 -0
- package/esm2022/lib/input-group.component.mjs +418 -0
- package/esm2022/lib/input.component.mjs +5 -11
- package/esm2022/lib/item.component.mjs +243 -0
- package/esm2022/lib/kbd.component.mjs +82 -0
- package/esm2022/lib/label.component.mjs +4 -9
- package/esm2022/lib/marker.component.mjs +135 -0
- package/esm2022/lib/masked-input.component.mjs +5 -11
- package/esm2022/lib/menubar.component.mjs +683 -0
- package/esm2022/lib/message-scroller.component.mjs +353 -0
- package/esm2022/lib/message-scroller.service.mjs +157 -0
- package/esm2022/lib/message.component.mjs +228 -0
- package/esm2022/lib/model-selector.component.mjs +310 -0
- package/esm2022/lib/multi-select.component.mjs +155 -72
- package/esm2022/lib/native-select.component.mjs +201 -0
- package/esm2022/lib/navigation-menu.component.mjs +642 -0
- package/esm2022/lib/otp-group.component.mjs +3 -3
- package/esm2022/lib/otp-slot.component.mjs +4 -9
- package/esm2022/lib/otp.component.mjs +5 -11
- package/esm2022/lib/pagination.component.mjs +7 -10
- package/esm2022/lib/plan.component.mjs +335 -0
- package/esm2022/lib/popover-content.component.mjs +4 -9
- package/esm2022/lib/popover.component.mjs +15 -13
- package/esm2022/lib/progress.component.mjs +4 -9
- package/esm2022/lib/prompt-input.component.mjs +526 -0
- package/esm2022/lib/queue.component.mjs +280 -0
- package/esm2022/lib/radio-group.component.mjs +6 -13
- package/esm2022/lib/radio-item.component.mjs +4 -9
- package/esm2022/lib/range-calendar.component.mjs +5 -11
- package/esm2022/lib/reasoning.component.mjs +335 -0
- package/esm2022/lib/resizable.component.mjs +219 -0
- package/esm2022/lib/segment.component.mjs +17 -7
- package/esm2022/lib/select-group.component.mjs +4 -8
- package/esm2022/lib/select-item.component.mjs +4 -9
- package/esm2022/lib/select-separator.component.mjs +4 -8
- package/esm2022/lib/select.component.mjs +133 -49
- package/esm2022/lib/separator.component.mjs +4 -9
- package/esm2022/lib/sheet.component.mjs +38 -56
- package/esm2022/lib/shimmer.component.mjs +84 -0
- package/esm2022/lib/sidebar.component.mjs +11 -1
- package/esm2022/lib/skeleton.component.mjs +4 -9
- package/esm2022/lib/sources.component.mjs +452 -0
- package/esm2022/lib/spinner.component.mjs +68 -0
- package/esm2022/lib/suggestion.component.mjs +207 -0
- package/esm2022/lib/switch.component.mjs +5 -11
- package/esm2022/lib/table.component.mjs +213 -0
- package/esm2022/lib/tabs.component.mjs +4 -11
- package/esm2022/lib/tag-input.component.mjs +5 -11
- package/esm2022/lib/task.component.mjs +359 -0
- package/esm2022/lib/textarea.component.mjs +5 -11
- package/esm2022/lib/theme.service.mjs +17 -6
- package/esm2022/lib/time-picker.component.mjs +923 -0
- package/esm2022/lib/toast.service.mjs +3 -2
- package/esm2022/lib/toaster.component.mjs +76 -39
- package/esm2022/lib/toggle-group.component.mjs +4 -9
- package/esm2022/lib/toggle.component.mjs +5 -11
- package/esm2022/lib/tool.component.mjs +462 -0
- package/esm2022/lib/typography.component.mjs +83 -0
- package/esm2022/lib/utils/color.mjs +140 -19
- package/esm2022/public-api.mjs +61 -1
- package/fesm2022/tolle-ui.mjs +16457 -1024
- package/fesm2022/tolle-ui.mjs.map +1 -1
- package/lib/alert-dialog.component.d.ts +10 -2
- package/lib/aspect-ratio.component.d.ts +20 -0
- package/lib/attachment.component.d.ts +101 -0
- package/lib/bubble.component.d.ts +112 -0
- package/lib/chain-of-thought.component.d.ts +166 -0
- package/lib/chart-pie.component.d.ts +108 -0
- package/lib/chart.component.d.ts +369 -0
- package/lib/chart.service.d.ts +222 -0
- package/lib/checkpoint.component.d.ts +51 -0
- package/lib/combobox.component.d.ts +90 -0
- package/lib/command-dialog.component.d.ts +53 -0
- package/lib/command.component.d.ts +189 -0
- package/lib/command.service.d.ts +67 -0
- package/lib/confirmation.component.d.ts +70 -0
- package/lib/context-menu-trigger.directive.d.ts +12 -0
- package/lib/context-menu.component.d.ts +41 -0
- package/lib/context-menu.service.d.ts +38 -0
- package/lib/context.component.d.ts +134 -0
- package/lib/conversation.component.d.ts +165 -0
- package/lib/data-table.component.d.ts +27 -1
- package/lib/date-picker.component.d.ts +72 -11
- package/lib/date-range-picker.component.d.ts +63 -6
- package/lib/date-time-picker.component.d.ts +119 -0
- package/lib/direction.component.d.ts +45 -0
- package/lib/field.component.d.ts +201 -0
- package/lib/inline-citation.component.d.ts +103 -0
- package/lib/input-group.component.d.ts +150 -0
- package/lib/item.component.d.ts +154 -0
- package/lib/kbd.component.d.ts +50 -0
- package/lib/marker.component.d.ts +58 -0
- package/lib/menubar.component.d.ts +247 -0
- package/lib/message-scroller.component.d.ts +159 -0
- package/lib/message-scroller.service.d.ts +73 -0
- package/lib/message.component.d.ts +128 -0
- package/lib/model-selector.component.d.ts +103 -0
- package/lib/multi-select.component.d.ts +66 -14
- package/lib/native-select.component.d.ts +57 -0
- package/lib/navigation-menu.component.d.ts +230 -0
- package/lib/plan.component.d.ts +120 -0
- package/lib/popover.component.d.ts +1 -0
- package/lib/prompt-input.component.d.ts +194 -0
- package/lib/queue.component.d.ts +106 -0
- package/lib/reasoning.component.d.ts +127 -0
- package/lib/resizable.component.d.ts +43 -0
- package/lib/segment.component.d.ts +13 -3
- package/lib/select.component.d.ts +37 -5
- package/lib/sheet.component.d.ts +3 -0
- package/lib/shimmer.component.d.ts +38 -0
- package/lib/sidebar.component.d.ts +2 -0
- package/lib/sources.component.d.ts +156 -0
- package/lib/spinner.component.d.ts +29 -0
- package/lib/suggestion.component.d.ts +96 -0
- package/lib/table.component.d.ts +106 -0
- package/lib/task.component.d.ts +151 -0
- package/lib/theme.service.d.ts +9 -0
- package/lib/time-picker.component.d.ts +243 -0
- package/lib/toast.service.d.ts +3 -1
- package/lib/toaster.component.d.ts +26 -9
- package/lib/tool.component.d.ts +158 -0
- package/lib/typography.component.d.ts +32 -0
- package/lib/utils/color.d.ts +19 -5
- package/package.json +1 -1
- package/public-api.d.ts +50 -0
- package/registry/docs-content.json +8497 -1553
- package/registry/llms-full.txt +2679 -318
- package/registry/llms.txt +43 -4
- package/registry/manifest.json +9093 -1739
- package/registry/r/accordion-item.json +1 -1
- package/registry/r/accordion.json +1 -1
- package/registry/r/alert-dialog-dynamic.json +1 -1
- package/registry/r/alert-dialog.json +1 -1
- package/registry/r/alert.json +1 -1
- package/registry/r/attachment.json +23 -0
- package/registry/r/avatar-fallback.json +1 -1
- package/registry/r/avatar.json +1 -1
- package/registry/r/badge.json +1 -1
- package/registry/r/breadcrumb-item.json +1 -1
- package/registry/r/breadcrumb-link.json +1 -1
- package/registry/r/breadcrumb-separator.json +1 -1
- package/registry/r/breadcrumb.json +1 -1
- package/registry/r/bubble.json +23 -0
- package/registry/r/button.json +1 -1
- package/registry/r/calendar.json +1 -1
- package/registry/r/card.json +1 -1
- package/registry/r/carousel.json +1 -1
- package/registry/r/chain-of-thought.json +23 -0
- package/registry/r/chart-pie.json +30 -0
- package/registry/r/chart.json +28 -0
- package/registry/r/checkbox.json +1 -1
- package/registry/r/checkpoint.json +23 -0
- package/registry/r/collapsible.json +1 -1
- package/registry/r/combobox.json +31 -0
- package/registry/r/command-dialog.json +21 -0
- package/registry/r/command.json +26 -0
- package/registry/r/confirmation.json +23 -0
- package/registry/r/context.json +26 -0
- package/registry/r/conversation.json +23 -0
- package/registry/r/country-selector.json +1 -1
- package/registry/r/data-table.json +1 -1
- package/registry/r/date-picker.json +4 -4
- package/registry/r/date-range-picker.json +3 -3
- package/registry/r/date-time-picker.json +28 -0
- package/registry/r/direction.json +16 -0
- package/registry/r/dropdown-item.json +1 -1
- package/registry/r/dropdown-label.json +1 -1
- package/registry/r/dropdown-menu.json +1 -1
- package/registry/r/dropdown-separator.json +1 -1
- package/registry/r/dropdown-trigger.json +1 -1
- package/registry/r/empty-state.json +1 -1
- package/registry/r/field.json +23 -0
- package/registry/r/hover-card.json +1 -1
- package/registry/r/inline-citation.json +26 -0
- package/registry/r/input-group.json +23 -0
- package/registry/r/input.json +1 -1
- package/registry/r/item.json +23 -0
- package/registry/r/kbd.json +23 -0
- package/registry/r/label.json +1 -1
- package/registry/r/marker.json +23 -0
- package/registry/r/masked-input.json +1 -1
- package/registry/r/menubar.json +24 -0
- package/registry/r/message-scroller.json +26 -0
- package/registry/r/message.json +23 -0
- package/registry/r/model-selector.json +32 -0
- package/registry/r/multi-select.json +2 -2
- package/registry/r/native-select.json +23 -0
- package/registry/r/navigation-menu.json +24 -0
- package/registry/r/otp-group.json +1 -1
- package/registry/r/otp-slot.json +1 -1
- package/registry/r/otp.json +1 -1
- package/registry/r/pagination.json +3 -2
- package/registry/r/plan.json +23 -0
- package/registry/r/popover-content.json +1 -1
- package/registry/r/popover.json +1 -1
- package/registry/r/progress.json +1 -1
- package/registry/r/prompt-input.json +23 -0
- package/registry/r/queue.json +23 -0
- package/registry/r/radio-group.json +1 -1
- package/registry/r/radio-item.json +1 -1
- package/registry/r/range-calendar.json +1 -1
- package/registry/r/reasoning.json +23 -0
- package/registry/r/segment.json +1 -1
- package/registry/r/select-group.json +1 -1
- package/registry/r/select-item.json +1 -1
- package/registry/r/select-separator.json +1 -1
- package/registry/r/select.json +4 -3
- package/registry/r/separator.json +1 -1
- package/registry/r/sheet.json +1 -1
- package/registry/r/shimmer.json +23 -0
- package/registry/r/sidebar.json +1 -1
- package/registry/r/skeleton.json +1 -1
- package/registry/r/sources.json +23 -0
- package/registry/r/spinner.json +23 -0
- package/registry/r/suggestion.json +23 -0
- package/registry/r/switch.json +1 -1
- package/registry/r/table.json +21 -0
- package/registry/r/tabs.json +1 -1
- package/registry/r/tag-input.json +1 -1
- package/registry/r/task.json +23 -0
- package/registry/r/textarea.json +1 -1
- package/registry/r/time-picker.json +24 -0
- package/registry/r/toaster.json +2 -2
- package/registry/r/toggle-group.json +1 -1
- package/registry/r/toggle.json +1 -1
- package/registry/r/tool.json +23 -0
- package/registry/r/typography.json +23 -0
- package/registry/registry.json +915 -22
- package/theme.css +109 -8
|
@@ -440,22 +440,17 @@ export class CalendarComponent {
|
|
|
440
440
|
</div>
|
|
441
441
|
</div>
|
|
442
442
|
</div>
|
|
443
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: FormsModule }] });
|
|
443
|
+
`, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: FormsModule }] });
|
|
444
444
|
}
|
|
445
445
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
446
446
|
type: Component,
|
|
447
|
-
args: [{
|
|
448
|
-
selector: 'tolle-calendar',
|
|
449
|
-
standalone: true,
|
|
450
|
-
imports: [CommonModule, FormsModule],
|
|
451
|
-
providers: [
|
|
447
|
+
args: [{ selector: 'tolle-calendar', standalone: true, imports: [CommonModule, FormsModule], providers: [
|
|
452
448
|
{
|
|
453
449
|
provide: NG_VALUE_ACCESSOR,
|
|
454
450
|
useExisting: forwardRef(() => CalendarComponent),
|
|
455
451
|
multi: true
|
|
456
452
|
}
|
|
457
|
-
],
|
|
458
|
-
template: `
|
|
453
|
+
], template: `
|
|
459
454
|
<div [class]="cn('text-popover-foreground inline-block min-w-fit', bordered ? 'p-3 border rounded-md bg-background shadow-sm' : '', class)">
|
|
460
455
|
<!-- Header with Navigation -->
|
|
461
456
|
<div class="flex items-center justify-between pt-1 pb-4 gap-2">
|
|
@@ -563,8 +558,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
563
558
|
</div>
|
|
564
559
|
</div>
|
|
565
560
|
</div>
|
|
566
|
-
|
|
567
|
-
}]
|
|
561
|
+
`, styles: [":host{display:block}\n"] }]
|
|
568
562
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { class: [{
|
|
569
563
|
type: Input
|
|
570
564
|
}], bordered: [{
|
|
@@ -588,4 +582,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
588
582
|
}], dateSelect: [{
|
|
589
583
|
type: Output
|
|
590
584
|
}] } });
|
|
591
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9jYWxlbmRhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQzNELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFDTCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUN2RCxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFDdEQsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQ3pELFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUM3QixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUE2SGhDLE1BQU0sT0FBTyxpQkFBaUI7SUFrQ1I7SUFqQ1gsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNwQjt1RkFDbUY7SUFDMUUsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixJQUFJLEdBQWlCLE1BQU0sQ0FBQztJQUM1QixnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDekIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLE9BQU8sQ0FBUTtJQUNmLE9BQU8sQ0FBUTtJQUNmLGFBQWEsQ0FBMEI7SUFDdkMsWUFBWSxDQUEwQjtJQUN0QyxZQUFZLENBQTBCO0lBRXJDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0lBRXZELFdBQVcs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QUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRHVCwyREFwSFMsWUFBWSxrVEFBRSxXQUFXOzs0RkFzSHhCLGlCQUFpQjtrQkF6SDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7b0JBQ3BDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0R1Q7aUJBQ0Y7c0ZBRVUsS0FBSztzQkFBYixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBmb3J3YXJkUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIGFkZERheXMsIGFkZE1vbnRocywgc3ViTW9udGhzLCBzdGFydE9mTW9udGgsIGVuZE9mTW9udGgsXG4gIHN0YXJ0T2ZXZWVrLCBlbmRPZldlZWssIGVhY2hEYXlPZkludGVydmFsLCBpc1NhbWVNb250aCxcbiAgaXNTYW1lRGF5LCBpc1RvZGF5LCBzZXRNb250aCwgc2V0WWVhciwgYWRkWWVhcnMsIHN1YlllYXJzLFxuICBpc0JlZm9yZSwgc3RhcnRPZkRheSwgZm9ybWF0XG59IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscy9jbic7XG5cbmV4cG9ydCB0eXBlIENhbGVuZGFyTW9kZSA9ICdkYXRlJyB8ICdtb250aCcgfCAneWVhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLWNhbGVuZGFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENhbGVuZGFyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW2NsYXNzXT1cImNuKCd0ZXh0LXBvcG92ZXItZm9yZWdyb3VuZCBpbmxpbmUtYmxvY2sgbWluLXctZml0JywgYm9yZGVyZWQgPyAncC0zIGJvcmRlciByb3VuZGVkLW1kIGJnLWJhY2tncm91bmQgc2hhZG93LXNtJyA6ICcnLCBjbGFzcylcIj5cbiAgICAgIDwhLS0gSGVhZGVyIHdpdGggTmF2aWdhdGlvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHQtMSBwYi00IGdhcC0yXCI+XG4gICAgICAgIDwhLS0gVmlldyBTZWxlY3RvciAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCI+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIm1vZGUgIT09ICd5ZWFyJ1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRWaWV3KCdtb250aCcpXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJjbihcbiAgICAgICAgICAgICAgJ3RleHQtc20gZm9udC1zZW1pYm9sZCBweC0yIHB5LTEgcm91bmRlZCB0cmFuc2l0aW9uLWNvbG9ycycsXG4gICAgICAgICAgICAgIGN1cnJlbnRWaWV3ID09PSAnbW9udGgnID8gJ2JnLXNlY29uZGFyeSB0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kJyA6ICdob3ZlcjpiZy1hY2NlbnQgaG92ZXI6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCdcbiAgICAgICAgICAgIClcIj5cbiAgICAgICAgICAgIHt7IGZvcm1hdE1vbnRoWWVhcih2aWV3RGF0ZSwgJ21vbnRoJykgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNldFZpZXcoJ3llYXInKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiY24oXG4gICAgICAgICAgICAgICd0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgcHgtMiBweS0xIHJvdW5kZWQgdHJhbnNpdGlvbi1jb2xvcnMnLFxuICAgICAgICAgICAgICBjdXJyZW50VmlldyA9PT0gJ3llYXInID8gJ2JnLXNlY29uZGFyeSB0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kJyA6ICdob3ZlcjpiZy1hY2NlbnQgaG92ZXI6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCdcbiAgICAgICAgICAgIClcIj5cbiAgICAgICAgICAgIHt7IGZvcm1hdE1vbnRoWWVhcih2aWV3RGF0ZSwgJ3llYXInKSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIE5hdmlnYXRpb24gQnV0dG9ucyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMVwiPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJwcmV2KClcIiBbY2xhc3NdPVwibmF2QnRuQ2xhc3NcIiBhcmlhLWxhYmVsPVwiUHJldmlvdXMgbW9udGhcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwicmktYXJyb3ctbGVmdC1zLWxpbmUgdGV4dC1sZ1wiPjwvaT5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwibmV4dCgpXCIgW2NsYXNzXT1cIm5hdkJ0bkNsYXNzXCIgYXJpYS1sYWJlbD1cIk5leHQgbW9udGhcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwicmktYXJyb3ctcmlnaHQtcy1saW5lIHRleHQtbGdcIj48L2k+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gREFURSBNT0RFIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cImN1cnJlbnRWaWV3ID09PSAnZGF0ZScgJiYgbW9kZSA9PT0gJ2RhdGUnXCIgY2xhc3M9XCJzcGFjZS15LTIgYW5pbWF0ZS1pbiBmYWRlLWluIHpvb20taW4tOTUgZHVyYXRpb24tMjAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy03IGdhcC0xIHctZnVsbFwiPlxuICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vla0RheXNcIiBjbGFzcz1cInRleHQtWzAuOHJlbV0gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvbnQtbm9ybWFsIHRleHQtY2VudGVyIHctOVwiPlxuICAgICAgICAgICAge3sgZGF5IH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiByb2xlPVwiZ3JpZFwiIGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtNyBnYXAtMSB3LWZ1bGxcIiAoa2V5ZG93bik9XCJvbkdyaWRLZXlkb3duKCRldmVudClcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF0ZSBvZiBkYXlzSW5Nb250aFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHJvbGU9XCJncmlkY2VsbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQoZGF0ZSlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIoZGF0ZSB8IGRhdGU6J2Z1bGxEYXRlJylcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdERhdGUoZGF0ZSlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzRGF0ZURpc2FibGVkKGRhdGUpXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJnZXREYXlDbGFzcyhkYXRlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZm9ybWF0RGF0ZShkYXRlLCAnZGF5JykgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBNT05USCBTRUxFQ1RPUiAoZm9yIGRhdGUgbW9kZSBhbmQgbW9udGggbW9kZSkgLS0+XG4gICAgICA8ZGl2ICpuZ0lmPVwiKGN1cnJlbnRWaWV3ID09PSAnbW9udGgnKVwiXG4gICAgICAgICAgIGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMyBnYXAtMiB3LTY0IGFuaW1hdGUtaW4gZmFkZS1pbiB6b29tLWluLTk1IGR1cmF0aW9uLTIwMFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE1vbnRoKGkpXCJcbiAgICAgICAgICBbY2xhc3NdPVwiZ2V0TW9udGhDbGFzcyhpKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBtb250aCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFlFQVIgU0VMRUNUT1IgKGZvciBkYXRlIG1vZGUgYW5kIHllYXIgbW9kZSkgLS0+XG4gICAgICA8ZGl2ICpuZ0lmPVwiKGN1cnJlbnRWaWV3ID09PSAneWVhcicpIFwiXG4gICAgICAgICAgIGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtNCBnYXAtMiB3LTY0IGFuaW1hdGUtaW4gZmFkZS1pbiB6b29tLWluLTk1IGR1cmF0aW9uLTIwMFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHllYXIgb2YgeWVhcnNcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RZZWFyKHllYXIpXCJcbiAgICAgICAgICBbY2xhc3NdPVwiZ2V0WWVhckNsYXNzKHllYXIpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHllYXIgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBRdWljayBBY3Rpb25zIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cInNob3dRdWlja0FjdGlvbnNcIiBjbGFzcz1cImJvcmRlci10IHB0LTMgbXQtM1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0yXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VG9kYXkoKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwicXVpY2tBY3Rpb25CdG5DbGFzc1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNUb2RheURpc2FibGVkKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFRvZGF5XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwicXVpY2tBY3Rpb25CdG5DbGFzc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQ2xlYXJcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICAvKiogUmVuZGVycyB0aGUgY2FsZW5kYXIncyBvd24gYm9yZGVyLCBiYWNrZ3JvdW5kIGFuZCBzaGFkb3cuIFNldCBgZmFsc2VgIHdoZW5cbiAgICogbmVzdGluZyBpbnNpZGUgYSBjYXJkL3BvcG92ZXIgdGhhdCBhbHJlYWR5IHByb3ZpZGVzIHRoZSBjaHJvbWUuIEBkZWZhdWx0IHRydWUgKi9cbiAgQElucHV0KCkgYm9yZGVyZWQgPSB0cnVlO1xuICBASW5wdXQoKSBtb2RlOiBDYWxlbmRhck1vZGUgPSAnZGF0ZSc7XG4gIEBJbnB1dCgpIGRpc2FibGVQYXN0RGF0ZXMgPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd1F1aWNrQWN0aW9ucyA9IHRydWU7XG4gIEBJbnB1dCgpIG1pbkRhdGU/OiBEYXRlO1xuICBASW5wdXQoKSBtYXhEYXRlPzogRGF0ZTtcbiAgQElucHV0KCkgZm9ybWF0TW9udGhGbj86IChkYXRlOiBEYXRlKSA9PiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZvcm1hdFllYXJGbj86IChkYXRlOiBEYXRlKSA9PiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZvcm1hdERhdGVGbj86IChkYXRlOiBEYXRlKSA9PiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGRhdGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPigpO1xuXG4gIGN1cnJlbnRWaWV3OiAnZGF0ZScgfCAnbW9udGgnIHwgJ3llYXInID0gJ2RhdGUnO1xuICB2aWV3RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHNlbGVjdGVkRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHdlZWtEYXlzID0gWydTdScsICdNbycsICdUdScsICdXZScsICdUaCcsICdGcicsICdTYSddO1xuICBkYXlzSW5Nb250aDogRGF0ZVtdID0gW107XG4gIG1vbnRocyA9IFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLCAnSnVsJywgJ0F1ZycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEZWMnXTtcbiAgeWVhcnM6IG51bWJlcltdID0gW107XG4gIHllYXJSYW5nZVN0YXJ0OiBudW1iZXI7XG5cbiAgbmF2QnRuQ2xhc3MgPSBjbignaC03IHctNyBiZy10cmFuc3BhcmVudCBwLTAgb3BhY2l0eS01MCBob3ZlcjpvcGFjaXR5LTEwMCBib3JkZXIgYm9yZGVyLWlucHV0IHJvdW5kZWQtbWQgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgaG92ZXI6YmctYWNjZW50IGhvdmVyOnRleHQtYWNjZW50LWZvcmVncm91bmQgdHJhbnNpdGlvbi1hbGwgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcnKTtcbiAgcXVpY2tBY3Rpb25CdG5DbGFzcyA9IGNuKCdweC0zIHB5LTEuNSB0ZXh0LXNtIHJvdW5kZWQgaG92ZXI6YmctYWNjZW50IHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBob3Zlcjp0ZXh0LWZvcmVncm91bmQgdHJhbnNpdGlvbi1jb2xvcnMnKTtcblxuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgcHJvdGVjdGVkIGNuID0gY247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy55ZWFyUmFuZ2VTdGFydCA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSAtIDY7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBJbml0aWFsaXplIGJhc2VkIG9uIG1vZGVcbiAgICBpZiAodGhpcy5tb2RlID09PSAnbW9udGgnKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gJ21vbnRoJztcbiAgICB9IGVsc2UgaWYgKHRoaXMubW9kZSA9PT0gJ3llYXInKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gJ3llYXInO1xuICAgIH1cblxuICAgIHRoaXMuZ2VuZXJhdGVEYXlzKCk7XG4gICAgdGhpcy5nZW5lcmF0ZVllYXJzKCk7XG4gIH1cblxuICAvLyBGb3JtYXQgaGVscGVyc1xuICBmb3JtYXRNb250aFllYXIoZGF0ZTogRGF0ZSwgdHlwZTogJ21vbnRoJyB8ICd5ZWFyJyk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGUgPT09ICdtb250aCcgJiYgdGhpcy5mb3JtYXRNb250aEZuKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRNb250aEZuKGRhdGUpO1xuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gJ3llYXInICYmIHRoaXMuZm9ybWF0WWVhckZuKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRZZWFyRm4oZGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiB0eXBlID09PSAnbW9udGgnID8gZm9ybWF0KGRhdGUsICdNTU1NJykgOiBmb3JtYXQoZGF0ZSwgJ3l5eXknKTtcbiAgfVxuXG4gIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSwgdHlwZTogJ2RheScgfCAnbW9udGgnIHwgJ3llYXInKTogc3RyaW5nIHtcbiAgICBpZiAodHlwZSA9PT0gJ2RheScgJiYgdGhpcy5mb3JtYXREYXRlRm4pIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdERhdGVGbihkYXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIGZvcm1hdChkYXRlLCB0eXBlID09PSAnZGF5JyA/ICdkJyA6IHR5cGUgPT09ICdtb250aCcgPyAnTU1NJyA6ICd5eXl5Jyk7XG4gIH1cblxuICBnZW5lcmF0ZURheXMoKSB7XG4gICAgaWYgKHRoaXMubW9kZSAhPT0gJ2RhdGUnKSByZXR1cm47XG5cbiAgICBjb25zdCBzdGFydCA9IHN0YXJ0T2ZXZWVrKHN0YXJ0T2ZNb250aCh0aGlzLnZpZXdEYXRlKSk7XG4gICAgY29uc3QgZW5kID0gZW5kT2ZXZWVrKGVuZE9mTW9udGgodGhpcy52aWV3RGF0ZSkpO1xuICAgIHRoaXMuZGF5c0luTW9udGggPSBlYWNoRGF5T2ZJbnRlcnZhbCh7IHN0YXJ0LCBlbmQgfSk7XG4gIH1cblxuICBnZW5lcmF0ZVllYXJzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gdGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpO1xuXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3llYXInKSB7XG4gICAgICAvLyBGb3IgeWVhciBwaWNrZXIsIHNob3cgYSAxMi15ZWFyIGdyaWRcbiAgICAgIHRoaXMueWVhcnMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT4gdGhpcy55ZWFyUmFuZ2VTdGFydCArIGkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGb3IgZGF0ZSBtb2RlIHllYXIgc2VsZWN0b3IsIHNob3cgMTYgeWVhcnMgY2VudGVyZWQgb24gY3VycmVudFxuICAgICAgdGhpcy55ZWFycyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDE2IH0sIChfLCBpKSA9PiBjdXJyZW50WWVhciAtIDYgKyBpKTtcbiAgICB9XG4gIH1cblxuICBzZXRWaWV3KHZpZXc6ICdkYXRlJyB8ICdtb250aCcgfCAneWVhcicpIHtcbiAgICB0aGlzLmN1cnJlbnRWaWV3ID0gdmlldztcbiAgICBpZiAodmlldyA9PT0gJ3llYXInKSB7XG4gICAgICB0aGlzLmdlbmVyYXRlWWVhcnMoKTtcbiAgICB9XG4gIH1cblxuICBwcmV2KCkge1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICdkYXRlJykge1xuICAgICAgaWYgKHRoaXMuY3VycmVudFZpZXcgPT09ICdkYXRlJykge1xuICAgICAgICB0aGlzLnZpZXdEYXRlID0gc3ViTW9udGhzKHRoaXMudmlld0RhdGUsIDEpO1xuICAgICAgICB0aGlzLmdlbmVyYXRlRGF5cygpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRWaWV3ID09PSAneWVhcicpIHtcbiAgICAgICAgdGhpcy52aWV3RGF0ZSA9IHN1YlllYXJzKHRoaXMudmlld0RhdGUsIDE2KTtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVllYXJzKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFZpZXcgPT09ICdtb250aCcpIHtcbiAgICAgICAgdGhpcy52aWV3RGF0ZSA9IHN1YlllYXJzKHRoaXMudmlld0RhdGUsIDEpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSAnbW9udGgnKSB7XG4gICAgICB0aGlzLnZpZXdEYXRlID0gc3ViWWVhcnModGhpcy52aWV3RGF0ZSwgMSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09ICd5ZWFyJykge1xuICAgICAgdGhpcy55ZWFyUmFuZ2VTdGFydCAtPSAxMjtcbiAgICAgIHRoaXMuZ2VuZXJhdGVZZWFycygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSAnbW9udGgteWVhcicpIHtcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRWaWV3ID09PSAnbW9udGgnKSB7XG4gICAgICAgIHRoaXMudmlld0RhdGUgPSBzdWJZZWFycyh0aGlzLnZpZXdEYXRlLCAxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMueWVhclJhbmdlU3RhcnQgLT0gMTI7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVZZWFycygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5leHQoKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2RhdGUnKSB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50VmlldyA9PT0gJ2RhdGUnKSB7XG4gICAgICAgIHRoaXMudmlld0RhdGUgPSBhZGRNb250aHModGhpcy52aWV3RGF0ZSwgMSk7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVEYXlzKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFZpZXcgPT09ICd5ZWFyJykge1xuICAgICAgICB0aGlzLnZpZXdEYXRlID0gYWRkWWVhcnModGhpcy52aWV3RGF0ZSwgMTYpO1xuICAgICAgICB0aGlzLmdlbmVyYXRlWWVhcnMoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50VmlldyA9PT0gJ21vbnRoJykge1xuICAgICAgICB0aGlzLnZpZXdEYXRlID0gYWRkWWVhcnModGhpcy52aWV3RGF0ZSwgMSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09ICdtb250aCcpIHtcbiAgICAgIHRoaXMudmlld0RhdGUgPSBhZGRZZWFycyh0aGlzLnZpZXdEYXRlLCAxKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubW9kZSA9PT0gJ3llYXInKSB7XG4gICAgICB0aGlzLnllYXJSYW5nZVN0YXJ0ICs9IDEyO1xuICAgICAgdGhpcy5nZW5lcmF0ZVllYXJzKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09ICdtb250aC15ZWFyJykge1xuICAgICAgaWYgKHRoaXMuY3VycmVudFZpZXcgPT09ICdtb250aCcpIHtcbiAgICAgICAgdGhpcy52aWV3RGF0ZSA9IGFkZFllYXJzKHRoaXMudmlld0RhdGUsIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy55ZWFyUmFuZ2VTdGFydCArPSAxMjtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVllYXJzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJldlllYXJzKCkge1xuICAgIHRoaXMueWVhclJhbmdlU3RhcnQgLT0gMTI7XG4gICAgdGhpcy5nZW5lcmF0ZVllYXJzKCk7XG4gIH1cblxuICBuZXh0WWVhcnMoKSB7XG4gICAgdGhpcy55ZWFyUmFuZ2VTdGFydCArPSAxMjtcbiAgICB0aGlzLmdlbmVyYXRlWWVhcnMoKTtcbiAgfVxuXG4gIHNlbGVjdERhdGUoZGF0ZTogRGF0ZSkge1xuICAgIGlmICh0aGlzLmlzRGF0ZURpc2FibGVkKGRhdGUpKSByZXR1cm47XG5cbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGRhdGU7XG4gICAgdGhpcy5vbkNoYW5nZShkYXRlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuZGF0ZVNlbGVjdC5lbWl0KGRhdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyaWQga2V5Ym9hcmQgbmF2aWdhdGlvbiBmb3IgdGhlIGRheSB2aWV3IChyZWFjdC1kYXktcGlja2VyIHNlbWFudGljcykuXG4gICAqIEFycm93cyBtb3ZlIGJ5IGRheS93ZWVrLCBIb21lL0VuZCB0byB3ZWVrIGVkZ2VzLCBQYWdlVXAvUGFnZURvd24gYnkgbW9udGguXG4gICAqIEVudGVyL1NwYWNlIGFyZSBsZWZ0IHRvIHRoZSBuYXRpdmUgZGF5IDxidXR0b24+ICh3aGljaCBzZWxlY3RzIG9uIGNsaWNrIGFuZFxuICAgKiBkb2VzIG5vdCBzY3JvbGwgdGhlIHBhZ2UpLlxuICAgKi9cbiAgb25HcmlkS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnRWaWV3ICE9PSAnZGF0ZScgfHwgdGhpcy5tb2RlICE9PSAnZGF0ZScpIHJldHVybjtcblxuICAgIGNvbnN0IGdyaWRFbCA9IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgYnV0dG9ucyA9IEFycmF5LmZyb20oZ3JpZEVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbicpKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIGNvbnN0IGlkeCA9IGJ1dHRvbnMuaW5kZXhPZihldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIGlmIChpZHggPCAwKSByZXR1cm47XG5cbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5kYXlzSW5Nb250aFtpZHhdO1xuICAgIGlmICghY3VycmVudCkgcmV0dXJuO1xuXG4gICAgbGV0IG5leHQ6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dMZWZ0JzogbmV4dCA9IGFkZERheXMoY3VycmVudCwgLTEpOyBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOiBuZXh0ID0gYWRkRGF5cyhjdXJyZW50LCAxKTsgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1VwJzogbmV4dCA9IGFkZERheXMoY3VycmVudCwgLTcpOyBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6IG5leHQgPSBhZGREYXlzKGN1cnJlbnQsIDcpOyBicmVhaztcbiAgICAgIGNhc2UgJ0hvbWUnOiBuZXh0ID0gc3RhcnRPZldlZWsoY3VycmVudCk7IGJyZWFrO1xuICAgICAgY2FzZSAnRW5kJzogbmV4dCA9IGVuZE9mV2VlayhjdXJyZW50KTsgYnJlYWs7XG4gICAgICBjYXNlICdQYWdlVXAnOiBuZXh0ID0gc3ViTW9udGhzKGN1cnJlbnQsIDEpOyBicmVhaztcbiAgICAgIGNhc2UgJ1BhZ2VEb3duJzogbmV4dCA9IGFkZE1vbnRocyhjdXJyZW50LCAxKTsgYnJlYWs7XG4gICAgICBkZWZhdWx0OiByZXR1cm47XG4gICAgfVxuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmZvY3VzRGF5KG5leHQsIGdyaWRFbCk7XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgZm9jdXMgdG8gdGhlIGRheSBidXR0b24gbWF0Y2hpbmcgYGRhdGVgLiBJZiB0aGUgZGF5IGlzIG5vdCBwcmVzZW50IGluXG4gICAqIHRoZSBjdXJyZW50IGdyaWQsIHRoZSB2aWV3IGFkdmFuY2VzL3JldHJlYXRzIHRvIGl0cyBtb250aCwgcmVnZW5lcmF0ZXMgYW5kXG4gICAqIHRoZW4gZm9jdXNlcyBpdC5cbiAgICovXG4gIHByaXZhdGUgZm9jdXNEYXkoZGF0ZTogRGF0ZSwgZ3JpZEVsOiBIVE1MRWxlbWVudCkge1xuICAgIGxldCBpZHggPSB0aGlzLmRheXNJbk1vbnRoLmZpbmRJbmRleChkID0+IGlzU2FtZURheShkLCBkYXRlKSk7XG4gICAgaWYgKGlkeCA8IDApIHtcbiAgICAgIHRoaXMudmlld0RhdGUgPSBzdGFydE9mTW9udGgoZGF0ZSk7XG4gICAgICB0aGlzLmdlbmVyYXRlRGF5cygpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpOyAvLyByZS1yZW5kZXIgdGhlIGdyaWQgc3luY2hyb25vdXNseVxuICAgICAgaWR4ID0gdGhpcy5kYXlzSW5Nb250aC5maW5kSW5kZXgoZCA9PiBpc1NhbWVEYXkoZCwgZGF0ZSkpO1xuICAgIH1cbiAgICBpZiAoaWR4IDwgMCkgcmV0dXJuO1xuXG4gICAgY29uc3QgYnV0dG9ucyA9IEFycmF5LmZyb20oZ3JpZEVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbicpKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIGJ1dHRvbnNbaWR4XT8uZm9jdXMoKTtcbiAgfVxuXG4gIHNlbGVjdE1vbnRoKG1vbnRoSW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICdkYXRlJykge1xuICAgICAgdGhpcy52aWV3RGF0ZSA9IHNldE1vbnRoKHRoaXMudmlld0RhdGUsIG1vbnRoSW5kZXgpO1xuICAgICAgdGhpcy5jdXJyZW50VmlldyA9ICdkYXRlJztcbiAgICAgIHRoaXMuZ2VuZXJhdGVEYXlzKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09ICdtb250aCcpIHtcbiAgICAgIHRoaXMudmlld0RhdGUgPSBzZXRNb250aCh0aGlzLnZpZXdEYXRlLCBtb250aEluZGV4KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gIHRoaXMudmlld0RhdGU7XG4gICAgICB0aGlzLm9uQ2hhbmdlKCB0aGlzLnZpZXdEYXRlKTtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLmRhdGVTZWxlY3QuZW1pdCggdGhpcy52aWV3RGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0WWVhcih5ZWFyOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZGF0ZScpIHtcbiAgICAgIHRoaXMudmlld0RhdGUgPSBzZXRZZWFyKHRoaXMudmlld0RhdGUsIHllYXIpO1xuICAgICAgdGhpcy5jdXJyZW50VmlldyA9ICdkYXRlJztcbiAgICAgIHRoaXMuZ2VuZXJhdGVEYXlzKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09ICd5ZWFyJyB8fCB0aGlzLm1vZGUgPT09ICdtb250aCcpIHtcbiAgICAgIHRoaXMudmlld0RhdGUgPSBzZXRZZWFyKHRoaXMudmlld0RhdGUsIHllYXIpO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSAgdGhpcy52aWV3RGF0ZTtcbiAgICAgIHRoaXMub25DaGFuZ2UoIHRoaXMudmlld0RhdGUpO1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuZGF0ZVNlbGVjdC5lbWl0KCB0aGlzLnZpZXdEYXRlKTtcbiAgICB9XG4gIH1cblxuICBpc1NlbGVjdGVkKGRhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5zZWxlY3RlZERhdGUgJiYgaXNTYW1lRGF5KGRhdGUsIHRoaXMuc2VsZWN0ZWREYXRlKSk7XG4gIH1cblxuICBnZXREYXlDbGFzcyhkYXRlOiBEYXRlKSB7XG4gICAgY29uc3QgaXNTZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWREYXRlICYmIGlzU2FtZURheShkYXRlLCB0aGlzLnNlbGVjdGVkRGF0ZSk7XG4gICAgY29uc3QgaXNUb2RheURhdGUgPSBpc1RvZGF5KGRhdGUpO1xuICAgIGNvbnN0IGlzT3V0c2lkZSA9ICFpc1NhbWVNb250aChkYXRlLCB0aGlzLnZpZXdEYXRlKTtcbiAgICBjb25zdCBpc0Rpc2FibGVkID0gdGhpcy5pc0RhdGVEaXNhYmxlZChkYXRlKTtcblxuICAgIHJldHVybiBjbihcbiAgICAgICdoLTkgdy05IHAtMCBmb250LW5vcm1hbCB0ZXh0LXNtIHJvdW5kZWQtbWQgdHJhbnNpdGlvbi1hbGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcnLFxuICAgICAgIWlzU2VsZWN0ZWQgJiYgIWlzRGlzYWJsZWQgJiYgJ2hvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyxcbiAgICAgIGlzU2VsZWN0ZWQgJiYgJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgaG92ZXI6YmctcHJpbWFyeSBob3Zlcjp0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCcsXG4gICAgICAhaXNTZWxlY3RlZCAmJiBpc1RvZGF5RGF0ZSAmJiAnYmctYWNjZW50IHRleHQtYWNjZW50LWZvcmVncm91bmQnLFxuICAgICAgKGlzT3V0c2lkZSB8fCBpc0Rpc2FibGVkKSAmJiAndGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG9wYWNpdHktNTAnLFxuICAgICAgaXNEaXNhYmxlZCAmJiAnY3Vyc29yLW5vdC1hbGxvd2VkJ1xuICAgICk7XG4gIH1cblxuICBnZXRNb250aENsYXNzKG1vbnRoSW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkRGF0ZSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGhJbmRleCAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gdGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IGlzQ3VycmVudCA9IG5ldyBEYXRlKCkuZ2V0TW9udGgoKSA9PT0gbW9udGhJbmRleCAmJlxuICAgICAgbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpID09PSB0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICByZXR1cm4gY24oXG4gICAgICAndGV4dC1zbSBweS0yLjUgcm91bmRlZC1tZCB0cmFuc2l0aW9uLWNvbG9ycycsXG4gICAgICBpc1NlbGVjdGVkID8gJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgaG92ZXI6YmctcHJpbWFyeScgOlxuICAgICAgICBpc0N1cnJlbnQgPyAnYm9yZGVyIGJvcmRlci1wcmltYXJ5LzMwIHRleHQtcHJpbWFyeScgOlxuICAgICAgICAgICdob3ZlcjpiZy1hY2NlbnQgaG92ZXI6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCdcbiAgICApO1xuICB9XG5cbiAgZ2V0WWVhckNsYXNzKHllYXI6IG51bWJlcikge1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkRGF0ZSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKSA9PT0geWVhcjtcbiAgICBjb25zdCBpc0N1cnJlbnQgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgPT09IHllYXI7XG5cbiAgICByZXR1cm4gY24oXG4gICAgICAndGV4dC1zbSBweS0yIHJvdW5kZWQtbWQgdHJhbnNpdGlvbi1jb2xvcnMnLFxuICAgICAgaXNTZWxlY3RlZCA/ICdiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnknIDpcbiAgICAgICAgaXNDdXJyZW50ID8gJ2JvcmRlciBib3JkZXItcHJpbWFyeS8zMCB0ZXh0LXByaW1hcnknIDpcbiAgICAgICAgICAnaG92ZXI6YmctYWNjZW50IGhvdmVyOnRleHQtYWNjZW50LWZvcmVncm91bmQnXG4gICAgKTtcbiAgfVxuXG4gIGlzRGF0ZURpc2FibGVkKGRhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlUGFzdERhdGVzICYmIGlzQmVmb3JlKGRhdGUsIHN0YXJ0T2ZEYXkobmV3IERhdGUoKSkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWluRGF0ZSAmJiBpc0JlZm9yZShkYXRlLCB0aGlzLm1pbkRhdGUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuICEhKHRoaXMubWF4RGF0ZSAmJiBpc0JlZm9yZSh0aGlzLm1heERhdGUsIGRhdGUpKTtcblxuICB9XG5cbiAgaXNUb2RheURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzRGF0ZURpc2FibGVkKG5ldyBEYXRlKCkpO1xuICB9XG5cbiAgc2VsZWN0VG9kYXkoKSB7XG4gICAgaWYgKCF0aGlzLmlzVG9kYXlEaXNhYmxlZCgpKSB7XG4gICAgICB0aGlzLnNlbGVjdERhdGUobmV3IERhdGUoKSk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLmRhdGVTZWxlY3QuZW1pdChudWxsKTtcbiAgfVxuXG4gIC8vIENWQSBJbXBsZW1lbnRhdGlvblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgaWYgKG9iaikge1xuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKG9iaik7XG4gICAgICBpZiAoIWlzTmFOKGRhdGUuZ2V0VGltZSgpKSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGRhdGU7XG4gICAgICAgIHRoaXMudmlld0RhdGUgPSBkYXRlO1xuICAgICAgICB0aGlzLmdlbmVyYXRlRGF5cygpO1xuICAgICAgICB0aGlzLmdlbmVyYXRlWWVhcnMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7IHRoaXMub25DaGFuZ2UgPSBmbjsgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7IHRoaXMub25Ub3VjaGVkID0gZm47IH1cbn1cbiJdfQ==
|
|
585
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9jYWxlbmRhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQzNELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFDTCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUN2RCxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFDdEQsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQ3pELFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUM3QixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUE4SGhDLE1BQU0sT0FBTyxpQkFBaUI7SUFrQ1I7SUFqQ1gsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNwQjt1RkFDbUY7SUFDMUUsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixJQUFJLEdBQWlCLE1BQU0sQ0FBQztJQUM1QixnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDekIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLE9BQU8sQ0FBUTtJQUNmLE9BQU8sQ0FBUTtJQUNmLGFBQWEsQ0FBMEI7SUFDdkMsWUFBWSxDQUEwQjtJQUN0QyxZQUFZLENBQTBCO0lBRXJDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0lBRXZELFdBQVcs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QUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRHVCwrRkFwSFMsWUFBWSxrVEFBRSxXQUFXOzs0RkFzSHhCLGlCQUFpQjtrQkExSDdCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBRWQsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxhQUN6Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEdUO3NGQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgZm9yd2FyZFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBhZGREYXlzLCBhZGRNb250aHMsIHN1Yk1vbnRocywgc3RhcnRPZk1vbnRoLCBlbmRPZk1vbnRoLFxuICBzdGFydE9mV2VlaywgZW5kT2ZXZWVrLCBlYWNoRGF5T2ZJbnRlcnZhbCwgaXNTYW1lTW9udGgsXG4gIGlzU2FtZURheSwgaXNUb2RheSwgc2V0TW9udGgsIHNldFllYXIsIGFkZFllYXJzLCBzdWJZZWFycyxcbiAgaXNCZWZvcmUsIHN0YXJ0T2ZEYXksIGZvcm1hdFxufSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4vdXRpbHMvY24nO1xuXG5leHBvcnQgdHlwZSBDYWxlbmRhck1vZGUgPSAnZGF0ZScgfCAnbW9udGgnIHwgJ3llYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1jYWxlbmRhcicsXG4gIHN0eWxlczogWyc6aG9zdCB7IGRpc3BsYXk6IGJsb2NrOyB9J10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDYWxlbmRhckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtjbGFzc109XCJjbigndGV4dC1wb3BvdmVyLWZvcmVncm91bmQgaW5saW5lLWJsb2NrIG1pbi13LWZpdCcsIGJvcmRlcmVkID8gJ3AtMyBib3JkZXIgcm91bmRlZC1tZCBiZy1iYWNrZ3JvdW5kIHNoYWRvdy1zbScgOiAnJywgY2xhc3MpXCI+XG4gICAgICA8IS0tIEhlYWRlciB3aXRoIE5hdmlnYXRpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB0LTEgcGItNCBnYXAtMlwiPlxuICAgICAgICA8IS0tIFZpZXcgU2VsZWN0b3IgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwiPlxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJtb2RlICE9PSAneWVhcidcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2V0VmlldygnbW9udGgnKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiY24oXG4gICAgICAgICAgICAgICd0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgcHgtMiBweS0xIHJvdW5kZWQgdHJhbnNpdGlvbi1jb2xvcnMnLFxuICAgICAgICAgICAgICBjdXJyZW50VmlldyA9PT0gJ21vbnRoJyA/ICdiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCcgOiAnaG92ZXI6YmctYWNjZW50IGhvdmVyOnRleHQtYWNjZW50LWZvcmVncm91bmQnXG4gICAgICAgICAgICApXCI+XG4gICAgICAgICAgICB7eyBmb3JtYXRNb250aFllYXIodmlld0RhdGUsICdtb250aCcpIH19XG4gICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRWaWV3KCd5ZWFyJylcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImNuKFxuICAgICAgICAgICAgICAndGV4dC1zbSBmb250LXNlbWlib2xkIHB4LTIgcHktMSByb3VuZGVkIHRyYW5zaXRpb24tY29sb3JzJyxcbiAgICAgICAgICAgICAgY3VycmVudFZpZXcgPT09ICd5ZWFyJyA/ICdiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCcgOiAnaG92ZXI6YmctYWNjZW50IGhvdmVyOnRleHQtYWNjZW50LWZvcmVncm91bmQnXG4gICAgICAgICAgICApXCI+XG4gICAgICAgICAgICB7eyBmb3JtYXRNb250aFllYXIodmlld0RhdGUsICd5ZWFyJykgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBOYXZpZ2F0aW9uIEJ1dHRvbnMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTFcIj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicHJldigpXCIgW2NsYXNzXT1cIm5hdkJ0bkNsYXNzXCIgYXJpYS1sYWJlbD1cIlByZXZpb3VzIG1vbnRoXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cInJpLWFycm93LWxlZnQtcy1saW5lIHRleHQtbGdcIj48L2k+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm5leHQoKVwiIFtjbGFzc109XCJuYXZCdG5DbGFzc1wiIGFyaWEtbGFiZWw9XCJOZXh0IG1vbnRoXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cInJpLWFycm93LXJpZ2h0LXMtbGluZSB0ZXh0LWxnXCI+PC9pPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIERBVEUgTU9ERSAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50VmlldyA9PT0gJ2RhdGUnICYmIG1vZGUgPT09ICdkYXRlJ1wiIGNsYXNzPVwic3BhY2UteS0yIGFuaW1hdGUtaW4gZmFkZS1pbiB6b29tLWluLTk1IGR1cmF0aW9uLTIwMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtNyBnYXAtMSB3LWZ1bGxcIj5cbiAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWtEYXlzXCIgY2xhc3M9XCJ0ZXh0LVswLjhyZW1dIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBmb250LW5vcm1hbCB0ZXh0LWNlbnRlciB3LTlcIj5cbiAgICAgICAgICAgIHt7IGRheSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgcm9sZT1cImdyaWRcIiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTcgZ2FwLTEgdy1mdWxsXCIgKGtleWRvd24pPVwib25HcmlkS2V5ZG93bigkZXZlbnQpXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGRhdGUgb2YgZGF5c0luTW9udGhcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICByb2xlPVwiZ3JpZGNlbGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpc1NlbGVjdGVkKGRhdGUpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiKGRhdGUgfCBkYXRlOidmdWxsRGF0ZScpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKGRhdGUpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0RhdGVEaXNhYmxlZChkYXRlKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiZ2V0RGF5Q2xhc3MoZGF0ZSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGZvcm1hdERhdGUoZGF0ZSwgJ2RheScpIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gTU9OVEggU0VMRUNUT1IgKGZvciBkYXRlIG1vZGUgYW5kIG1vbnRoIG1vZGUpIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cIihjdXJyZW50VmlldyA9PT0gJ21vbnRoJylcIlxuICAgICAgICAgICBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTMgZ2FwLTIgdy02NCBhbmltYXRlLWluIGZhZGUtaW4gem9vbS1pbi05NSBkdXJhdGlvbi0yMDBcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBtb250aCBvZiBtb250aHM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RNb250aChpKVwiXG4gICAgICAgICAgW2NsYXNzXT1cImdldE1vbnRoQ2xhc3MoaSlcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgbW9udGggfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBZRUFSIFNFTEVDVE9SIChmb3IgZGF0ZSBtb2RlIGFuZCB5ZWFyIG1vZGUpIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cIihjdXJyZW50VmlldyA9PT0gJ3llYXInKSBcIlxuICAgICAgICAgICBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTQgZ2FwLTIgdy02NCBhbmltYXRlLWluIGZhZGUtaW4gem9vbS1pbi05NSBkdXJhdGlvbi0yMDBcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCB5ZWFyIG9mIHllYXJzXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0WWVhcih5ZWFyKVwiXG4gICAgICAgICAgW2NsYXNzXT1cImdldFllYXJDbGFzcyh5ZWFyKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB5ZWFyIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gUXVpY2sgQWN0aW9ucyAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJzaG93UXVpY2tBY3Rpb25zXCIgY2xhc3M9XCJib3JkZXItdCBwdC0zIG10LTNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMlwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFRvZGF5KClcIlxuICAgICAgICAgICAgW2NsYXNzXT1cInF1aWNrQWN0aW9uQnRuQ2xhc3NcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzVG9kYXlEaXNhYmxlZCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBUb2RheVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKClcIlxuICAgICAgICAgICAgW2NsYXNzXT1cInF1aWNrQWN0aW9uQnRuQ2xhc3NcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIENsZWFyXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgY2xhc3MgPSAnJztcbiAgLyoqIFJlbmRlcnMgdGhlIGNhbGVuZGFyJ3Mgb3duIGJvcmRlciwgYmFja2dyb3VuZCBhbmQgc2hhZG93LiBTZXQgYGZhbHNlYCB3aGVuXG4gICAqIG5lc3RpbmcgaW5zaWRlIGEgY2FyZC9wb3BvdmVyIHRoYXQgYWxyZWFkeSBwcm92aWRlcyB0aGUgY2hyb21lLiBAZGVmYXVsdCB0cnVlICovXG4gIEBJbnB1dCgpIGJvcmRlcmVkID0gdHJ1ZTtcbiAgQElucHV0KCkgbW9kZTogQ2FsZW5kYXJNb2RlID0gJ2RhdGUnO1xuICBASW5wdXQoKSBkaXNhYmxlUGFzdERhdGVzID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dRdWlja0FjdGlvbnMgPSB0cnVlO1xuICBASW5wdXQoKSBtaW5EYXRlPzogRGF0ZTtcbiAgQElucHV0KCkgbWF4RGF0ZT86IERhdGU7XG4gIEBJbnB1dCgpIGZvcm1hdE1vbnRoRm4/OiAoZGF0ZTogRGF0ZSkgPT4gc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtYXRZZWFyRm4/OiAoZGF0ZTogRGF0ZSkgPT4gc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtYXREYXRlRm4/OiAoZGF0ZTogRGF0ZSkgPT4gc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBkYXRlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4oKTtcblxuICBjdXJyZW50VmlldzogJ2RhdGUnIHwgJ21vbnRoJyB8ICd5ZWFyJyA9ICdkYXRlJztcbiAgdmlld0RhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICBzZWxlY3RlZERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICB3ZWVrRGF5cyA9IFsnU3UnLCAnTW8nLCAnVHUnLCAnV2UnLCAnVGgnLCAnRnInLCAnU2EnXTtcbiAgZGF5c0luTW9udGg6IERhdGVbXSA9IFtdO1xuICBtb250aHMgPSBbJ0phbicsICdGZWInLCAnTWFyJywgJ0FwcicsICdNYXknLCAnSnVuJywgJ0p1bCcsICdBdWcnLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGVjJ107XG4gIHllYXJzOiBudW1iZXJbXSA9IFtdO1xuICB5ZWFyUmFuZ2VTdGFydDogbnVtYmVyO1xuXG4gIG5hdkJ0bkNsYXNzID0gY24oJ2gtNyB3LTcgYmctdHJhbnNwYXJlbnQgcC0wIG9wYWNpdHktNTAgaG92ZXI6b3BhY2l0eS0xMDAgYm9yZGVyIGJvcmRlci1pbnB1dCByb3VuZGVkLW1kIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIHRyYW5zaXRpb24tYWxsIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nJyk7XG4gIHF1aWNrQWN0aW9uQnRuQ2xhc3MgPSBjbigncHgtMyBweS0xLjUgdGV4dC1zbSByb3VuZGVkIGhvdmVyOmJnLWFjY2VudCB0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kIHRyYW5zaXRpb24tY29sb3JzJyk7XG5cbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG4gIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIHByb3RlY3RlZCBjbiA9IGNuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMueWVhclJhbmdlU3RhcnQgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgLSA2O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gSW5pdGlhbGl6ZSBiYXNlZCBvbiBtb2RlXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ21vbnRoJykge1xuICAgICAgdGhpcy5jdXJyZW50VmlldyA9ICdtb250aCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09ICd5ZWFyJykge1xuICAgICAgdGhpcy5jdXJyZW50VmlldyA9ICd5ZWFyJztcbiAgICB9XG5cbiAgICB0aGlzLmdlbmVyYXRlRGF5cygpO1xuICAgIHRoaXMuZ2VuZXJhdGVZZWFycygpO1xuICB9XG5cbiAgLy8gRm9ybWF0IGhlbHBlcnNcbiAgZm9ybWF0TW9udGhZZWFyKGRhdGU6IERhdGUsIHR5cGU6ICdtb250aCcgfCAneWVhcicpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlID09PSAnbW9udGgnICYmIHRoaXMuZm9ybWF0TW9udGhGbikge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0TW9udGhGbihkYXRlKTtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09ICd5ZWFyJyAmJiB0aGlzLmZvcm1hdFllYXJGbikge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0WWVhckZuKGRhdGUpO1xuICAgIH1cbiAgICByZXR1cm4gdHlwZSA9PT0gJ21vbnRoJyA/IGZvcm1hdChkYXRlLCAnTU1NTScpIDogZm9ybWF0KGRhdGUsICd5eXl5Jyk7XG4gIH1cblxuICBmb3JtYXREYXRlKGRhdGU6IERhdGUsIHR5cGU6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGUgPT09ICdkYXknICYmIHRoaXMuZm9ybWF0RGF0ZUZuKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXREYXRlRm4oZGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXQoZGF0ZSwgdHlwZSA9PT0gJ2RheScgPyAnZCcgOiB0eXBlID09PSAnbW9udGgnID8gJ01NTScgOiAneXl5eScpO1xuICB9XG5cbiAgZ2VuZXJhdGVEYXlzKCkge1xuICAgIGlmICh0aGlzLm1vZGUgIT09ICdkYXRlJykgcmV0dXJuO1xuXG4gICAgY29uc3Qgc3RhcnQgPSBzdGFydE9mV2VlayhzdGFydE9mTW9udGgodGhpcy52aWV3RGF0ZSkpO1xuICAgIGNvbnN0IGVuZCA9IGVuZE9mV2VlayhlbmRPZk1vbnRoKHRoaXMudmlld0RhdGUpKTtcbiAgICB0aGlzLmRheXNJbk1vbnRoID0gZWFjaERheU9mSW50ZXJ2YWwoeyBzdGFydCwgZW5kIH0pO1xuICB9XG5cbiAgZ2VuZXJhdGVZZWFycygpIHtcbiAgICBjb25zdCBjdXJyZW50WWVhciA9IHRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKTtcblxuICAgIGlmICh0aGlzLm1vZGUgPT09ICd5ZWFyJykge1xuICAgICAgLy8gRm9yIHllYXIgcGlja2VyLCBzaG93IGEgMTIteWVhciBncmlkXG4gICAgICB0aGlzLnllYXJzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGkpID0+IHRoaXMueWVhclJhbmdlU3RhcnQgKyBpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRm9yIGRhdGUgbW9kZSB5ZWFyIHNlbGVjdG9yLCBzaG93IDE2IHllYXJzIGNlbnRlcmVkIG9uIGN1cnJlbnRcbiAgICAgIHRoaXMueWVhcnMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxNiB9LCAoXywgaSkgPT4gY3VycmVudFllYXIgLSA2ICsgaSk7XG4gICAgfVxuICB9XG5cbiAgc2V0Vmlldyh2aWV3OiAnZGF0ZScgfCAnbW9udGgnIHwgJ3llYXInKSB7XG4gICAgdGhpcy5jdXJyZW50VmlldyA9IHZpZXc7XG4gICAgaWYgKHZpZXcgPT09ICd5ZWFyJykge1xuICAgICAgdGhpcy5nZW5lcmF0ZVllYXJzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJldigpIHtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZGF0ZScpIHtcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRWaWV3ID09PSAnZGF0ZScpIHtcbiAgICAgICAgdGhpcy52aWV3RGF0ZSA9IHN1Yk1vbnRocyh0aGlzLnZpZXdEYXRlLCAxKTtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZURheXMoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50VmlldyA9PT0gJ3llYXInKSB7XG4gICAgICAgIHRoaXMudmlld0RhdGUgPSBzdWJZZWFycyh0aGlzLnZpZXdEYXRlLCAxNik7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVZZWFycygpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRWaWV3ID09PSAnbW9udGgnKSB7XG4gICAgICAgIHRoaXMudmlld0RhdGUgPSBzdWJZZWFycyh0aGlzLnZpZXdEYXRlLCAxKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMubW9kZSA9PT0gJ21vbnRoJykge1xuICAgICAgdGhpcy52aWV3RGF0ZSA9IHN1YlllYXJzKHRoaXMudmlld0RhdGUsIDEpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSAneWVhcicpIHtcbiAgICAgIHRoaXMueWVhclJhbmdlU3RhcnQgLT0gMTI7XG4gICAgICB0aGlzLmdlbmVyYXRlWWVhcnMoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubW9kZSA9PT0gJ21vbnRoLXllYXInKSB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50VmlldyA9PT0gJ21vbnRoJykge1xuICAgICAgICB0aGlzLnZpZXdEYXRlID0gc3ViWWVhcnModGhpcy52aWV3RGF0ZSwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnllYXJSYW5nZVN0YXJ0IC09IDEyO1xuICAgICAgICB0aGlzLmdlbmVyYXRlWWVhcnMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZXh0KCkge1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICdkYXRlJykge1xuICAgICAgaWYgKHRoaXMuY3VycmVudFZpZXcgPT09ICdkYXRlJykge1xuICAgICAgICB0aGlzLnZpZXdEYXRlID0gYWRkTW9udGhzKHRoaXMudmlld0RhdGUsIDEpO1xuICAgICAgICB0aGlzLmdlbmVyYXRlRGF5cygpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRWaWV3ID09PSAneWVhcicpIHtcbiAgICAgICAgdGhpcy52aWV3RGF0ZSA9IGFkZFllYXJzKHRoaXMudmlld0RhdGUsIDE2KTtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVllYXJzKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFZpZXcgPT09ICdtb250aCcpIHtcbiAgICAgICAgdGhpcy52aWV3RGF0ZSA9IGFkZFllYXJzKHRoaXMudmlld0RhdGUsIDEpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSAnbW9udGgnKSB7XG4gICAgICB0aGlzLnZpZXdEYXRlID0gYWRkWWVhcnModGhpcy52aWV3RGF0ZSwgMSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09ICd5ZWFyJykge1xuICAgICAgdGhpcy55ZWFyUmFuZ2VTdGFydCArPSAxMjtcbiAgICAgIHRoaXMuZ2VuZXJhdGVZZWFycygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSAnbW9udGgteWVhcicpIHtcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRWaWV3ID09PSAnbW9udGgnKSB7XG4gICAgICAgIHRoaXMudmlld0RhdGUgPSBhZGRZZWFycyh0aGlzLnZpZXdEYXRlLCAxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMueWVhclJhbmdlU3RhcnQgKz0gMTI7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVZZWFycygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByZXZZZWFycygpIHtcbiAgICB0aGlzLnllYXJSYW5nZVN0YXJ0IC09IDEyO1xuICAgIHRoaXMuZ2VuZXJhdGVZZWFycygpO1xuICB9XG5cbiAgbmV4dFllYXJzKCkge1xuICAgIHRoaXMueWVhclJhbmdlU3RhcnQgKz0gMTI7XG4gICAgdGhpcy5nZW5lcmF0ZVllYXJzKCk7XG4gIH1cblxuICBzZWxlY3REYXRlKGRhdGU6IERhdGUpIHtcbiAgICBpZiAodGhpcy5pc0RhdGVEaXNhYmxlZChkYXRlKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xuICAgIHRoaXMub25DaGFuZ2UoZGF0ZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLmRhdGVTZWxlY3QuZW1pdChkYXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmlkIGtleWJvYXJkIG5hdmlnYXRpb24gZm9yIHRoZSBkYXkgdmlldyAocmVhY3QtZGF5LXBpY2tlciBzZW1hbnRpY3MpLlxuICAgKiBBcnJvd3MgbW92ZSBieSBkYXkvd2VlaywgSG9tZS9FbmQgdG8gd2VlayBlZGdlcywgUGFnZVVwL1BhZ2VEb3duIGJ5IG1vbnRoLlxuICAgKiBFbnRlci9TcGFjZSBhcmUgbGVmdCB0byB0aGUgbmF0aXZlIGRheSA8YnV0dG9uPiAod2hpY2ggc2VsZWN0cyBvbiBjbGljayBhbmRcbiAgICogZG9lcyBub3Qgc2Nyb2xsIHRoZSBwYWdlKS5cbiAgICovXG4gIG9uR3JpZEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5jdXJyZW50VmlldyAhPT0gJ2RhdGUnIHx8IHRoaXMubW9kZSAhPT0gJ2RhdGUnKSByZXR1cm47XG5cbiAgICBjb25zdCBncmlkRWwgPSBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGJ1dHRvbnMgPSBBcnJheS5mcm9tKGdyaWRFbC5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b24nKSkgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICBjb25zdCBpZHggPSBidXR0b25zLmluZGV4T2YoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICBpZiAoaWR4IDwgMCkgcmV0dXJuO1xuXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuZGF5c0luTW9udGhbaWR4XTtcbiAgICBpZiAoIWN1cnJlbnQpIHJldHVybjtcblxuICAgIGxldCBuZXh0OiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6IG5leHQgPSBhZGREYXlzKGN1cnJlbnQsIC0xKTsgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1JpZ2h0JzogbmV4dCA9IGFkZERheXMoY3VycmVudCwgMSk7IGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6IG5leHQgPSBhZGREYXlzKGN1cnJlbnQsIC03KTsgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOiBuZXh0ID0gYWRkRGF5cyhjdXJyZW50LCA3KTsgYnJlYWs7XG4gICAgICBjYXNlICdIb21lJzogbmV4dCA9IHN0YXJ0T2ZXZWVrKGN1cnJlbnQpOyBicmVhaztcbiAgICAgIGNhc2UgJ0VuZCc6IG5leHQgPSBlbmRPZldlZWsoY3VycmVudCk7IGJyZWFrO1xuICAgICAgY2FzZSAnUGFnZVVwJzogbmV4dCA9IHN1Yk1vbnRocyhjdXJyZW50LCAxKTsgYnJlYWs7XG4gICAgICBjYXNlICdQYWdlRG93bic6IG5leHQgPSBhZGRNb250aHMoY3VycmVudCwgMSk7IGJyZWFrO1xuICAgICAgZGVmYXVsdDogcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5mb2N1c0RheShuZXh0LCBncmlkRWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIGZvY3VzIHRvIHRoZSBkYXkgYnV0dG9uIG1hdGNoaW5nIGBkYXRlYC4gSWYgdGhlIGRheSBpcyBub3QgcHJlc2VudCBpblxuICAgKiB0aGUgY3VycmVudCBncmlkLCB0aGUgdmlldyBhZHZhbmNlcy9yZXRyZWF0cyB0byBpdHMgbW9udGgsIHJlZ2VuZXJhdGVzIGFuZFxuICAgKiB0aGVuIGZvY3VzZXMgaXQuXG4gICAqL1xuICBwcml2YXRlIGZvY3VzRGF5KGRhdGU6IERhdGUsIGdyaWRFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBsZXQgaWR4ID0gdGhpcy5kYXlzSW5Nb250aC5maW5kSW5kZXgoZCA9PiBpc1NhbWVEYXkoZCwgZGF0ZSkpO1xuICAgIGlmIChpZHggPCAwKSB7XG4gICAgICB0aGlzLnZpZXdEYXRlID0gc3RhcnRPZk1vbnRoKGRhdGUpO1xuICAgICAgdGhpcy5nZW5lcmF0ZURheXMoKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy8gcmUtcmVuZGVyIHRoZSBncmlkIHN5bmNocm9ub3VzbHlcbiAgICAgIGlkeCA9IHRoaXMuZGF5c0luTW9udGguZmluZEluZGV4KGQgPT4gaXNTYW1lRGF5KGQsIGRhdGUpKTtcbiAgICB9XG4gICAgaWYgKGlkeCA8IDApIHJldHVybjtcblxuICAgIGNvbnN0IGJ1dHRvbnMgPSBBcnJheS5mcm9tKGdyaWRFbC5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b24nKSkgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICBidXR0b25zW2lkeF0/LmZvY3VzKCk7XG4gIH1cblxuICBzZWxlY3RNb250aChtb250aEluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZGF0ZScpIHtcbiAgICAgIHRoaXMudmlld0RhdGUgPSBzZXRNb250aCh0aGlzLnZpZXdEYXRlLCBtb250aEluZGV4KTtcbiAgICAgIHRoaXMuY3VycmVudFZpZXcgPSAnZGF0ZSc7XG4gICAgICB0aGlzLmdlbmVyYXRlRGF5cygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSAnbW9udGgnKSB7XG4gICAgICB0aGlzLnZpZXdEYXRlID0gc2V0TW9udGgodGhpcy52aWV3RGF0ZSwgbW9udGhJbmRleCk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9ICB0aGlzLnZpZXdEYXRlO1xuICAgICAgdGhpcy5vbkNoYW5nZSggdGhpcy52aWV3RGF0ZSk7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5kYXRlU2VsZWN0LmVtaXQoIHRoaXMudmlld0RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFllYXIoeWVhcjogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2RhdGUnKSB7XG4gICAgICB0aGlzLnZpZXdEYXRlID0gc2V0WWVhcih0aGlzLnZpZXdEYXRlLCB5ZWFyKTtcbiAgICAgIHRoaXMuY3VycmVudFZpZXcgPSAnZGF0ZSc7XG4gICAgICB0aGlzLmdlbmVyYXRlRGF5cygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSAneWVhcicgfHwgdGhpcy5tb2RlID09PSAnbW9udGgnKSB7XG4gICAgICB0aGlzLnZpZXdEYXRlID0gc2V0WWVhcih0aGlzLnZpZXdEYXRlLCB5ZWFyKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gIHRoaXMudmlld0RhdGU7XG4gICAgICB0aGlzLm9uQ2hhbmdlKCB0aGlzLnZpZXdEYXRlKTtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLmRhdGVTZWxlY3QuZW1pdCggdGhpcy52aWV3RGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgaXNTZWxlY3RlZChkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMuc2VsZWN0ZWREYXRlICYmIGlzU2FtZURheShkYXRlLCB0aGlzLnNlbGVjdGVkRGF0ZSkpO1xuICB9XG5cbiAgZ2V0RGF5Q2xhc3MoZGF0ZTogRGF0ZSkge1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkRGF0ZSAmJiBpc1NhbWVEYXkoZGF0ZSwgdGhpcy5zZWxlY3RlZERhdGUpO1xuICAgIGNvbnN0IGlzVG9kYXlEYXRlID0gaXNUb2RheShkYXRlKTtcbiAgICBjb25zdCBpc091dHNpZGUgPSAhaXNTYW1lTW9udGgoZGF0ZSwgdGhpcy52aWV3RGF0ZSk7XG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IHRoaXMuaXNEYXRlRGlzYWJsZWQoZGF0ZSk7XG5cbiAgICByZXR1cm4gY24oXG4gICAgICAnaC05IHctOSBwLTAgZm9udC1ub3JtYWwgdGV4dC1zbSByb3VuZGVkLW1kIHRyYW5zaXRpb24tYWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nJyxcbiAgICAgICFpc1NlbGVjdGVkICYmICFpc0Rpc2FibGVkICYmICdob3ZlcjpiZy1hY2NlbnQgaG92ZXI6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCcsXG4gICAgICBpc1NlbGVjdGVkICYmICdiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnkgaG92ZXI6dGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLFxuICAgICAgIWlzU2VsZWN0ZWQgJiYgaXNUb2RheURhdGUgJiYgJ2JnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyxcbiAgICAgIChpc091dHNpZGUgfHwgaXNEaXNhYmxlZCkgJiYgJ3RleHQtbXV0ZWQtZm9yZWdyb3VuZCBvcGFjaXR5LTUwJyxcbiAgICAgIGlzRGlzYWJsZWQgJiYgJ2N1cnNvci1ub3QtYWxsb3dlZCdcbiAgICApO1xuICB9XG5cbiAgZ2V0TW9udGhDbGFzcyhtb250aEluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gdGhpcy5zZWxlY3RlZERhdGUgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgPT09IG1vbnRoSW5kZXggJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKCkgPT09IHRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICBjb25zdCBpc0N1cnJlbnQgPSBuZXcgRGF0ZSgpLmdldE1vbnRoKCkgPT09IG1vbnRoSW5kZXggJiZcbiAgICAgIG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSA9PT0gdGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpO1xuXG4gICAgcmV0dXJuIGNuKFxuICAgICAgJ3RleHQtc20gcHktMi41IHJvdW5kZWQtbWQgdHJhbnNpdGlvbi1jb2xvcnMnLFxuICAgICAgaXNTZWxlY3RlZCA/ICdiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnknIDpcbiAgICAgICAgaXNDdXJyZW50ID8gJ2JvcmRlciBib3JkZXItcHJpbWFyeS8zMCB0ZXh0LXByaW1hcnknIDpcbiAgICAgICAgICAnaG92ZXI6YmctYWNjZW50IGhvdmVyOnRleHQtYWNjZW50LWZvcmVncm91bmQnXG4gICAgKTtcbiAgfVxuXG4gIGdldFllYXJDbGFzcyh5ZWFyOiBudW1iZXIpIHtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gdGhpcy5zZWxlY3RlZERhdGUgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKCkgPT09IHllYXI7XG4gICAgY29uc3QgaXNDdXJyZW50ID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpID09PSB5ZWFyO1xuXG4gICAgcmV0dXJuIGNuKFxuICAgICAgJ3RleHQtc20gcHktMiByb3VuZGVkLW1kIHRyYW5zaXRpb24tY29sb3JzJyxcbiAgICAgIGlzU2VsZWN0ZWQgPyAnYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCBob3ZlcjpiZy1wcmltYXJ5JyA6XG4gICAgICAgIGlzQ3VycmVudCA/ICdib3JkZXIgYm9yZGVyLXByaW1hcnkvMzAgdGV4dC1wcmltYXJ5JyA6XG4gICAgICAgICAgJ2hvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJ1xuICAgICk7XG4gIH1cblxuICBpc0RhdGVEaXNhYmxlZChkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZVBhc3REYXRlcyAmJiBpc0JlZm9yZShkYXRlLCBzdGFydE9mRGF5KG5ldyBEYXRlKCkpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLm1pbkRhdGUgJiYgaXNCZWZvcmUoZGF0ZSwgdGhpcy5taW5EYXRlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiAhISh0aGlzLm1heERhdGUgJiYgaXNCZWZvcmUodGhpcy5tYXhEYXRlLCBkYXRlKSk7XG5cbiAgfVxuXG4gIGlzVG9kYXlEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0RhdGVEaXNhYmxlZChuZXcgRGF0ZSgpKTtcbiAgfVxuXG4gIHNlbGVjdFRvZGF5KCkge1xuICAgIGlmICghdGhpcy5pc1RvZGF5RGlzYWJsZWQoKSkge1xuICAgICAgdGhpcy5zZWxlY3REYXRlKG5ldyBEYXRlKCkpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcbiAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy5kYXRlU2VsZWN0LmVtaXQobnVsbCk7XG4gIH1cblxuICAvLyBDVkEgSW1wbGVtZW50YXRpb25cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGlmIChvYmopIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShvYmopO1xuICAgICAgaWYgKCFpc05hTihkYXRlLmdldFRpbWUoKSkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xuICAgICAgICB0aGlzLnZpZXdEYXRlID0gZGF0ZTtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZURheXMoKTtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVllYXJzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQgeyB0aGlzLm9uQ2hhbmdlID0gZm47IH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQgeyB0aGlzLm9uVG91Y2hlZCA9IGZuOyB9XG59XG4iXX0=
|
|
@@ -10,24 +10,15 @@ export class CardComponent {
|
|
|
10
10
|
<div [class]="cn('flex flex-col gap-6 rounded-lg border border-border bg-card text-card-foreground py-6 shadow-sm', class)">
|
|
11
11
|
<ng-content></ng-content>
|
|
12
12
|
</div>
|
|
13
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
13
|
+
`, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
14
14
|
}
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
|
-
args: [{
|
|
18
|
-
selector: 'tolle-card',
|
|
19
|
-
standalone: true,
|
|
20
|
-
imports: [CommonModule],
|
|
21
|
-
// Card owns the vertical rhythm: `flex-col` + `gap-6` spaces the sections and
|
|
22
|
-
// `py-6` gives top/bottom padding. Sub-sections only add horizontal padding
|
|
23
|
-
// (`px-6`). This means a card renders correctly with ANY combination of
|
|
24
|
-
// header / content / footer — including content-only — with no `pt-0` hacks.
|
|
25
|
-
template: `
|
|
17
|
+
args: [{ selector: 'tolle-card', standalone: true, imports: [CommonModule], template: `
|
|
26
18
|
<div [class]="cn('flex flex-col gap-6 rounded-lg border border-border bg-card text-card-foreground py-6 shadow-sm', class)">
|
|
27
19
|
<ng-content></ng-content>
|
|
28
20
|
</div>
|
|
29
|
-
`,
|
|
30
|
-
}]
|
|
21
|
+
`, styles: [":host{display:block}\n"] }]
|
|
31
22
|
}], propDecorators: { class: [{
|
|
32
23
|
type: Input
|
|
33
24
|
}] } });
|
|
@@ -35,15 +26,11 @@ export class CardHeaderComponent {
|
|
|
35
26
|
class = '';
|
|
36
27
|
cn = cn;
|
|
37
28
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardHeaderComponent, isStandalone: true, selector: "tolle-card-header", inputs: { class: "class" }, ngImport: i0, template: `<div [class]="cn('flex flex-col gap-1.5 px-6', class)"><ng-content></ng-content></div>`, isInline: true });
|
|
29
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardHeaderComponent, isStandalone: true, selector: "tolle-card-header", inputs: { class: "class" }, ngImport: i0, template: `<div [class]="cn('flex flex-col gap-1.5 px-6', class)"><ng-content></ng-content></div>`, isInline: true, styles: [":host{display:block}\n"] });
|
|
39
30
|
}
|
|
40
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardHeaderComponent, decorators: [{
|
|
41
32
|
type: Component,
|
|
42
|
-
args: [{
|
|
43
|
-
selector: 'tolle-card-header',
|
|
44
|
-
standalone: true,
|
|
45
|
-
template: `<div [class]="cn('flex flex-col gap-1.5 px-6', class)"><ng-content></ng-content></div>`,
|
|
46
|
-
}]
|
|
33
|
+
args: [{ selector: 'tolle-card-header', standalone: true, template: `<div [class]="cn('flex flex-col gap-1.5 px-6', class)"><ng-content></ng-content></div>`, styles: [":host{display:block}\n"] }]
|
|
47
34
|
}], propDecorators: { class: [{
|
|
48
35
|
type: Input
|
|
49
36
|
}] } });
|
|
@@ -51,15 +38,11 @@ export class CardTitleComponent {
|
|
|
51
38
|
class = '';
|
|
52
39
|
cn = cn;
|
|
53
40
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardTitleComponent, isStandalone: true, selector: "tolle-card-title", inputs: { class: "class" }, ngImport: i0, template: `<h3 [class]="cn('font-semibold leading-none tracking-tight', class)"><ng-content></ng-content></h3>`, isInline: true });
|
|
41
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardTitleComponent, isStandalone: true, selector: "tolle-card-title", inputs: { class: "class" }, ngImport: i0, template: `<h3 [class]="cn('font-semibold leading-none tracking-tight', class)"><ng-content></ng-content></h3>`, isInline: true, styles: [":host{display:block}\n"] });
|
|
55
42
|
}
|
|
56
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardTitleComponent, decorators: [{
|
|
57
44
|
type: Component,
|
|
58
|
-
args: [{
|
|
59
|
-
selector: 'tolle-card-title',
|
|
60
|
-
standalone: true,
|
|
61
|
-
template: `<h3 [class]="cn('font-semibold leading-none tracking-tight', class)"><ng-content></ng-content></h3>`,
|
|
62
|
-
}]
|
|
45
|
+
args: [{ selector: 'tolle-card-title', standalone: true, template: `<h3 [class]="cn('font-semibold leading-none tracking-tight', class)"><ng-content></ng-content></h3>`, styles: [":host{display:block}\n"] }]
|
|
63
46
|
}], propDecorators: { class: [{
|
|
64
47
|
type: Input
|
|
65
48
|
}] } });
|
|
@@ -67,15 +50,11 @@ export class CardDescriptionComponent {
|
|
|
67
50
|
class = '';
|
|
68
51
|
cn = cn;
|
|
69
52
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardDescriptionComponent, isStandalone: true, selector: "tolle-card-description", inputs: { class: "class" }, ngImport: i0, template: `<p [class]="cn('text-sm text-muted-foreground', class)"><ng-content></ng-content></p>`, isInline: true });
|
|
53
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardDescriptionComponent, isStandalone: true, selector: "tolle-card-description", inputs: { class: "class" }, ngImport: i0, template: `<p [class]="cn('text-sm text-muted-foreground', class)"><ng-content></ng-content></p>`, isInline: true, styles: [":host{display:block}\n"] });
|
|
71
54
|
}
|
|
72
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardDescriptionComponent, decorators: [{
|
|
73
56
|
type: Component,
|
|
74
|
-
args: [{
|
|
75
|
-
selector: 'tolle-card-description',
|
|
76
|
-
standalone: true,
|
|
77
|
-
template: `<p [class]="cn('text-sm text-muted-foreground', class)"><ng-content></ng-content></p>`,
|
|
78
|
-
}]
|
|
57
|
+
args: [{ selector: 'tolle-card-description', standalone: true, template: `<p [class]="cn('text-sm text-muted-foreground', class)"><ng-content></ng-content></p>`, styles: [":host{display:block}\n"] }]
|
|
79
58
|
}], propDecorators: { class: [{
|
|
80
59
|
type: Input
|
|
81
60
|
}] } });
|
|
@@ -83,15 +62,11 @@ export class CardContentComponent {
|
|
|
83
62
|
class = '';
|
|
84
63
|
cn = cn;
|
|
85
64
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardContentComponent, isStandalone: true, selector: "tolle-card-content", inputs: { class: "class" }, ngImport: i0, template: `<div [class]="cn('px-6', class)"><ng-content></ng-content></div>`, isInline: true });
|
|
65
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardContentComponent, isStandalone: true, selector: "tolle-card-content", inputs: { class: "class" }, ngImport: i0, template: `<div [class]="cn('px-6', class)"><ng-content></ng-content></div>`, isInline: true, styles: [":host{display:block}\n"] });
|
|
87
66
|
}
|
|
88
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardContentComponent, decorators: [{
|
|
89
68
|
type: Component,
|
|
90
|
-
args: [{
|
|
91
|
-
selector: 'tolle-card-content',
|
|
92
|
-
standalone: true,
|
|
93
|
-
template: `<div [class]="cn('px-6', class)"><ng-content></ng-content></div>`,
|
|
94
|
-
}]
|
|
69
|
+
args: [{ selector: 'tolle-card-content', standalone: true, template: `<div [class]="cn('px-6', class)"><ng-content></ng-content></div>`, styles: [":host{display:block}\n"] }]
|
|
95
70
|
}], propDecorators: { class: [{
|
|
96
71
|
type: Input
|
|
97
72
|
}] } });
|
|
@@ -99,16 +74,12 @@ export class CardFooterComponent {
|
|
|
99
74
|
class = '';
|
|
100
75
|
cn = cn;
|
|
101
76
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardFooterComponent, isStandalone: true, selector: "tolle-card-footer", inputs: { class: "class" }, ngImport: i0, template: `<div [class]="cn('flex items-center px-6', class)"><ng-content></ng-content></div>`, isInline: true });
|
|
77
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardFooterComponent, isStandalone: true, selector: "tolle-card-footer", inputs: { class: "class" }, ngImport: i0, template: `<div [class]="cn('flex items-center px-6', class)"><ng-content></ng-content></div>`, isInline: true, styles: [":host{display:block}\n"] });
|
|
103
78
|
}
|
|
104
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardFooterComponent, decorators: [{
|
|
105
80
|
type: Component,
|
|
106
|
-
args: [{
|
|
107
|
-
selector: 'tolle-card-footer',
|
|
108
|
-
standalone: true,
|
|
109
|
-
template: `<div [class]="cn('flex items-center px-6', class)"><ng-content></ng-content></div>`,
|
|
110
|
-
}]
|
|
81
|
+
args: [{ selector: 'tolle-card-footer', standalone: true, template: `<div [class]="cn('flex items-center px-6', class)"><ng-content></ng-content></div>`, styles: [":host{display:block}\n"] }]
|
|
111
82
|
}], propDecorators: { class: [{
|
|
112
83
|
type: Input
|
|
113
84
|
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2xsZS9zcmMvbGliL2NhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQWlCaEMsTUFBTSxPQUFPLGFBQWE7SUFBWSxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQzt3R0FBdkQsYUFBYTs0RkFBYixhQUFhLGtHQU5kOzs7O0dBSVQsK0ZBVFMsWUFBWTs7NEZBV1gsYUFBYTtrQkFmekIsU0FBUzsrQkFDRSxZQUFZLGNBRVYsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLFlBS2I7Ozs7R0FJVDs4QkFFbUMsS0FBSztzQkFBYixLQUFLOztBQVFuQyxNQUFNLE9BQU8sbUJBQW1CO0lBQVksS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUFXLEVBQUUsR0FBRyxFQUFFLENBQUM7d0dBQTdELG1CQUFtQjs0RkFBbkIsbUJBQW1CLHlHQUZwQix3RkFBd0Y7OzRGQUV2RixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsbUJBQW1CLGNBRWpCLElBQUksWUFDTix3RkFBd0Y7OEJBRXhELEtBQUs7c0JBQWIsS0FBSzs7QUFRekMsTUFBTSxPQUFPLGtCQUFrQjtJQUFZLEtBQUssR0FBRyxFQUFFLENBQUM7SUFBVyxFQUFFLEdBQUcsRUFBRSxDQUFDO3dHQUE1RCxrQkFBa0I7NEZBQWxCLGtCQUFrQix3R0FGbkIscUdBQXFHOzs0RkFFcEcsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGtCQUFrQixjQUVoQixJQUFJLFlBQ04scUdBQXFHOzhCQUV0RSxLQUFLO3NCQUFiLEtBQUs7O0FBUXhDLE1BQU0sT0FBTyx3QkFBd0I7SUFBWSxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQzt3R0FBbEUsd0JBQXdCOzRGQUF4Qix3QkFBd0IsOEdBRnpCLHVGQUF1Rjs7NEZBRXRGLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSx3QkFBd0IsY0FFdEIsSUFBSSxZQUNOLHVGQUF1Rjs4QkFFbEQsS0FBSztzQkFBYixLQUFLOztBQVE5QyxNQUFNLE9BQU8sb0JBQW9CO0lBQVksS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUFXLEVBQUUsR0FBRyxFQUFFLENBQUM7d0dBQTlELG9CQUFvQjs0RkFBcEIsb0JBQW9CLDBHQUZyQixrRUFBa0U7OzRGQUVqRSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBRWxCLElBQUksWUFDTixrRUFBa0U7OEJBRWpDLEtBQUs7c0JBQWIsS0FBSzs7QUFRMUMsTUFBTSxPQUFPLG1CQUFtQjtJQUFZLEtBQUssR0FBRyxFQUFFLENBQUM7SUFBVyxFQUFFLEdBQUcsRUFBRSxDQUFDO3dHQUE3RCxtQkFBbUI7NEZBQW5CLG1CQUFtQix5R0FGcEIsb0ZBQW9GOzs0RkFFbkYsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLG1CQUFtQixjQUVqQixJQUFJLFlBQ04sb0ZBQW9GOzhCQUVwRCxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY24gfSBmcm9tICcuL3V0aWxzL2NuJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG9sbGUtY2FyZCcsXG4gIHN0eWxlczogWyc6aG9zdCB7IGRpc3BsYXk6IGJsb2NrOyB9J10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAvLyBDYXJkIG93bnMgdGhlIHZlcnRpY2FsIHJoeXRobTogYGZsZXgtY29sYCArIGBnYXAtNmAgc3BhY2VzIHRoZSBzZWN0aW9ucyBhbmRcbiAgLy8gYHB5LTZgIGdpdmVzIHRvcC9ib3R0b20gcGFkZGluZy4gU3ViLXNlY3Rpb25zIG9ubHkgYWRkIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyAoYHB4LTZgKS4gVGhpcyBtZWFucyBhIGNhcmQgcmVuZGVycyBjb3JyZWN0bHkgd2l0aCBBTlkgY29tYmluYXRpb24gb2ZcbiAgLy8gaGVhZGVyIC8gY29udGVudCAvIGZvb3RlciDigJQgaW5jbHVkaW5nIGNvbnRlbnQtb25seSDigJQgd2l0aCBubyBgcHQtMGAgaGFja3MuXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbY2xhc3NdPVwiY24oJ2ZsZXggZmxleC1jb2wgZ2FwLTYgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLWJvcmRlciBiZy1jYXJkIHRleHQtY2FyZC1mb3JlZ3JvdW5kIHB5LTYgc2hhZG93LXNtJywgY2xhc3MpXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQgeyBASW5wdXQoKSBjbGFzcyA9ICcnOyBwcm90ZWN0ZWQgY24gPSBjbjsgfVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1jYXJkLWhlYWRlcicsXG4gIHN0eWxlczogWyc6aG9zdCB7IGRpc3BsYXk6IGJsb2NrOyB9J10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiBgPGRpdiBbY2xhc3NdPVwiY24oJ2ZsZXggZmxleC1jb2wgZ2FwLTEuNSBweC02JywgY2xhc3MpXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIENhcmRIZWFkZXJDb21wb25lbnQgeyBASW5wdXQoKSBjbGFzcyA9ICcnOyBwcm90ZWN0ZWQgY24gPSBjbjsgfVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1jYXJkLXRpdGxlJyxcbiAgc3R5bGVzOiBbJzpob3N0IHsgZGlzcGxheTogYmxvY2s7IH0nXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGA8aDMgW2NsYXNzXT1cImNuKCdmb250LXNlbWlib2xkIGxlYWRpbmctbm9uZSB0cmFja2luZy10aWdodCcsIGNsYXNzKVwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2gzPmAsXG59KVxuZXhwb3J0IGNsYXNzIENhcmRUaXRsZUNvbXBvbmVudCB7IEBJbnB1dCgpIGNsYXNzID0gJyc7IHByb3RlY3RlZCBjbiA9IGNuOyB9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLWNhcmQtZGVzY3JpcHRpb24nLFxuICBzdHlsZXM6IFsnOmhvc3QgeyBkaXNwbGF5OiBibG9jazsgfSddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogYDxwIFtjbGFzc109XCJjbigndGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQnLCBjbGFzcylcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9wPmAsXG59KVxuZXhwb3J0IGNsYXNzIENhcmREZXNjcmlwdGlvbkNvbXBvbmVudCB7IEBJbnB1dCgpIGNsYXNzID0gJyc7IHByb3RlY3RlZCBjbiA9IGNuOyB9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLWNhcmQtY29udGVudCcsXG4gIHN0eWxlczogWyc6aG9zdCB7IGRpc3BsYXk6IGJsb2NrOyB9J10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiBgPGRpdiBbY2xhc3NdPVwiY24oJ3B4LTYnLCBjbGFzcylcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbnRlbnRDb21wb25lbnQgeyBASW5wdXQoKSBjbGFzcyA9ICcnOyBwcm90ZWN0ZWQgY24gPSBjbjsgfVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1jYXJkLWZvb3RlcicsXG4gIHN0eWxlczogWyc6aG9zdCB7IGRpc3BsYXk6IGJsb2NrOyB9J10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiBgPGRpdiBbY2xhc3NdPVwiY24oJ2ZsZXggaXRlbXMtY2VudGVyIHB4LTYnLCBjbGFzcylcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZEZvb3RlckNvbXBvbmVudCB7IEBJbnB1dCgpIGNsYXNzID0gJyc7IHByb3RlY3RlZCBjbiA9IGNuOyB9XG4iXX0=
|
|
@@ -90,16 +90,11 @@ export class CarouselComponent {
|
|
|
90
90
|
>
|
|
91
91
|
<ng-content></ng-content>
|
|
92
92
|
</div>
|
|
93
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
93
|
+
`, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
94
94
|
}
|
|
95
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
96
96
|
type: Component,
|
|
97
|
-
args: [{
|
|
98
|
-
selector: 'tolle-carousel',
|
|
99
|
-
standalone: true,
|
|
100
|
-
imports: [CommonModule],
|
|
101
|
-
providers: [CarouselContext],
|
|
102
|
-
template: `
|
|
97
|
+
args: [{ selector: 'tolle-carousel', standalone: true, imports: [CommonModule], providers: [CarouselContext], template: `
|
|
103
98
|
<div
|
|
104
99
|
class="relative"
|
|
105
100
|
role="region"
|
|
@@ -110,11 +105,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
110
105
|
>
|
|
111
106
|
<ng-content></ng-content>
|
|
112
107
|
</div>
|
|
113
|
-
`,
|
|
114
|
-
host: {
|
|
108
|
+
`, host: {
|
|
115
109
|
'[class.flex]': 'orientation === "vertical"',
|
|
116
|
-
}
|
|
117
|
-
}]
|
|
110
|
+
}, styles: [":host{display:block}\n"] }]
|
|
118
111
|
}], ctorParameters: () => [], propDecorators: { opts: [{
|
|
119
112
|
type: Input
|
|
120
113
|
}], plugins: [{
|
|
@@ -212,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
212
205
|
}
|
|
213
206
|
}]
|
|
214
207
|
}] });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBQ1YsU0FBUyxFQU9ULFVBQVUsRUFDVixTQUFTLEVBRVQsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLGFBSU4sTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvQixNQUFNLE9BQU8sZUFBZTtJQU9KO0lBTnBCLElBQUksR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQztJQUN4QyxHQUFHLENBQXFCO0lBQ3hCLFdBQVcsR0FBOEIsWUFBWSxDQUFDO0lBQ3RELGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUV0QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFJLENBQUM7SUFFL0MsTUFBTSxDQUFDLEdBQXNCO1FBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRW5CLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxX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QkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLE1BQU0sRUFBRSxPQUFPO3dCQUNmLHNCQUFzQixFQUFFLE9BQU87d0JBQy9CLFNBQVMsRUFBRSxzSUFBc0k7cUJBQ3BKO2lCQUNKOztBQWNELE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQzt3R0FEakMseUJBQXlCOzRGQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBVHJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixZQUFZLEVBQUUsZ0JBQWdCO3dCQUM5QixpQkFBaUIsRUFBRSw4Q0FBOEM7d0JBQ2pFLFNBQVMsRUFBRSw4QkFBOEI7cUJBQzVDO2lCQUNKOztBQWNELE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQzt3R0FEakMscUJBQXFCOzRGQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBVGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixZQUFZLEVBQUUsWUFBWTt3QkFDMUIsaUJBQWlCLEVBQUUsOENBQThDO3dCQUNqRSxTQUFTLEVBQUUsOEJBQThCO3FCQUM1QztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgRWxlbWVudFJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3RhYmxlLFxuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgRW1ibGFDYXJvdXNlbCwge1xuICAgIEVtYmxhQ2Fyb3VzZWxUeXBlLFxuICAgIEVtYmxhT3B0aW9uc1R5cGUsXG4gICAgRW1ibGFQbHVnaW5UeXBlLFxufSBmcm9tICdlbWJsYS1jYXJvdXNlbCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXJvdXNlbENvbnRleHQge1xuICAgIGFwaSQgPSBuZXcgU3ViamVjdDxFbWJsYUNhcm91c2VsVHlwZT4oKTtcbiAgICBhcGk/OiBFbWJsYUNhcm91c2VsVHlwZTtcbiAgICBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcbiAgICBjYW5TY3JvbGxQcmV2ID0gZmFsc2U7XG4gICAgY2FuU2Nyb2xsTmV4dCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICAgIHNldEFwaShhcGk6IEVtYmxhQ2Fyb3VzZWxUeXBlKSB7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLmFwaSQubmV4dChhcGkpO1xuICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKCk7XG5cbiAgICAgICAgYXBpLm9uKCdzZWxlY3QnLCAoKSA9PiB0aGlzLnVwZGF0ZVN0YXRlKCkpO1xuICAgICAgICBhcGkub24oJ3JlSW5pdCcsICgpID0+IHRoaXMudXBkYXRlU3RhdGUoKSk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5hcGkpIHJldHVybjtcbiAgICAgICAgdGhpcy5jYW5TY3JvbGxQcmV2ID0gdGhpcy5hcGkuY2FuU2Nyb2xsUHJldigpO1xuICAgICAgICB0aGlzLmNhblNjcm9sbE5leHQgPSB0aGlzLmFwaS5jYW5TY3JvbGxOZXh0KCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBzY3JvbGxQcmV2KCkge1xuICAgICAgICB0aGlzLmFwaT8uc2Nyb2xsUHJldigpO1xuICAgIH1cblxuICAgIHNjcm9sbE5leHQoKSB7XG4gICAgICAgIHRoaXMuYXBpPy5zY3JvbGxOZXh0KCk7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RvbGxlLWNhcm91c2VsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW0Nhcm91c2VsQ29udGV4dF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJlbGF0aXZlXCJcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgYXJpYS1yb2xlZGVzY3JpcHRpb249XCJjYXJvdXNlbFwiXG4gICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgW2NsYXNzLmZsZXgtY29sXT1cIm9yaWVudGF0aW9uID09PSAndmVydGljYWwnXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmZsZXhdJzogJ29yaWVudGF0aW9uID09PSBcInZlcnRpY2FsXCInLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIG9wdHM6IEVtYmxhT3B0aW9uc1R5cGUgPSB7fTtcbiAgICBASW5wdXQoKSBwbHVnaW5zOiBFbWJsYVBsdWdpblR5cGVbXSA9IFtdO1xuICAgIEBJbnB1dCgpIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuXG4gICAgQE91dHB1dCgpIGFwaSA9IG5ldyBFdmVudEVtaXR0ZXI8RW1ibGFDYXJvdXNlbFR5cGU+KCk7XG5cbiAgICBwcml2YXRlIGNhcm91c2VsQ29udGV4dCA9IGluamVjdChDYXJvdXNlbENvbnRleHQpO1xuICAgIHByaXZhdGUgZW1ibGFBcGk/OiBFbWJsYUNhcm91c2VsVHlwZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWY/OiBFbGVtZW50UmVmO1xuXG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNhcm91c2VsQ29udGV4dC5vcmllbnRhdGlvbiA9IHRoaXMub3JpZW50YXRpb247XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuY2Fyb3VzZWxDb250ZXh0Lm9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbjtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCB0b2xsZUNhcm91c2VsQ29udGVudCB0byBwcm92aWRlIHRoZSB2aWV3cG9ydCBlbGVtZW50XG4gICAgfVxuXG4gICAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbENvbnRleHQuc2Nyb2xsUHJldigpO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbENvbnRleHQuc2Nyb2xsTmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdEFwaSh2aWV3cG9ydDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5lbWJsYUFwaSA9IEVtYmxhQ2Fyb3VzZWwodmlld3BvcnQsIHtcbiAgICAgICAgICAgIC4uLnRoaXMub3B0cyxcbiAgICAgICAgICAgIGF4aXM6IHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyA/ICd4JyA6ICd5JyxcbiAgICAgICAgfSwgdGhpcy5wbHVnaW5zKTtcblxuICAgICAgICB0aGlzLmNhcm91c2VsQ29udGV4dC5zZXRBcGkodGhpcy5lbWJsYUFwaSk7XG4gICAgICAgIHRoaXMuYXBpLmVtaXQodGhpcy5lbWJsYUFwaSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZW1ibGFBcGk/LmRlc3Ryb3koKTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RvbGxlQ2Fyb3VzZWxDb250ZW50XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdvdmVyZmxvdy1oaWRkZW4nLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSBjYXJvdXNlbCA9IGluamVjdChDYXJvdXNlbENvbXBvbmVudCk7XG4gICAgcHJpdmF0ZSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbC5pbml0QXBpKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0b2xsZUNhcm91c2VsQ29udGFpbmVyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3NdJzogJ2Nhcm91c2VsQ29udGV4dC5vcmllbnRhdGlvbiA9PT0gXCJob3Jpem9udGFsXCIgPyBcImZsZXggLW1sLTRcIiA6IFwiZmxleCBmbGV4LWNvbCAtbXQtNFwiJyxcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIENhcm91c2VsQ29udGFpbmVyRGlyZWN0aXZlIHtcbiAgICBjYXJvdXNlbENvbnRleHQgPSBpbmplY3QoQ2Fyb3VzZWxDb250ZXh0KTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdG9sbGVDYXJvdXNlbEl0ZW1dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ3JvbGUnOiAnZ3JvdXAnLFxuICAgICAgICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiAnc2xpZGUnLFxuICAgICAgICAnW2NsYXNzXSc6ICdjYXJvdXNlbENvbnRleHQub3JpZW50YXRpb24gPT09IFwiaG9yaXpvbnRhbFwiID8gXCJtaW4tdy0wIHNocmluay0wIGdyb3ctMCBiYXNpcy1mdWxsIHBsLTRcIiA6IFwibWluLXctMCBzaHJpbmstMCBncm93LTAgYmFzaXMtZnVsbCBwdC00XCInLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxJdGVtRGlyZWN0aXZlIHtcbiAgICBjYXJvdXNlbENvbnRleHQgPSBpbmplY3QoQ2Fyb3VzZWxDb250ZXh0KTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdG9sbGVDYXJvdXNlbFByZXZpb3VzXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdhcmlhLWxhYmVsJzogJ1ByZXZpb3VzIHNsaWRlJyxcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICchY2Fyb3VzZWxDb250ZXh0LmNhblNjcm9sbFByZXYgPyB0cnVlIDogbnVsbCcsXG4gICAgICAgICcoY2xpY2spJzogJ2Nhcm91c2VsQ29udGV4dC5zY3JvbGxQcmV2KCknLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxQcmV2aW91c0RpcmVjdGl2ZSB7XG4gICAgY2Fyb3VzZWxDb250ZXh0ID0gaW5qZWN0KENhcm91c2VsQ29udGV4dCk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RvbGxlQ2Fyb3VzZWxOZXh0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdhcmlhLWxhYmVsJzogJ05leHQgc2xpZGUnLFxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJyFjYXJvdXNlbENvbnRleHQuY2FuU2Nyb2xsTmV4dCA/IHRydWUgOiBudWxsJyxcbiAgICAgICAgJyhjbGljayknOiAnY2Fyb3VzZWxDb250ZXh0LnNjcm9sbE5leHQoKScsXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDYXJvdXNlbE5leHREaXJlY3RpdmUge1xuICAgIGNhcm91c2VsQ29udGV4dCA9IGluamVjdChDYXJvdXNlbENvbnRleHQpO1xufVxuIl19
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBQ1YsU0FBUyxFQU9ULFVBQVUsRUFDVixTQUFTLEVBRVQsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLGFBSU4sTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvQixNQUFNLE9BQU8sZUFBZTtJQU9KO0lBTnBCLElBQUksR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQztJQUN4QyxHQUFHLENBQXFCO0lBQ3hCLFdBQVcsR0FBOEIsWUFBWSxDQUFDO0lBQ3RELGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUV0QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFJLENBQUM7SUFFL0MsTUFBTSxDQUFDLEdBQXNCO1FBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRW5CLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxX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QUUsT0FBTzt3QkFDZixzQkFBc0IsRUFBRSxPQUFPO3dCQUMvQixTQUFTLEVBQUUsc0lBQXNJO3FCQUNwSjtpQkFDSjs7QUFjRCxNQUFNLE9BQU8seUJBQXlCO0lBQ2xDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7d0dBRGpDLHlCQUF5Qjs0RkFBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQVRyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsWUFBWSxFQUFFLGdCQUFnQjt3QkFDOUIsaUJBQWlCLEVBQUUsOENBQThDO3dCQUNqRSxTQUFTLEVBQUUsOEJBQThCO3FCQUM1QztpQkFDSjs7QUFjRCxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7d0dBRGpDLHFCQUFxQjs0RkFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQVRqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsWUFBWSxFQUFFLFlBQVk7d0JBQzFCLGlCQUFpQixFQUFFLDhDQUE4Qzt3QkFDakUsU0FBUyxFQUFFLDhCQUE4QjtxQkFDNUM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgQ29udGVudENoaWxkLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBEaXJlY3RpdmUsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIGluamVjdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IEVtYmxhQ2Fyb3VzZWwsIHtcbiAgICBFbWJsYUNhcm91c2VsVHlwZSxcbiAgICBFbWJsYU9wdGlvbnNUeXBlLFxuICAgIEVtYmxhUGx1Z2luVHlwZSxcbn0gZnJvbSAnZW1ibGEtY2Fyb3VzZWwnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxDb250ZXh0IHtcbiAgICBhcGkkID0gbmV3IFN1YmplY3Q8RW1ibGFDYXJvdXNlbFR5cGU+KCk7XG4gICAgYXBpPzogRW1ibGFDYXJvdXNlbFR5cGU7XG4gICAgb3JpZW50YXRpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XG4gICAgY2FuU2Nyb2xsUHJldiA9IGZhbHNlO1xuICAgIGNhblNjcm9sbE5leHQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgICBzZXRBcGkoYXBpOiBFbWJsYUNhcm91c2VsVHlwZSkge1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5hcGkkLm5leHQoYXBpKTtcbiAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSgpO1xuXG4gICAgICAgIGFwaS5vbignc2VsZWN0JywgKCkgPT4gdGhpcy51cGRhdGVTdGF0ZSgpKTtcbiAgICAgICAgYXBpLm9uKCdyZUluaXQnLCAoKSA9PiB0aGlzLnVwZGF0ZVN0YXRlKCkpO1xuICAgIH1cblxuICAgIHVwZGF0ZVN0YXRlKCkge1xuICAgICAgICBpZiAoIXRoaXMuYXBpKSByZXR1cm47XG4gICAgICAgIHRoaXMuY2FuU2Nyb2xsUHJldiA9IHRoaXMuYXBpLmNhblNjcm9sbFByZXYoKTtcbiAgICAgICAgdGhpcy5jYW5TY3JvbGxOZXh0ID0gdGhpcy5hcGkuY2FuU2Nyb2xsTmV4dCgpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgc2Nyb2xsUHJldigpIHtcbiAgICAgICAgdGhpcy5hcGk/LnNjcm9sbFByZXYoKTtcbiAgICB9XG5cbiAgICBzY3JvbGxOZXh0KCkge1xuICAgICAgICB0aGlzLmFwaT8uc2Nyb2xsTmV4dCgpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0b2xsZS1jYXJvdXNlbCcsXG4gICAgc3R5bGVzOiBbJzpob3N0IHsgZGlzcGxheTogYmxvY2s7IH0nXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW0Nhcm91c2VsQ29udGV4dF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJlbGF0aXZlXCJcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgYXJpYS1yb2xlZGVzY3JpcHRpb249XCJjYXJvdXNlbFwiXG4gICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgW2NsYXNzLmZsZXgtY29sXT1cIm9yaWVudGF0aW9uID09PSAndmVydGljYWwnXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmZsZXhdJzogJ29yaWVudGF0aW9uID09PSBcInZlcnRpY2FsXCInLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIG9wdHM6IEVtYmxhT3B0aW9uc1R5cGUgPSB7fTtcbiAgICBASW5wdXQoKSBwbHVnaW5zOiBFbWJsYVBsdWdpblR5cGVbXSA9IFtdO1xuICAgIEBJbnB1dCgpIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuXG4gICAgQE91dHB1dCgpIGFwaSA9IG5ldyBFdmVudEVtaXR0ZXI8RW1ibGFDYXJvdXNlbFR5cGU+KCk7XG5cbiAgICBwcml2YXRlIGNhcm91c2VsQ29udGV4dCA9IGluamVjdChDYXJvdXNlbENvbnRleHQpO1xuICAgIHByaXZhdGUgZW1ibGFBcGk/OiBFbWJsYUNhcm91c2VsVHlwZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWY/OiBFbGVtZW50UmVmO1xuXG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNhcm91c2VsQ29udGV4dC5vcmllbnRhdGlvbiA9IHRoaXMub3JpZW50YXRpb247XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuY2Fyb3VzZWxDb250ZXh0Lm9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbjtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIC8vIFdlIGV4cGVjdCB0b2xsZUNhcm91c2VsQ29udGVudCB0byBwcm92aWRlIHRoZSB2aWV3cG9ydCBlbGVtZW50XG4gICAgfVxuXG4gICAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbENvbnRleHQuc2Nyb2xsUHJldigpO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbENvbnRleHQuc2Nyb2xsTmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdEFwaSh2aWV3cG9ydDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5lbWJsYUFwaSA9IEVtYmxhQ2Fyb3VzZWwodmlld3BvcnQsIHtcbiAgICAgICAgICAgIC4uLnRoaXMub3B0cyxcbiAgICAgICAgICAgIGF4aXM6IHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyA/ICd4JyA6ICd5JyxcbiAgICAgICAgfSwgdGhpcy5wbHVnaW5zKTtcblxuICAgICAgICB0aGlzLmNhcm91c2VsQ29udGV4dC5zZXRBcGkodGhpcy5lbWJsYUFwaSk7XG4gICAgICAgIHRoaXMuYXBpLmVtaXQodGhpcy5lbWJsYUFwaSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZW1ibGFBcGk/LmRlc3Ryb3koKTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RvbGxlQ2Fyb3VzZWxDb250ZW50XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdvdmVyZmxvdy1oaWRkZW4nLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSBjYXJvdXNlbCA9IGluamVjdChDYXJvdXNlbENvbXBvbmVudCk7XG4gICAgcHJpdmF0ZSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbC5pbml0QXBpKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0b2xsZUNhcm91c2VsQ29udGFpbmVyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3NdJzogJ2Nhcm91c2VsQ29udGV4dC5vcmllbnRhdGlvbiA9PT0gXCJob3Jpem9udGFsXCIgPyBcImZsZXggLW1sLTRcIiA6IFwiZmxleCBmbGV4LWNvbCAtbXQtNFwiJyxcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIENhcm91c2VsQ29udGFpbmVyRGlyZWN0aXZlIHtcbiAgICBjYXJvdXNlbENvbnRleHQgPSBpbmplY3QoQ2Fyb3VzZWxDb250ZXh0KTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdG9sbGVDYXJvdXNlbEl0ZW1dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ3JvbGUnOiAnZ3JvdXAnLFxuICAgICAgICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiAnc2xpZGUnLFxuICAgICAgICAnW2NsYXNzXSc6ICdjYXJvdXNlbENvbnRleHQub3JpZW50YXRpb24gPT09IFwiaG9yaXpvbnRhbFwiID8gXCJtaW4tdy0wIHNocmluay0wIGdyb3ctMCBiYXNpcy1mdWxsIHBsLTRcIiA6IFwibWluLXctMCBzaHJpbmstMCBncm93LTAgYmFzaXMtZnVsbCBwdC00XCInLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxJdGVtRGlyZWN0aXZlIHtcbiAgICBjYXJvdXNlbENvbnRleHQgPSBpbmplY3QoQ2Fyb3VzZWxDb250ZXh0KTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdG9sbGVDYXJvdXNlbFByZXZpb3VzXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdhcmlhLWxhYmVsJzogJ1ByZXZpb3VzIHNsaWRlJyxcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICchY2Fyb3VzZWxDb250ZXh0LmNhblNjcm9sbFByZXYgPyB0cnVlIDogbnVsbCcsXG4gICAgICAgICcoY2xpY2spJzogJ2Nhcm91c2VsQ29udGV4dC5zY3JvbGxQcmV2KCknLFxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxQcmV2aW91c0RpcmVjdGl2ZSB7XG4gICAgY2Fyb3VzZWxDb250ZXh0ID0gaW5qZWN0KENhcm91c2VsQ29udGV4dCk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RvbGxlQ2Fyb3VzZWxOZXh0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdhcmlhLWxhYmVsJzogJ05leHQgc2xpZGUnLFxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJyFjYXJvdXNlbENvbnRleHQuY2FuU2Nyb2xsTmV4dCA/IHRydWUgOiBudWxsJyxcbiAgICAgICAgJyhjbGljayknOiAnY2Fyb3VzZWxDb250ZXh0LnNjcm9sbE5leHQoKScsXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDYXJvdXNlbE5leHREaXJlY3RpdmUge1xuICAgIGNhcm91c2VsQ29udGV4dCA9IGluamVjdChDYXJvdXNlbENvbnRleHQpO1xufVxuIl19
|