@ks89/angular-modal-gallery 11.1.2 → 12.0.0
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/CHANGELOG.md +7 -0
- package/CONTRIBUTING.md +17 -18
- package/LICENSE +1 -1
- package/README.md +9 -6
- package/esm2022/lib/components/accessible.component.mjs +5 -5
- package/esm2022/lib/components/carousel/carousel-previews/carousel-previews.component.mjs +6 -6
- package/esm2022/lib/components/carousel/carousel.component.mjs +6 -6
- package/esm2022/lib/components/components.mjs +2 -2
- package/esm2022/lib/components/current-image/current-image.component.mjs +6 -6
- package/esm2022/lib/components/current-image/loading-spinner/loading-spinner.component.mjs +6 -6
- package/esm2022/lib/components/dots/dots.component.mjs +5 -5
- package/esm2022/lib/components/modal-gallery/attach-to-overlay.service.mjs +3 -3
- package/esm2022/lib/components/modal-gallery/modal-gallery-ref.mjs +2 -2
- package/esm2022/lib/components/modal-gallery/modal-gallery.component.mjs +4 -4
- package/esm2022/lib/components/modal-gallery/modal-gallery.service.mjs +4 -4
- package/esm2022/lib/components/modal-gallery/modal-gallery.tokens.mjs +2 -2
- package/esm2022/lib/components/plain-gallery/plain-gallery.component.mjs +5 -5
- package/esm2022/lib/components/previews/previews.component.mjs +6 -6
- package/esm2022/lib/components/upper-buttons/upper-buttons.component.mjs +5 -5
- package/esm2022/lib/directives/a-tag-bg-image.directive.mjs +5 -5
- package/esm2022/lib/directives/click-outside.directive.mjs +5 -5
- package/esm2022/lib/directives/description.directive.mjs +5 -5
- package/esm2022/lib/directives/direction.directive.mjs +5 -5
- package/esm2022/lib/directives/directives.mjs +2 -2
- package/esm2022/lib/directives/fallback-image.directive.mjs +5 -5
- package/esm2022/lib/directives/keyboard-navigation.directive.mjs +5 -5
- package/esm2022/lib/directives/margin.directive.mjs +5 -5
- package/esm2022/lib/directives/max-size.directive.mjs +5 -5
- package/esm2022/lib/directives/size.directive.mjs +5 -5
- package/esm2022/lib/directives/swipe.directive.mjs +5 -5
- package/esm2022/lib/directives/wrap.directive.mjs +5 -5
- package/esm2022/lib/modal-gallery.module.mjs +6 -6
- package/esm2022/lib/model/accessibility.interface.mjs +2 -2
- package/esm2022/lib/model/action.enum.mjs +2 -2
- package/esm2022/lib/model/buttons-config.interface.mjs +2 -2
- package/esm2022/lib/model/carousel-config.interface.mjs +2 -2
- package/esm2022/lib/model/carousel-image-config.interface.mjs +2 -2
- package/esm2022/lib/model/carousel-preview-config.interface.mjs +2 -2
- package/esm2022/lib/model/current-image-config.interface.mjs +2 -2
- package/esm2022/lib/model/description.interface.mjs +2 -2
- package/esm2022/lib/model/dots-config.interface.mjs +2 -2
- package/esm2022/lib/model/image-internal.class.mjs +2 -2
- package/esm2022/lib/model/image.class.mjs +2 -2
- package/esm2022/lib/model/keyboard-config.interface.mjs +2 -2
- package/esm2022/lib/model/keyboard.enum.mjs +2 -2
- package/esm2022/lib/model/lib-config.interface.mjs +2 -2
- package/esm2022/lib/model/loading-config.interface.mjs +2 -2
- package/esm2022/lib/model/max-size.interface.mjs +2 -2
- package/esm2022/lib/model/modal-gallery-config.interface.mjs +2 -2
- package/esm2022/lib/model/plain-gallery-config.interface.mjs +2 -2
- package/esm2022/lib/model/play-config.interface.mjs +2 -2
- package/esm2022/lib/model/preview-config.interface.mjs +2 -2
- package/esm2022/lib/model/size.interface.mjs +2 -2
- package/esm2022/lib/model/slide-config.interface.mjs +2 -2
- package/esm2022/lib/services/config.service.mjs +6 -6
- package/esm2022/lib/services/id-validator.service.mjs +5 -5
- package/esm2022/lib/utils/image.util.mjs +2 -2
- package/esm2022/lib/utils/user-input.util.mjs +2 -2
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/ks89-angular-modal-gallery.mjs +123 -123
- package/fesm2022/ks89-angular-modal-gallery.mjs.map +1 -1
- package/lib/components/components.d.ts +1 -1
- package/lib/model/action.enum.d.ts +2 -2
- package/package.json +9 -9
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (
|
|
4
|
+
Copyright (c) 2017-2024 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -22,4 +22,4 @@
|
|
|
22
22
|
SOFTWARE.
|
|
23
23
|
*/
|
|
24
24
|
export {};
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tzODkvYW5ndWxhci1tb2RhbC1nYWxsZXJ5L3NyYy9saWIvbW9kZWwvc2xpZGUtY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gVGhlIE1JVCBMaWNlbnNlIChNSVQpXG5cbiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyNCBTdGVmYW5vIENhcHBhIChLczg5KVxuXG4gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cbiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG4gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04gSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7IFNpemUgfSBmcm9tICcuL3NpemUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBsYXlDb25maWcgfSBmcm9tICcuL3BsYXktY29uZmlnLmludGVyZmFjZSc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGBTbGlkZUNvbmZpZ2AgdG8gY29uZmlndXJlIHNsaWRpbmcgZmVhdHVyZXMgb2YgbW9kYWwgZ2FsbGVyeS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbGlkZUNvbmZpZyB7XG4gIGluZmluaXRlPzogYm9vbGVhbjtcbiAgcGxheUNvbmZpZz86IFBsYXlDb25maWc7XG4gIHNpZGVQcmV2aWV3cz86IFNpZGVQcmV2aWV3c0NvbmZpZztcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgYFNpZGVQcmV2aWV3c0NvbmZpZ2AgdG8gY29uZmlndXJlIHNsaWRpbmcgZmVhdHVyZXMgb2YgcHJldmlld3MgaW4gbW9kYWwgZ2FsbGVyeS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaWRlUHJldmlld3NDb25maWcge1xuICBzaG93OiBib29sZWFuO1xuICBzaXplOiBTaXplO1xufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (
|
|
4
|
+
Copyright (c) 2017-2024 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -112,7 +112,7 @@ const DEFAULT_CONFIG = Object.freeze({
|
|
|
112
112
|
dotsConfig: { visible: true },
|
|
113
113
|
plainGalleryConfig: DEFAULT_PLAIN_CONFIG,
|
|
114
114
|
currentImageConfig: DEFAULT_CURRENT_IMAGE_CONFIG,
|
|
115
|
-
keyboardConfig: undefined,
|
|
115
|
+
keyboardConfig: undefined, // by default nothing, because the library uses default buttons automatically
|
|
116
116
|
carouselConfig: DEFAULT_CURRENT_CAROUSEL_CONFIG,
|
|
117
117
|
carouselImageConfig: DEFAULT_CAROUSEL_IMAGE_CONFIG,
|
|
118
118
|
carouselPreviewsConfig: DEFAULT_CAROUSEL_PREVIEWS_CONFIG,
|
|
@@ -350,10 +350,10 @@ export class ConfigService {
|
|
|
350
350
|
this.configMap.set(id, DEFAULT_CONFIG);
|
|
351
351
|
}
|
|
352
352
|
}
|
|
353
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
354
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
353
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
354
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ConfigService, providedIn: 'root' }); }
|
|
355
355
|
}
|
|
356
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
356
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ConfigService, decorators: [{
|
|
357
357
|
type: Injectable,
|
|
358
358
|
args: [{ providedIn: 'root' }]
|
|
359
359
|
}] });
|
|
@@ -385,4 +385,4 @@ function initPlainGalleryConfig(plainGalleryConfig) {
|
|
|
385
385
|
}
|
|
386
386
|
return newPlayGalleryConfig;
|
|
387
387
|
}
|
|
388
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rczg5L2FuZ3VsYXItbW9kYWwtZ2FsbGVyeS9zcmMvbGliL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUd0RixPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTNILE9BQU8sRUFBaUIsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFlLG1CQUFtQixFQUFvQixNQUFNLGdDQUFnQyxDQUFDOztBQU1wRyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBZSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDMUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXVCO0lBQ3RELFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxHQUFHO0lBQ2xDLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFO0NBQ2xFLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxlQUFlLEdB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SSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDNUUsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1NBQzlEO0tBQ0Y7SUFFRCxJQUFJLG9CQUFvQixDQUFDLE1BQU0sWUFBWSxVQUFVLEVBQUU7UUFDckQsSUFBSSxvQkFBb0IsQ0FBQyxRQUFRLEtBQUssb0JBQW9CLENBQUMsSUFBSSxFQUFFO1lBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztTQUN0RDtRQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQzVFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztTQUM5RDtRQUNELDZCQUE2QjtRQUM3QixvQkFBb0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7S0FDckQ7SUFDRCxPQUFPLG9CQUFvQixDQUFDO0FBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuXG4gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjMgU3RlZmFubyBDYXBwYSAoS3M4OSlcblxuIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OIElORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaWRlUHJldmlld3NDb25maWcsIFNsaWRlQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvc2xpZGUtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQbGF5Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvcGxheS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEtTX0RFRkFVTFRfQUNDRVNTSUJJTElUWV9DT05GSUcgfSBmcm9tICcuLi9jb21wb25lbnRzL2FjY2Vzc2liaWxpdHktZGVmYXVsdCc7XG5pbXBvcnQgeyBQcmV2aWV3Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvcHJldmlldy1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNpemUgfSBmcm9tICcuLi9tb2RlbC9zaXplLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCdXR0b25zQ29uZmlnLCBCdXR0b25zU3RyYXRlZ3kgfSBmcm9tICcuLi9tb2RlbC9idXR0b25zLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRG90c0NvbmZpZyB9IGZyb20gJy4uL21vZGVsL2RvdHMtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBHcmlkTGF5b3V0LCBMaW5lTGF5b3V0LCBQbGFpbkdhbGxlcnlDb25maWcsIFBsYWluR2FsbGVyeVN0cmF0ZWd5IH0gZnJvbSAnLi4vbW9kZWwvcGxhaW4tZ2FsbGVyeS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEN1cnJlbnRJbWFnZUNvbmZpZyB9IGZyb20gJy4uL21vZGVsL2N1cnJlbnQtaW1hZ2UtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMb2FkaW5nQ29uZmlnLCBMb2FkaW5nVHlwZSB9IGZyb20gJy4uL21vZGVsL2xvYWRpbmctY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEZXNjcmlwdGlvbiwgRGVzY3JpcHRpb25TdHJhdGVneSwgRGVzY3JpcHRpb25TdHlsZSB9IGZyb20gJy4uL21vZGVsL2Rlc2NyaXB0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJvdXNlbENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2Nhcm91c2VsLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2Fyb3VzZWxJbWFnZUNvbmZpZyB9IGZyb20gJy4uL21vZGVsL2Nhcm91c2VsLWltYWdlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQnJlYWtwb2ludHNDb25maWcsIENhcm91c2VsUHJldmlld0NvbmZpZyB9IGZyb20gJy4uL21vZGVsL2Nhcm91c2VsLXByZXZpZXctY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMaWJDb25maWcgfSBmcm9tICcuLi9tb2RlbC9saWItY29uZmlnLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BSRVZJRVdfU0laRTogU2l6ZSA9IHsgaGVpZ2h0OiAnNTBweCcsIHdpZHRoOiAnYXV0bycgfTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWU9VVDogTGluZUxheW91dCA9IG5ldyBMaW5lTGF5b3V0KERFRkFVTFRfUFJFVklFV19TSVpFLCB7IGxlbmd0aDogLTEsIHdyYXA6IGZhbHNlIH0sICdmbGV4LXN0YXJ0Jyk7XG5leHBvcnQgY29uc3QgREVGQVVMVF9QTEFJTl9DT05GSUc6IFBsYWluR2FsbGVyeUNvbmZpZyA9IHtcbiAgc3RyYXRlZ3k6IFBsYWluR2FsbGVyeVN0cmF0ZWd5LlJPVyxcbiAgbGF5b3V0OiBERUZBVUxUX0xBWU9VVCxcbiAgYWR2YW5jZWQ6IHsgYVRhZ3M6IGZhbHNlLCBhZGRpdGlvbmFsQmFja2dyb3VuZDogJzUwJSA1MCUvY292ZXInIH1cbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0FESU5HOiBMb2FkaW5nQ29uZmlnID0geyBlbmFibGU6IHRydWUsIHR5cGU6IExvYWRpbmdUeXBlLlNUQU5EQVJEIH07XG5leHBvcnQgY29uc3QgREVGQVVMVF9ERVNDUklQVElPTl9TVFlMRTogRGVzY3JpcHRpb25TdHlsZSA9IHtcbiAgYmdDb2xvcjogJ3JnYmEoMCwgMCwgMCwgLjUpJyxcbiAgdGV4dENvbG9yOiAnd2hpdGUnLFxuICBtYXJnaW5Ub3A6ICcwcHgnLFxuICBtYXJnaW5Cb3R0b206ICcwcHgnLFxuICBtYXJnaW5MZWZ0OiAnMHB4JyxcbiAgbWFyZ2luUmlnaHQ6ICcwcHgnXG59O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfREVTQ1JJUFRJT046IERlc2NyaXB0aW9uID0ge1xuICBzdHJhdGVneTogRGVzY3JpcHRpb25TdHJhdGVneS5BTFdBWVNfVklTSUJMRSxcbiAgaW1hZ2VUZXh0OiAnSW1hZ2UgJyxcbiAgbnVtYmVyU2VwYXJhdG9yOiAnLycsXG4gIGJlZm9yZVRleHREZXNjcmlwdGlvbjogJyAtICcsXG4gIHN0eWxlOiBERUZBVUxUX0RFU0NSSVBUSU9OX1NUWUxFXG59O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0FST1VTRUxfREVTQ1JJUFRJT046IERlc2NyaXB0aW9uID0ge1xuICBzdHJhdGVneTogRGVzY3JpcHRpb25TdHJhdGVneS5BTFdBWVNfSElEREVOLFxuICBpbWFnZVRleHQ6ICdJbWFnZSAnLFxuICBudW1iZXJTZXBhcmF0b3I6ICcvJyxcbiAgYmVmb3JlVGV4dERlc2NyaXB0aW9uOiAnIC0gJyxcbiAgc3R5bGU6IERFRkFVTFRfREVTQ1JJUFRJT05fU1RZTEVcbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9DVVJSRU5UX0lNQUdFX0NPTkZJRzogQ3VycmVudEltYWdlQ29uZmlnID0ge1xuICBuYXZpZ2F0ZU9uQ2xpY2s6IHRydWUsXG4gIGxvYWRpbmdDb25maWc6IERFRkFVTFRfTE9BRElORyxcbiAgZGVzY3JpcHRpb246IERFRkFVTFRfREVTQ1JJUFRJT04sXG4gIGRvd25sb2FkYWJsZTogZmFsc2UsXG4gIGludmVydFN3aXBlOiBmYWxzZVxufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NBUk9VU0VMX0lNQUdFX0NPTkZJRzogQ2Fyb3VzZWxJbWFnZUNvbmZpZyA9IHtcbiAgZGVzY3JpcHRpb246IERFRkFVTFRfQ0FST1VTRUxfREVTQ1JJUFRJT04sXG4gIGludmVydFN3aXBlOiBmYWxzZVxufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NVUlJFTlRfQ0FST1VTRUxfQ09ORklHOiBDYXJvdXNlbENvbmZpZyA9IHtcbiAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgbWF4SGVpZ2h0OiAnNDAwcHgnLFxuICBzaG93QXJyb3dzOiB0cnVlLFxuICBvYmplY3RGaXQ6ICdjb3ZlcicsXG4gIGtleWJvYXJkRW5hYmxlOiB0cnVlLFxuICBtb2RhbEdhbGxlcnlFbmFibGU6IGZhbHNlXG59O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ1VSUkVOVF9DQVJPVVNFTF9QTEFZOiBQbGF5Q29uZmlnID0ge1xuICBhdXRvUGxheTogdHJ1ZSxcbiAgaW50ZXJ2YWw6IDUwMDAsXG4gIHBhdXNlT25Ib3ZlcjogdHJ1ZVxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0FST1VTRUxfQlJFQUtQT0lOVFM6IEJyZWFrcG9pbnRzQ29uZmlnID0geyB4U21hbGw6IDEwMCwgc21hbGw6IDEwMCwgbWVkaXVtOiAxNTAsIGxhcmdlOiAyMDAsIHhMYXJnZTogMjAwIH07XG5leHBvcnQgY29uc3QgREVGQVVMVF9DQVJPVVNFTF9QUkVWSUVXU19DT05GSUc6IENhcm91c2VsUHJldmlld0NvbmZpZyA9IHtcbiAgdmlzaWJsZTogdHJ1ZSxcbiAgbnVtYmVyOiA0LFxuICBhcnJvd3M6IHRydWUsXG4gIGNsaWNrYWJsZTogdHJ1ZSxcbiAgd2lkdGg6IDEwMCAvIDQgKyAnJScsXG4gIG1heEhlaWdodDogJzIwMHB4JyxcbiAgYnJlYWtwb2ludHM6IERFRkFVTFRfQ0FST1VTRUxfQlJFQUtQT0lOVFNcbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9TTElERV9DT05GSUc6IFNsaWRlQ29uZmlnID0ge1xuICBpbmZpbml0ZTogZmFsc2UsXG4gIHBsYXlDb25maWc6IHsgYXV0b1BsYXk6IGZhbHNlLCBpbnRlcnZhbDogNTAwMCwgcGF1c2VPbkhvdmVyOiB0cnVlIH0gYXMgUGxheUNvbmZpZyxcbiAgc2lkZVByZXZpZXdzOiB7IHNob3c6IHRydWUsIHNpemU6IHsgd2lkdGg6ICcxMDBweCcsIGhlaWdodDogJ2F1dG8nIH0gfSBhcyBTaWRlUHJldmlld3NDb25maWdcbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9QUkVWSUVXX0NPTkZJRzogUHJldmlld0NvbmZpZyA9IHtcbiAgdmlzaWJsZTogdHJ1ZSxcbiAgbnVtYmVyOiAzLFxuICBhcnJvd3M6IHRydWUsXG4gIGNsaWNrYWJsZTogdHJ1ZSxcbiAgc2l6ZTogREVGQVVMVF9QUkVWSUVXX1NJWkVcbn07XG5cbmNvbnN0IERFRkFVTFRfQ09ORklHOiBMaWJDb25maWcgPSBPYmplY3QuZnJlZXplKHtcbiAgc2xpZGVDb25maWc6IERFRkFVTFRfU0xJREVfQ09ORklHLFxuICBhY2Nlc3NpYmlsaXR5Q29uZmlnOiBLU19ERUZBVUxUX0FDQ0VTU0lCSUxJVFlfQ09ORklHLFxuICBwcmV2aWV3Q29uZmlnOiBERUZBVUxUX1BSRVZJRVdfQ09ORklHLFxuICBidXR0b25zQ29uZmlnOiB7IHZpc2libGU6IHRydWUsIHN0cmF0ZWd5OiBCdXR0b25zU3RyYXRlZ3kuREVGQVVMVCB9IGFzIEJ1dHRvbnNDb25maWcsXG4gIGRvdHNDb25maWc6IHsgdmlzaWJsZTogdHJ1ZSB9IGFzIERvdHNDb25maWcsXG4gIHBsYWluR2FsbGVyeUNvbmZpZzogREVGQVVMVF9QTEFJTl9DT05GSUcsXG4gIGN1cnJlbnRJbWFnZUNvbmZpZzogREVGQVVMVF9DVVJSRU5UX0lNQUdFX0NPTkZJRyxcbiAga2V5Ym9hcmRDb25maWc6IHVuZGVmaW5lZCwgLy8gYnkgZGVmYXVsdCBub3RoaW5nLCBiZWNhdXNlIHRoZSBsaWJyYXJ5IHVzZXMgZGVmYXVsdCBidXR0b25zIGF1dG9tYXRpY2FsbHlcbiAgY2Fyb3VzZWxDb25maWc6IERFRkFVTFRfQ1VSUkVOVF9DQVJPVVNFTF9DT05GSUcsXG4gIGNhcm91c2VsSW1hZ2VDb25maWc6IERFRkFVTFRfQ0FST1VTRUxfSU1BR0VfQ09ORklHLFxuICBjYXJvdXNlbFByZXZpZXdzQ29uZmlnOiBERUZBVUxUX0NBUk9VU0VMX1BSRVZJRVdTX0NPTkZJRyxcbiAgY2Fyb3VzZWxQbGF5Q29uZmlnOiBERUZBVUxUX0NVUlJFTlRfQ0FST1VTRUxfUExBWSxcbiAgY2Fyb3VzZWxEb3RzQ29uZmlnOiB7IHZpc2libGU6IHRydWUgfSBhcyBEb3RzQ29uZmlnLFxuICBjYXJvdXNlbFNsaWRlSW5maW5pdGU6IHRydWUsXG4gIGVuYWJsZUNsb3NlT3V0c2lkZTogdHJ1ZVxufSk7XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgbGlicmFyeSBjb25maWd1cmF0aW9uIGluIGEgdW5pcXVlIHBsYWNlXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29uZmlnU2VydmljZSB7XG4gIGNvbmZpZ01hcDogTWFwPG51bWJlciwgTGliQ29uZmlnPiA9IG5ldyBNYXA8bnVtYmVyLCBMaWJDb25maWc+KCk7XG5cbiAgZ2V0Q29uZmlnKGlkOiBudW1iZXIpOiBMaWJDb25maWcgfCB1bmRlZmluZWQge1xuICAgIHRoaXMuaW5pdElmTm90RXhpc3RzKGlkKTtcbiAgICByZXR1cm4gdGhpcy5jb25maWdNYXAuZ2V0KGlkKTtcbiAgfVxuXG4gIHNldENvbmZpZyhpZDogbnVtYmVyLCBvYmo6IExpYkNvbmZpZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdElmTm90RXhpc3RzKGlkKTtcbiAgICBpZiAoIW9iaikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFERUZBVUxUX0NPTkZJRyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuc2xpZGVDb25maWcuc2lkZVByZXZpZXdzIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcucHJldmlld0NvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLnByZXZpZXdDb25maWcuc2l6ZSB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLnByZXZpZXdDb25maWcubnVtYmVyIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcucGxhaW5HYWxsZXJ5Q29uZmlnIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxJbWFnZUNvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLmNhcm91c2VsSW1hZ2VDb25maWcuZGVzY3JpcHRpb24gfHxcbiAgICAgICFERUZBVUxUX0NPTkZJRy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5icmVha3BvaW50cyB8fFxuICAgICAgIURFRkFVTFRfQ0FST1VTRUxfUFJFVklFV1NfQ09ORklHLm51bWJlclxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnRlcm5hbCBsaWJyYXJ5IGVycm9yIC0gREVGQVVMVF9DT05GSUcgbXVzdCBiZSBmdWxseSBpbml0aWFsaXplZCEhIScpO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld0NvbmZpZzogTGliQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jb25maWdNYXAuZ2V0KGlkKSk7XG4gICAgaWYgKG9iai5zbGlkZUNvbmZpZykge1xuICAgICAgbGV0IHBsYXlDb25maWc7XG4gICAgICBsZXQgc2lkZVByZXZpZXdzO1xuICAgICAgbGV0IHNpemU7XG4gICAgICBpZiAob2JqLnNsaWRlQ29uZmlnLnBsYXlDb25maWcpIHtcbiAgICAgICAgcGxheUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLnBsYXlDb25maWcsIG9iai5zbGlkZUNvbmZpZy5wbGF5Q29uZmlnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBsYXlDb25maWcgPSBERUZBVUxUX0NPTkZJRy5zbGlkZUNvbmZpZy5wbGF5Q29uZmlnO1xuICAgICAgfVxuICAgICAgaWYgKG9iai5zbGlkZUNvbmZpZy5zaWRlUHJldmlld3MpIHtcbiAgICAgICAgaWYgKG9iai5zbGlkZUNvbmZpZy5zaWRlUHJldmlld3Muc2l6ZSkge1xuICAgICAgICAgIHNpemUgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5zbGlkZUNvbmZpZy5zaWRlUHJldmlld3Muc2l6ZSwgb2JqLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cy5zaXplKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzaXplID0gREVGQVVMVF9DT05GSUcuc2xpZGVDb25maWcuc2lkZVByZXZpZXdzLnNpemU7XG4gICAgICAgIH1cbiAgICAgICAgc2lkZVByZXZpZXdzID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuc2xpZGVDb25maWcuc2lkZVByZXZpZXdzLCBvYmouc2xpZGVDb25maWcuc2lkZVByZXZpZXdzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNpZGVQcmV2aWV3cyA9IERFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cztcbiAgICAgICAgc2l6ZSA9IERFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cy5zaXplO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3U2xpZGVDb25maWc6IFNsaWRlQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuc2xpZGVDb25maWcsIG9iai5zbGlkZUNvbmZpZyk7XG4gICAgICBuZXdTbGlkZUNvbmZpZy5wbGF5Q29uZmlnID0gcGxheUNvbmZpZztcbiAgICAgIG5ld1NsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cyA9IHNpZGVQcmV2aWV3cztcbiAgICAgIG5ld1NsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cy5zaXplID0gc2l6ZTtcbiAgICAgIG5ld0NvbmZpZy5zbGlkZUNvbmZpZyA9IG5ld1NsaWRlQ29uZmlnO1xuICAgIH1cbiAgICBpZiAob2JqLmFjY2Vzc2liaWxpdHlDb25maWcpIHtcbiAgICAgIG5ld0NvbmZpZy5hY2Nlc3NpYmlsaXR5Q29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuYWNjZXNzaWJpbGl0eUNvbmZpZywgb2JqLmFjY2Vzc2liaWxpdHlDb25maWcpO1xuICAgIH1cbiAgICBpZiAob2JqLnByZXZpZXdDb25maWcpIHtcbiAgICAgIGxldCBzaXplOiBTaXplO1xuICAgICAgbGV0IG51bTogbnVtYmVyO1xuICAgICAgaWYgKG9iai5wcmV2aWV3Q29uZmlnLnNpemUpIHtcbiAgICAgICAgc2l6ZSA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLnByZXZpZXdDb25maWcuc2l6ZSwgb2JqLnByZXZpZXdDb25maWcuc2l6ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaXplID0gREVGQVVMVF9DT05GSUcucHJldmlld0NvbmZpZy5zaXplO1xuICAgICAgfVxuICAgICAgaWYgKG9iai5wcmV2aWV3Q29uZmlnLm51bWJlcikge1xuICAgICAgICBpZiAob2JqLnByZXZpZXdDb25maWcubnVtYmVyIDw9IDApIHtcbiAgICAgICAgICAvLyBpZiBudW1iZXIgaXMgPD0gMCByZXNldCB0byBkZWZhdWx0XG4gICAgICAgICAgbnVtID0gREVGQVVMVF9DT05GSUcucHJldmlld0NvbmZpZy5udW1iZXI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbnVtID0gb2JqLnByZXZpZXdDb25maWcubnVtYmVyO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBudW0gPSBERUZBVUxUX0NPTkZJRy5wcmV2aWV3Q29uZmlnLm51bWJlcjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1ByZXZpZXdDb25maWc6IFByZXZpZXdDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5wcmV2aWV3Q29uZmlnLCBvYmoucHJldmlld0NvbmZpZyk7XG4gICAgICBuZXdQcmV2aWV3Q29uZmlnLnNpemUgPSBzaXplO1xuICAgICAgbmV3UHJldmlld0NvbmZpZy5udW1iZXIgPSBudW07XG4gICAgICBuZXdDb25maWcucHJldmlld0NvbmZpZyA9IG5ld1ByZXZpZXdDb25maWc7XG4gICAgfVxuICAgIGlmIChvYmouYnV0dG9uc0NvbmZpZykge1xuICAgICAgbmV3Q29uZmlnLmJ1dHRvbnNDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5idXR0b25zQ29uZmlnLCBvYmouYnV0dG9uc0NvbmZpZyk7XG4gICAgfVxuICAgIGlmIChvYmouZG90c0NvbmZpZykge1xuICAgICAgbmV3Q29uZmlnLmRvdHNDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5kb3RzQ29uZmlnLCBvYmouZG90c0NvbmZpZyk7XG4gICAgfVxuICAgIGlmIChvYmoucGxhaW5HYWxsZXJ5Q29uZmlnKSB7XG4gICAgICBsZXQgYWR2YW5jZWQ7XG4gICAgICBsZXQgbGF5b3V0O1xuICAgICAgaWYgKG9iai5wbGFpbkdhbGxlcnlDb25maWcuYWR2YW5jZWQpIHtcbiAgICAgICAgYWR2YW5jZWQgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5wbGFpbkdhbGxlcnlDb25maWcuYWR2YW5jZWQsIG9iai5wbGFpbkdhbGxlcnlDb25maWcuYWR2YW5jZWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWR2YW5jZWQgPSBERUZBVUxUX0NPTkZJRy5wbGFpbkdhbGxlcnlDb25maWcuYWR2YW5jZWQ7XG4gICAgICB9XG4gICAgICBpZiAob2JqLnBsYWluR2FsbGVyeUNvbmZpZy5sYXlvdXQpIHtcbiAgICAgICAgLy8gaXQgaXNuJ3QgbWFuZGF0b3J5IHRvIHVzZSBhc3NpZ24sIGJlY2F1c2Ugb2JqLnBsYWluR2FsbGVyeUNvbmZpZy5sYXlvdXQgaXMgYW4gaW5zdGFuY2Ugb2YgY2xhc3MgKExpbmVhTGF5b3V0LCBHcmlkTGF5b3V0KVxuICAgICAgICBsYXlvdXQgPSBvYmoucGxhaW5HYWxsZXJ5Q29uZmlnLmxheW91dDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxheW91dCA9IERFRkFVTFRfQ09ORklHLnBsYWluR2FsbGVyeUNvbmZpZy5sYXlvdXQ7XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdQbGFpbkdhbGxlcnlDb25maWc6IFBsYWluR2FsbGVyeUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLnBsYWluR2FsbGVyeUNvbmZpZywgb2JqLnBsYWluR2FsbGVyeUNvbmZpZyk7XG4gICAgICBuZXdQbGFpbkdhbGxlcnlDb25maWcubGF5b3V0ID0gbGF5b3V0O1xuICAgICAgbmV3UGxhaW5HYWxsZXJ5Q29uZmlnLmFkdmFuY2VkID0gYWR2YW5jZWQ7XG4gICAgICBuZXdDb25maWcucGxhaW5HYWxsZXJ5Q29uZmlnID0gaW5pdFBsYWluR2FsbGVyeUNvbmZpZyhuZXdQbGFpbkdhbGxlcnlDb25maWcpO1xuICAgIH1cbiAgICBpZiAob2JqLmN1cnJlbnRJbWFnZUNvbmZpZykge1xuICAgICAgbGV0IGxvYWRpbmc7XG4gICAgICBsZXQgZGVzY3JpcHRpb247XG4gICAgICBsZXQgZGVzY3JpcHRpb25TdHlsZTtcbiAgICAgIGlmIChvYmouY3VycmVudEltYWdlQ29uZmlnLmxvYWRpbmdDb25maWcpIHtcbiAgICAgICAgbG9hZGluZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZy5sb2FkaW5nQ29uZmlnLCBvYmouY3VycmVudEltYWdlQ29uZmlnLmxvYWRpbmdDb25maWcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9hZGluZyA9IERFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZy5sb2FkaW5nQ29uZmlnO1xuICAgICAgfVxuICAgICAgaWYgKG9iai5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgZGVzY3JpcHRpb24gPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24sIG9iai5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24pO1xuICAgICAgICBpZiAob2JqLmN1cnJlbnRJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZSkge1xuICAgICAgICAgIGRlc2NyaXB0aW9uU3R5bGUgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGUsIG9iai5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlc2NyaXB0aW9uU3R5bGUgPSBERUZBVUxUX0NPTkZJRy5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlc2NyaXB0aW9uID0gREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uO1xuICAgICAgICBkZXNjcmlwdGlvblN0eWxlID0gREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3Q3VycmVudEltYWdlQ29uZmlnOiBDdXJyZW50SW1hZ2VDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jdXJyZW50SW1hZ2VDb25maWcsIG9iai5jdXJyZW50SW1hZ2VDb25maWcpO1xuICAgICAgbmV3Q3VycmVudEltYWdlQ29uZmlnLmxvYWRpbmdDb25maWcgPSBsb2FkaW5nO1xuICAgICAgbmV3Q3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgICBuZXdDdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGUgPSBkZXNjcmlwdGlvblN0eWxlO1xuICAgICAgbmV3Q29uZmlnLmN1cnJlbnRJbWFnZUNvbmZpZyA9IG5ld0N1cnJlbnRJbWFnZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKG9iai5rZXlib2FyZENvbmZpZykge1xuICAgICAgbmV3Q29uZmlnLmtleWJvYXJkQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcua2V5Ym9hcmRDb25maWcsIG9iai5rZXlib2FyZENvbmZpZyk7XG4gICAgfVxuXG4gICAgLy8gY2Fyb3VzZWxcbiAgICBpZiAob2JqLmNhcm91c2VsQ29uZmlnKSB7XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbENvbmZpZywgb2JqLmNhcm91c2VsQ29uZmlnKTtcbiAgICB9XG4gICAgaWYgKG9iai5jYXJvdXNlbEltYWdlQ29uZmlnKSB7XG4gICAgICBsZXQgZGVzY3JpcHRpb247XG4gICAgICBsZXQgZGVzY3JpcHRpb25TdHlsZTtcbiAgICAgIGlmIChvYmouY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbikge1xuICAgICAgICBkZXNjcmlwdGlvbiA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmNhcm91c2VsSW1hZ2VDb25maWcuZGVzY3JpcHRpb24sIG9iai5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uKTtcbiAgICAgICAgaWYgKG9iai5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlKSB7XG4gICAgICAgICAgZGVzY3JpcHRpb25TdHlsZSA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmNhcm91c2VsSW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGUsIG9iai5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblN0eWxlID0gREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVzY3JpcHRpb24gPSBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uO1xuICAgICAgICBkZXNjcmlwdGlvblN0eWxlID0gREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld0Nhcm91c2VsSW1hZ2VDb25maWc6IENhcm91c2VsSW1hZ2VDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbEltYWdlQ29uZmlnLCBvYmouY2Fyb3VzZWxJbWFnZUNvbmZpZyk7XG4gICAgICBuZXdDYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgICBuZXdDYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlID0gZGVzY3JpcHRpb25TdHlsZTtcbiAgICAgIG5ld0NvbmZpZy5jYXJvdXNlbEltYWdlQ29uZmlnID0gbmV3Q2Fyb3VzZWxJbWFnZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKG9iai5jYXJvdXNlbFBsYXlDb25maWcpIHtcbiAgICAgIC8vIGNoZWNrIHZhbHVlc1xuICAgICAgaWYgKG9iai5jYXJvdXNlbFBsYXlDb25maWcuaW50ZXJ2YWwgPD0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhcm91c2VsJ3MgaW50ZXJ2YWwgbXVzdCBiZSBhIG51bWJlciA+PSAwYCk7XG4gICAgICB9XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxQbGF5Q29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxQbGF5Q29uZmlnLCBvYmouY2Fyb3VzZWxQbGF5Q29uZmlnKTtcbiAgICB9XG4gICAgaWYgKG9iai5jYXJvdXNlbFByZXZpZXdzQ29uZmlnKSB7XG4gICAgICAvLyBjaGVjayB2YWx1ZXNcbiAgICAgIGxldCBudW06IG51bWJlcjtcbiAgICAgIGxldCBicmVha3BvaW50czogQnJlYWtwb2ludHNDb25maWc7XG4gICAgICBpZiAoIW9iai5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLm51bWJlciB8fCBvYmouY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5udW1iZXIgPD0gMCkge1xuICAgICAgICBudW0gPSBERUZBVUxUX0NBUk9VU0VMX1BSRVZJRVdTX0NPTkZJRy5udW1iZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBudW0gPSBvYmouY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5udW1iZXI7XG4gICAgICB9XG4gICAgICBpZiAob2JqLmNhcm91c2VsUHJldmlld3NDb25maWcuYnJlYWtwb2ludHMpIHtcbiAgICAgICAgYnJlYWtwb2ludHMgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLmJyZWFrcG9pbnRzLCBvYmouY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5icmVha3BvaW50cyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVha3BvaW50cyA9IERFRkFVTFRfQ09ORklHLmNhcm91c2VsUHJldmlld3NDb25maWcuYnJlYWtwb2ludHM7XG4gICAgICB9XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmNhcm91c2VsUHJldmlld3NDb25maWcsIG9iai5jYXJvdXNlbFByZXZpZXdzQ29uZmlnKTtcbiAgICAgIG5ld0NvbmZpZy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLm51bWJlciA9IG51bTtcbiAgICAgIG5ld0NvbmZpZy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLmJyZWFrcG9pbnRzID0gYnJlYWtwb2ludHM7XG4gICAgICAvLyBJbml0IHByZXZpZXcgaW1hZ2Ugd2lkdGggYmFzZWQgb24gdGhlIG51bWJlciBvZiBwcmV2aWV3cyBpbiBQcmV2aWV3Q29uZmlnXG4gICAgICAvLyBEb24ndCBtb3ZlIHRoaXMgbGluZSBhYm92ZSwgYmVjYXVzZSBJIG5lZWQgdG8gYmUgc3VyZSB0aGF0IGJvdGggY29uZmlnUHJldmlldy5udW1iZXJcbiAgICAgIC8vIGFuZCBjb25maWdQcmV2aWV3LnNpemUgYXJlIGluaXRpYWxpemVkXG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy53aWR0aCA9IDEwMCAvIG5ld0NvbmZpZy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLm51bWJlciArICclJztcbiAgICB9XG4gICAgaWYgKG9iai5jYXJvdXNlbERvdHNDb25maWcpIHtcbiAgICAgIG5ld0NvbmZpZy5jYXJvdXNlbERvdHNDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbERvdHNDb25maWcsIG9iai5jYXJvdXNlbERvdHNDb25maWcpO1xuICAgIH1cbiAgICBpZiAob2JqLmNhcm91c2VsU2xpZGVJbmZpbml0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxTbGlkZUluZmluaXRlID0gREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxTbGlkZUluZmluaXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxTbGlkZUluZmluaXRlID0gb2JqLmNhcm91c2VsU2xpZGVJbmZpbml0ZTtcbiAgICB9XG4gICAgaWYgKG9iai5lbmFibGVDbG9zZU91dHNpZGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbmV3Q29uZmlnLmVuYWJsZUNsb3NlT3V0c2lkZSA9IERFRkFVTFRfQ09ORklHLmVuYWJsZUNsb3NlT3V0c2lkZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3Q29uZmlnLmVuYWJsZUNsb3NlT3V0c2lkZSA9IG9iai5lbmFibGVDbG9zZU91dHNpZGU7XG4gICAgfVxuICAgIHRoaXMuY29uZmlnTWFwLnNldChpZCwgbmV3Q29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdElmTm90RXhpc3RzKGlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnTWFwLmhhcyhpZCkpIHtcbiAgICAgIHRoaXMuY29uZmlnTWFwLnNldChpZCwgREVGQVVMVF9DT05GSUcpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIGJ1aWxkIGFuZCByZXR1cm4gYSBgUGxhaW5HYWxsZXJ5Q29uZmlnYCBvYmplY3QsIHByb3ZpbmcgYWxzbyBkZWZhdWx0IHZhbHVlcyBhbmQgdmFsaWRhdGluZyB0aGUgaW5wdXQgb2JqZWN0LlxuICogQHBhcmFtIHBsYWluR2FsbGVyeUNvbmZpZyBvYmplY3Qgd2l0aCB0aGUgY29uZmlnIHJlcXVlc3RlZCBieSB1c2VyXG4gKiBAcmV0dXJucyBQbGFpbkdhbGxlcnlDb25maWcgdGhlIHBsYWluIGdhbGxlcnkgY29uZmlndXJhdGlvblxuICogQHRocm93cyBhbiBFcnJvciBpZiBsYXlvdXQgYW5kIHN0cmF0ZWd5IGFyZW4ndCBjb21wYXRpYmxlXG4gKi9cbmZ1bmN0aW9uIGluaXRQbGFpbkdhbGxlcnlDb25maWcocGxhaW5HYWxsZXJ5Q29uZmlnOiBQbGFpbkdhbGxlcnlDb25maWcpOiBQbGFpbkdhbGxlcnlDb25maWcge1xuICBjb25zdCBuZXdQbGF5R2FsbGVyeUNvbmZpZzogUGxhaW5HYWxsZXJ5Q29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcucGxhaW5HYWxsZXJ5Q29uZmlnLCBwbGFpbkdhbGxlcnlDb25maWcpO1xuXG4gIGlmIChuZXdQbGF5R2FsbGVyeUNvbmZpZy5sYXlvdXQgaW5zdGFuY2VvZiBMaW5lTGF5b3V0KSB7XG4gICAgaWYgKG5ld1BsYXlHYWxsZXJ5Q29uZmlnLnN0cmF0ZWd5ICE9PSBQbGFpbkdhbGxlcnlTdHJhdGVneS5ST1cgJiYgbmV3UGxheUdhbGxlcnlDb25maWcuc3RyYXRlZ3kgIT09IFBsYWluR2FsbGVyeVN0cmF0ZWd5LkNPTFVNTikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdMaW5lTGF5b3V0IHJlcXVpcmVzIGVpdGhlciBST1cgb3IgQ09MVU1OIHN0cmF0ZWd5Jyk7XG4gICAgfVxuICAgIGlmICghbmV3UGxheUdhbGxlcnlDb25maWcubGF5b3V0IHx8ICFuZXdQbGF5R2FsbGVyeUNvbmZpZy5sYXlvdXQuYnJlYWtDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQm90aCBsYXlvdXQgYW5kIGJyZWFrQ29uZmlnIG11c3QgYmUgdmFsaWQnKTtcbiAgICB9XG4gIH1cblxuICBpZiAobmV3UGxheUdhbGxlcnlDb25maWcubGF5b3V0IGluc3RhbmNlb2YgR3JpZExheW91dCkge1xuICAgIGlmIChuZXdQbGF5R2FsbGVyeUNvbmZpZy5zdHJhdGVneSAhPT0gUGxhaW5HYWxsZXJ5U3RyYXRlZ3kuR1JJRCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdHcmlkTGF5b3V0IHJlcXVpcmVzIEdSSUQgc3RyYXRlZ3knKTtcbiAgICB9XG4gICAgaWYgKCFuZXdQbGF5R2FsbGVyeUNvbmZpZy5sYXlvdXQgfHwgIW5ld1BsYXlHYWxsZXJ5Q29uZmlnLmxheW91dC5icmVha0NvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCb3RoIGxheW91dCBhbmQgYnJlYWtDb25maWcgbXVzdCBiZSB2YWxpZCcpO1xuICAgIH1cbiAgICAvLyBmb3JjZSB3cmFwIGZvciBncmlkIGxheW91dFxuICAgIG5ld1BsYXlHYWxsZXJ5Q29uZmlnLmxheW91dC5icmVha0NvbmZpZy53cmFwID0gdHJ1ZTtcbiAgfVxuICByZXR1cm4gbmV3UGxheUdhbGxlcnlDb25maWc7XG59XG4iXX0=
|
|
388
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rczg5L2FuZ3VsYXItbW9kYWwtZ2FsbGVyeS9zcmMvbGliL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUd0RixPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTNILE9BQU8sRUFBaUIsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFlLG1CQUFtQixFQUFvQixNQUFNLGdDQUFnQyxDQUFDOztBQU1wRyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBZSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDMUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXVCO0lBQ3RELFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxHQUFHO0lBQ2xDLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFO0NBQ2xFLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxlQUFlLEdB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VyxFQUFFLENBQUM7WUFDN0UsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCw2QkFBNkI7UUFDN0Isb0JBQW9CLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3RELENBQUM7SUFDRCxPQUFPLG9CQUFvQixDQUFDO0FBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuXG4gQ29weXJpZ2h0IChjKSAyMDE3LTIwMjQgU3RlZmFubyBDYXBwYSAoS3M4OSlcblxuIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OIElORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaWRlUHJldmlld3NDb25maWcsIFNsaWRlQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvc2xpZGUtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQbGF5Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvcGxheS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEtTX0RFRkFVTFRfQUNDRVNTSUJJTElUWV9DT05GSUcgfSBmcm9tICcuLi9jb21wb25lbnRzL2FjY2Vzc2liaWxpdHktZGVmYXVsdCc7XG5pbXBvcnQgeyBQcmV2aWV3Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvcHJldmlldy1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNpemUgfSBmcm9tICcuLi9tb2RlbC9zaXplLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCdXR0b25zQ29uZmlnLCBCdXR0b25zU3RyYXRlZ3kgfSBmcm9tICcuLi9tb2RlbC9idXR0b25zLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRG90c0NvbmZpZyB9IGZyb20gJy4uL21vZGVsL2RvdHMtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBHcmlkTGF5b3V0LCBMaW5lTGF5b3V0LCBQbGFpbkdhbGxlcnlDb25maWcsIFBsYWluR2FsbGVyeVN0cmF0ZWd5IH0gZnJvbSAnLi4vbW9kZWwvcGxhaW4tZ2FsbGVyeS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEN1cnJlbnRJbWFnZUNvbmZpZyB9IGZyb20gJy4uL21vZGVsL2N1cnJlbnQtaW1hZ2UtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMb2FkaW5nQ29uZmlnLCBMb2FkaW5nVHlwZSB9IGZyb20gJy4uL21vZGVsL2xvYWRpbmctY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEZXNjcmlwdGlvbiwgRGVzY3JpcHRpb25TdHJhdGVneSwgRGVzY3JpcHRpb25TdHlsZSB9IGZyb20gJy4uL21vZGVsL2Rlc2NyaXB0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJvdXNlbENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2Nhcm91c2VsLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2Fyb3VzZWxJbWFnZUNvbmZpZyB9IGZyb20gJy4uL21vZGVsL2Nhcm91c2VsLWltYWdlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQnJlYWtwb2ludHNDb25maWcsIENhcm91c2VsUHJldmlld0NvbmZpZyB9IGZyb20gJy4uL21vZGVsL2Nhcm91c2VsLXByZXZpZXctY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMaWJDb25maWcgfSBmcm9tICcuLi9tb2RlbC9saWItY29uZmlnLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BSRVZJRVdfU0laRTogU2l6ZSA9IHsgaGVpZ2h0OiAnNTBweCcsIHdpZHRoOiAnYXV0bycgfTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWU9VVDogTGluZUxheW91dCA9IG5ldyBMaW5lTGF5b3V0KERFRkFVTFRfUFJFVklFV19TSVpFLCB7IGxlbmd0aDogLTEsIHdyYXA6IGZhbHNlIH0sICdmbGV4LXN0YXJ0Jyk7XG5leHBvcnQgY29uc3QgREVGQVVMVF9QTEFJTl9DT05GSUc6IFBsYWluR2FsbGVyeUNvbmZpZyA9IHtcbiAgc3RyYXRlZ3k6IFBsYWluR2FsbGVyeVN0cmF0ZWd5LlJPVyxcbiAgbGF5b3V0OiBERUZBVUxUX0xBWU9VVCxcbiAgYWR2YW5jZWQ6IHsgYVRhZ3M6IGZhbHNlLCBhZGRpdGlvbmFsQmFja2dyb3VuZDogJzUwJSA1MCUvY292ZXInIH1cbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0FESU5HOiBMb2FkaW5nQ29uZmlnID0geyBlbmFibGU6IHRydWUsIHR5cGU6IExvYWRpbmdUeXBlLlNUQU5EQVJEIH07XG5leHBvcnQgY29uc3QgREVGQVVMVF9ERVNDUklQVElPTl9TVFlMRTogRGVzY3JpcHRpb25TdHlsZSA9IHtcbiAgYmdDb2xvcjogJ3JnYmEoMCwgMCwgMCwgLjUpJyxcbiAgdGV4dENvbG9yOiAnd2hpdGUnLFxuICBtYXJnaW5Ub3A6ICcwcHgnLFxuICBtYXJnaW5Cb3R0b206ICcwcHgnLFxuICBtYXJnaW5MZWZ0OiAnMHB4JyxcbiAgbWFyZ2luUmlnaHQ6ICcwcHgnXG59O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfREVTQ1JJUFRJT046IERlc2NyaXB0aW9uID0ge1xuICBzdHJhdGVneTogRGVzY3JpcHRpb25TdHJhdGVneS5BTFdBWVNfVklTSUJMRSxcbiAgaW1hZ2VUZXh0OiAnSW1hZ2UgJyxcbiAgbnVtYmVyU2VwYXJhdG9yOiAnLycsXG4gIGJlZm9yZVRleHREZXNjcmlwdGlvbjogJyAtICcsXG4gIHN0eWxlOiBERUZBVUxUX0RFU0NSSVBUSU9OX1NUWUxFXG59O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0FST1VTRUxfREVTQ1JJUFRJT046IERlc2NyaXB0aW9uID0ge1xuICBzdHJhdGVneTogRGVzY3JpcHRpb25TdHJhdGVneS5BTFdBWVNfSElEREVOLFxuICBpbWFnZVRleHQ6ICdJbWFnZSAnLFxuICBudW1iZXJTZXBhcmF0b3I6ICcvJyxcbiAgYmVmb3JlVGV4dERlc2NyaXB0aW9uOiAnIC0gJyxcbiAgc3R5bGU6IERFRkFVTFRfREVTQ1JJUFRJT05fU1RZTEVcbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9DVVJSRU5UX0lNQUdFX0NPTkZJRzogQ3VycmVudEltYWdlQ29uZmlnID0ge1xuICBuYXZpZ2F0ZU9uQ2xpY2s6IHRydWUsXG4gIGxvYWRpbmdDb25maWc6IERFRkFVTFRfTE9BRElORyxcbiAgZGVzY3JpcHRpb246IERFRkFVTFRfREVTQ1JJUFRJT04sXG4gIGRvd25sb2FkYWJsZTogZmFsc2UsXG4gIGludmVydFN3aXBlOiBmYWxzZVxufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NBUk9VU0VMX0lNQUdFX0NPTkZJRzogQ2Fyb3VzZWxJbWFnZUNvbmZpZyA9IHtcbiAgZGVzY3JpcHRpb246IERFRkFVTFRfQ0FST1VTRUxfREVTQ1JJUFRJT04sXG4gIGludmVydFN3aXBlOiBmYWxzZVxufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NVUlJFTlRfQ0FST1VTRUxfQ09ORklHOiBDYXJvdXNlbENvbmZpZyA9IHtcbiAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgbWF4SGVpZ2h0OiAnNDAwcHgnLFxuICBzaG93QXJyb3dzOiB0cnVlLFxuICBvYmplY3RGaXQ6ICdjb3ZlcicsXG4gIGtleWJvYXJkRW5hYmxlOiB0cnVlLFxuICBtb2RhbEdhbGxlcnlFbmFibGU6IGZhbHNlXG59O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ1VSUkVOVF9DQVJPVVNFTF9QTEFZOiBQbGF5Q29uZmlnID0ge1xuICBhdXRvUGxheTogdHJ1ZSxcbiAgaW50ZXJ2YWw6IDUwMDAsXG4gIHBhdXNlT25Ib3ZlcjogdHJ1ZVxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0FST1VTRUxfQlJFQUtQT0lOVFM6IEJyZWFrcG9pbnRzQ29uZmlnID0geyB4U21hbGw6IDEwMCwgc21hbGw6IDEwMCwgbWVkaXVtOiAxNTAsIGxhcmdlOiAyMDAsIHhMYXJnZTogMjAwIH07XG5leHBvcnQgY29uc3QgREVGQVVMVF9DQVJPVVNFTF9QUkVWSUVXU19DT05GSUc6IENhcm91c2VsUHJldmlld0NvbmZpZyA9IHtcbiAgdmlzaWJsZTogdHJ1ZSxcbiAgbnVtYmVyOiA0LFxuICBhcnJvd3M6IHRydWUsXG4gIGNsaWNrYWJsZTogdHJ1ZSxcbiAgd2lkdGg6IDEwMCAvIDQgKyAnJScsXG4gIG1heEhlaWdodDogJzIwMHB4JyxcbiAgYnJlYWtwb2ludHM6IERFRkFVTFRfQ0FST1VTRUxfQlJFQUtQT0lOVFNcbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9TTElERV9DT05GSUc6IFNsaWRlQ29uZmlnID0ge1xuICBpbmZpbml0ZTogZmFsc2UsXG4gIHBsYXlDb25maWc6IHsgYXV0b1BsYXk6IGZhbHNlLCBpbnRlcnZhbDogNTAwMCwgcGF1c2VPbkhvdmVyOiB0cnVlIH0gYXMgUGxheUNvbmZpZyxcbiAgc2lkZVByZXZpZXdzOiB7IHNob3c6IHRydWUsIHNpemU6IHsgd2lkdGg6ICcxMDBweCcsIGhlaWdodDogJ2F1dG8nIH0gfSBhcyBTaWRlUHJldmlld3NDb25maWdcbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9QUkVWSUVXX0NPTkZJRzogUHJldmlld0NvbmZpZyA9IHtcbiAgdmlzaWJsZTogdHJ1ZSxcbiAgbnVtYmVyOiAzLFxuICBhcnJvd3M6IHRydWUsXG4gIGNsaWNrYWJsZTogdHJ1ZSxcbiAgc2l6ZTogREVGQVVMVF9QUkVWSUVXX1NJWkVcbn07XG5cbmNvbnN0IERFRkFVTFRfQ09ORklHOiBMaWJDb25maWcgPSBPYmplY3QuZnJlZXplKHtcbiAgc2xpZGVDb25maWc6IERFRkFVTFRfU0xJREVfQ09ORklHLFxuICBhY2Nlc3NpYmlsaXR5Q29uZmlnOiBLU19ERUZBVUxUX0FDQ0VTU0lCSUxJVFlfQ09ORklHLFxuICBwcmV2aWV3Q29uZmlnOiBERUZBVUxUX1BSRVZJRVdfQ09ORklHLFxuICBidXR0b25zQ29uZmlnOiB7IHZpc2libGU6IHRydWUsIHN0cmF0ZWd5OiBCdXR0b25zU3RyYXRlZ3kuREVGQVVMVCB9IGFzIEJ1dHRvbnNDb25maWcsXG4gIGRvdHNDb25maWc6IHsgdmlzaWJsZTogdHJ1ZSB9IGFzIERvdHNDb25maWcsXG4gIHBsYWluR2FsbGVyeUNvbmZpZzogREVGQVVMVF9QTEFJTl9DT05GSUcsXG4gIGN1cnJlbnRJbWFnZUNvbmZpZzogREVGQVVMVF9DVVJSRU5UX0lNQUdFX0NPTkZJRyxcbiAga2V5Ym9hcmRDb25maWc6IHVuZGVmaW5lZCwgLy8gYnkgZGVmYXVsdCBub3RoaW5nLCBiZWNhdXNlIHRoZSBsaWJyYXJ5IHVzZXMgZGVmYXVsdCBidXR0b25zIGF1dG9tYXRpY2FsbHlcbiAgY2Fyb3VzZWxDb25maWc6IERFRkFVTFRfQ1VSUkVOVF9DQVJPVVNFTF9DT05GSUcsXG4gIGNhcm91c2VsSW1hZ2VDb25maWc6IERFRkFVTFRfQ0FST1VTRUxfSU1BR0VfQ09ORklHLFxuICBjYXJvdXNlbFByZXZpZXdzQ29uZmlnOiBERUZBVUxUX0NBUk9VU0VMX1BSRVZJRVdTX0NPTkZJRyxcbiAgY2Fyb3VzZWxQbGF5Q29uZmlnOiBERUZBVUxUX0NVUlJFTlRfQ0FST1VTRUxfUExBWSxcbiAgY2Fyb3VzZWxEb3RzQ29uZmlnOiB7IHZpc2libGU6IHRydWUgfSBhcyBEb3RzQ29uZmlnLFxuICBjYXJvdXNlbFNsaWRlSW5maW5pdGU6IHRydWUsXG4gIGVuYWJsZUNsb3NlT3V0c2lkZTogdHJ1ZVxufSk7XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgbGlicmFyeSBjb25maWd1cmF0aW9uIGluIGEgdW5pcXVlIHBsYWNlXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29uZmlnU2VydmljZSB7XG4gIGNvbmZpZ01hcDogTWFwPG51bWJlciwgTGliQ29uZmlnPiA9IG5ldyBNYXA8bnVtYmVyLCBMaWJDb25maWc+KCk7XG5cbiAgZ2V0Q29uZmlnKGlkOiBudW1iZXIpOiBMaWJDb25maWcgfCB1bmRlZmluZWQge1xuICAgIHRoaXMuaW5pdElmTm90RXhpc3RzKGlkKTtcbiAgICByZXR1cm4gdGhpcy5jb25maWdNYXAuZ2V0KGlkKTtcbiAgfVxuXG4gIHNldENvbmZpZyhpZDogbnVtYmVyLCBvYmo6IExpYkNvbmZpZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdElmTm90RXhpc3RzKGlkKTtcbiAgICBpZiAoIW9iaikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICFERUZBVUxUX0NPTkZJRyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuc2xpZGVDb25maWcuc2lkZVByZXZpZXdzIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcucHJldmlld0NvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLnByZXZpZXdDb25maWcuc2l6ZSB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLnByZXZpZXdDb25maWcubnVtYmVyIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcucGxhaW5HYWxsZXJ5Q29uZmlnIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxJbWFnZUNvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLmNhcm91c2VsSW1hZ2VDb25maWcuZGVzY3JpcHRpb24gfHxcbiAgICAgICFERUZBVUxUX0NPTkZJRy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5icmVha3BvaW50cyB8fFxuICAgICAgIURFRkFVTFRfQ0FST1VTRUxfUFJFVklFV1NfQ09ORklHLm51bWJlclxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnRlcm5hbCBsaWJyYXJ5IGVycm9yIC0gREVGQVVMVF9DT05GSUcgbXVzdCBiZSBmdWxseSBpbml0aWFsaXplZCEhIScpO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld0NvbmZpZzogTGliQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jb25maWdNYXAuZ2V0KGlkKSk7XG4gICAgaWYgKG9iai5zbGlkZUNvbmZpZykge1xuICAgICAgbGV0IHBsYXlDb25maWc7XG4gICAgICBsZXQgc2lkZVByZXZpZXdzO1xuICAgICAgbGV0IHNpemU7XG4gICAgICBpZiAob2JqLnNsaWRlQ29uZmlnLnBsYXlDb25maWcpIHtcbiAgICAgICAgcGxheUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLnBsYXlDb25maWcsIG9iai5zbGlkZUNvbmZpZy5wbGF5Q29uZmlnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBsYXlDb25maWcgPSBERUZBVUxUX0NPTkZJRy5zbGlkZUNvbmZpZy5wbGF5Q29uZmlnO1xuICAgICAgfVxuICAgICAgaWYgKG9iai5zbGlkZUNvbmZpZy5zaWRlUHJldmlld3MpIHtcbiAgICAgICAgaWYgKG9iai5zbGlkZUNvbmZpZy5zaWRlUHJldmlld3Muc2l6ZSkge1xuICAgICAgICAgIHNpemUgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5zbGlkZUNvbmZpZy5zaWRlUHJldmlld3Muc2l6ZSwgb2JqLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cy5zaXplKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzaXplID0gREVGQVVMVF9DT05GSUcuc2xpZGVDb25maWcuc2lkZVByZXZpZXdzLnNpemU7XG4gICAgICAgIH1cbiAgICAgICAgc2lkZVByZXZpZXdzID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuc2xpZGVDb25maWcuc2lkZVByZXZpZXdzLCBvYmouc2xpZGVDb25maWcuc2lkZVByZXZpZXdzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNpZGVQcmV2aWV3cyA9IERFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cztcbiAgICAgICAgc2l6ZSA9IERFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cy5zaXplO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3U2xpZGVDb25maWc6IFNsaWRlQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuc2xpZGVDb25maWcsIG9iai5zbGlkZUNvbmZpZyk7XG4gICAgICBuZXdTbGlkZUNvbmZpZy5wbGF5Q29uZmlnID0gcGxheUNvbmZpZztcbiAgICAgIG5ld1NsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cyA9IHNpZGVQcmV2aWV3cztcbiAgICAgIG5ld1NsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cy5zaXplID0gc2l6ZTtcbiAgICAgIG5ld0NvbmZpZy5zbGlkZUNvbmZpZyA9IG5ld1NsaWRlQ29uZmlnO1xuICAgIH1cbiAgICBpZiAob2JqLmFjY2Vzc2liaWxpdHlDb25maWcpIHtcbiAgICAgIG5ld0NvbmZpZy5hY2Nlc3NpYmlsaXR5Q29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuYWNjZXNzaWJpbGl0eUNvbmZpZywgb2JqLmFjY2Vzc2liaWxpdHlDb25maWcpO1xuICAgIH1cbiAgICBpZiAob2JqLnByZXZpZXdDb25maWcpIHtcbiAgICAgIGxldCBzaXplOiBTaXplO1xuICAgICAgbGV0IG51bTogbnVtYmVyO1xuICAgICAgaWYgKG9iai5wcmV2aWV3Q29uZmlnLnNpemUpIHtcbiAgICAgICAgc2l6ZSA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLnByZXZpZXdDb25maWcuc2l6ZSwgb2JqLnByZXZpZXdDb25maWcuc2l6ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaXplID0gREVGQVVMVF9DT05GSUcucHJldmlld0NvbmZpZy5zaXplO1xuICAgICAgfVxuICAgICAgaWYgKG9iai5wcmV2aWV3Q29uZmlnLm51bWJlcikge1xuICAgICAgICBpZiAob2JqLnByZXZpZXdDb25maWcubnVtYmVyIDw9IDApIHtcbiAgICAgICAgICAvLyBpZiBudW1iZXIgaXMgPD0gMCByZXNldCB0byBkZWZhdWx0XG4gICAgICAgICAgbnVtID0gREVGQVVMVF9DT05GSUcucHJldmlld0NvbmZpZy5udW1iZXI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbnVtID0gb2JqLnByZXZpZXdDb25maWcubnVtYmVyO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBudW0gPSBERUZBVUxUX0NPTkZJRy5wcmV2aWV3Q29uZmlnLm51bWJlcjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1ByZXZpZXdDb25maWc6IFByZXZpZXdDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5wcmV2aWV3Q29uZmlnLCBvYmoucHJldmlld0NvbmZpZyk7XG4gICAgICBuZXdQcmV2aWV3Q29uZmlnLnNpemUgPSBzaXplO1xuICAgICAgbmV3UHJldmlld0NvbmZpZy5udW1iZXIgPSBudW07XG4gICAgICBuZXdDb25maWcucHJldmlld0NvbmZpZyA9IG5ld1ByZXZpZXdDb25maWc7XG4gICAgfVxuICAgIGlmIChvYmouYnV0dG9uc0NvbmZpZykge1xuICAgICAgbmV3Q29uZmlnLmJ1dHRvbnNDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5idXR0b25zQ29uZmlnLCBvYmouYnV0dG9uc0NvbmZpZyk7XG4gICAgfVxuICAgIGlmIChvYmouZG90c0NvbmZpZykge1xuICAgICAgbmV3Q29uZmlnLmRvdHNDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5kb3RzQ29uZmlnLCBvYmouZG90c0NvbmZpZyk7XG4gICAgfVxuICAgIGlmIChvYmoucGxhaW5HYWxsZXJ5Q29uZmlnKSB7XG4gICAgICBsZXQgYWR2YW5jZWQ7XG4gICAgICBsZXQgbGF5b3V0O1xuICAgICAgaWYgKG9iai5wbGFpbkdhbGxlcnlDb25maWcuYWR2YW5jZWQpIHtcbiAgICAgICAgYWR2YW5jZWQgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5wbGFpbkdhbGxlcnlDb25maWcuYWR2YW5jZWQsIG9iai5wbGFpbkdhbGxlcnlDb25maWcuYWR2YW5jZWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWR2YW5jZWQgPSBERUZBVUxUX0NPTkZJRy5wbGFpbkdhbGxlcnlDb25maWcuYWR2YW5jZWQ7XG4gICAgICB9XG4gICAgICBpZiAob2JqLnBsYWluR2FsbGVyeUNvbmZpZy5sYXlvdXQpIHtcbiAgICAgICAgLy8gaXQgaXNuJ3QgbWFuZGF0b3J5IHRvIHVzZSBhc3NpZ24sIGJlY2F1c2Ugb2JqLnBsYWluR2FsbGVyeUNvbmZpZy5sYXlvdXQgaXMgYW4gaW5zdGFuY2Ugb2YgY2xhc3MgKExpbmVhTGF5b3V0LCBHcmlkTGF5b3V0KVxuICAgICAgICBsYXlvdXQgPSBvYmoucGxhaW5HYWxsZXJ5Q29uZmlnLmxheW91dDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxheW91dCA9IERFRkFVTFRfQ09ORklHLnBsYWluR2FsbGVyeUNvbmZpZy5sYXlvdXQ7XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdQbGFpbkdhbGxlcnlDb25maWc6IFBsYWluR2FsbGVyeUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLnBsYWluR2FsbGVyeUNvbmZpZywgb2JqLnBsYWluR2FsbGVyeUNvbmZpZyk7XG4gICAgICBuZXdQbGFpbkdhbGxlcnlDb25maWcubGF5b3V0ID0gbGF5b3V0O1xuICAgICAgbmV3UGxhaW5HYWxsZXJ5Q29uZmlnLmFkdmFuY2VkID0gYWR2YW5jZWQ7XG4gICAgICBuZXdDb25maWcucGxhaW5HYWxsZXJ5Q29uZmlnID0gaW5pdFBsYWluR2FsbGVyeUNvbmZpZyhuZXdQbGFpbkdhbGxlcnlDb25maWcpO1xuICAgIH1cbiAgICBpZiAob2JqLmN1cnJlbnRJbWFnZUNvbmZpZykge1xuICAgICAgbGV0IGxvYWRpbmc7XG4gICAgICBsZXQgZGVzY3JpcHRpb247XG4gICAgICBsZXQgZGVzY3JpcHRpb25TdHlsZTtcbiAgICAgIGlmIChvYmouY3VycmVudEltYWdlQ29uZmlnLmxvYWRpbmdDb25maWcpIHtcbiAgICAgICAgbG9hZGluZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZy5sb2FkaW5nQ29uZmlnLCBvYmouY3VycmVudEltYWdlQ29uZmlnLmxvYWRpbmdDb25maWcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9hZGluZyA9IERFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZy5sb2FkaW5nQ29uZmlnO1xuICAgICAgfVxuICAgICAgaWYgKG9iai5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgZGVzY3JpcHRpb24gPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24sIG9iai5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24pO1xuICAgICAgICBpZiAob2JqLmN1cnJlbnRJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZSkge1xuICAgICAgICAgIGRlc2NyaXB0aW9uU3R5bGUgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGUsIG9iai5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlc2NyaXB0aW9uU3R5bGUgPSBERUZBVUxUX0NPTkZJRy5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlc2NyaXB0aW9uID0gREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uO1xuICAgICAgICBkZXNjcmlwdGlvblN0eWxlID0gREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3Q3VycmVudEltYWdlQ29uZmlnOiBDdXJyZW50SW1hZ2VDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jdXJyZW50SW1hZ2VDb25maWcsIG9iai5jdXJyZW50SW1hZ2VDb25maWcpO1xuICAgICAgbmV3Q3VycmVudEltYWdlQ29uZmlnLmxvYWRpbmdDb25maWcgPSBsb2FkaW5nO1xuICAgICAgbmV3Q3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgICBuZXdDdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGUgPSBkZXNjcmlwdGlvblN0eWxlO1xuICAgICAgbmV3Q29uZmlnLmN1cnJlbnRJbWFnZUNvbmZpZyA9IG5ld0N1cnJlbnRJbWFnZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKG9iai5rZXlib2FyZENvbmZpZykge1xuICAgICAgbmV3Q29uZmlnLmtleWJvYXJkQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcua2V5Ym9hcmRDb25maWcsIG9iai5rZXlib2FyZENvbmZpZyk7XG4gICAgfVxuXG4gICAgLy8gY2Fyb3VzZWxcbiAgICBpZiAob2JqLmNhcm91c2VsQ29uZmlnKSB7XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbENvbmZpZywgb2JqLmNhcm91c2VsQ29uZmlnKTtcbiAgICB9XG4gICAgaWYgKG9iai5jYXJvdXNlbEltYWdlQ29uZmlnKSB7XG4gICAgICBsZXQgZGVzY3JpcHRpb247XG4gICAgICBsZXQgZGVzY3JpcHRpb25TdHlsZTtcbiAgICAgIGlmIChvYmouY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbikge1xuICAgICAgICBkZXNjcmlwdGlvbiA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmNhcm91c2VsSW1hZ2VDb25maWcuZGVzY3JpcHRpb24sIG9iai5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uKTtcbiAgICAgICAgaWYgKG9iai5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlKSB7XG4gICAgICAgICAgZGVzY3JpcHRpb25TdHlsZSA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmNhcm91c2VsSW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGUsIG9iai5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblN0eWxlID0gREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVzY3JpcHRpb24gPSBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uO1xuICAgICAgICBkZXNjcmlwdGlvblN0eWxlID0gREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld0Nhcm91c2VsSW1hZ2VDb25maWc6IENhcm91c2VsSW1hZ2VDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbEltYWdlQ29uZmlnLCBvYmouY2Fyb3VzZWxJbWFnZUNvbmZpZyk7XG4gICAgICBuZXdDYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgICBuZXdDYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlID0gZGVzY3JpcHRpb25TdHlsZTtcbiAgICAgIG5ld0NvbmZpZy5jYXJvdXNlbEltYWdlQ29uZmlnID0gbmV3Q2Fyb3VzZWxJbWFnZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKG9iai5jYXJvdXNlbFBsYXlDb25maWcpIHtcbiAgICAgIC8vIGNoZWNrIHZhbHVlc1xuICAgICAgaWYgKG9iai5jYXJvdXNlbFBsYXlDb25maWcuaW50ZXJ2YWwgPD0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhcm91c2VsJ3MgaW50ZXJ2YWwgbXVzdCBiZSBhIG51bWJlciA+PSAwYCk7XG4gICAgICB9XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxQbGF5Q29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxQbGF5Q29uZmlnLCBvYmouY2Fyb3VzZWxQbGF5Q29uZmlnKTtcbiAgICB9XG4gICAgaWYgKG9iai5jYXJvdXNlbFByZXZpZXdzQ29uZmlnKSB7XG4gICAgICAvLyBjaGVjayB2YWx1ZXNcbiAgICAgIGxldCBudW06IG51bWJlcjtcbiAgICAgIGxldCBicmVha3BvaW50czogQnJlYWtwb2ludHNDb25maWc7XG4gICAgICBpZiAoIW9iai5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLm51bWJlciB8fCBvYmouY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5udW1iZXIgPD0gMCkge1xuICAgICAgICBudW0gPSBERUZBVUxUX0NBUk9VU0VMX1BSRVZJRVdTX0NPTkZJRy5udW1iZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBudW0gPSBvYmouY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5udW1iZXI7XG4gICAgICB9XG4gICAgICBpZiAob2JqLmNhcm91c2VsUHJldmlld3NDb25maWcuYnJlYWtwb2ludHMpIHtcbiAgICAgICAgYnJlYWtwb2ludHMgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLmJyZWFrcG9pbnRzLCBvYmouY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5icmVha3BvaW50cyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVha3BvaW50cyA9IERFRkFVTFRfQ09ORklHLmNhcm91c2VsUHJldmlld3NDb25maWcuYnJlYWtwb2ludHM7XG4gICAgICB9XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmNhcm91c2VsUHJldmlld3NDb25maWcsIG9iai5jYXJvdXNlbFByZXZpZXdzQ29uZmlnKTtcbiAgICAgIG5ld0NvbmZpZy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLm51bWJlciA9IG51bTtcbiAgICAgIG5ld0NvbmZpZy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLmJyZWFrcG9pbnRzID0gYnJlYWtwb2ludHM7XG4gICAgICAvLyBJbml0IHByZXZpZXcgaW1hZ2Ugd2lkdGggYmFzZWQgb24gdGhlIG51bWJlciBvZiBwcmV2aWV3cyBpbiBQcmV2aWV3Q29uZmlnXG4gICAgICAvLyBEb24ndCBtb3ZlIHRoaXMgbGluZSBhYm92ZSwgYmVjYXVzZSBJIG5lZWQgdG8gYmUgc3VyZSB0aGF0IGJvdGggY29uZmlnUHJldmlldy5udW1iZXJcbiAgICAgIC8vIGFuZCBjb25maWdQcmV2aWV3LnNpemUgYXJlIGluaXRpYWxpemVkXG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy53aWR0aCA9IDEwMCAvIG5ld0NvbmZpZy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLm51bWJlciArICclJztcbiAgICB9XG4gICAgaWYgKG9iai5jYXJvdXNlbERvdHNDb25maWcpIHtcbiAgICAgIG5ld0NvbmZpZy5jYXJvdXNlbERvdHNDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbERvdHNDb25maWcsIG9iai5jYXJvdXNlbERvdHNDb25maWcpO1xuICAgIH1cbiAgICBpZiAob2JqLmNhcm91c2VsU2xpZGVJbmZpbml0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxTbGlkZUluZmluaXRlID0gREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxTbGlkZUluZmluaXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxTbGlkZUluZmluaXRlID0gb2JqLmNhcm91c2VsU2xpZGVJbmZpbml0ZTtcbiAgICB9XG4gICAgaWYgKG9iai5lbmFibGVDbG9zZU91dHNpZGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbmV3Q29uZmlnLmVuYWJsZUNsb3NlT3V0c2lkZSA9IERFRkFVTFRfQ09ORklHLmVuYWJsZUNsb3NlT3V0c2lkZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3Q29uZmlnLmVuYWJsZUNsb3NlT3V0c2lkZSA9IG9iai5lbmFibGVDbG9zZU91dHNpZGU7XG4gICAgfVxuICAgIHRoaXMuY29uZmlnTWFwLnNldChpZCwgbmV3Q29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdElmTm90RXhpc3RzKGlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnTWFwLmhhcyhpZCkpIHtcbiAgICAgIHRoaXMuY29uZmlnTWFwLnNldChpZCwgREVGQVVMVF9DT05GSUcpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIGJ1aWxkIGFuZCByZXR1cm4gYSBgUGxhaW5HYWxsZXJ5Q29uZmlnYCBvYmplY3QsIHByb3ZpbmcgYWxzbyBkZWZhdWx0IHZhbHVlcyBhbmQgdmFsaWRhdGluZyB0aGUgaW5wdXQgb2JqZWN0LlxuICogQHBhcmFtIHBsYWluR2FsbGVyeUNvbmZpZyBvYmplY3Qgd2l0aCB0aGUgY29uZmlnIHJlcXVlc3RlZCBieSB1c2VyXG4gKiBAcmV0dXJucyBQbGFpbkdhbGxlcnlDb25maWcgdGhlIHBsYWluIGdhbGxlcnkgY29uZmlndXJhdGlvblxuICogQHRocm93cyBhbiBFcnJvciBpZiBsYXlvdXQgYW5kIHN0cmF0ZWd5IGFyZW4ndCBjb21wYXRpYmxlXG4gKi9cbmZ1bmN0aW9uIGluaXRQbGFpbkdhbGxlcnlDb25maWcocGxhaW5HYWxsZXJ5Q29uZmlnOiBQbGFpbkdhbGxlcnlDb25maWcpOiBQbGFpbkdhbGxlcnlDb25maWcge1xuICBjb25zdCBuZXdQbGF5R2FsbGVyeUNvbmZpZzogUGxhaW5HYWxsZXJ5Q29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcucGxhaW5HYWxsZXJ5Q29uZmlnLCBwbGFpbkdhbGxlcnlDb25maWcpO1xuXG4gIGlmIChuZXdQbGF5R2FsbGVyeUNvbmZpZy5sYXlvdXQgaW5zdGFuY2VvZiBMaW5lTGF5b3V0KSB7XG4gICAgaWYgKG5ld1BsYXlHYWxsZXJ5Q29uZmlnLnN0cmF0ZWd5ICE9PSBQbGFpbkdhbGxlcnlTdHJhdGVneS5ST1cgJiYgbmV3UGxheUdhbGxlcnlDb25maWcuc3RyYXRlZ3kgIT09IFBsYWluR2FsbGVyeVN0cmF0ZWd5LkNPTFVNTikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdMaW5lTGF5b3V0IHJlcXVpcmVzIGVpdGhlciBST1cgb3IgQ09MVU1OIHN0cmF0ZWd5Jyk7XG4gICAgfVxuICAgIGlmICghbmV3UGxheUdhbGxlcnlDb25maWcubGF5b3V0IHx8ICFuZXdQbGF5R2FsbGVyeUNvbmZpZy5sYXlvdXQuYnJlYWtDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQm90aCBsYXlvdXQgYW5kIGJyZWFrQ29uZmlnIG11c3QgYmUgdmFsaWQnKTtcbiAgICB9XG4gIH1cblxuICBpZiAobmV3UGxheUdhbGxlcnlDb25maWcubGF5b3V0IGluc3RhbmNlb2YgR3JpZExheW91dCkge1xuICAgIGlmIChuZXdQbGF5R2FsbGVyeUNvbmZpZy5zdHJhdGVneSAhPT0gUGxhaW5HYWxsZXJ5U3RyYXRlZ3kuR1JJRCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdHcmlkTGF5b3V0IHJlcXVpcmVzIEdSSUQgc3RyYXRlZ3knKTtcbiAgICB9XG4gICAgaWYgKCFuZXdQbGF5R2FsbGVyeUNvbmZpZy5sYXlvdXQgfHwgIW5ld1BsYXlHYWxsZXJ5Q29uZmlnLmxheW91dC5icmVha0NvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCb3RoIGxheW91dCBhbmQgYnJlYWtDb25maWcgbXVzdCBiZSB2YWxpZCcpO1xuICAgIH1cbiAgICAvLyBmb3JjZSB3cmFwIGZvciBncmlkIGxheW91dFxuICAgIG5ld1BsYXlHYWxsZXJ5Q29uZmlnLmxheW91dC5icmVha0NvbmZpZy53cmFwID0gdHJ1ZTtcbiAgfVxuICByZXR1cm4gbmV3UGxheUdhbGxlcnlDb25maWc7XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (
|
|
4
|
+
Copyright (c) 2017-2024 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -61,11 +61,11 @@ export class IdValidatorService {
|
|
|
61
61
|
this.ids.delete(galleryId);
|
|
62
62
|
return true;
|
|
63
63
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
65
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IdValidatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
65
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IdValidatorService, providedIn: 'root' }); }
|
|
66
66
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IdValidatorService, decorators: [{
|
|
68
68
|
type: Injectable,
|
|
69
69
|
args: [{ providedIn: 'root' }]
|
|
70
70
|
}] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtdmFsaWRhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rczg5L2FuZ3VsYXItbW9kYWwtZ2FsbGVyeS9zcmMvbGliL3NlcnZpY2VzL2lkLXZhbGlkYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRUUsUUFBRyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7S0FrQ2pCO0lBaENDOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxTQUE2QjtRQUN2QyxJQUFJLFNBQVMsS0FBSyxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3RSxNQUFNLElBQUksS0FBSyxDQUFDLGtHQUFrRyxDQUFDLENBQUM7UUFDdEgsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxTQUFTLCtFQUErRSxDQUFDLENBQUM7UUFDN0ksQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsU0FBNkI7UUFDbEMsSUFBSSxTQUFTLEtBQUssU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxrR0FBa0csQ0FBQyxDQUFDO1FBQ3RILENBQUM7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBbENVLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBREwsTUFBTTs7MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuXG4gQ29weXJpZ2h0IChjKSAyMDE3LTIwMjQgU3RlZmFubyBDYXBwYSAoS3M4OSlcblxuIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OIElORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogU2VydmljZSB0byBjaGVjayBpZiB0aGUgcHJvdmlkZWQgaWQgaXMgdW5pcXVlXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSWRWYWxpZGF0b3JTZXJ2aWNlIHtcbiAgaWRzID0gbmV3IE1hcCgpO1xuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gY2hlY2sgYW5kIHJlc2VydmUgYW4gaWQgZm9yIHRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBsaWJyYXJ5LlxuICAgKiBJbiB0aGlzIHdheSwgbm8gb3RoZXIgaW5zdGFuY2VzIGNhbiB1c2UgdGhlIHNhbWUgaWQuXG4gICAqIEBwYXJhbSBnYWxsZXJ5SWQgbnVtYmVyIG9yIHVuZGVmaW5lZCB0aGF0IHJlcHJlc2VudHMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgZ2FsbGVyeS5cbiAgICogQHJldHVybiBib29sZWFuIHRydWUgaWYgc3VjY2Vzcy4gZmFsc2UgaXMgbmV2ZXIgcmV0dXJuZWQsIGluc3RlYWQgYW4gZXhjZXB0aW9uIGlzIHRocm93blxuICAgKiBAdGhyb3dzIGEgZXJyb3Igd2l0aCBhIG1lc3NhZ2UgaWYgZ2FsbGVyeUlkIGlzIG5laXRoZXIgdW5pcXVlLCA8IDAgb3IgYW4gaW50ZWdlclxuICAgKi9cbiAgY2hlY2tBbmRBZGQoZ2FsbGVyeUlkOiBudW1iZXIgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICBpZiAoZ2FsbGVyeUlkID09PSB1bmRlZmluZWQgfHwgIU51bWJlci5pc0ludGVnZXIoZ2FsbGVyeUlkKSB8fCBnYWxsZXJ5SWQgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBtdXN0IHByb3ZpZGUgYSB2YWxpZCBbaWRdPVwidW5pcXVlIGludGVnZXIgPiAwIGhlcmVcIiB0byB0aGUgZ2FsbGVyeS9jYXJvdXNlbCBpbiB5b3VyIHRlbXBsYXRlJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlkcy5nZXQoZ2FsbGVyeUlkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgY3JlYXRlIGdhbGxlcnkgd2l0aCBpZD0ke2dhbGxlcnlJZH0gYmVjYXVzZSBhbHJlYWR5IHVzZWQgaW4geW91ciBhcHBsaWNhdGlvbi4gVGhpcyBtdXN0IGJlIGEgdW5pcXVlIGludGVnZXIgPj0gMGApO1xuICAgIH1cbiAgICB0aGlzLmlkcy5zZXQoZ2FsbGVyeUlkLCBnYWxsZXJ5SWQpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byByZW1vdmUgYSByZXNlcnZlZCBpZC4gSW4gdGhpcyB3YXkgeW91IGFyZSBhYmxlIHRvIHVzZSB0aGUgaWQgYWdhaW4gZm9yIGFub3RoZXIgaW5zdGFuY2Ugb2YgdGhlIGxpYnJhcnkuXG4gICAqIEBwYXJhbSBnYWxsZXJ5SWQgbnVtYmVyIG9yIHVuZGVmaW5lZCB0aGF0IHJlcHJlc2VudHMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgZ2FsbGVyeS5cbiAgICogQHJldHVybiBib29sZWFuIHRydWUgaWYgc3VjY2Vzcy4gZmFsc2UgaXMgbmV2ZXIgcmV0dXJuZWQsIGluc3RlYWQgYW4gZXhjZXB0aW9uIGlzIHRocm93bipcbiAgICogQHRocm93cyBhIGVycm9yIHdpdGggYSBtZXNzYWdlIGlmIGdhbGxlcnlJZCBpcyBuZWl0aGVyIGludGVnZXIgb3IgPCAwXG4gICAqICogdGhpcyBzaG91bGQgYmUgaW1wcm92ZWQgd2l0aG91dCByZXR1cm4gdHJ1ZSwgYmVjYXVzZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UhIDooXG4gICAqL1xuICByZW1vdmUoZ2FsbGVyeUlkOiBudW1iZXIgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICBpZiAoZ2FsbGVyeUlkID09PSB1bmRlZmluZWQgfHwgIU51bWJlci5pc0ludGVnZXIoZ2FsbGVyeUlkKSB8fCBnYWxsZXJ5SWQgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBtdXN0IHByb3ZpZGUgYSB2YWxpZCBbaWRdPVwidW5pcXVlIGludGVnZXIgPiAwIGhlcmVcIiB0byB0aGUgZ2FsbGVyeS9jYXJvdXNlbCBpbiB5b3VyIHRlbXBsYXRlJyk7XG4gICAgfVxuICAgIHRoaXMuaWRzLmRlbGV0ZShnYWxsZXJ5SWQpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (
|
|
4
|
+
Copyright (c) 2017-2024 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -45,4 +45,4 @@ export function getIndex(image, arrayOfImages) {
|
|
|
45
45
|
}
|
|
46
46
|
return arrayOfImages.findIndex((val) => val.id === image.id);
|
|
47
47
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tzODkvYW5ndWxhci1tb2RhbC1nYWxsZXJ5L3NyYy9saWIvdXRpbHMvaW1hZ2UudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUlIOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVksRUFBRSxhQUFzQjtJQUMzRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEMscUJBQXFCO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcblxuIENvcHlyaWdodCAoYykgMjAxNy0yMDI0IFN0ZWZhbm8gQ2FwcGEgKEtzODkpXG5cbiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTiBJTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgSW1hZ2UgfSBmcm9tICcuLi9tb2RlbC9pbWFnZS5jbGFzcyc7XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbiB0byBnZXQgdGhlIGluZGV4IG9mIHRoZSBpbnB1dCBgaW1hZ2VgIGZyb20gYGFycmF5T2ZJbWFnZXNgXG4gKiBAcGFyYW0gaW1hZ2UgSW1hZ2UgdG8gZ2V0IHRoZSBpbmRleC4gVGhlIGltYWdlICdpZCcgbXVzdCBiZSBhIG51bWJlciA+PSAwXG4gKiBAcGFyYW0gYXJyYXlPZkltYWdlcyBJbWFnZVtdIHRvIHNlYXJjaCB0aGUgaW1hZ2Ugd2l0aGluIGl0XG4gKiBAcmV0dXJucyBudW1iZXIgdGhlIGluZGV4IG9mIHRoZSBpbWFnZS4gLTEgaWYgbm90IGZvdW5kLlxuICogQHRocm93cyBhbiBFcnJvciBpZiBlaXRoZXIgaW1hZ2Ugb3IgYXJyYXlPZkltYWdlcyBhcmUgbm90IHZhbGlkLFxuICogIG9yIGlmIHRoZSBpbnB1dCBpbWFnZSBkb2Vzbid0IGNvbnRhaW4gYW4gJ2lkJywgb3IgdGhlICdpZCcgaXMgPCAwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbmRleChpbWFnZTogSW1hZ2UsIGFycmF5T2ZJbWFnZXM6IEltYWdlW10pOiBudW1iZXIge1xuICBpZiAoIWltYWdlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbWFnZSBtdXN0IGJlIGEgdmFsaWQgSW1hZ2Ugb2JqZWN0Jyk7XG4gIH1cblxuICBpZiAoIWFycmF5T2ZJbWFnZXMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2FycmF5T2ZJbWFnZXMgbXVzdCBiZSBhIHZhbGlkIEltYWdlW10nKTtcbiAgfVxuXG4gIGlmICghaW1hZ2UuaWQgJiYgaW1hZ2UuaWQgIT09IDApIHtcbiAgICAvLyBpZCA9IDAgaXMgYWRtaXR0ZWRcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEEgbnVtZXJpYyBJbWFnZSAnaWQnIGlzIG1hbmRhdG9yeWApO1xuICB9XG5cbiAgaWYgKGltYWdlLmlkIDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW1hZ2UgJ2lkJyBtdXN0IGJlID49IDBgKTtcbiAgfVxuXG4gIHJldHVybiBhcnJheU9mSW1hZ2VzLmZpbmRJbmRleCgodmFsOiBJbWFnZSkgPT4gdmFsLmlkID09PSBpbWFnZS5pZCk7XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (
|
|
4
|
+
Copyright (c) 2017-2024 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -101,4 +101,4 @@ export const PREV = -1;
|
|
|
101
101
|
* Const NOTHING to represents a situation when it isn't both NEXT and PREV
|
|
102
102
|
*/
|
|
103
103
|
export const NOTHING = 0;
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbnB1dC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3M4OS9hbmd1bGFyLW1vZGFsLWdhbGxlcnkvc3JjL2xpYi91dGlscy91c2VyLWlucHV0LnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBVyxPQUFPLENBQUM7QUFDekM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQVcsT0FBTyxDQUFDO0FBRTFDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFXLFFBQVEsQ0FBQztBQUN4Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBVyxRQUFRLENBQUM7QUFDekM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVcsWUFBWSxDQUFDO0FBQ3BEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQVcsWUFBWSxDQUFDO0FBQ3JEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFXLFdBQVcsQ0FBQztBQUNsRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBVyxXQUFXLENBQUM7QUFDbkQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQVcsU0FBUyxDQUFDO0FBQzlDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFXLFNBQVMsQ0FBQztBQUMvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBVyxXQUFXLENBQUM7QUFDbEQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVcsV0FBVyxDQUFDO0FBQ25EOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFXLEVBQUUsQ0FBQztBQUNwQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBVyxPQUFPLENBQUM7QUFFMUM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVcsT0FBTyxDQUFDO0FBQy9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFXLE1BQU0sQ0FBQztBQUc3Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQUV6Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUM7QUFDdEI7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdkI7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcblxuIENvcHlyaWdodCAoYykgMjAxNy0yMDI0IFN0ZWZhbm8gQ2FwcGEgKEtzODkpXG5cbiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTiBJTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gU09GVFdBUkUuXG4gKi9cblxuLyoqXG4gKiBLZXkgb2YgdGhlIGtleWJvYXJkJ3Mga2V5IGBlbnRlcmBcbiAqL1xuZXhwb3J0IGNvbnN0IEVOVEVSX0tFWTogc3RyaW5nID0gJ0VudGVyJztcbi8qKlxuICogQ29kZSBvZiB0aGUga2V5Ym9hcmQncyBrZXkgYGVudGVyYFxuICovXG5leHBvcnQgY29uc3QgRU5URVJfQ09ERTogc3RyaW5nID0gJ0VudGVyJztcblxuLyoqXG4gKiBLZXkgb2YgdGhlIGtleWJvYXJkJ3Mga2V5IGBlc2NgXG4gKi9cbmV4cG9ydCBjb25zdCBFU0NfS0VZOiBzdHJpbmcgPSAnRXNjYXBlJztcbi8qKlxuICogQ29kZSBvZiB0aGUga2V5Ym9hcmQncyBrZXkgYGVzY2BcbiAqL1xuZXhwb3J0IGNvbnN0IEVTQ19DT0RFOiBzdHJpbmcgPSAnRXNjYXBlJztcbi8qKlxuICogS2V5IG9mIHRoZSBrZXlib2FyZCdzIGtleSAncmlnaHQgYXJyb3cnXG4gKi9cbmV4cG9ydCBjb25zdCBSSUdIVF9BUlJPV19LRVk6IHN0cmluZyA9ICdBcnJvd1JpZ2h0Jztcbi8qKlxuICogQ29kZSBvZiB0aGUga2V5Ym9hcmQncyBrZXkgJ3JpZ2h0IGFycm93J1xuICovXG5leHBvcnQgY29uc3QgUklHSFRfQVJST1dfQ09ERTogc3RyaW5nID0gJ0Fycm93UmlnaHQnO1xuLyoqXG4gKiBLZXkgb2YgdGhlIGtleWJvYXJkJ3Mga2V5ICdsZWZ0IGFycm93J1xuICovXG5leHBvcnQgY29uc3QgTEVGVF9BUlJPV19LRVk6IHN0cmluZyA9ICdBcnJvd0xlZnQnO1xuLyoqXG4gKiBDb2RlIG9mIHRoZSBrZXlib2FyZCdzIGtleSAnbGVmdCBhcnJvdydcbiAqL1xuZXhwb3J0IGNvbnN0IExFRlRfQVJST1dfQ09ERTogc3RyaW5nID0gJ0Fycm93TGVmdCc7XG4vKipcbiAqIEtleSBvZiB0aGUga2V5Ym9hcmQncyBrZXkgJ2xlZnQgYXJyb3cnXG4gKi9cbmV4cG9ydCBjb25zdCBVUF9BUlJPV19LRVk6IHN0cmluZyA9ICdBcnJvd1VwJztcbi8qKlxuICogQ29kZSBvZiB0aGUga2V5Ym9hcmQncyBrZXkgJ2xlZnQgYXJyb3cnXG4gKi9cbmV4cG9ydCBjb25zdCBVUF9BUlJPV19DT0RFOiBzdHJpbmcgPSAnQXJyb3dVcCc7XG4vKipcbiAqIEtleSBvZiB0aGUga2V5Ym9hcmQncyBrZXkgJ2xlZnQgYXJyb3cnXG4gKi9cbmV4cG9ydCBjb25zdCBET1dOX0FSUk9XX0tFWTogc3RyaW5nID0gJ0Fycm93RG93bic7XG4vKipcbiAqIENvZGUgb2YgdGhlIGtleWJvYXJkJ3Mga2V5ICdsZWZ0IGFycm93J1xuICovXG5leHBvcnQgY29uc3QgRE9XTl9BUlJPV19DT0RFOiBzdHJpbmcgPSAnQXJyb3dEb3duJztcbi8qKlxuICogS2V5IG9mIHRoZSBrZXlib2FyZCdzIGtleSBgc3BhY2VgXG4gKi9cbmV4cG9ydCBjb25zdCBTUEFDRV9LRVkgOiBzdHJpbmc9ICcnO1xuLyoqXG4gKiBDb2RlIG9mIHRoZSBrZXlib2FyZCdzIGtleSBgc3BhY2VgXG4gKi9cbmV4cG9ydCBjb25zdCBTUEFDRV9DT0RFOiBzdHJpbmcgPSAnU3BhY2UnO1xuXG4vKipcbiAqIENvbnN0IHRvIHJlcHJlc2VudCB0aGUgcmlnaHQgZGlyZWN0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBESVJFQ1RJT05fUklHSFQ6IHN0cmluZyA9ICdyaWdodCc7XG4vKipcbiAqIENvbnN0IHRvIHJlcHJlc2VudCB0aGUgbGVmdCBkaXJlY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IERJUkVDVElPTl9MRUZUOiBzdHJpbmcgPSAnbGVmdCc7XG5cblxuLyoqXG4gKiBLZXljb2RlIG9mIHRoZSBtYWluIG1vdXNlIGJ1dHRvblxuICovXG5leHBvcnQgY29uc3QgTU9VU0VfTUFJTl9CVVRUT05fQ0xJQ0sgPSAwO1xuXG4vKipcbiAqIENvbnN0IE5FWFRcbiAqL1xuZXhwb3J0IGNvbnN0IE5FWFQgPSAxO1xuLyoqXG4gKiBDb25zdCBQUkVWXG4gKi9cbmV4cG9ydCBjb25zdCBQUkVWID0gLTE7XG4vKipcbiAqIENvbnN0IE5PVEhJTkcgdG8gcmVwcmVzZW50cyBhIHNpdHVhdGlvbiB3aGVuIGl0IGlzbid0IGJvdGggTkVYVCBhbmQgUFJFVlxuICovXG5leHBvcnQgY29uc3QgTk9USElORyA9IDA7XG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (
|
|
4
|
+
Copyright (c) 2017-2024 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -39,4 +39,4 @@ export { PlainGalleryComponent } from './lib/components/plain-gallery/plain-gall
|
|
|
39
39
|
export { CarouselComponent } from './lib/components/carousel/carousel.component';
|
|
40
40
|
export { ModalGalleryService } from './lib/components/modal-gallery/modal-gallery.service';
|
|
41
41
|
export { ModalGalleryRef } from './lib/components/modal-gallery/modal-gallery-ref';
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tzODkvYW5ndWxhci1tb2RhbC1nYWxsZXJ5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUg7OztHQUdHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxFQUEwQixVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckcsT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFhckYsT0FBTyxFQUFpQixlQUFlLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0NBQXNDLENBQUM7QUFRL0csT0FBTyxFQUFpQixXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUlsRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixlQUFlLEVBQ2hCLE1BQU0sc0RBQXNELENBQUM7QUFFOUQsT0FBTyxFQUdMLFVBQVUsRUFDVixVQUFVLEVBQ1Ysb0JBQW9CLEVBRXJCLE1BQU0sNENBQTRDLENBQUM7QUFFcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDL0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtEQUFrRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcblxuIENvcHlyaWdodCAoYykgMjAxNy0yMDI0IFN0ZWZhbm8gQ2FwcGEgKEtzODkpXG5cbiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTiBJTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gU09GVFdBUkUuXG4gKi9cblxuLyoqXG4gKiBJbmRleCBmaWxlIHRvIGV4cG9ydCBhbGwgaW50ZXJmYWNlcywgZW51bXMsIGNsYXNzZXMgYW5kIHNvIG9uLlxuICogVGhpcyBmaWxlIHJlcHJlc2VudHMgdGhlIHB1YmxpYyBhcGlzLlxuICovXG5cbmV4cG9ydCB7IEdhbGxlcnlNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2RhbC1nYWxsZXJ5Lm1vZHVsZSc7XG5cbmV4cG9ydCB7IEFjdGlvbiB9IGZyb20gJy4vbGliL21vZGVsL2FjdGlvbi5lbnVtJztcbmV4cG9ydCB7IEltYWdlLCBQbGFpbkltYWdlLCBNb2RhbEltYWdlLCBJbWFnZUV2ZW50LCBJbWFnZU1vZGFsRXZlbnQgfSBmcm9tICcuL2xpYi9tb2RlbC9pbWFnZS5jbGFzcyc7XG5leHBvcnQgeyBEZXNjcmlwdGlvbiwgRGVzY3JpcHRpb25TdHJhdGVneSB9IGZyb20gJy4vbGliL21vZGVsL2Rlc2NyaXB0aW9uLmludGVyZmFjZSc7XG5leHBvcnQgeyBLZXlib2FyZENvbmZpZyB9IGZyb20gJy4vbGliL21vZGVsL2tleWJvYXJkLWNvbmZpZy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgRG90c0NvbmZpZyB9IGZyb20gJy4vbGliL21vZGVsL2RvdHMtY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgeyBQcmV2aWV3Q29uZmlnIH0gZnJvbSAnLi9saWIvbW9kZWwvcHJldmlldy1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCB7IEFjY2Vzc2liaWxpdHlDb25maWcgfSBmcm9tICcuL2xpYi9tb2RlbC9hY2Nlc3NpYmlsaXR5LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7IEJyZWFrcG9pbnRzQ29uZmlnLCBDYXJvdXNlbFByZXZpZXdDb25maWcgfSBmcm9tICcuL2xpYi9tb2RlbC9jYXJvdXNlbC1wcmV2aWV3LWNvbmZpZy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgQ2Fyb3VzZWxDb25maWcgfSBmcm9tICcuL2xpYi9tb2RlbC9jYXJvdXNlbC1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCB7IFBsYXlDb25maWcgfSBmcm9tICcuL2xpYi9tb2RlbC9wbGF5LWNvbmZpZy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgQ2Fyb3VzZWxJbWFnZUNvbmZpZyB9IGZyb20gJy4vbGliL21vZGVsL2Nhcm91c2VsLWltYWdlLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgeyBTaXplIH0gZnJvbSAnLi9saWIvbW9kZWwvc2l6ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgeyBCdXR0b25zQ29uZmlnLCBCdXR0b25zU3RyYXRlZ3ksIEJ1dHRvblR5cGUsIEJ1dHRvbkV2ZW50IH0gZnJvbSAnLi9saWIvbW9kZWwvYnV0dG9ucy1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgTW9kYWxMaWJDb25maWcsIFBsYWluTGliQ29uZmlnLCBDYXJvdXNlbExpYkNvbmZpZyB9IGZyb20gJy4vbGliL21vZGVsL2xpYi1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgTW9kYWxHYWxsZXJ5Q29uZmlnIH0gZnJvbSAnLi9saWIvbW9kZWwvbW9kYWwtZ2FsbGVyeS1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgQ3VycmVudEltYWdlQ29uZmlnIH0gZnJvbSAnLi9saWIvbW9kZWwvY3VycmVudC1pbWFnZS1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgTG9hZGluZ0NvbmZpZywgTG9hZGluZ1R5cGUgfSBmcm9tICcuL2xpYi9tb2RlbC9sb2FkaW5nLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgeyBJbnRlcmFjdGlvbkV2ZW50IH0gZnJvbSAnLi9saWIvbW9kZWwvaW50ZXJhY3Rpb24tZXZlbnQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgS1NfREVGQVVMVF9BQ0NFU1NJQklMSVRZX0NPTkZJRyB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWNjZXNzaWJpbGl0eS1kZWZhdWx0JztcbmV4cG9ydCB7XG4gIEtTX0RFRkFVTFRfQlROX0ZVTExfU0NSRUVOLFxuICBLU19ERUZBVUxUX0JUTl9DTE9TRSxcbiAgS1NfREVGQVVMVF9CVE5fREVMRVRFLFxuICBLU19ERUZBVUxUX0JUTl9ET1dOTE9BRCxcbiAgS1NfREVGQVVMVF9CVE5fRVhUVVJMLFxuICBLU19ERUZBVUxUX1NJWkVcbn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy91cHBlci1idXR0b25zL3VwcGVyLWJ1dHRvbnMtZGVmYXVsdCc7XG5cbmV4cG9ydCB7XG4gIFBsYWluR2FsbGVyeUNvbmZpZyxcbiAgUGxhaW5HYWxsZXJ5TGF5b3V0LFxuICBMaW5lTGF5b3V0LFxuICBHcmlkTGF5b3V0LFxuICBQbGFpbkdhbGxlcnlTdHJhdGVneSxcbiAgQnJlYWtDb25maWdcbn0gZnJvbSAnLi9saWIvbW9kZWwvcGxhaW4tZ2FsbGVyeS1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgTW9kYWxHYWxsZXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC1nYWxsZXJ5L21vZGFsLWdhbGxlcnkuY29tcG9uZW50JztcbmV4cG9ydCB7IFBsYWluR2FsbGVyeUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGxhaW4tZ2FsbGVyeS9wbGFpbi1nYWxsZXJ5LmNvbXBvbmVudCc7XG5leHBvcnQgeyBDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50JztcblxuZXhwb3J0IHsgTW9kYWxHYWxsZXJ5U2VydmljZSB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kYWwtZ2FsbGVyeS9tb2RhbC1nYWxsZXJ5LnNlcnZpY2UnO1xuZXhwb3J0IHsgTW9kYWxHYWxsZXJ5UmVmIH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC1nYWxsZXJ5L21vZGFsLWdhbGxlcnktcmVmJztcbiJdfQ==
|