@skyux/core 8.0.0-alpha.8 → 8.0.0-beta.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/documentation.json +1199 -1461
- package/esm2020/index.mjs +6 -1
- package/esm2020/lib/modules/affix/affix-config.mjs +1 -1
- package/esm2020/lib/modules/affix/affix-position.mjs +2 -0
- package/esm2020/lib/modules/affix/affix-rect.mjs +2 -0
- package/esm2020/lib/modules/affix/affix.directive.mjs +6 -2
- package/esm2020/lib/modules/affix/affixer.mjs +32 -7
- package/esm2020/lib/modules/live-announcer/live-announcer.service.mjs +80 -0
- package/esm2020/lib/modules/live-announcer/types/live-announcer-args.mjs +2 -0
- package/esm2020/lib/modules/live-announcer/types/live-announcer-politeness.mjs +2 -0
- package/esm2020/lib/modules/numeric/numeric.options.mjs +12 -1
- package/esm2020/lib/modules/numeric/numeric.service.mjs +23 -15
- package/esm2020/lib/modules/overlay/overlay-config.mjs +1 -1
- package/esm2020/lib/modules/overlay/overlay-position.mjs +2 -0
- package/esm2020/lib/modules/overlay/overlay.component.mjs +6 -3
- package/fesm2015/skyux-core.mjs +145 -27
- package/fesm2015/skyux-core.mjs.map +1 -1
- package/fesm2020/skyux-core.mjs +150 -27
- package/fesm2020/skyux-core.mjs.map +1 -1
- package/index.d.ts +5 -0
- package/lib/modules/affix/affix-config.d.ts +5 -0
- package/lib/modules/affix/affix-position.d.ts +1 -0
- package/lib/modules/affix/affix-rect.d.ts +11 -0
- package/lib/modules/affix/affix.directive.d.ts +6 -1
- package/lib/modules/live-announcer/live-announcer.service.d.ts +31 -0
- package/lib/modules/live-announcer/types/live-announcer-args.d.ts +8 -0
- package/lib/modules/live-announcer/types/live-announcer-politeness.d.ts +5 -0
- package/lib/modules/numeric/numeric.options.d.ts +2 -0
- package/lib/modules/overlay/overlay-config.d.ts +5 -0
- package/lib/modules/overlay/overlay-position.d.ts +1 -0
- package/lib/modules/overlay/overlay.component.d.ts +2 -0
- package/package.json +2 -2
package/esm2020/index.mjs
CHANGED
@@ -8,6 +8,7 @@ export * from './lib/modules/affix/affix-offset';
|
|
8
8
|
export * from './lib/modules/affix/affix-offset-change';
|
9
9
|
export * from './lib/modules/affix/affix-placement';
|
10
10
|
export * from './lib/modules/affix/affix-placement-change';
|
11
|
+
export * from './lib/modules/affix/affix-position';
|
11
12
|
export * from './lib/modules/affix/affix-vertical-alignment';
|
12
13
|
export * from './lib/modules/affix/affix.module';
|
13
14
|
export * from './lib/modules/affix/affix.service';
|
@@ -26,6 +27,9 @@ export * from './lib/modules/dynamic-component/dynamic-component.service';
|
|
26
27
|
export * from './lib/modules/format/app-format';
|
27
28
|
export * from './lib/modules/id/id.module';
|
28
29
|
export * from './lib/modules/id/id.service';
|
30
|
+
export * from './lib/modules/live-announcer/live-announcer.service';
|
31
|
+
export * from './lib/modules/live-announcer/types/live-announcer-args';
|
32
|
+
export * from './lib/modules/live-announcer/types/live-announcer-politeness';
|
29
33
|
export * from './lib/modules/log/log.module';
|
30
34
|
export * from './lib/modules/log/log.service';
|
31
35
|
export * from './lib/modules/log/types/log-level';
|
@@ -42,6 +46,7 @@ export * from './lib/modules/numeric/numeric.pipe';
|
|
42
46
|
export * from './lib/modules/numeric/numeric.service';
|
43
47
|
export * from './lib/modules/overlay/overlay-config';
|
44
48
|
export * from './lib/modules/overlay/overlay-instance';
|
49
|
+
export * from './lib/modules/overlay/overlay-position';
|
45
50
|
export * from './lib/modules/overlay/overlay.module';
|
46
51
|
export * from './lib/modules/overlay/overlay.service';
|
47
52
|
export * from './lib/modules/percent-pipe/percent-pipe.module';
|
@@ -66,4 +71,4 @@ export { SkyAffixDirective as λ1 } from './lib/modules/affix/affix.directive';
|
|
66
71
|
export { SkyIdDirective as λ2 } from './lib/modules/id/id.directive';
|
67
72
|
export { SkyViewkeeperDirective as λ3 } from './lib/modules/viewkeeper/viewkeeper.directive';
|
68
73
|
export { SkyTrimDirective as λ4 } from './lib/modules/trim/trim.directive';
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsMERBQTBELENBQUM7QUFFekUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDJEQUEyRCxDQUFDO0FBRTFFLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDhEQUE4RCxDQUFDO0FBRTdFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseUNBQXlDLENBQUM7QUFFeEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxjQUFjLGtEQUFrRCxDQUFDO0FBRWpFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxtRUFBbUUsQ0FBQztBQUVsRixjQUFjLHVEQUF1RCxDQUFDO0FBRXRFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx1REFBdUQsQ0FBQztBQUV0RSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFFNUQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCwwRkFBMEY7QUFDMUYsMkVBQTJFO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxFQUFFLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxJQUFJLEVBQUUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxFQUFFLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM3RixPQUFPLEVBQUUsZ0JBQWdCLElBQUksRUFBRSxFQUFFLE1BQU0sbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FkYXB0ZXItc2VydmljZS9hZGFwdGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FkYXB0ZXItc2VydmljZS9hZGFwdGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZGFwdGVyLXNlcnZpY2UvZm9jdXNhYmxlLWNoaWxkcmVuLW9wdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LWF1dG8tZml0LWNvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1ob3Jpem9udGFsLWFsaWdubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LW9mZnNldCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LW9mZnNldC1jaGFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1wbGFjZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1wbGFjZW1lbnQtY2hhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtcG9zaXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC12ZXJ0aWNhbC1hbGlnbm1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXhlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLWluc2VydC1jb21wb25lbnQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2staXRlbS1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2stbG9jYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2stb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2RvY2svZG9jay5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2suc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtbG9jYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZm9ybWF0L2FwcC1mb3JtYXQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2lkL2lkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2lkL2lkLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpdmUtYW5ub3VuY2VyL2xpdmUtYW5ub3VuY2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXZlLWFubm91bmNlci90eXBlcy9saXZlLWFubm91bmNlci1hcmdzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGl2ZS1hbm5vdW5jZXIvdHlwZXMvbGl2ZS1hbm5vdW5jZXItcG9saXRlbmVzcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbG9nL2xvZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb2cvbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb2cvdHlwZXMvbG9nLWxldmVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbG9nL3R5cGVzL2xvZy1sZXZlbC10b2tlbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbWVkaWEtcXVlcnkvbWVkaWEtYnJlYWtwb2ludHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLXNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy1zeW1ib2wnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9udW1lcmljL251bWVyaWMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbnVtZXJpYy9udW1lcmljLm9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9udW1lcmljL251bWVyaWMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LWluc3RhbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LXBvc2l0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL292ZXJsYXkvb3ZlcmxheS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9wZXJjZW50LXBpcGUvcGVyY2VudC1waXBlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3BlcmNlbnQtcGlwZS9wZXJjZW50LnBpcGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3Jlc2l6ZS1vYnNlcnZlci9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3Jlc2l6ZS1vYnNlcnZlci9yZXNpemUtb2JzZXJ2ZXItbWVkaWEtcXVlcnkuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvc2Nyb2xsYWJsZS1ob3N0L3Njcm9sbGFibGUtaG9zdC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9zdGFja2luZy1jb250ZXh0L3N0YWNraW5nLWNvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9zdGFja2luZy1jb250ZXh0L3N0YWNraW5nLWNvbnRleHQtdG9rZW4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3RpdGxlL3NldC10aXRsZS1hcmdzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdGl0bGUvdGl0bGUuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdHJpbS90cmltLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdWktY29uZmlnL3VpLWNvbmZpZy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXItaG9zdC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3dpbmRvdy93aW5kb3ctcmVmJztcblxuLy8gQ29tcG9uZW50cyBhbmQgZGlyZWN0aXZlcyBtdXN0IGJlIGV4cG9ydGVkIHRvIHN1cHBvcnQgQW5ndWxhcidzIFwicGFydGlhbFwiIEl2eSBjb21waWxlci5cbi8vIE9ic2N1cmUgbmFtZXMgYXJlIHVzZWQgdG8gaW5kaWNhdGUgdHlwZXMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJLlxuZXhwb3J0IHsgU2t5QWZmaXhEaXJlY3RpdmUgYXMgzrsxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2t5SWREaXJlY3RpdmUgYXMgzrsyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pZC9pZC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2t5Vmlld2tlZXBlckRpcmVjdGl2ZSBhcyDOuzMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2t5VHJpbURpcmVjdGl2ZSBhcyDOuzQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3RyaW0vdHJpbS5kaXJlY3RpdmUnO1xuIl19
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5QWZmaXhBdXRvRml0Q29udGV4dCB9IGZyb20gJy4vYWZmaXgtYXV0by1maXQtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lBZmZpeEhvcml6b250YWxBbGlnbm1lbnQgfSBmcm9tICcuL2FmZml4LWhvcml6b250YWwtYWxpZ25tZW50JztcbmltcG9ydCB7IFNreUFmZml4T2Zmc2V0IH0gZnJvbSAnLi9hZmZpeC1vZmZzZXQnO1xuaW1wb3J0IHsgU2t5QWZmaXhQbGFjZW1lbnQgfSBmcm9tICcuL2FmZml4LXBsYWNlbWVudCc7XG5pbXBvcnQgeyBTa3lBZmZpeFBvc2l0aW9uIH0gZnJvbSAnLi9hZmZpeC1wb3NpdGlvbic7XG5pbXBvcnQgeyBTa3lBZmZpeFZlcnRpY2FsQWxpZ25tZW50IH0gZnJvbSAnLi9hZmZpeC12ZXJ0aWNhbC1hbGlnbm1lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreUFmZml4Q29uZmlnIHtcbiAgLyoqXG4gICAqIFdoaWNoIHBhcmVudCBlbGVtZW50IGlzIHVzZWQgYnkgdGhlIGF1dG8tZml0IGZ1bmN0aW9uYWxpdHkuXG4gICAqL1xuICBhdXRvRml0Q29udGV4dD86IFNreUFmZml4QXV0b0ZpdENvbnRleHQ7XG5cbiAgLyoqXG4gICAqIFRoaXMgb3B0aW9uYWwgb2Zmc2V0IGlzIGFkZGVkIHRvIChvciBzdWJ0cmFjdGVkIGZyb20pIHRoZSBbW1NreUFmZml4QXV0b0ZpdENvbnRleHRdXSBlbGVtZW50J3NcbiAgICogb2Zmc2V0IGR1cmluZyBhbiBhdXRvLWZpdCBwbGFjZW1lbnQgY2FsY3VsYXRpb24uIFRoaXMgdmFsdWUgaXMgdXNlZnVsIGlmIHlvdSBuZWVkIHRvIGNvbnNpZGVyXG4gICAqIGFub3RoZXIgYHBvc2l0aW9uOiBmaXhlZGAgZWxlbWVudCBvbiB0aGUgcGFnZSAoc3VjaCBhcyBhIG5hdmJhcikgd2hlbiB0aGUgYXV0by1maXRcbiAgICogZnVuY3Rpb25hbGl0eSBhdHRlbXB0cyB0byBmaW5kIHRoZSBiZXN0IHBvc3NpYmxlIHBsYWNlbWVudC5cbiAgICogKEluIHRoZSBjYXNlIG9mIGEgbmF2YmFyLCB5b3Ugd291bGQgYWRkIGEgYHRvcGAgdmFsdWUgZXF1YWwgdG8gdGhlIG5hdmJhcidzIGhlaWdodCBpbiBwaXhlbHMuKVxuICAgKi9cbiAgYXV0b0ZpdE92ZXJmbG93T2Zmc2V0PzogU2t5QWZmaXhPZmZzZXQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFmZml4IHNlcnZpY2UgdHJpZXMgdG8gZmluZCB0aGUgYmVzdCBwbGFjZW1lbnQgZm9yIHRoZSBhZmZpeGVkIGVsZW1lbnRcbiAgICogaWYgdGhlIGVsZW1lbnQgd291bGQgYmUgaGlkZGVuIG90aGVyd2lzZS4gSWYgdGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkLCB0aGUgYWZmaXggc2VydmljZVxuICAgKiBmb3JjZXMgdGhlIHBsYWNlbWVudCBvZiB0aGUgYWZmaXhlZCBlbGVtZW50LlxuICAgKi9cbiAgZW5hYmxlQXV0b0ZpdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBob3Jpem9udGFsIGFsaWdubWVudCBvZiB0aGUgYWZmaXhlZCBlbGVtZW50IHRvIHRoZSBiYXNlIGVsZW1lbnQuXG4gICAqL1xuICBob3Jpem9udGFsQWxpZ25tZW50PzogU2t5QWZmaXhIb3Jpem9udGFsQWxpZ25tZW50O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhZmZpeGVkIGVsZW1lbnQgcmVtYWlucyBhZmZpeGVkIHRvIHRoZSBiYXNlIGVsZW1lbnQgd2hlbiB0aGUgd2luZG93IGlzIHNjcm9sbGVkIG9yIHJlc2l6ZWQuXG4gICAqL1xuICBpc1N0aWNreT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwbGFjZW1lbnQgb2YgdGhlIGFmZml4ZWQgZWxlbWVudCBhcm91bmQgdGhlIGJhc2UgZWxlbWVudC5cbiAgICovXG4gIHBsYWNlbWVudD86IFNreUFmZml4UGxhY2VtZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgdmVydGljYWwgYWxpZ25tZW50IG9mIHRoZSBhZmZpeGVkIGVsZW1lbnQgdG8gdGhlIGJhc2UgZWxlbWVudC5cbiAgICovXG4gIHZlcnRpY2FsQWxpZ25tZW50PzogU2t5QWZmaXhWZXJ0aWNhbEFsaWdubWVudDtcblxuICAvKipcbiAgICogVGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50IGJlaW5nIGFmZml4ZWQuXG4gICAqL1xuICBwb3NpdGlvbj86IFNreUFmZml4UG9zaXRpb247XG59XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtcG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNreUFmZml4UG9zaXRpb24gPSAnYWJzb2x1dGUnIHwgJ2ZpeGVkJztcbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtcmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1yZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFmZml4UmVjdCB7XG4gIGJvdHRvbTogbnVtYmVyO1xuICB0b3A6IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuICByaWdodDogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbn1cbiJdfQ==
|
@@ -51,6 +51,7 @@ export class SkyAffixDirective {
|
|
51
51
|
changes.affixHorizontalAlignment ||
|
52
52
|
changes.affixIsSticky ||
|
53
53
|
changes.affixPlacement ||
|
54
|
+
changes.affixPosition ||
|
54
55
|
changes.affixVerticalAlignment) {
|
55
56
|
__classPrivateFieldGet(this, _SkyAffixDirective_instances, "m", _SkyAffixDirective_updateAlignment).call(this);
|
56
57
|
}
|
@@ -77,12 +78,13 @@ _SkyAffixDirective_affixer = new WeakMap(), _SkyAffixDirective_affixService = ne
|
|
77
78
|
horizontalAlignment: this.affixHorizontalAlignment,
|
78
79
|
isSticky: this.affixIsSticky,
|
79
80
|
placement: this.affixPlacement,
|
81
|
+
position: this.affixPosition,
|
80
82
|
verticalAlignment: this.affixVerticalAlignment,
|
81
83
|
});
|
82
84
|
}
|
83
85
|
};
|
84
86
|
SkyAffixDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyAffixDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyAffixService }], target: i0.ɵɵFactoryTarget.Directive });
|
85
|
-
SkyAffixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: SkyAffixDirective, selector: "[skyAffixTo]", inputs: { skyAffixTo: "skyAffixTo", affixAutoFitContext: "affixAutoFitContext", affixAutoFitOverflowOffset: "affixAutoFitOverflowOffset", affixEnableAutoFit: "affixEnableAutoFit", affixHorizontalAlignment: "affixHorizontalAlignment", affixIsSticky: "affixIsSticky", affixPlacement: "affixPlacement", affixVerticalAlignment: "affixVerticalAlignment" }, outputs: { affixOffsetChange: "affixOffsetChange", affixOverflowScroll: "affixOverflowScroll", affixPlacementChange: "affixPlacementChange" }, usesOnChanges: true, ngImport: i0 });
|
87
|
+
SkyAffixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: SkyAffixDirective, selector: "[skyAffixTo]", inputs: { skyAffixTo: "skyAffixTo", affixAutoFitContext: "affixAutoFitContext", affixAutoFitOverflowOffset: "affixAutoFitOverflowOffset", affixEnableAutoFit: "affixEnableAutoFit", affixHorizontalAlignment: "affixHorizontalAlignment", affixIsSticky: "affixIsSticky", affixPlacement: "affixPlacement", affixPosition: "affixPosition", affixVerticalAlignment: "affixVerticalAlignment" }, outputs: { affixOffsetChange: "affixOffsetChange", affixOverflowScroll: "affixOverflowScroll", affixPlacementChange: "affixPlacementChange" }, usesOnChanges: true, ngImport: i0 });
|
86
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyAffixDirective, decorators: [{
|
87
89
|
type: Directive,
|
88
90
|
args: [{
|
@@ -102,6 +104,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
102
104
|
type: Input
|
103
105
|
}], affixPlacement: [{
|
104
106
|
type: Input
|
107
|
+
}], affixPosition: [{
|
108
|
+
type: Input
|
105
109
|
}], affixVerticalAlignment: [{
|
106
110
|
type: Input
|
107
111
|
}], affixOffsetChange: [{
|
@@ -111,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
111
115
|
}], affixPlacementChange: [{
|
112
116
|
type: Output
|
113
117
|
}] } });
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVkzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUEyRTVCLFlBQVksVUFBc0IsRUFBRSxZQUE2Qjs7UUExQmpFOztXQUVHO1FBRUksc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFFcEU7O1dBRUc7UUFFSSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXREOztXQUVHO1FBRUkseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFFMUUsNkNBQWlDO1FBRWpDLGtEQUErQjtRQUUvQixnREFBd0I7UUFFeEIsMkNBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFHbkMsdUJBQUEsSUFBSSxpQ0FBZSxVQUFVLE1BQUEsQ0FBQztRQUM5Qix1QkFBQSxJQUFJLG1DQUFpQixZQUFZLE1BQUEsQ0FBQztJQUNwQyxDQUFDO0lBRU0sUUFBUTtRQUNiLHVCQUFBLElBQUksOEJBQVksdUJBQUEsSUFBSSx1Q0FBYyxDQUFDLGFBQWEsQ0FBQyx1QkFBQSxJQUFJLHFDQUFZLENBQUMsTUFBQSxDQUFDO1FBRW5FLHVCQUFBLElBQUksa0NBQVMsQ0FBQyxZQUFZO2FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSx3Q0FBZSxDQUFDLENBQUM7YUFDcEMs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QWlCO3NCQUR2QixNQUFNO2dCQU9BLG1CQUFtQjtzQkFEekIsTUFBTTtnQkFPQSxvQkFBb0I7c0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5QWZmaXhBdXRvRml0Q29udGV4dCB9IGZyb20gJy4vYWZmaXgtYXV0by1maXQtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lBZmZpeEhvcml6b250YWxBbGlnbm1lbnQgfSBmcm9tICcuL2FmZml4LWhvcml6b250YWwtYWxpZ25tZW50JztcbmltcG9ydCB7IFNreUFmZml4T2Zmc2V0IH0gZnJvbSAnLi9hZmZpeC1vZmZzZXQnO1xuaW1wb3J0IHsgU2t5QWZmaXhPZmZzZXRDaGFuZ2UgfSBmcm9tICcuL2FmZml4LW9mZnNldC1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5QWZmaXhQbGFjZW1lbnQgfSBmcm9tICcuL2FmZml4LXBsYWNlbWVudCc7XG5pbXBvcnQgeyBTa3lBZmZpeFBsYWNlbWVudENoYW5nZSB9IGZyb20gJy4vYWZmaXgtcGxhY2VtZW50LWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lBZmZpeFZlcnRpY2FsQWxpZ25tZW50IH0gZnJvbSAnLi9hZmZpeC12ZXJ0aWNhbC1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgU2t5QWZmaXhTZXJ2aWNlIH0gZnJvbSAnLi9hZmZpeC5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUFmZml4ZXIgfSBmcm9tICcuL2FmZml4ZXInO1xuXG4vKipcbiAqIEFmZml4ZXMgdGhlIGhvc3QgZWxlbWVudCB0byBhIGJhc2UgZWxlbWVudC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUFmZml4VG9dJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWZmaXhEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBiYXNlIGVsZW1lbnQgdG8gYWZmaXggdGhlIGhvc3QgZWxlbWVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBza3lBZmZpeFRvOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYGF1dG9GaXRDb250ZXh0YCBwcm9wZXJ0eSBvZiBbW1NreUFmZml4Q29uZmlnXV0uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWZmaXhBdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYGF1dG9GaXRPdmVyZmxvd09mZnNldGAgcHJvcGVydHkgb2YgW1tTa3lBZmZpeENvbmZpZ11dLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFmZml4QXV0b0ZpdE92ZXJmbG93T2Zmc2V0OiBTa3lBZmZpeE9mZnNldCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYGVuYWJsZUF1dG9GaXRgIHByb3BlcnR5IG9mIFtbU2t5QWZmaXhDb25maWddXS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZmZpeEVuYWJsZUF1dG9GaXQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGBob3Jpem9udGFsQWxpZ25tZW50YCBwcm9wZXJ0eSBvZiBbW1NreUFmZml4Q29uZmlnXV0uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWZmaXhIb3Jpem9udGFsQWxpZ25tZW50OiBTa3lBZmZpeEhvcml6b250YWxBbGlnbm1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGBpc1N0aWNreWAgcHJvcGVydHkgb2YgW1tTa3lBZmZpeENvbmZpZ11dLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFmZml4SXNTdGlja3k6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGBwbGFjZW1lbnRgIHByb3BlcnR5IG9mIFtbU2t5QWZmaXhDb25maWddXS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZmZpeFBsYWNlbWVudDogU2t5QWZmaXhQbGFjZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGB2ZXJ0aWNhbEFsaWdubWVudGAgcHJvcGVydHkgb2YgW1tTa3lBZmZpeENvbmZpZ11dLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFmZml4VmVydGljYWxBbGlnbm1lbnQ6IFNreUFmZml4VmVydGljYWxBbGlnbm1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGFmZml4ZWQgZWxlbWVudCdzIG9mZnNldCBjaGFuZ2VzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhZmZpeE9mZnNldENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5QWZmaXhPZmZzZXRDaGFuZ2U+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGFmZml4ZWQgZWxlbWVudCdzIG92ZXJmbG93IGNvbnRhaW5lciBpcyBzY3JvbGxlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWZmaXhPdmVyZmxvd1Njcm9sbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgcGxhY2VtZW50IHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFmZml4UGxhY2VtZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lBZmZpeFBsYWNlbWVudENoYW5nZT4oKTtcblxuICAjYWZmaXhlcjogU2t5QWZmaXhlciB8IHVuZGVmaW5lZDtcblxuICAjYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2U7XG5cbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIGFmZml4U2VydmljZTogU2t5QWZmaXhTZXJ2aWNlKSB7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jYWZmaXhTZXJ2aWNlID0gYWZmaXhTZXJ2aWNlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2FmZml4ZXIgPSB0aGlzLiNhZmZpeFNlcnZpY2UuY3JlYXRlQWZmaXhlcih0aGlzLiNlbGVtZW50UmVmKTtcblxuICAgIHRoaXMuI2FmZml4ZXIub2Zmc2V0Q2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHRoaXMuYWZmaXhPZmZzZXRDaGFuZ2UuZW1pdChjaGFuZ2UpKTtcblxuICAgIHRoaXMuI2FmZml4ZXIub3ZlcmZsb3dTY3JvbGxcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZSkgPT4gdGhpcy5hZmZpeE92ZXJmbG93U2Nyb2xsLmVtaXQoY2hhbmdlKSk7XG5cbiAgICB0aGlzLiNhZmZpeGVyLnBsYWNlbWVudENoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB0aGlzLmFmZml4UGxhY2VtZW50Q2hhbmdlLmVtaXQoY2hhbmdlKSk7XG5cbiAgICB0aGlzLiN1cGRhdGVBbGlnbm1lbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzLmFmZml4QXV0b0ZpdENvbnRleHQgfHxcbiAgICAgIGNoYW5nZXMuYWZmaXhBdXRvRml0T3ZlcmZsb3dPZmZzZXQgfHxcbiAgICAgIGNoYW5nZXMuYWZmaXhFbmFibGVBdXRvRml0IHx8XG4gICAgICBjaGFuZ2VzLmFmZml4SG9yaXpvbnRhbEFsaWdubWVudCB8fFxuICAgICAgY2hhbmdlcy5hZmZpeElzU3RpY2t5IHx8XG4gICAgICBjaGFuZ2VzLmFmZml4UGxhY2VtZW50IHx8XG4gICAgICBjaGFuZ2VzLmFmZml4VmVydGljYWxBbGlnbm1lbnRcbiAgICApIHtcbiAgICAgIHRoaXMuI3VwZGF0ZUFsaWdubWVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFmZml4T2Zmc2V0Q2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5hZmZpeE92ZXJmbG93U2Nyb2xsLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5hZmZpeFBsYWNlbWVudENoYW5nZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLiNhZmZpeGVyKSB7XG4gICAgICB0aGlzLiNhZmZpeGVyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuI2FmZml4ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZUFsaWdubWVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5za3lBZmZpeFRvICYmIHRoaXMuI2FmZml4ZXIpIHtcbiAgICAgIHRoaXMuI2FmZml4ZXIuYWZmaXhUbyh0aGlzLnNreUFmZml4VG8sIHtcbiAgICAgICAgYXV0b0ZpdENvbnRleHQ6IHRoaXMuYWZmaXhBdXRvRml0Q29udGV4dCxcbiAgICAgICAgYXV0b0ZpdE92ZXJmbG93T2Zmc2V0OiB0aGlzLmFmZml4QXV0b0ZpdE92ZXJmbG93T2Zmc2V0LFxuICAgICAgICBlbmFibGVBdXRvRml0OiB0aGlzLmFmZml4RW5hYmxlQXV0b0ZpdCxcbiAgICAgICAgaG9yaXpvbnRhbEFsaWdubWVudDogdGhpcy5hZmZpeEhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgICAgIGlzU3RpY2t5OiB0aGlzLmFmZml4SXNTdGlja3ksXG4gICAgICAgIHBsYWNlbWVudDogdGhpcy5hZmZpeFBsYWNlbWVudCxcbiAgICAgICAgdmVydGljYWxBbGlnbm1lbnQ6IHRoaXMuYWZmaXhWZXJ0aWNhbEFsaWdubWVudCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWEzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFpRjVCLFlBQVksVUFBc0IsRUFBRSxZQUE2Qjs7UUExQmpFOztXQUVHO1FBRUksc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFFcEU7O1dBRUc7UUFFSSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXREOztXQUVHO1FBRUkseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFFMUUsNkNBQWlDO1FBRWpDLGtEQUErQjtRQUUvQixnREFBd0I7UUFFeEIsMkNBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFHbkMsdUJBQUEsSUFBSSxpQ0FBZSxVQUFVLE1BQUEsQ0FBQztRQUM5Qix1QkFBQSxJQUFJLG1DQUFpQixZQUFZLE1BQUEsQ0FBQztJQUNwQyxDQUFDO0lBRU0sUUFBUTtRQUNiLHVCQUFBLElBQUksOEJBQVksdUJBQUEsSUFBSSx1Q0FBYyxDQUFDLGFBQWEsQ0FBQyx1QkFBQSxJQUFJLHFDQUFZLENBQUMsTUFBQSxDQUFDO1FBRW5FLHVCQUFBLElBQUksa0NBQVMsQ0FBQyxZQUFZO2FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSx3Q0FBZSxDQUFDLENBQUM7YUFDcEMs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LGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsYUFBYTtzQkFEbkIsS0FBSztnQkFPQyxzQkFBc0I7c0JBRDVCLEtBQUs7Z0JBT0MsaUJBQWlCO3NCQUR2QixNQUFNO2dCQU9BLG1CQUFtQjtzQkFEekIsTUFBTTtnQkFPQSxvQkFBb0I7c0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5QWZmaXhBdXRvRml0Q29udGV4dCB9IGZyb20gJy4vYWZmaXgtYXV0by1maXQtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lBZmZpeEhvcml6b250YWxBbGlnbm1lbnQgfSBmcm9tICcuL2FmZml4LWhvcml6b250YWwtYWxpZ25tZW50JztcbmltcG9ydCB7IFNreUFmZml4T2Zmc2V0IH0gZnJvbSAnLi9hZmZpeC1vZmZzZXQnO1xuaW1wb3J0IHsgU2t5QWZmaXhPZmZzZXRDaGFuZ2UgfSBmcm9tICcuL2FmZml4LW9mZnNldC1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5QWZmaXhQbGFjZW1lbnQgfSBmcm9tICcuL2FmZml4LXBsYWNlbWVudCc7XG5pbXBvcnQgeyBTa3lBZmZpeFBsYWNlbWVudENoYW5nZSB9IGZyb20gJy4vYWZmaXgtcGxhY2VtZW50LWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lBZmZpeFBvc2l0aW9uIH0gZnJvbSAnLi9hZmZpeC1wb3NpdGlvbic7XG5pbXBvcnQgeyBTa3lBZmZpeFZlcnRpY2FsQWxpZ25tZW50IH0gZnJvbSAnLi9hZmZpeC12ZXJ0aWNhbC1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgU2t5QWZmaXhTZXJ2aWNlIH0gZnJvbSAnLi9hZmZpeC5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUFmZml4ZXIgfSBmcm9tICcuL2FmZml4ZXInO1xuXG4vKipcbiAqIEFmZml4ZXMgdGhlIGhvc3QgZWxlbWVudCB0byBhIGJhc2UgZWxlbWVudC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUFmZml4VG9dJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWZmaXhEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBiYXNlIGVsZW1lbnQgdG8gYWZmaXggdGhlIGhvc3QgZWxlbWVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBza3lBZmZpeFRvOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYGF1dG9GaXRDb250ZXh0YCBwcm9wZXJ0eSBvZiBbW1NreUFmZml4Q29uZmlnXV0uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWZmaXhBdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYGF1dG9GaXRPdmVyZmxvd09mZnNldGAgcHJvcGVydHkgb2YgW1tTa3lBZmZpeENvbmZpZ11dLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFmZml4QXV0b0ZpdE92ZXJmbG93T2Zmc2V0OiBTa3lBZmZpeE9mZnNldCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYGVuYWJsZUF1dG9GaXRgIHByb3BlcnR5IG9mIFtbU2t5QWZmaXhDb25maWddXS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZmZpeEVuYWJsZUF1dG9GaXQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGBob3Jpem9udGFsQWxpZ25tZW50YCBwcm9wZXJ0eSBvZiBbW1NreUFmZml4Q29uZmlnXV0uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWZmaXhIb3Jpem9udGFsQWxpZ25tZW50OiBTa3lBZmZpeEhvcml6b250YWxBbGlnbm1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGBpc1N0aWNreWAgcHJvcGVydHkgb2YgW1tTa3lBZmZpeENvbmZpZ11dLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFmZml4SXNTdGlja3k6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGBwbGFjZW1lbnRgIHByb3BlcnR5IG9mIFtbU2t5QWZmaXhDb25maWddXS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZmZpeFBsYWNlbWVudDogU2t5QWZmaXhQbGFjZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGBwb3NpdGlvbmAgcHJvcGVydHkgb2YgW1tTa3lBZmZpeENvbmZpZ11dLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFmZml4UG9zaXRpb246IFNreUFmZml4UG9zaXRpb24gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGB2ZXJ0aWNhbEFsaWdubWVudGAgcHJvcGVydHkgb2YgW1tTa3lBZmZpeENvbmZpZ11dLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFmZml4VmVydGljYWxBbGlnbm1lbnQ6IFNreUFmZml4VmVydGljYWxBbGlnbm1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGFmZml4ZWQgZWxlbWVudCdzIG9mZnNldCBjaGFuZ2VzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhZmZpeE9mZnNldENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5QWZmaXhPZmZzZXRDaGFuZ2U+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGFmZml4ZWQgZWxlbWVudCdzIG92ZXJmbG93IGNvbnRhaW5lciBpcyBzY3JvbGxlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWZmaXhPdmVyZmxvd1Njcm9sbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgcGxhY2VtZW50IHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFmZml4UGxhY2VtZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lBZmZpeFBsYWNlbWVudENoYW5nZT4oKTtcblxuICAjYWZmaXhlcjogU2t5QWZmaXhlciB8IHVuZGVmaW5lZDtcblxuICAjYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2U7XG5cbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIGFmZml4U2VydmljZTogU2t5QWZmaXhTZXJ2aWNlKSB7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jYWZmaXhTZXJ2aWNlID0gYWZmaXhTZXJ2aWNlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2FmZml4ZXIgPSB0aGlzLiNhZmZpeFNlcnZpY2UuY3JlYXRlQWZmaXhlcih0aGlzLiNlbGVtZW50UmVmKTtcblxuICAgIHRoaXMuI2FmZml4ZXIub2Zmc2V0Q2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHRoaXMuYWZmaXhPZmZzZXRDaGFuZ2UuZW1pdChjaGFuZ2UpKTtcblxuICAgIHRoaXMuI2FmZml4ZXIub3ZlcmZsb3dTY3JvbGxcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZSkgPT4gdGhpcy5hZmZpeE92ZXJmbG93U2Nyb2xsLmVtaXQoY2hhbmdlKSk7XG5cbiAgICB0aGlzLiNhZmZpeGVyLnBsYWNlbWVudENoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB0aGlzLmFmZml4UGxhY2VtZW50Q2hhbmdlLmVtaXQoY2hhbmdlKSk7XG5cbiAgICB0aGlzLiN1cGRhdGVBbGlnbm1lbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzLmFmZml4QXV0b0ZpdENvbnRleHQgfHxcbiAgICAgIGNoYW5nZXMuYWZmaXhBdXRvRml0T3ZlcmZsb3dPZmZzZXQgfHxcbiAgICAgIGNoYW5nZXMuYWZmaXhFbmFibGVBdXRvRml0IHx8XG4gICAgICBjaGFuZ2VzLmFmZml4SG9yaXpvbnRhbEFsaWdubWVudCB8fFxuICAgICAgY2hhbmdlcy5hZmZpeElzU3RpY2t5IHx8XG4gICAgICBjaGFuZ2VzLmFmZml4UGxhY2VtZW50IHx8XG4gICAgICBjaGFuZ2VzLmFmZml4UG9zaXRpb24gfHxcbiAgICAgIGNoYW5nZXMuYWZmaXhWZXJ0aWNhbEFsaWdubWVudFxuICAgICkge1xuICAgICAgdGhpcy4jdXBkYXRlQWxpZ25tZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYWZmaXhPZmZzZXRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLmFmZml4T3ZlcmZsb3dTY3JvbGwuY29tcGxldGUoKTtcbiAgICB0aGlzLmFmZml4UGxhY2VtZW50Q2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuI2FmZml4ZXIpIHtcbiAgICAgIHRoaXMuI2FmZml4ZXIuZGVzdHJveSgpO1xuICAgICAgdGhpcy4jYWZmaXhlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAjdXBkYXRlQWxpZ25tZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNreUFmZml4VG8gJiYgdGhpcy4jYWZmaXhlcikge1xuICAgICAgdGhpcy4jYWZmaXhlci5hZmZpeFRvKHRoaXMuc2t5QWZmaXhUbywge1xuICAgICAgICBhdXRvRml0Q29udGV4dDogdGhpcy5hZmZpeEF1dG9GaXRDb250ZXh0LFxuICAgICAgICBhdXRvRml0T3ZlcmZsb3dPZmZzZXQ6IHRoaXMuYWZmaXhBdXRvRml0T3ZlcmZsb3dPZmZzZXQsXG4gICAgICAgIGVuYWJsZUF1dG9GaXQ6IHRoaXMuYWZmaXhFbmFibGVBdXRvRml0LFxuICAgICAgICBob3Jpem9udGFsQWxpZ25tZW50OiB0aGlzLmFmZml4SG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICAgICAgaXNTdGlja3k6IHRoaXMuYWZmaXhJc1N0aWNreSxcbiAgICAgICAgcGxhY2VtZW50OiB0aGlzLmFmZml4UGxhY2VtZW50LFxuICAgICAgICBwb3NpdGlvbjogdGhpcy5hZmZpeFBvc2l0aW9uLFxuICAgICAgICB2ZXJ0aWNhbEFsaWdubWVudDogdGhpcy5hZmZpeFZlcnRpY2FsQWxpZ25tZW50LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
@@ -1,4 +1,4 @@
|
|
1
|
-
var _SkyAffixer_instances, _SkyAffixer_config_get, _SkyAffixer_config_set, _SkyAffixer_affixedElement, _SkyAffixer_baseElement, _SkyAffixer_currentOffset, _SkyAffixer_currentPlacement, _SkyAffixer_offsetChange, _SkyAffixer_offsetChangeObs, _SkyAffixer_overflowParents, _SkyAffixer_overflowScroll, _SkyAffixer_overflowScrollObs, _SkyAffixer_placementChange, _SkyAffixer_placementChangeObs, _SkyAffixer_renderer, _SkyAffixer_resizeListener, _SkyAffixer_scrollListeners, _SkyAffixer__config, _SkyAffixer_affix, _SkyAffixer_getOffset, _SkyAffixer_getPreferredOffset, _SkyAffixer_adjustOffsetToOverflowParent, _SkyAffixer_getImmediateOverflowParent, _SkyAffixer_getAutoFitContextParent, _SkyAffixer_notifyPlacementChange, _SkyAffixer_reset, _SkyAffixer_isNewOffset, _SkyAffixer_isBaseElementVisible, _SkyAffixer_addScrollListeners, _SkyAffixer_addResizeListener, _SkyAffixer_removeResizeListener, _SkyAffixer_removeScrollListeners;
|
1
|
+
var _SkyAffixer_instances, _SkyAffixer_config_get, _SkyAffixer_config_set, _SkyAffixer_affixedElement, _SkyAffixer_baseElement, _SkyAffixer_currentOffset, _SkyAffixer_currentPlacement, _SkyAffixer_offsetChange, _SkyAffixer_offsetChangeObs, _SkyAffixer_overflowParents, _SkyAffixer_overflowScroll, _SkyAffixer_overflowScrollObs, _SkyAffixer_placementChange, _SkyAffixer_placementChangeObs, _SkyAffixer_renderer, _SkyAffixer_resizeListener, _SkyAffixer_scrollListeners, _SkyAffixer__config, _SkyAffixer_affix, _SkyAffixer_getOffset, _SkyAffixer_getRect, _SkyAffixer_getPreferredOffset, _SkyAffixer_adjustOffsetToOverflowParent, _SkyAffixer_getImmediateOverflowParent, _SkyAffixer_getAutoFitContextParent, _SkyAffixer_notifyPlacementChange, _SkyAffixer_reset, _SkyAffixer_isNewOffset, _SkyAffixer_isBaseElementVisible, _SkyAffixer_addScrollListeners, _SkyAffixer_addResizeListener, _SkyAffixer_removeResizeListener, _SkyAffixer_removeScrollListeners;
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
3
|
import { Subject, fromEvent } from 'rxjs';
|
4
4
|
import { SkyAffixAutoFitContext } from './affix-auto-fit-context';
|
@@ -125,9 +125,19 @@ _SkyAffixer_affixedElement = new WeakMap(), _SkyAffixer_baseElement = new WeakMa
|
|
125
125
|
let isAffixedElementFullyVisible = false;
|
126
126
|
let offset;
|
127
127
|
let placement = __classPrivateFieldGet(this, _SkyAffixer_instances, "a", _SkyAffixer_config_get).placement;
|
128
|
+
const autoFitOverflowOffset = __classPrivateFieldGet(this, _SkyAffixer_instances, "a", _SkyAffixer_config_get).autoFitOverflowOffset || {
|
129
|
+
bottom: 0,
|
130
|
+
left: 0,
|
131
|
+
right: 0,
|
132
|
+
top: 0,
|
133
|
+
};
|
134
|
+
if (__classPrivateFieldGet(this, _SkyAffixer_instances, "a", _SkyAffixer_config_get).position === 'absolute') {
|
135
|
+
autoFitOverflowOffset.top =
|
136
|
+
(autoFitOverflowOffset.top || 0) + window.scrollY;
|
137
|
+
}
|
128
138
|
do {
|
129
139
|
offset = __classPrivateFieldGet(this, _SkyAffixer_instances, "m", _SkyAffixer_getPreferredOffset).call(this, placement);
|
130
|
-
isAffixedElementFullyVisible = isOffsetFullyVisibleWithinParent(parent, offset,
|
140
|
+
isAffixedElementFullyVisible = isOffsetFullyVisibleWithinParent(parent, offset, autoFitOverflowOffset);
|
131
141
|
if (!__classPrivateFieldGet(this, _SkyAffixer_instances, "a", _SkyAffixer_config_get).enableAutoFit) {
|
132
142
|
break;
|
133
143
|
}
|
@@ -153,12 +163,27 @@ _SkyAffixer_affixedElement = new WeakMap(), _SkyAffixer_baseElement = new WeakMa
|
|
153
163
|
}
|
154
164
|
// No suitable placement was found, so revert to preferred placement.
|
155
165
|
return __classPrivateFieldGet(this, _SkyAffixer_instances, "m", _SkyAffixer_getPreferredOffset).call(this, __classPrivateFieldGet(this, _SkyAffixer_instances, "a", _SkyAffixer_config_get).placement);
|
166
|
+
}, _SkyAffixer_getRect = function _SkyAffixer_getRect(baseElement) {
|
167
|
+
const baseDomRect = baseElement.getBoundingClientRect();
|
168
|
+
const baseRect = {
|
169
|
+
top: baseDomRect.top,
|
170
|
+
bottom: baseDomRect.bottom,
|
171
|
+
left: baseDomRect.left,
|
172
|
+
right: baseDomRect.right,
|
173
|
+
width: baseDomRect.width,
|
174
|
+
height: baseDomRect.height,
|
175
|
+
};
|
176
|
+
if (__classPrivateFieldGet(this, _SkyAffixer_instances, "a", _SkyAffixer_config_get).position === 'absolute') {
|
177
|
+
baseRect.top += window.scrollY;
|
178
|
+
baseRect.bottom = baseRect.top + baseDomRect.height;
|
179
|
+
}
|
180
|
+
return baseRect;
|
156
181
|
}, _SkyAffixer_getPreferredOffset = function _SkyAffixer_getPreferredOffset(placement) {
|
157
182
|
if (!__classPrivateFieldGet(this, _SkyAffixer_baseElement, "f")) {
|
158
183
|
return { top: 0, left: 0, bottom: 0, right: 0 };
|
159
184
|
}
|
160
|
-
const affixedRect = __classPrivateFieldGet(this,
|
161
|
-
const baseRect = __classPrivateFieldGet(this,
|
185
|
+
const affixedRect = __classPrivateFieldGet(this, _SkyAffixer_instances, "m", _SkyAffixer_getRect).call(this, __classPrivateFieldGet(this, _SkyAffixer_affixedElement, "f"));
|
186
|
+
const baseRect = __classPrivateFieldGet(this, _SkyAffixer_instances, "m", _SkyAffixer_getRect).call(this, __classPrivateFieldGet(this, _SkyAffixer_baseElement, "f"));
|
162
187
|
const horizontalAlignment = __classPrivateFieldGet(this, _SkyAffixer_instances, "a", _SkyAffixer_config_get).horizontalAlignment;
|
163
188
|
const verticalAlignment = __classPrivateFieldGet(this, _SkyAffixer_instances, "a", _SkyAffixer_config_get).verticalAlignment;
|
164
189
|
const enableAutoFit = __classPrivateFieldGet(this, _SkyAffixer_instances, "a", _SkyAffixer_config_get).enableAutoFit;
|
@@ -238,8 +263,8 @@ _SkyAffixer_affixedElement = new WeakMap(), _SkyAffixer_baseElement = new WeakMa
|
|
238
263
|
}, _SkyAffixer_adjustOffsetToOverflowParent = function _SkyAffixer_adjustOffsetToOverflowParent(offset, placement, baseElement) {
|
239
264
|
const parent = __classPrivateFieldGet(this, _SkyAffixer_instances, "m", _SkyAffixer_getAutoFitContextParent).call(this);
|
240
265
|
const parentOffset = getElementOffset(parent, __classPrivateFieldGet(this, _SkyAffixer_instances, "a", _SkyAffixer_config_get).autoFitOverflowOffset);
|
241
|
-
const affixedRect = __classPrivateFieldGet(this,
|
242
|
-
const baseRect =
|
266
|
+
const affixedRect = __classPrivateFieldGet(this, _SkyAffixer_instances, "m", _SkyAffixer_getRect).call(this, __classPrivateFieldGet(this, _SkyAffixer_affixedElement, "f"));
|
267
|
+
const baseRect = __classPrivateFieldGet(this, _SkyAffixer_instances, "m", _SkyAffixer_getRect).call(this, baseElement);
|
243
268
|
// A pixel value representing the leeway between the edge of the overflow parent and the edge
|
244
269
|
// of the base element before it disappears from view.
|
245
270
|
// If the visible portion of the base element is less than this pixel value, the auto-fit
|
@@ -349,4 +374,4 @@ _SkyAffixer_affixedElement = new WeakMap(), _SkyAffixer_baseElement = new WeakMa
|
|
349
374
|
__classPrivateFieldSet(this, _SkyAffixer_scrollListeners, undefined, "f");
|
350
375
|
}
|
351
376
|
};
|
352
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXhlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTWxFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixnQ0FBZ0MsRUFDaEMsb0NBQW9DLEdBQ3JDLE1BQU0sYUFBYSxDQUFDO0FBa0JyQixNQUFNLG9CQUFvQixHQUEwQjtJQUNsRCxjQUFjLEVBQUUsc0JBQXNCLENBQUMsY0FBYztJQUNyRCxhQUFhLEVBQUUsS0FBSztJQUNwQixtQkFBbUIsRUFBRSxRQUFRO0lBQzdCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsU0FBUyxFQUFFLE9BQU87Q0FDbkIsQ0FBQztBQUVGLE1BQU0sT0FBTyxVQUFVO0lBQ3JCOztPQUVHO0lBQ0gsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sdUJBQUEsSUFBSSxtQ0FBaUIsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsY0FBYztRQUN2QixPQUFPLHVCQUFBLElBQUkscUNBQW1CLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsZUFBZTtRQUN4QixPQUFPLHVCQUFBLElBQUksc0NBQW9CLENBQUM7SUFDbEMsQ0FBQztJQXFERCxZQUFZLGNBQTJCLEVBQUUsUUFBbUI7O1FBOUI1RCw2Q0FBNkI7UUFFN0IsMENBQXNDO1FBRXRDLDRDQUEyQztRQUUzQywrQ0FBaUQ7UUFFakQsMkNBQTZDO1FBRTdDLDhDQUFtRDtR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QyxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDcEQsdUJBQUEsSUFBSSxnREFBTyxNQUFYLElBQUksQ0FBUyxDQUFDO1lBQ2QsdUJBQUEsSUFBSSxrQ0FBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxNQUFBLENBQUM7QUFDTCxDQUFDO0lBR0MsdUJBQUEsSUFBSSw4QkFBbUIsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ2hFLHVCQUFBLElBQUksZ0RBQU8sTUFBWCxJQUFJLENBQVMsQ0FDZCxNQUFBLENBQUM7QUFDSixDQUFDO0lBR0MsSUFBSSx1QkFBQSxJQUFJLGtDQUFnQixFQUFFO1FBQ3hCLHVCQUFBLElBQUksa0NBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsdUJBQUEsSUFBSSw4QkFBbUIsU0FBUyxNQUFBLENBQUM7S0FDbEM7QUFDSCxDQUFDO0lBR0MsSUFBSSx1QkFBQSxJQUFJLG1DQUFpQixFQUFFO1FBQ3pCLHNFQUFzRTtRQUN0RSx3RUFBd0U7UUFDeEUsdUJBQUEsSUFBSSxtQ0FBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEQsdUJBQUEsSUFBSSwrQkFBb0IsU0FBUyxNQUFBLENBQUM7S0FDbkM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUFmZml4QXV0b0ZpdENvbnRleHQgfSBmcm9tICcuL2FmZml4LWF1dG8tZml0LWNvbnRleHQnO1xuaW1wb3J0IHsgU2t5QWZmaXhDb25maWcgfSBmcm9tICcuL2FmZml4LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lBZmZpeE9mZnNldCB9IGZyb20gJy4vYWZmaXgtb2Zmc2V0JztcbmltcG9ydCB7IFNreUFmZml4T2Zmc2V0Q2hhbmdlIH0gZnJvbSAnLi9hZmZpeC1vZmZzZXQtY2hhbmdlJztcbmltcG9ydCB7IFNreUFmZml4UGxhY2VtZW50IH0gZnJvbSAnLi9hZmZpeC1wbGFjZW1lbnQnO1xuaW1wb3J0IHsgU2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2UgfSBmcm9tICcuL2FmZml4LXBsYWNlbWVudC1jaGFuZ2UnO1xuaW1wb3J0IHsgZ2V0SW52ZXJzZVBsYWNlbWVudCwgZ2V0TmV4dFBsYWNlbWVudCB9IGZyb20gJy4vYWZmaXgtdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0RWxlbWVudE9mZnNldCxcbiAgZ2V0T3ZlcmZsb3dQYXJlbnRzLFxuICBpc09mZnNldEZ1bGx5VmlzaWJsZVdpdGhpblBhcmVudCxcbiAgaXNPZmZzZXRQYXJ0aWFsbHlWaXNpYmxlV2l0aGluUGFyZW50LFxufSBmcm9tICcuL2RvbS11dGlscyc7XG5cbi8qKlxuICogTWFrZSBzcGVjaWZpYyBwcm9wZXJ0aWVzIHJlcXVpcmVkLCBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG9cbiAqIGRvIG51bGwgY2hlY2tzIHRocm91Z2hvdXQgdGhpcyBmaWxlLlxuICovXG50eXBlIEFmZml4Q29uZmlnT3JEZWZhdWx0cyA9IFNreUFmZml4Q29uZmlnICZcbiAgUmVxdWlyZWQ8XG4gICAgUGljazxcbiAgICAgIFNreUFmZml4Q29uZmlnLFxuICAgICAgfCAnYXV0b0ZpdENvbnRleHQnXG4gICAgICB8ICdlbmFibGVBdXRvRml0J1xuICAgICAgfCAnaG9yaXpvbnRhbEFsaWdubWVudCdcbiAgICAgIHwgJ2lzU3RpY2t5J1xuICAgICAgfCAncGxhY2VtZW50J1xuICAgID5cbiAgPjtcblxuY29uc3QgREVGQVVMVF9BRkZJWF9DT05GSUc6IEFmZml4Q29uZmlnT3JEZWZhdWx0cyA9IHtcbiAgYXV0b0ZpdENvbnRleHQ6IFNreUFmZml4QXV0b0ZpdENvbnRleHQuT3ZlcmZsb3dQYXJlbnQsXG4gIGVuYWJsZUF1dG9GaXQ6IGZhbHNlLFxuICBob3Jpem9udGFsQWxpZ25tZW50OiAnY2VudGVyJyxcbiAgaXNTdGlja3k6IGZhbHNlLFxuICBwbGFjZW1lbnQ6ICdhYm92ZScsXG59O1xuXG5leHBvcnQgY2xhc3MgU2t5QWZmaXhlciB7XG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBhZmZpeGVkIGVsZW1lbnQncyBvZmZzZXQgY2hhbmdlcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgb2Zmc2V0Q2hhbmdlKCk6IE9ic2VydmFibGU8U2t5QWZmaXhPZmZzZXRDaGFuZ2U+IHtcbiAgICByZXR1cm4gdGhpcy4jb2Zmc2V0Q2hhbmdlT2JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGJhc2UgZWxlbWVudCdzIG5lYXJlc3Qgb3ZlcmZsb3cgcGFyZW50IGlzIHNjcm9sbGluZy4gVGhpcyBpcyB1c2VmdWwgaWYgeW91IG5lZWRcbiAgICogdG8gcGVyZm9ybSBhbiBhZGRpdGlvbmFsIGFjdGlvbiBkdXJpbmcgdGhlIHNjcm9sbCBldmVudCBidXQgZG9uJ3Qgd2FudCB0byBnZW5lcmF0ZSBhbm90aGVyXG4gICAqIGV2ZW50IGxpc3RlbmVyLlxuICAgKi9cbiAgcHVibGljIGdldCBvdmVyZmxvd1Njcm9sbCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jb3ZlcmZsb3dTY3JvbGxPYnM7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgcGxhY2VtZW50IHZhbHVlIGNoYW5nZXMuIEEgYG51bGxgIHZhbHVlIGluZGljYXRlcyB0aGF0IGEgc3VpdGFibGVcbiAgICogcGxhY2VtZW50IGNvdWxkIG5vdCBiZSBmb3VuZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgcGxhY2VtZW50Q2hhbmdlKCk6IE9ic2VydmFibGU8U2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2U+IHtcbiAgICByZXR1cm4gdGhpcy4jcGxhY2VtZW50Q2hhbmdlT2JzO1xuICB9XG5cbiAgZ2V0ICNjb25maWcoKTogQWZmaXhDb25maWdPckRlZmF1bHRzIHtcbiAgICByZXR1cm4gdGhpcy4jX2NvbmZpZztcbiAgfVxuXG4gIHNldCAjY29uZmlnKHZhbHVlOiBTa3lBZmZpeENvbmZpZyB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG1lcmdlZDogQWZmaXhDb25maWdPckRlZmF1bHRzID0ge1xuICAgICAgLi4uREVGQVVMVF9BRkZJWF9DT05GSUcsXG4gICAgICAuLi52YWx1ZSxcbiAgICB9O1xuXG4gICAgLy8gTWFrZSBzdXJlIG5vbmUgb2YgdGhlIHZhbHVlcyBhcmUgdW5kZWZpbmVkLlxuICAgIGxldCBrZXk6IGtleW9mIHR5cGVvZiBtZXJnZWQ7XG4gICAgZm9yIChrZXkgaW4gbWVyZ2VkKSB7XG4gICAgICBpZiAobWVyZ2VkW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAobWVyZ2VkIGFzIGFueSlba2V5XSA9IERFRkFVTFRfQUZGSVhfQ09ORklHW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy4jX2NvbmZpZyA9IG1lcmdlZDtcbiAgfVxuXG4gICNhZmZpeGVkRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgI2Jhc2VFbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAjY3VycmVudE9mZnNldDogU2t5QWZmaXhPZmZzZXQgfCB1bmRlZmluZWQ7XG5cbiAgI2N1cnJlbnRQbGFjZW1lbnQ6IFNreUFmZml4UGxhY2VtZW50IHwgdW5kZWZpbmVkO1xuXG4gICNvZmZzZXRDaGFuZ2U6IFN1YmplY3Q8U2t5QWZmaXhPZmZzZXRDaGFuZ2U+O1xuXG4gICNvZmZzZXRDaGFuZ2VPYnM6IE9ic2VydmFibGU8U2t5QWZmaXhPZmZzZXRDaGFuZ2U+O1xuXG4gICNvdmVyZmxvd1BhcmVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICAjb3ZlcmZsb3dTY3JvbGw6IFN1YmplY3Q8dm9pZD47XG5cbiAgI292ZXJmbG93U2Nyb2xsT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNwbGFjZW1lbnRDaGFuZ2U6IFN1YmplY3Q8U2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2U+O1xuXG4gICNwbGFjZW1lbnRDaGFuZ2VPYnM6IE9ic2VydmFibGU8U2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2U+O1xuXG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICNyZXNpemVMaXN0ZW5lcjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICNzY3JvbGxMaXN0ZW5lcnM6ICgoKSA9PiB2b2lkKVtdIHwgdW5kZWZpbmVkO1xuXG4gICNfY29uZmlnOiBBZmZpeENvbmZpZ09yRGVmYXVsdHMgPSBERUZBVUxUX0FGRklYX0NPTkZJRztcblxuICBjb25zdHJ1Y3RvcihhZmZpeGVkRWxlbWVudDogSFRNTEVsZW1lbnQsIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICB0aGlzLiNhZmZpeGVkRWxlbWVudCA9IGFmZml4ZWRFbGVtZW50O1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG5cbiAgICB0aGlzLiNvZmZzZXRDaGFuZ2UgPSBuZXcgU3ViamVjdDxTa3lBZmZpeE9mZnNldENoYW5nZT4oKTtcbiAgICB0aGlzLiNvdmVyZmxvd1Njcm9sbCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgdGhpcy4jcGxhY2VtZW50Q2hhbmdlID0gbmV3IFN1YmplY3Q8U2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2U+KCk7XG5cbiAgICB0aGlzLiNvZmZzZXRDaGFuZ2VPYnMgPSB0aGlzLiNvZmZzZXRDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy4jb3ZlcmZsb3dTY3JvbGxPYnMgPSB0aGlzLiNvdmVyZmxvd1Njcm9sbC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNwbGFjZW1lbnRDaGFuZ2VPYnMgPSB0aGlzLiNwbGFjZW1lbnRDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQWZmaXhlcyBhbiBlbGVtZW50IHRvIGEgYmFzZSBlbGVtZW50LlxuICAgKiBAcGFyYW0gYmFzZUVsZW1lbnQgVGhlIGJhc2UgZWxlbWVudC5cbiAgICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciB0aGUgYWZmaXggYWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGFmZml4VG8oYmFzZUVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjb25maWc/OiBTa3lBZmZpeENvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMuI3Jlc2V0KCk7XG5cbiAgICB0aGlzLiNjb25maWcgPSBjb25maWc7XG4gICAgdGhpcy4jYmFzZUVsZW1lbnQgPSBiYXNlRWxlbWVudDtcbiAgICB0aGlzLiNvdmVyZmxvd1BhcmVudHMgPSBnZXRPdmVyZmxvd1BhcmVudHMoYmFzZUVsZW1lbnQpO1xuXG4gICAgdGhpcy4jYWZmaXgoKTtcblxuICAgIGlmICh0aGlzLiNjb25maWcuaXNTdGlja3kpIHtcbiAgICAgIHRoaXMuI2FkZFNjcm9sbExpc3RlbmVycygpO1xuICAgICAgdGhpcy4jYWRkUmVzaXplTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29uZmlnKCk6IFNreUFmZml4Q29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy4jY29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXJ1bnMgdGhlIGFmZml4IGNhbGN1bGF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWZmaXgoKTogdm9pZCB7XG4gICAgLy8gUmVzZXQgY3VycmVudCBwbGFjZW1lbnQgdG8gcHJlZmVycmVkIHBsYWNlbWVudC5cbiAgICB0aGlzLiNjdXJyZW50UGxhY2VtZW50ID0gdGhpcy4jY29uZmlnLnBsYWNlbWVudDtcbiAgICB0aGlzLiNhZmZpeCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoZSBhZmZpeGVyLlxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVzZXQoKTtcbiAgICB0aGlzLiNwbGFjZW1lbnRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNvZmZzZXRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNvdmVyZmxvd1Njcm9sbC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2FmZml4KCk6IHZvaWQge1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuI2dldE9mZnNldCgpO1xuXG4gICAgaWYgKHRoaXMuI2lzTmV3T2Zmc2V0KG9mZnNldCkpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuI2FmZml4ZWRFbGVtZW50LCAndG9wJywgYCR7b2Zmc2V0LnRvcH1weGApO1xuICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUodGhpcy4jYWZmaXhlZEVsZW1lbnQsICdsZWZ0JywgYCR7b2Zmc2V0LmxlZnR9cHhgKTtcblxuICAgICAgdGhpcy4jb2Zmc2V0Q2hhbmdlLm5leHQoeyBvZmZzZXQgfSk7XG4gICAgfVxuICB9XG5cbiAgI2dldE9mZnNldCgpOiBTa3lBZmZpeE9mZnNldCB7XG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy4jZ2V0QXV0b0ZpdENvbnRleHRQYXJlbnQoKTtcblxuICAgIGNvbnN0IG1heEF0dGVtcHRzID0gNDtcbiAgICBsZXQgYXR0ZW1wdHMgPSAwO1xuXG4gICAgbGV0IGlzQWZmaXhlZEVsZW1lbnRGdWxseVZpc2libGUgPSBmYWxzZTtcbiAgICBsZXQgb2Zmc2V0OiBSZXF1aXJlZDxTa3lBZmZpeE9mZnNldD47XG4gICAgbGV0IHBsYWNlbWVudCA9IHRoaXMuI2NvbmZpZy5wbGFjZW1lbnQ7XG5cbiAgICBkbyB7XG4gICAgICBvZmZzZXQgPSB0aGlzLiNnZXRQcmVmZXJyZWRPZmZzZXQocGxhY2VtZW50KTtcbiAgICAgIGlzQWZmaXhlZEVsZW1lbnRGdWxseVZpc2libGUgPSBpc09mZnNldEZ1bGx5VmlzaWJsZVdpdGhpblBhcmVudChcbiAgICAgICAgcGFyZW50LFxuICAgICAgICBvZmZzZXQsXG4gICAgICAgIHRoaXMuI2NvbmZpZy5hdXRvRml0T3ZlcmZsb3dPZmZzZXRcbiAgICAgICk7XG5cbiAgICAgIGlmICghdGhpcy4jY29uZmlnLmVuYWJsZUF1dG9GaXQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNBZmZpeGVkRWxlbWVudEZ1bGx5VmlzaWJsZSkge1xuICAgICAgICBwbGFjZW1lbnQgPVxuICAgICAgICAgIGF0dGVtcHRzICUgMiA9PT0gMFxuICAgICAgICAgICAgPyBnZXRJbnZlcnNlUGxhY2VtZW50KHBsYWNlbWVudClcbiAgICAgICAgICAgIDogZ2V0TmV4dFBsYWNlbWVudChwbGFjZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBhdHRlbXB0cysrO1xuICAgIH0gd2hpbGUgKCFpc0FmZml4ZWRFbGVtZW50RnVsbHlWaXNpYmxlICYmIGF0dGVtcHRzIDwgbWF4QXR0ZW1wdHMpO1xuXG4gICAgaWYgKGlzQWZmaXhlZEVsZW1lbnRGdWxseVZpc2libGUpIHtcbiAgICAgIGlmICh0aGlzLiNpc0Jhc2VFbGVtZW50VmlzaWJsZSgpKSB7XG4gICAgICAgIHRoaXMuI25vdGlmeVBsYWNlbWVudENoYW5nZShwbGFjZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jbm90aWZ5UGxhY2VtZW50Q2hhbmdlKG51bGwpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2Zmc2V0O1xuICAgIH1cblxuICAgIGlmICh0aGlzLiNjb25maWcuZW5hYmxlQXV0b0ZpdCkge1xuICAgICAgdGhpcy4jbm90aWZ5UGxhY2VtZW50Q2hhbmdlKG51bGwpO1xuICAgIH1cblxuICAgIC8vIE5vIHN1aXRhYmxlIHBsYWNlbWVudCB3YXMgZm91bmQsIHNvIHJldmVydCB0byBwcmVmZXJyZWQgcGxhY2VtZW50LlxuICAgIHJldHVybiB0aGlzLiNnZXRQcmVmZXJyZWRPZmZzZXQodGhpcy4jY29uZmlnLnBsYWNlbWVudCk7XG4gIH1cblxuICAjZ2V0UHJlZmVycmVkT2Zmc2V0KHBsYWNlbWVudDogU2t5QWZmaXhQbGFjZW1lbnQpOiBSZXF1aXJlZDxTa3lBZmZpeE9mZnNldD4ge1xuICAgIGlmICghdGhpcy4jYmFzZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB7IHRvcDogMCwgbGVmdDogMCwgYm90dG9tOiAwLCByaWdodDogMCB9O1xuICAgIH1cblxuICAgIGNvbnN0IGFmZml4ZWRSZWN0ID0gdGhpcy4jYWZmaXhlZEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgYmFzZVJlY3QgPSB0aGlzLiNiYXNlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IGhvcml6b250YWxBbGlnbm1lbnQgPSB0aGlzLiNjb25maWcuaG9yaXpvbnRhbEFsaWdubWVudDtcbiAgICBjb25zdCB2ZXJ0aWNhbEFsaWdubWVudCA9IHRoaXMuI2NvbmZpZy52ZXJ0aWNhbEFsaWdubWVudDtcbiAgICBjb25zdCBlbmFibGVBdXRvRml0ID0gdGhpcy4jY29uZmlnLmVuYWJsZUF1dG9GaXQ7XG5cbiAgICBsZXQgdG9wOiBudW1iZXI7XG4gICAgbGV0IGxlZnQ6IG51bWJlcjtcblxuICAgIGlmIChwbGFjZW1lbnQgPT09ICdhYm92ZScgfHwgcGxhY2VtZW50ID09PSAnYmVsb3cnKSB7XG4gICAgICBpZiAocGxhY2VtZW50ID09PSAnYWJvdmUnKSB7XG4gICAgICAgIHRvcCA9IGJhc2VSZWN0LnRvcCAtIGFmZml4ZWRSZWN0LmhlaWdodDtcblxuICAgICAgICBzd2l0Y2ggKHZlcnRpY2FsQWxpZ25tZW50KSB7XG4gICAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICAgIHRvcCA9IHRvcCArIGFmZml4ZWRSZWN0LmhlaWdodDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ21pZGRsZSc6XG4gICAgICAgICAgICB0b3AgPSB0b3AgKyBhZmZpeGVkUmVjdC5oZWlnaHQgLyAyO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvcCA9IGJhc2VSZWN0LmJvdHRvbTtcblxuICAgICAgICBzd2l0Y2ggKHZlcnRpY2FsQWxpZ25tZW50KSB7XG4gICAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnbWlkZGxlJzpcbiAgICAgICAgICAgIHRvcCA9IHRvcCAtIGFmZml4ZWRSZWN0LmhlaWdodCAvIDI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgICAgdG9wID0gdG9wIC0gYWZmaXhlZFJlY3QuaGVpZ2h0O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3dpdGNoIChob3Jpem9udGFsQWxpZ25tZW50KSB7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgIGxlZnQgPSBiYXNlUmVjdC5sZWZ0O1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2NlbnRlcic6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgbGVmdCA9IGJhc2VSZWN0LmxlZnQgKyBiYXNlUmVjdC53aWR0aCAvIDIgLSBhZmZpeGVkUmVjdC53aWR0aCAvIDI7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgIGxlZnQgPSBiYXNlUmVjdC5yaWdodCAtIGFmZml4ZWRSZWN0LndpZHRoO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocGxhY2VtZW50ID09PSAnbGVmdCcpIHtcbiAgICAgICAgbGVmdCA9IGJhc2VSZWN0LmxlZnQgLSBhZmZpeGVkUmVjdC53aWR0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxlZnQgPSBiYXNlUmVjdC5yaWdodDtcbiAgICAgIH1cblxuICAgICAgc3dpdGNoICh2ZXJ0aWNhbEFsaWdubWVudCkge1xuICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgIHRvcCA9IGJhc2VSZWN0LnRvcDtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdtaWRkbGUnOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRvcCA9IGJhc2VSZWN0LnRvcCArIGJhc2VSZWN0LmhlaWdodCAvIDIgLSBhZmZpeGVkUmVjdC5oZWlnaHQgLyAyO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgdG9wID0gYmFzZVJlY3QuYm90dG9tIC0gYWZmaXhlZFJlY3QuaGVpZ2h0O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG9mZnNldDogUmVxdWlyZWQ8U2t5QWZmaXhPZmZzZXQ+ID0geyB0b3AsIGxlZnQsIGJvdHRvbTogMCwgcmlnaHQ6IDAgfTtcblxuICAgIGlmIChlbmFibGVBdXRvRml0KSB7XG4gICAgICBjb25zdCBhZGp1c3RtZW50cyA9IHRoaXMuI2FkanVzdE9mZnNldFRvT3ZlcmZsb3dQYXJlbnQoXG4gICAgICAgIHsgdG9wLCBsZWZ0IH0sXG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgdGhpcy4jYmFzZUVsZW1lbnRcbiAgICAgICk7XG4gICAgICBvZmZzZXQudG9wID0gYWRqdXN0bWVudHMudG9wO1xuICAgICAgb2Zmc2V0LmxlZnQgPSBhZGp1c3RtZW50cy5sZWZ0O1xuICAgIH1cblxuICAgIG9mZnNldC5ib3R0b20gPSBvZmZzZXQudG9wICsgYWZmaXhlZFJlY3QuaGVpZ2h0O1xuICAgIG9mZnNldC5yaWdodCA9IG9mZnNldC5sZWZ0ICsgYWZmaXhlZFJlY3Qud2lkdGg7XG5cbiAgICByZXR1cm4gb2Zmc2V0O1xuICB9XG5cbiAgLyoqXG4gICAqIFNsaWdodGx5IGFkanVzdCB0aGUgb2Zmc2V0IHRvIGZpdCB3aXRoaW4gdGhlIHNjcm9sbCBwYXJlbnQncyBib3VuZGFyaWVzIGlmXG4gICAqIHRoZSBhZmZpeGVkIGVsZW1lbnQgd291bGQgb3RoZXJ3aXNlIGJlIGNsaXBwZWQuXG4gICAqL1xuICAjYWRqdXN0T2Zmc2V0VG9PdmVyZmxvd1BhcmVudChcbiAgICBvZmZzZXQ6IHsgdG9wOiBudW1iZXI7IGxlZnQ6IG51bWJlciB9LFxuICAgIHBsYWNlbWVudDogU2t5QWZmaXhQbGFjZW1lbnQsXG4gICAgYmFzZUVsZW1lbnQ6IEhUTUxFbGVtZW50XG4gICk6IHsgdG9wOiBudW1iZXI7IGxlZnQ6IG51bWJlciB9IHtcbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLiNnZXRBdXRvRml0Q29udGV4dFBhcmVudCgpO1xuICAgIGNvbnN0IHBhcmVudE9mZnNldCA9IGdldEVsZW1lbnRPZmZzZXQoXG4gICAgICBwYXJlbnQsXG4gICAgICB0aGlzLiNjb25maWcuYXV0b0ZpdE92ZXJmbG93T2Zmc2V0XG4gICAgKTtcblxuICAgIGNvbnN0IGFmZml4ZWRSZWN0ID0gdGhpcy4jYWZmaXhlZEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgYmFzZVJlY3QgPSBiYXNlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIC8vIEEgcGl4ZWwgdmFsdWUgcmVwcmVzZW50aW5nIHRoZSBsZWV3YXkgYmV0d2VlbiB0aGUgZWRnZSBvZiB0aGUgb3ZlcmZsb3cgcGFyZW50IGFuZCB0aGUgZWRnZVxuICAgIC8vIG9mIHRoZSBiYXNlIGVsZW1lbnQgYmVmb3JlIGl0IGRpc2FwcGVhcnMgZnJvbSB2aWV3LlxuICAgIC8vIElmIHRoZSB2aXNpYmxlIHBvcnRpb24gb2YgdGhlIGJhc2UgZWxlbWVudCBpcyBsZXNzIHRoYW4gdGhpcyBwaXhlbCB2YWx1ZSwgdGhlIGF1dG8tZml0XG4gICAgLy8gZnVuY3Rpb25hbGl0eSBhdHRlbXB0cyB0byBmaW5kIGFub3RoZXIgcGxhY2VtZW50LlxuICAgIGNvbnN0IGRlZmF1bHRQaXhlbFRvbGVyYW5jZSA9IDQwO1xuICAgIGxldCBwaXhlbFRvbGVyYW5jZTogbnVtYmVyO1xuXG4gICAgY29uc3Qgb3JpZ2luYWxPZmZzZXRUb3AgPSBvZmZzZXQudG9wO1xuICAgIGNvbnN0IG9yaWdpbmFsT2Zmc2V0TGVmdCA9IG9mZnNldC5sZWZ0O1xuXG4gICAgc3dpdGNoIChwbGFjZW1lbnQpIHtcbiAgICAgIGNhc2UgJ2Fib3ZlJzpcbiAgICAgIGNhc2UgJ2JlbG93JzpcbiAgICAgICAgLy8gS2VlcCB0aGUgYWZmaXhlZCBlbGVtZW50IHdpdGhpbiB0aGUgb3ZlcmZsb3cgcGFyZW50LlxuICAgICAgICBpZiAob2Zmc2V0LmxlZnQgPCBwYXJlbnRPZmZzZXQubGVmdCkge1xuICAgICAgICAgIG9mZnNldC5sZWZ0ID0gcGFyZW50T2Zmc2V0LmxlZnQ7XG4gICAgICAgIH0gZWxzZSBpZiAob2Zmc2V0LmxlZnQgKyBhZmZpeGVkUmVjdC53aWR0aCA+IHBhcmVudE9mZnNldC5yaWdodCkge1xuICAgICAgICAgIG9mZnNldC5sZWZ0ID0gcGFyZW50T2Zmc2V0LnJpZ2h0IC0gYWZmaXhlZFJlY3Qud2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVc2UgYSBzbWFsbGVyIHBpeGVsIHRvbGVyYW5jZSBpZiB0aGUgYmFzZSBlbGVtZW50IHdpZHRoIGlzIGxlc3MgdGhhbiB0aGUgZGVmYXVsdC5cbiAgICAgICAgcGl4ZWxUb2xlcmFuY2UgPSBNYXRoLm1pbihkZWZhdWx0UGl4ZWxUb2xlcmFuY2UsIGJhc2VSZWN0LndpZHRoKTtcblxuICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIGFmZml4ZWQgZWxlbWVudCBuZXZlciBkZXRhY2hlcyBmcm9tIHRoZSBiYXNlIGVsZW1lbnQuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBvZmZzZXQubGVmdCArIHBpeGVsVG9sZXJhbmNlID4gYmFzZVJlY3QucmlnaHQgfHxcbiAgICAgICAgICBvZmZzZXQubGVmdCArIGFmZml4ZWRSZWN0LndpZHRoIC0gcGl4ZWxUb2xlcmFuY2UgPCBiYXNlUmVjdC5sZWZ0XG4gICAgICAgICkge1xuICAgICAgICAgIG9mZnNldC5sZWZ0ID0gb3JpZ2luYWxPZmZzZXRMZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAvLyBLZWVwIHRoZSBhZmZpeGVkIGVsZW1lbnQgd2l0aGluIHRoZSBvdmVyZmxvdyBwYXJlbnQuXG4gICAgICAgIGlmIChvZmZzZXQudG9wIDwgcGFyZW50T2Zmc2V0LnRvcCkge1xuICAgICAgICAgIG9mZnNldC50b3AgPSBwYXJlbnRPZmZzZXQudG9wO1xuICAgICAgICB9IGVsc2UgaWYgKG9mZnNldC50b3AgKyBhZmZpeGVkUmVjdC5oZWlnaHQgPiBwYXJlbnRPZmZzZXQuYm90dG9tKSB7XG4gICAgICAgICAgb2Zmc2V0LnRvcCA9IHBhcmVudE9mZnNldC5ib3R0b20gLSBhZmZpeGVkUmVjdC5oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVc2UgYSBzbWFsbGVyIHBpeGVsIHRvbGVyYW5jZSBpZiB0aGUgYmFzZSBlbGVtZW50IGhlaWdodCBpcyBsZXNzIHRoYW4gdGhlIGRlZmF1bHQuXG4gICAgICAgIHBpeGVsVG9sZXJhbmNlID0gTWF0aC5taW4oZGVmYXVsdFBpeGVsVG9sZXJhbmNlLCBiYXNlUmVjdC5oZWlnaHQpO1xuXG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgYWZmaXhlZCBlbGVtZW50IG5ldmVyIGRldGFjaGVzIGZyb20gdGhlIGJhc2UgZWxlbWVudC5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIG9mZnNldC50b3AgKyBwaXhlbFRvbGVyYW5jZSA+IGJhc2VSZWN0LmJvdHRvbSB8fFxuICAgICAgICAgIG9mZnNldC50b3AgKyBhZmZpeGVkUmVjdC5oZWlnaHQgLSBwaXhlbFRvbGVyYW5jZSA8IGJhc2VSZWN0LnRvcFxuICAgICAgICApIHtcbiAgICAgICAgICBvZmZzZXQudG9wID0gb3JpZ2luYWxPZmZzZXRUb3A7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gb2Zmc2V0O1xuICB9XG5cbiAgI2dldEltbWVkaWF0ZU92ZXJmbG93UGFyZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jb3ZlcmZsb3dQYXJlbnRzW3RoaXMuI292ZXJmbG93UGFyZW50cy5sZW5ndGggLSAxXTtcbiAgfVxuXG4gICNnZXRBdXRvRml0Q29udGV4dFBhcmVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgY29uc3QgYm9keUVsZW1lbnQgPSB0aGlzLiNvdmVyZmxvd1BhcmVudHNbMF07XG5cbiAgICByZXR1cm4gdGhpcy4jY29uZmlnLmF1dG9GaXRDb250ZXh0ID09PSBTa3lBZmZpeEF1dG9GaXRDb250ZXh0Lk92ZXJmbG93UGFyZW50XG4gICAgICA/IHRoaXMuI2dldEltbWVkaWF0ZU92ZXJmbG93UGFyZW50KClcbiAgICAgIDogYm9keUVsZW1lbnQ7XG4gIH1cblxuICAjbm90aWZ5UGxhY2VtZW50Q2hhbmdlKHBsYWNlbWVudDogU2t5QWZmaXhQbGFjZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRQbGFjZW1lbnQgIT09IHBsYWNlbWVudCkge1xuICAgICAgdGhpcy4jY3VycmVudFBsYWNlbWVudCA9IHBsYWNlbWVudCA/PyB1bmRlZmluZWQ7XG4gICAgICB0aGlzLiNwbGFjZW1lbnRDaGFuZ2UubmV4dCh7XG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICNyZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLiNyZW1vdmVTY3JvbGxMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLiNyZW1vdmVSZXNpemVMaXN0ZW5lcigpO1xuXG4gICAgdGhpcy4jb3ZlcmZsb3dQYXJlbnRzID0gW107XG5cbiAgICB0aGlzLiNjb25maWcgPVxuICAgICAgdGhpcy4jYmFzZUVsZW1lbnQgPVxuICAgICAgdGhpcy4jY3VycmVudFBsYWNlbWVudCA9XG4gICAgICB0aGlzLiNjdXJyZW50T2Zmc2V0ID1cbiAgICAgICAgdW5kZWZpbmVkO1xuICB9XG5cbiAgI2lzTmV3T2Zmc2V0KG9mZnNldDogU2t5QWZmaXhPZmZzZXQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy4jY3VycmVudE9mZnNldCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLiNjdXJyZW50T2Zmc2V0ID0gb2Zmc2V0O1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy4jY3VycmVudE9mZnNldC50b3AgPT09IG9mZnNldC50b3AgJiZcbiAgICAgIHRoaXMuI2N1cnJlbnRPZmZzZXQubGVmdCA9PT0gb2Zmc2V0LmxlZnRcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLiNjdXJyZW50T2Zmc2V0ID0gb2Zmc2V0O1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAjaXNCYXNlRWxlbWVudFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLiNiYXNlRWxlbWVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGJhc2VSZWN0ID0gdGhpcy4jYmFzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICByZXR1cm4gaXNPZmZzZXRQYXJ0aWFsbHlWaXNpYmxlV2l0aGluUGFyZW50KFxuICAgICAgdGhpcy4jZ2V0SW1tZWRpYXRlT3ZlcmZsb3dQYXJlbnQoKSxcbiAgICAgIHtcbiAgICAgICAgdG9wOiBiYXNlUmVjdC50b3AsXG4gICAgICAgIGxlZnQ6IGJhc2VSZWN0LmxlZnQsXG4gICAgICAgIHJpZ2h0OiBiYXNlUmVjdC5yaWdodCxcbiAgICAgICAgYm90dG9tOiBiYXNlUmVjdC5ib3R0b20sXG4gICAgICB9LFxuICAgICAgdGhpcy4jY29uZmlnLmF1dG9GaXRPdmVyZmxvd09mZnNldFxuICAgICk7XG4gIH1cblxuICAjYWRkU2Nyb2xsTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuI3Njcm9sbExpc3RlbmVycyA9IHRoaXMuI292ZXJmbG93UGFyZW50cy5tYXAoKHBhcmVudEVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IG92ZXJmbG93ID1cbiAgICAgICAgcGFyZW50RWxlbWVudCA9PT0gZG9jdW1lbnQuYm9keSA/ICd3aW5kb3cnIDogcGFyZW50RWxlbWVudDtcbiAgICAgIHJldHVybiB0aGlzLiNyZW5kZXJlci5saXN0ZW4ob3ZlcmZsb3csICdzY3JvbGwnLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuI2FmZml4KCk7XG4gICAgICAgIHRoaXMuI292ZXJmbG93U2Nyb2xsLm5leHQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgI2FkZFJlc2l6ZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIHRoaXMuI3Jlc2l6ZUxpc3RlbmVyID0gZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpLnN1YnNjcmliZSgoKSA9PlxuICAgICAgdGhpcy4jYWZmaXgoKVxuICAgICk7XG4gIH1cblxuICAjcmVtb3ZlUmVzaXplTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3Jlc2l6ZUxpc3RlbmVyKSB7XG4gICAgICB0aGlzLiNyZXNpemVMaXN0ZW5lci51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy4jcmVzaXplTGlzdGVuZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI3JlbW92ZVNjcm9sbExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jc2Nyb2xsTGlzdGVuZXJzKSB7XG4gICAgICAvLyBSZW1vdmUgcmVuZGVyZXItZ2VuZXJhdGVkIGxpc3RlbmVycyBieSBjYWxsaW5nIHRoZSBsaXN0ZW5lciBpdHNlbGYuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy85MzY4I2lzc3VlY29tbWVudC0yMjcxOTk3NzhcbiAgICAgIHRoaXMuI3Njcm9sbExpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4gbGlzdGVuZXIoKSk7XG4gICAgICB0aGlzLiNzY3JvbGxMaXN0ZW5lcnMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
|
377
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXhlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBT2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixnQ0FBZ0MsRUFDaEMsb0NBQW9DLEdBQ3JDLE1BQU0sYUFBYSxDQUFDO0FBa0JyQixNQUFNLG9CQUFvQixHQUEwQjtJQUNsRCxjQUFjLEVBQUUsc0JBQXNCLENBQUMsY0FBYztJQUNyRCxhQUFhLEVBQUUsS0FBSztJQUNwQixtQkFBbUIsRUFBRSxRQUFRO0lBQzdCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsU0FBUyxFQUFFLE9BQU87Q0FDbkIsQ0FBQztBQUVGLE1BQU0sT0FBTyxVQUFVO0lBQ3JCOztPQUVHO0lBQ0gsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sdUJBQUEsSUFBSSxtQ0FBaUIsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsY0FBYztRQUN2QixPQUFPLHVCQUFBLElBQUkscUNBQW1CLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsZUFBZTtRQUN4QixPQUFPLHVCQUFBLElBQUksc0NBQW9CLENBQUM7SUFDbEMsQ0FBQztJQXFERCxZQUFZLGNBQTJCLEVBQUUsUUFBbUI7O1FBOUI1RCw2Q0FBNkI7UUFFN0IsMENBQXNDO1FBRXRDLDRDQUEyQztRQUUzQywrQ0FBaUQ7UUFFakQsMkNBQTZDO1FBRTdDLDhDQUFtRDtR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QVgsSUFBSSxDQUFTLENBQUM7WUFDZCx1QkFBQSxJQUFJLGtDQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLE1BQUEsQ0FBQztBQUNMLENBQUM7SUFHQyx1QkFBQSxJQUFJLDhCQUFtQixTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDaEUsdUJBQUEsSUFBSSxnREFBTyxNQUFYLElBQUksQ0FBUyxDQUNkLE1BQUEsQ0FBQztBQUNKLENBQUM7SUFHQyxJQUFJLHVCQUFBLElBQUksa0NBQWdCLEVBQUU7UUFDeEIsdUJBQUEsSUFBSSxrQ0FBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyx1QkFBQSxJQUFJLDhCQUFtQixTQUFTLE1BQUEsQ0FBQztLQUNsQztBQUNILENBQUM7SUFHQyxJQUFJLHVCQUFBLElBQUksbUNBQWlCLEVBQUU7UUFDekIsc0VBQXNFO1FBQ3RFLHdFQUF3RTtRQUN4RSx1QkFBQSxJQUFJLG1DQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN4RCx1QkFBQSxJQUFJLCtCQUFvQixTQUFTLE1BQUEsQ0FBQztLQUNuQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5QWZmaXhBdXRvRml0Q29udGV4dCB9IGZyb20gJy4vYWZmaXgtYXV0by1maXQtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lBZmZpeENvbmZpZyB9IGZyb20gJy4vYWZmaXgtY29uZmlnJztcbmltcG9ydCB7IFNreUFmZml4T2Zmc2V0IH0gZnJvbSAnLi9hZmZpeC1vZmZzZXQnO1xuaW1wb3J0IHsgU2t5QWZmaXhPZmZzZXRDaGFuZ2UgfSBmcm9tICcuL2FmZml4LW9mZnNldC1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5QWZmaXhQbGFjZW1lbnQgfSBmcm9tICcuL2FmZml4LXBsYWNlbWVudCc7XG5pbXBvcnQgeyBTa3lBZmZpeFBsYWNlbWVudENoYW5nZSB9IGZyb20gJy4vYWZmaXgtcGxhY2VtZW50LWNoYW5nZSc7XG5pbXBvcnQgeyBBZmZpeFJlY3QgfSBmcm9tICcuL2FmZml4LXJlY3QnO1xuaW1wb3J0IHsgZ2V0SW52ZXJzZVBsYWNlbWVudCwgZ2V0TmV4dFBsYWNlbWVudCB9IGZyb20gJy4vYWZmaXgtdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0RWxlbWVudE9mZnNldCxcbiAgZ2V0T3ZlcmZsb3dQYXJlbnRzLFxuICBpc09mZnNldEZ1bGx5VmlzaWJsZVdpdGhpblBhcmVudCxcbiAgaXNPZmZzZXRQYXJ0aWFsbHlWaXNpYmxlV2l0aGluUGFyZW50LFxufSBmcm9tICcuL2RvbS11dGlscyc7XG5cbi8qKlxuICogTWFrZSBzcGVjaWZpYyBwcm9wZXJ0aWVzIHJlcXVpcmVkLCBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG9cbiAqIGRvIG51bGwgY2hlY2tzIHRocm91Z2hvdXQgdGhpcyBmaWxlLlxuICovXG50eXBlIEFmZml4Q29uZmlnT3JEZWZhdWx0cyA9IFNreUFmZml4Q29uZmlnICZcbiAgUmVxdWlyZWQ8XG4gICAgUGljazxcbiAgICAgIFNreUFmZml4Q29uZmlnLFxuICAgICAgfCAnYXV0b0ZpdENvbnRleHQnXG4gICAgICB8ICdlbmFibGVBdXRvRml0J1xuICAgICAgfCAnaG9yaXpvbnRhbEFsaWdubWVudCdcbiAgICAgIHwgJ2lzU3RpY2t5J1xuICAgICAgfCAncGxhY2VtZW50J1xuICAgID5cbiAgPjtcblxuY29uc3QgREVGQVVMVF9BRkZJWF9DT05GSUc6IEFmZml4Q29uZmlnT3JEZWZhdWx0cyA9IHtcbiAgYXV0b0ZpdENvbnRleHQ6IFNreUFmZml4QXV0b0ZpdENvbnRleHQuT3ZlcmZsb3dQYXJlbnQsXG4gIGVuYWJsZUF1dG9GaXQ6IGZhbHNlLFxuICBob3Jpem9udGFsQWxpZ25tZW50OiAnY2VudGVyJyxcbiAgaXNTdGlja3k6IGZhbHNlLFxuICBwbGFjZW1lbnQ6ICdhYm92ZScsXG59O1xuXG5leHBvcnQgY2xhc3MgU2t5QWZmaXhlciB7XG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBhZmZpeGVkIGVsZW1lbnQncyBvZmZzZXQgY2hhbmdlcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgb2Zmc2V0Q2hhbmdlKCk6IE9ic2VydmFibGU8U2t5QWZmaXhPZmZzZXRDaGFuZ2U+IHtcbiAgICByZXR1cm4gdGhpcy4jb2Zmc2V0Q2hhbmdlT2JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGJhc2UgZWxlbWVudCdzIG5lYXJlc3Qgb3ZlcmZsb3cgcGFyZW50IGlzIHNjcm9sbGluZy4gVGhpcyBpcyB1c2VmdWwgaWYgeW91IG5lZWRcbiAgICogdG8gcGVyZm9ybSBhbiBhZGRpdGlvbmFsIGFjdGlvbiBkdXJpbmcgdGhlIHNjcm9sbCBldmVudCBidXQgZG9uJ3Qgd2FudCB0byBnZW5lcmF0ZSBhbm90aGVyXG4gICAqIGV2ZW50IGxpc3RlbmVyLlxuICAgKi9cbiAgcHVibGljIGdldCBvdmVyZmxvd1Njcm9sbCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jb3ZlcmZsb3dTY3JvbGxPYnM7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgcGxhY2VtZW50IHZhbHVlIGNoYW5nZXMuIEEgYG51bGxgIHZhbHVlIGluZGljYXRlcyB0aGF0IGEgc3VpdGFibGVcbiAgICogcGxhY2VtZW50IGNvdWxkIG5vdCBiZSBmb3VuZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgcGxhY2VtZW50Q2hhbmdlKCk6IE9ic2VydmFibGU8U2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2U+IHtcbiAgICByZXR1cm4gdGhpcy4jcGxhY2VtZW50Q2hhbmdlT2JzO1xuICB9XG5cbiAgZ2V0ICNjb25maWcoKTogQWZmaXhDb25maWdPckRlZmF1bHRzIHtcbiAgICByZXR1cm4gdGhpcy4jX2NvbmZpZztcbiAgfVxuXG4gIHNldCAjY29uZmlnKHZhbHVlOiBTa3lBZmZpeENvbmZpZyB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG1lcmdlZDogQWZmaXhDb25maWdPckRlZmF1bHRzID0ge1xuICAgICAgLi4uREVGQVVMVF9BRkZJWF9DT05GSUcsXG4gICAgICAuLi52YWx1ZSxcbiAgICB9O1xuXG4gICAgLy8gTWFrZSBzdXJlIG5vbmUgb2YgdGhlIHZhbHVlcyBhcmUgdW5kZWZpbmVkLlxuICAgIGxldCBrZXk6IGtleW9mIHR5cGVvZiBtZXJnZWQ7XG4gICAgZm9yIChrZXkgaW4gbWVyZ2VkKSB7XG4gICAgICBpZiAobWVyZ2VkW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAobWVyZ2VkIGFzIGFueSlba2V5XSA9IERFRkFVTFRfQUZGSVhfQ09ORklHW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy4jX2NvbmZpZyA9IG1lcmdlZDtcbiAgfVxuXG4gICNhZmZpeGVkRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgI2Jhc2VFbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAjY3VycmVudE9mZnNldDogU2t5QWZmaXhPZmZzZXQgfCB1bmRlZmluZWQ7XG5cbiAgI2N1cnJlbnRQbGFjZW1lbnQ6IFNreUFmZml4UGxhY2VtZW50IHwgdW5kZWZpbmVkO1xuXG4gICNvZmZzZXRDaGFuZ2U6IFN1YmplY3Q8U2t5QWZmaXhPZmZzZXRDaGFuZ2U+O1xuXG4gICNvZmZzZXRDaGFuZ2VPYnM6IE9ic2VydmFibGU8U2t5QWZmaXhPZmZzZXRDaGFuZ2U+O1xuXG4gICNvdmVyZmxvd1BhcmVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICAjb3ZlcmZsb3dTY3JvbGw6IFN1YmplY3Q8dm9pZD47XG5cbiAgI292ZXJmbG93U2Nyb2xsT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNwbGFjZW1lbnRDaGFuZ2U6IFN1YmplY3Q8U2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2U+O1xuXG4gICNwbGFjZW1lbnRDaGFuZ2VPYnM6IE9ic2VydmFibGU8U2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2U+O1xuXG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICNyZXNpemVMaXN0ZW5lcjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICNzY3JvbGxMaXN0ZW5lcnM6ICgoKSA9PiB2b2lkKVtdIHwgdW5kZWZpbmVkO1xuXG4gICNfY29uZmlnOiBBZmZpeENvbmZpZ09yRGVmYXVsdHMgPSBERUZBVUxUX0FGRklYX0NPTkZJRztcblxuICBjb25zdHJ1Y3RvcihhZmZpeGVkRWxlbWVudDogSFRNTEVsZW1lbnQsIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICB0aGlzLiNhZmZpeGVkRWxlbWVudCA9IGFmZml4ZWRFbGVtZW50O1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG5cbiAgICB0aGlzLiNvZmZzZXRDaGFuZ2UgPSBuZXcgU3ViamVjdDxTa3lBZmZpeE9mZnNldENoYW5nZT4oKTtcbiAgICB0aGlzLiNvdmVyZmxvd1Njcm9sbCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgdGhpcy4jcGxhY2VtZW50Q2hhbmdlID0gbmV3IFN1YmplY3Q8U2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2U+KCk7XG5cbiAgICB0aGlzLiNvZmZzZXRDaGFuZ2VPYnMgPSB0aGlzLiNvZmZzZXRDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy4jb3ZlcmZsb3dTY3JvbGxPYnMgPSB0aGlzLiNvdmVyZmxvd1Njcm9sbC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNwbGFjZW1lbnRDaGFuZ2VPYnMgPSB0aGlzLiNwbGFjZW1lbnRDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQWZmaXhlcyBhbiBlbGVtZW50IHRvIGEgYmFzZSBlbGVtZW50LlxuICAgKiBAcGFyYW0gYmFzZUVsZW1lbnQgVGhlIGJhc2UgZWxlbWVudC5cbiAgICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciB0aGUgYWZmaXggYWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGFmZml4VG8oYmFzZUVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjb25maWc/OiBTa3lBZmZpeENvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMuI3Jlc2V0KCk7XG5cbiAgICB0aGlzLiNjb25maWcgPSBjb25maWc7XG4gICAgdGhpcy4jYmFzZUVsZW1lbnQgPSBiYXNlRWxlbWVudDtcbiAgICB0aGlzLiNvdmVyZmxvd1BhcmVudHMgPSBnZXRPdmVyZmxvd1BhcmVudHMoYmFzZUVsZW1lbnQpO1xuXG4gICAgdGhpcy4jYWZmaXgoKTtcblxuICAgIGlmICh0aGlzLiNjb25maWcuaXNTdGlja3kpIHtcbiAgICAgIHRoaXMuI2FkZFNjcm9sbExpc3RlbmVycygpO1xuICAgICAgdGhpcy4jYWRkUmVzaXplTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29uZmlnKCk6IFNreUFmZml4Q29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy4jY29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXJ1bnMgdGhlIGFmZml4IGNhbGN1bGF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWZmaXgoKTogdm9pZCB7XG4gICAgLy8gUmVzZXQgY3VycmVudCBwbGFjZW1lbnQgdG8gcHJlZmVycmVkIHBsYWNlbWVudC5cbiAgICB0aGlzLiNjdXJyZW50UGxhY2VtZW50ID0gdGhpcy4jY29uZmlnLnBsYWNlbWVudDtcbiAgICB0aGlzLiNhZmZpeCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoZSBhZmZpeGVyLlxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVzZXQoKTtcbiAgICB0aGlzLiNwbGFjZW1lbnRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNvZmZzZXRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNvdmVyZmxvd1Njcm9sbC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2FmZml4KCk6IHZvaWQge1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuI2dldE9mZnNldCgpO1xuXG4gICAgaWYgKHRoaXMuI2lzTmV3T2Zmc2V0KG9mZnNldCkpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuI2FmZml4ZWRFbGVtZW50LCAndG9wJywgYCR7b2Zmc2V0LnRvcH1weGApO1xuICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUodGhpcy4jYWZmaXhlZEVsZW1lbnQsICdsZWZ0JywgYCR7b2Zmc2V0LmxlZnR9cHhgKTtcblxuICAgICAgdGhpcy4jb2Zmc2V0Q2hhbmdlLm5leHQoeyBvZmZzZXQgfSk7XG4gICAgfVxuICB9XG5cbiAgI2dldE9mZnNldCgpOiBTa3lBZmZpeE9mZnNldCB7XG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy4jZ2V0QXV0b0ZpdENvbnRleHRQYXJlbnQoKTtcblxuICAgIGNvbnN0IG1heEF0dGVtcHRzID0gNDtcbiAgICBsZXQgYXR0ZW1wdHMgPSAwO1xuXG4gICAgbGV0IGlzQWZmaXhlZEVsZW1lbnRGdWxseVZpc2libGUgPSBmYWxzZTtcbiAgICBsZXQgb2Zmc2V0OiBSZXF1aXJlZDxTa3lBZmZpeE9mZnNldD47XG4gICAgbGV0IHBsYWNlbWVudCA9IHRoaXMuI2NvbmZpZy5wbGFjZW1lbnQ7XG5cbiAgICBjb25zdCBhdXRvRml0T3ZlcmZsb3dPZmZzZXQgPSB0aGlzLiNjb25maWcuYXV0b0ZpdE92ZXJmbG93T2Zmc2V0IHx8IHtcbiAgICAgIGJvdHRvbTogMCxcbiAgICAgIGxlZnQ6IDAsXG4gICAgICByaWdodDogMCxcbiAgICAgIHRvcDogMCxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuI2NvbmZpZy5wb3NpdGlvbiA9PT0gJ2Fic29sdXRlJykge1xuICAgICAgYXV0b0ZpdE92ZXJmbG93T2Zmc2V0LnRvcCA9XG4gICAgICAgIChhdXRvRml0T3ZlcmZsb3dPZmZzZXQudG9wIHx8IDApICsgd2luZG93LnNjcm9sbFk7XG4gICAgfVxuXG4gICAgZG8ge1xuICAgICAgb2Zmc2V0ID0gdGhpcy4jZ2V0UHJlZmVycmVkT2Zmc2V0KHBsYWNlbWVudCk7XG4gICAgICBpc0FmZml4ZWRFbGVtZW50RnVsbHlWaXNpYmxlID0gaXNPZmZzZXRGdWxseVZpc2libGVXaXRoaW5QYXJlbnQoXG4gICAgICAgIHBhcmVudCxcbiAgICAgICAgb2Zmc2V0LFxuICAgICAgICBhdXRvRml0T3ZlcmZsb3dPZmZzZXRcbiAgICAgICk7XG5cbiAgICAgIGlmICghdGhpcy4jY29uZmlnLmVuYWJsZUF1dG9GaXQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNBZmZpeGVkRWxlbWVudEZ1bGx5VmlzaWJsZSkge1xuICAgICAgICBwbGFjZW1lbnQgPVxuICAgICAgICAgIGF0dGVtcHRzICUgMiA9PT0gMFxuICAgICAgICAgICAgPyBnZXRJbnZlcnNlUGxhY2VtZW50KHBsYWNlbWVudClcbiAgICAgICAgICAgIDogZ2V0TmV4dFBsYWNlbWVudChwbGFjZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBhdHRlbXB0cysrO1xuICAgIH0gd2hpbGUgKCFpc0FmZml4ZWRFbGVtZW50RnVsbHlWaXNpYmxlICYmIGF0dGVtcHRzIDwgbWF4QXR0ZW1wdHMpO1xuXG4gICAgaWYgKGlzQWZmaXhlZEVsZW1lbnRGdWxseVZpc2libGUpIHtcbiAgICAgIGlmICh0aGlzLiNpc0Jhc2VFbGVtZW50VmlzaWJsZSgpKSB7XG4gICAgICAgIHRoaXMuI25vdGlmeVBsYWNlbWVudENoYW5nZShwbGFjZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jbm90aWZ5UGxhY2VtZW50Q2hhbmdlKG51bGwpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2Zmc2V0O1xuICAgIH1cblxuICAgIGlmICh0aGlzLiNjb25maWcuZW5hYmxlQXV0b0ZpdCkge1xuICAgICAgdGhpcy4jbm90aWZ5UGxhY2VtZW50Q2hhbmdlKG51bGwpO1xuICAgIH1cblxuICAgIC8vIE5vIHN1aXRhYmxlIHBsYWNlbWVudCB3YXMgZm91bmQsIHNvIHJldmVydCB0byBwcmVmZXJyZWQgcGxhY2VtZW50LlxuICAgIHJldHVybiB0aGlzLiNnZXRQcmVmZXJyZWRPZmZzZXQodGhpcy4jY29uZmlnLnBsYWNlbWVudCk7XG4gIH1cblxuICAjZ2V0UmVjdChiYXNlRWxlbWVudDogSFRNTEVsZW1lbnQpOiBBZmZpeFJlY3Qge1xuICAgIGNvbnN0IGJhc2VEb21SZWN0ID0gYmFzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCBiYXNlUmVjdDogQWZmaXhSZWN0ID0ge1xuICAgICAgdG9wOiBiYXNlRG9tUmVjdC50b3AsXG4gICAgICBib3R0b206IGJhc2VEb21SZWN0LmJvdHRvbSxcbiAgICAgIGxlZnQ6IGJhc2VEb21SZWN0LmxlZnQsXG4gICAgICByaWdodDogYmFzZURvbVJlY3QucmlnaHQsXG4gICAgICB3aWR0aDogYmFzZURvbVJlY3Qud2lkdGgsXG4gICAgICBoZWlnaHQ6IGJhc2VEb21SZWN0LmhlaWdodCxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuI2NvbmZpZy5wb3NpdGlvbiA9PT0gJ2Fic29sdXRlJykge1xuICAgICAgYmFzZVJlY3QudG9wICs9IHdpbmRvdy5zY3JvbGxZO1xuICAgICAgYmFzZVJlY3QuYm90dG9tID0gYmFzZVJlY3QudG9wICsgYmFzZURvbVJlY3QuaGVpZ2h0O1xuICAgIH1cblxuICAgIHJldHVybiBiYXNlUmVjdDtcbiAgfVxuXG4gICNnZXRQcmVmZXJyZWRPZmZzZXQocGxhY2VtZW50OiBTa3lBZmZpeFBsYWNlbWVudCk6IFJlcXVpcmVkPFNreUFmZml4T2Zmc2V0PiB7XG4gICAgaWYgKCF0aGlzLiNiYXNlRWxlbWVudCkge1xuICAgICAgcmV0dXJuIHsgdG9wOiAwLCBsZWZ0OiAwLCBib3R0b206IDAsIHJpZ2h0OiAwIH07XG4gICAgfVxuXG4gICAgY29uc3QgYWZmaXhlZFJlY3QgPSB0aGlzLiNnZXRSZWN0KHRoaXMuI2FmZml4ZWRFbGVtZW50KTtcbiAgICBjb25zdCBiYXNlUmVjdCA9IHRoaXMuI2dldFJlY3QodGhpcy4jYmFzZUVsZW1lbnQpO1xuXG4gICAgY29uc3QgaG9yaXpvbnRhbEFsaWdubWVudCA9IHRoaXMuI2NvbmZpZy5ob3Jpem9udGFsQWxpZ25tZW50O1xuICAgIGNvbnN0IHZlcnRpY2FsQWxpZ25tZW50ID0gdGhpcy4jY29uZmlnLnZlcnRpY2FsQWxpZ25tZW50O1xuICAgIGNvbnN0IGVuYWJsZUF1dG9GaXQgPSB0aGlzLiNjb25maWcuZW5hYmxlQXV0b0ZpdDtcblxuICAgIGxldCB0b3A6IG51bWJlcjtcbiAgICBsZXQgbGVmdDogbnVtYmVyO1xuXG4gICAgaWYgKHBsYWNlbWVudCA9PT0gJ2Fib3ZlJyB8fCBwbGFjZW1lbnQgPT09ICdiZWxvdycpIHtcbiAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdhYm92ZScpIHtcbiAgICAgICAgdG9wID0gYmFzZVJlY3QudG9wIC0gYWZmaXhlZFJlY3QuaGVpZ2h0O1xuXG4gICAgICAgIHN3aXRjaCAodmVydGljYWxBbGlnbm1lbnQpIHtcbiAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgICAgdG9wID0gdG9wICsgYWZmaXhlZFJlY3QuaGVpZ2h0O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnbWlkZGxlJzpcbiAgICAgICAgICAgIHRvcCA9IHRvcCArIGFmZml4ZWRSZWN0LmhlaWdodCAvIDI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9wID0gYmFzZVJlY3QuYm90dG9tO1xuXG4gICAgICAgIHN3aXRjaCAodmVydGljYWxBbGlnbm1lbnQpIHtcbiAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtaWRkbGUnOlxuICAgICAgICAgICAgdG9wID0gdG9wIC0gYWZmaXhlZFJlY3QuaGVpZ2h0IC8gMjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICB0b3AgPSB0b3AgLSBhZmZpeGVkUmVjdC5oZWlnaHQ7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKGhvcml6b250YWxBbGlnbm1lbnQpIHtcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgbGVmdCA9IGJhc2VSZWN0LmxlZnQ7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBsZWZ0ID0gYmFzZVJlY3QubGVmdCArIGJhc2VSZWN0LndpZHRoIC8gMiAtIGFmZml4ZWRSZWN0LndpZHRoIC8gMjtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgbGVmdCA9IGJhc2VSZWN0LnJpZ2h0IC0gYWZmaXhlZFJlY3Qud2lkdGg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdsZWZ0Jykge1xuICAgICAgICBsZWZ0ID0gYmFzZVJlY3QubGVmdCAtIGFmZml4ZWRSZWN0LndpZHRoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGVmdCA9IGJhc2VSZWN0LnJpZ2h0O1xuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKHZlcnRpY2FsQWxpZ25tZW50KSB7XG4gICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgdG9wID0gYmFzZVJlY3QudG9wO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ21pZGRsZSc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdG9wID0gYmFzZVJlY3QudG9wICsgYmFzZVJlY3QuaGVpZ2h0IC8gMiAtIGFmZml4ZWRSZWN0LmhlaWdodCAvIDI7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICB0b3AgPSBiYXNlUmVjdC5ib3R0b20gLSBhZmZpeGVkUmVjdC5oZWlnaHQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb2Zmc2V0OiBSZXF1aXJlZDxTa3lBZmZpeE9mZnNldD4gPSB7IHRvcCwgbGVmdCwgYm90dG9tOiAwLCByaWdodDogMCB9O1xuXG4gICAgaWYgKGVuYWJsZUF1dG9GaXQpIHtcbiAgICAgIGNvbnN0IGFkanVzdG1lbnRzID0gdGhpcy4jYWRqdXN0T2Zmc2V0VG9PdmVyZmxvd1BhcmVudChcbiAgICAgICAgeyB0b3AsIGxlZnQgfSxcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICB0aGlzLiNiYXNlRWxlbWVudFxuICAgICAgKTtcbiAgICAgIG9mZnNldC50b3AgPSBhZGp1c3RtZW50cy50b3A7XG4gICAgICBvZmZzZXQubGVmdCA9IGFkanVzdG1lbnRzLmxlZnQ7XG4gICAgfVxuXG4gICAgb2Zmc2V0LmJvdHRvbSA9IG9mZnNldC50b3AgKyBhZmZpeGVkUmVjdC5oZWlnaHQ7XG4gICAgb2Zmc2V0LnJpZ2h0ID0gb2Zmc2V0LmxlZnQgKyBhZmZpeGVkUmVjdC53aWR0aDtcblxuICAgIHJldHVybiBvZmZzZXQ7XG4gIH1cblxuICAvKipcbiAgICogU2xpZ2h0bHkgYWRqdXN0IHRoZSBvZmZzZXQgdG8gZml0IHdpdGhpbiB0aGUgc2Nyb2xsIHBhcmVudCdzIGJvdW5kYXJpZXMgaWZcbiAgICogdGhlIGFmZml4ZWQgZWxlbWVudCB3b3VsZCBvdGhlcndpc2UgYmUgY2xpcHBlZC5cbiAgICovXG4gICNhZGp1c3RPZmZzZXRUb092ZXJmbG93UGFyZW50KFxuICAgIG9mZnNldDogeyB0b3A6IG51bWJlcjsgbGVmdDogbnVtYmVyIH0sXG4gICAgcGxhY2VtZW50OiBTa3lBZmZpeFBsYWNlbWVudCxcbiAgICBiYXNlRWxlbWVudDogSFRNTEVsZW1lbnRcbiAgKTogeyB0b3A6IG51bWJlcjsgbGVmdDogbnVtYmVyIH0ge1xuICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuI2dldEF1dG9GaXRDb250ZXh0UGFyZW50KCk7XG4gICAgY29uc3QgcGFyZW50T2Zmc2V0ID0gZ2V0RWxlbWVudE9mZnNldChcbiAgICAgIHBhcmVudCxcbiAgICAgIHRoaXMuI2NvbmZpZy5hdXRvRml0T3ZlcmZsb3dPZmZzZXRcbiAgICApO1xuXG4gICAgY29uc3QgYWZmaXhlZFJlY3QgPSB0aGlzLiNnZXRSZWN0KHRoaXMuI2FmZml4ZWRFbGVtZW50KTtcbiAgICBjb25zdCBiYXNlUmVjdCA9IHRoaXMuI2dldFJlY3QoYmFzZUVsZW1lbnQpO1xuXG4gICAgLy8gQSBwaXhlbCB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIGxlZXdheSBiZXR3ZWVuIHRoZSBlZGdlIG9mIHRoZSBvdmVyZmxvdyBwYXJlbnQgYW5kIHRoZSBlZGdlXG4gICAgLy8gb2YgdGhlIGJhc2UgZWxlbWVudCBiZWZvcmUgaXQgZGlzYXBwZWFycyBmcm9tIHZpZXcuXG4gICAgLy8gSWYgdGhlIHZpc2libGUgcG9ydGlvbiBvZiB0aGUgYmFzZSBlbGVtZW50IGlzIGxlc3MgdGhhbiB0aGlzIHBpeGVsIHZhbHVlLCB0aGUgYXV0by1maXRcbiAgICAvLyBmdW5jdGlvbmFsaXR5IGF0dGVtcHRzIHRvIGZpbmQgYW5vdGhlciBwbGFjZW1lbnQuXG4gICAgY29uc3QgZGVmYXVsdFBpeGVsVG9sZXJhbmNlID0gNDA7XG4gICAgbGV0IHBpeGVsVG9sZXJhbmNlOiBudW1iZXI7XG5cbiAgICBjb25zdCBvcmlnaW5hbE9mZnNldFRvcCA9IG9mZnNldC50b3A7XG4gICAgY29uc3Qgb3JpZ2luYWxPZmZzZXRMZWZ0ID0gb2Zmc2V0LmxlZnQ7XG5cbiAgICBzd2l0Y2ggKHBsYWNlbWVudCkge1xuICAgICAgY2FzZSAnYWJvdmUnOlxuICAgICAgY2FzZSAnYmVsb3cnOlxuICAgICAgICAvLyBLZWVwIHRoZSBhZmZpeGVkIGVsZW1lbnQgd2l0aGluIHRoZSBvdmVyZmxvdyBwYXJlbnQuXG4gICAgICAgIGlmIChvZmZzZXQubGVmdCA8IHBhcmVudE9mZnNldC5sZWZ0KSB7XG4gICAgICAgICAgb2Zmc2V0LmxlZnQgPSBwYXJlbnRPZmZzZXQubGVmdDtcbiAgICAgICAgfSBlbHNlIGlmIChvZmZzZXQubGVmdCArIGFmZml4ZWRSZWN0LndpZHRoID4gcGFyZW50T2Zmc2V0LnJpZ2h0KSB7XG4gICAgICAgICAgb2Zmc2V0LmxlZnQgPSBwYXJlbnRPZmZzZXQucmlnaHQgLSBhZmZpeGVkUmVjdC53aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVzZSBhIHNtYWxsZXIgcGl4ZWwgdG9sZXJhbmNlIGlmIHRoZSBiYXNlIGVsZW1lbnQgd2lkdGggaXMgbGVzcyB0aGFuIHRoZSBkZWZhdWx0LlxuICAgICAgICBwaXhlbFRvbGVyYW5jZSA9IE1hdGgubWluKGRlZmF1bHRQaXhlbFRvbGVyYW5jZSwgYmFzZVJlY3Qud2lkdGgpO1xuXG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgYWZmaXhlZCBlbGVtZW50IG5ldmVyIGRldGFjaGVzIGZyb20gdGhlIGJhc2UgZWxlbWVudC5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIG9mZnNldC5sZWZ0ICsgcGl4ZWxUb2xlcmFuY2UgPiBiYXNlUmVjdC5yaWdodCB8fFxuICAgICAgICAgIG9mZnNldC5sZWZ0ICsgYWZmaXhlZFJlY3Qud2lkdGggLSBwaXhlbFRvbGVyYW5jZSA8IGJhc2VSZWN0LmxlZnRcbiAgICAgICAgKSB7XG4gICAgICAgICAgb2Zmc2V0LmxlZnQgPSBvcmlnaW5hbE9mZnNldExlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIC8vIEtlZXAgdGhlIGFmZml4ZWQgZWxlbWVudCB3aXRoaW4gdGhlIG92ZXJmbG93IHBhcmVudC5cbiAgICAgICAgaWYgKG9mZnNldC50b3AgPCBwYXJlbnRPZmZzZXQudG9wKSB7XG4gICAgICAgICAgb2Zmc2V0LnRvcCA9IHBhcmVudE9mZnNldC50b3A7XG4gICAgICAgIH0gZWxzZSBpZiAob2Zmc2V0LnRvcCArIGFmZml4ZWRSZWN0LmhlaWdodCA+IHBhcmVudE9mZnNldC5ib3R0b20pIHtcbiAgICAgICAgICBvZmZzZXQudG9wID0gcGFyZW50T2Zmc2V0LmJvdHRvbSAtIGFmZml4ZWRSZWN0LmhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVzZSBhIHNtYWxsZXIgcGl4ZWwgdG9sZXJhbmNlIGlmIHRoZSBiYXNlIGVsZW1lbnQgaGVpZ2h0IGlzIGxlc3MgdGhhbiB0aGUgZGVmYXVsdC5cbiAgICAgICAgcGl4ZWxUb2xlcmFuY2UgPSBNYXRoLm1pbihkZWZhdWx0UGl4ZWxUb2xlcmFuY2UsIGJhc2VSZWN0LmhlaWdodCk7XG5cbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBhZmZpeGVkIGVsZW1lbnQgbmV2ZXIgZGV0YWNoZXMgZnJvbSB0aGUgYmFzZSBlbGVtZW50LlxuICAgICAgICBpZiAoXG4gICAgICAgICAgb2Zmc2V0LnRvcCArIHBpeGVsVG9sZXJhbmNlID4gYmFzZVJlY3QuYm90dG9tIHx8XG4gICAgICAgICAgb2Zmc2V0LnRvcCArIGFmZml4ZWRSZWN0LmhlaWdodCAtIHBpeGVsVG9sZXJhbmNlIDwgYmFzZVJlY3QudG9wXG4gICAgICAgICkge1xuICAgICAgICAgIG9mZnNldC50b3AgPSBvcmlnaW5hbE9mZnNldFRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBvZmZzZXQ7XG4gIH1cblxuICAjZ2V0SW1tZWRpYXRlT3ZlcmZsb3dQYXJlbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNvdmVyZmxvd1BhcmVudHNbdGhpcy4jb3ZlcmZsb3dQYXJlbnRzLmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgI2dldEF1dG9GaXRDb250ZXh0UGFyZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBib2R5RWxlbWVudCA9IHRoaXMuI292ZXJmbG93UGFyZW50c1swXTtcblxuICAgIHJldHVybiB0aGlzLiNjb25maWcuYXV0b0ZpdENvbnRleHQgPT09IFNreUFmZml4QXV0b0ZpdENvbnRleHQuT3ZlcmZsb3dQYXJlbnRcbiAgICAgID8gdGhpcy4jZ2V0SW1tZWRpYXRlT3ZlcmZsb3dQYXJlbnQoKVxuICAgICAgOiBib2R5RWxlbWVudDtcbiAgfVxuXG4gICNub3RpZnlQbGFjZW1lbnRDaGFuZ2UocGxhY2VtZW50OiBTa3lBZmZpeFBsYWNlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jY3VycmVudFBsYWNlbWVudCAhPT0gcGxhY2VtZW50KSB7XG4gICAgICB0aGlzLiNjdXJyZW50UGxhY2VtZW50ID0gcGxhY2VtZW50ID8/IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuI3BsYWNlbWVudENoYW5nZS5uZXh0KHtcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI3Jlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbW92ZVNjcm9sbExpc3RlbmVycygpO1xuICAgIHRoaXMuI3JlbW92ZVJlc2l6ZUxpc3RlbmVyKCk7XG5cbiAgICB0aGlzLiNvdmVyZmxvd1BhcmVudHMgPSBbXTtcblxuICAgIHRoaXMuI2NvbmZpZyA9XG4gICAgICB0aGlzLiNiYXNlRWxlbWVudCA9XG4gICAgICB0aGlzLiNjdXJyZW50UGxhY2VtZW50ID1cbiAgICAgIHRoaXMuI2N1cnJlbnRPZmZzZXQgPVxuICAgICAgICB1bmRlZmluZWQ7XG4gIH1cblxuICAjaXNOZXdPZmZzZXQob2Zmc2V0OiBTa3lBZmZpeE9mZnNldCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLiNjdXJyZW50T2Zmc2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuI2N1cnJlbnRPZmZzZXQgPSBvZmZzZXQ7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLiNjdXJyZW50T2Zmc2V0LnRvcCA9PT0gb2Zmc2V0LnRvcCAmJlxuICAgICAgdGhpcy4jY3VycmVudE9mZnNldC5sZWZ0ID09PSBvZmZzZXQubGVmdFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuI2N1cnJlbnRPZmZzZXQgPSBvZmZzZXQ7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gICNpc0Jhc2VFbGVtZW50VmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuI2Jhc2VFbGVtZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgYmFzZVJlY3QgPSB0aGlzLiNiYXNlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIHJldHVybiBpc09mZnNldFBhcnRpYWxseVZpc2libGVXaXRoaW5QYXJlbnQoXG4gICAgICB0aGlzLiNnZXRJbW1lZGlhdGVPdmVyZmxvd1BhcmVudCgpLFxuICAgICAge1xuICAgICAgICB0b3A6IGJhc2VSZWN0LnRvcCxcbiAgICAgICAgbGVmdDogYmFzZVJlY3QubGVmdCxcbiAgICAgICAgcmlnaHQ6IGJhc2VSZWN0LnJpZ2h0LFxuICAgICAgICBib3R0b206IGJhc2VSZWN0LmJvdHRvbSxcbiAgICAgIH0sXG4gICAgICB0aGlzLiNjb25maWcuYXV0b0ZpdE92ZXJmbG93T2Zmc2V0XG4gICAgKTtcbiAgfVxuXG4gICNhZGRTY3JvbGxMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy4jc2Nyb2xsTGlzdGVuZXJzID0gdGhpcy4jb3ZlcmZsb3dQYXJlbnRzLm1hcCgocGFyZW50RWxlbWVudCkgPT4ge1xuICAgICAgY29uc3Qgb3ZlcmZsb3cgPVxuICAgICAgICBwYXJlbnRFbGVtZW50ID09PSBkb2N1bWVudC5ib2R5ID8gJ3dpbmRvdycgOiBwYXJlbnRFbGVtZW50O1xuICAgICAgcmV0dXJuIHRoaXMuI3JlbmRlcmVyLmxpc3RlbihvdmVyZmxvdywgJ3Njcm9sbCcsICgpID0+IHtcbiAgICAgICAgdGhpcy4jYWZmaXgoKTtcbiAgICAgICAgdGhpcy4jb3ZlcmZsb3dTY3JvbGwubmV4dCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAjYWRkUmVzaXplTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy4jcmVzaXplTGlzdGVuZXIgPSBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJykuc3Vic2NyaWJlKCgpID0+XG4gICAgICB0aGlzLiNhZmZpeCgpXG4gICAgKTtcbiAgfVxuXG4gICNyZW1vdmVSZXNpemVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jcmVzaXplTGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuI3Jlc2l6ZUxpc3RlbmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLiNyZXNpemVMaXN0ZW5lciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlU2Nyb2xsTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzY3JvbGxMaXN0ZW5lcnMpIHtcbiAgICAgIC8vIFJlbW92ZSByZW5kZXJlci1nZW5lcmF0ZWQgbGlzdGVuZXJzIGJ5IGNhbGxpbmcgdGhlIGxpc3RlbmVyIGl0c2VsZi5cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzkzNjgjaXNzdWVjb21tZW50LTIyNzE5OTc3OFxuICAgICAgdGhpcy4jc2Nyb2xsTGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiBsaXN0ZW5lcigpKTtcbiAgICAgIHRoaXMuI3Njcm9sbExpc3RlbmVycyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,80 @@
|
|
1
|
+
var _SkyLiveAnnouncerService_instances, _SkyLiveAnnouncerService_announcerElement, _SkyLiveAnnouncerService_document, _SkyLiveAnnouncerService_idService, _SkyLiveAnnouncerService_createLiveElement;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
+
import { DOCUMENT } from '@angular/common';
|
4
|
+
import { Injectable, inject } from '@angular/core';
|
5
|
+
import { ReplaySubject } from 'rxjs';
|
6
|
+
import { SkyIdService } from '../id/id.service';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
/**
|
9
|
+
* Allows for announcing messages to screen reader users through the use of a common `aria-live` element.
|
10
|
+
* @internal
|
11
|
+
*/
|
12
|
+
export class SkyLiveAnnouncerService {
|
13
|
+
constructor() {
|
14
|
+
_SkyLiveAnnouncerService_instances.add(this);
|
15
|
+
this.announcerElementChanged = new ReplaySubject(1);
|
16
|
+
_SkyLiveAnnouncerService_announcerElement.set(this, void 0);
|
17
|
+
_SkyLiveAnnouncerService_document.set(this, inject(DOCUMENT));
|
18
|
+
_SkyLiveAnnouncerService_idService.set(this, inject(SkyIdService));
|
19
|
+
__classPrivateFieldSet(this, _SkyLiveAnnouncerService_announcerElement, __classPrivateFieldGet(this, _SkyLiveAnnouncerService_instances, "m", _SkyLiveAnnouncerService_createLiveElement).call(this), "f");
|
20
|
+
this.announcerElementChanged.next(__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f"));
|
21
|
+
}
|
22
|
+
/**
|
23
|
+
* Announces a message to screen readers.
|
24
|
+
* @param message Message to be announced to the screen reader.
|
25
|
+
* @param args Options for the announcement of the message.
|
26
|
+
*/
|
27
|
+
announce(message, args) {
|
28
|
+
/* safety-check */
|
29
|
+
/* istanbul ignore if */
|
30
|
+
if (!__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f")) {
|
31
|
+
__classPrivateFieldSet(this, _SkyLiveAnnouncerService_announcerElement, __classPrivateFieldGet(this, _SkyLiveAnnouncerService_instances, "m", _SkyLiveAnnouncerService_createLiveElement).call(this), "f");
|
32
|
+
this.announcerElementChanged.next(__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f"));
|
33
|
+
}
|
34
|
+
const politeness = args?.politeness ?? 'polite';
|
35
|
+
this.clear();
|
36
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f").setAttribute('aria-live', politeness);
|
37
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f").textContent = message;
|
38
|
+
}
|
39
|
+
/**
|
40
|
+
* Clears the current text from the announcer element. Can be used to prevent
|
41
|
+
* screen readers from reading the text out again while the user is going
|
42
|
+
* through the page landmarks.
|
43
|
+
*/
|
44
|
+
clear() {
|
45
|
+
if (__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f")) {
|
46
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f").textContent = '';
|
47
|
+
}
|
48
|
+
}
|
49
|
+
/**
|
50
|
+
* @internal
|
51
|
+
*/
|
52
|
+
ngOnDestroy() {
|
53
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f")?.remove();
|
54
|
+
__classPrivateFieldSet(this, _SkyLiveAnnouncerService_announcerElement, undefined, "f");
|
55
|
+
this.announcerElementChanged.next(undefined);
|
56
|
+
}
|
57
|
+
}
|
58
|
+
_SkyLiveAnnouncerService_announcerElement = new WeakMap(), _SkyLiveAnnouncerService_document = new WeakMap(), _SkyLiveAnnouncerService_idService = new WeakMap(), _SkyLiveAnnouncerService_instances = new WeakSet(), _SkyLiveAnnouncerService_createLiveElement = function _SkyLiveAnnouncerService_createLiveElement() {
|
59
|
+
const elementClass = 'sky-live-announcer-element';
|
60
|
+
const previousElements = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_document, "f").getElementsByClassName(elementClass);
|
61
|
+
const liveEl = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_document, "f").createElement('div');
|
62
|
+
// Remove any old containers. This can happen when coming in from a server-side-rendered page.
|
63
|
+
for (let i = 0; i < previousElements.length; i++) {
|
64
|
+
previousElements[i].remove();
|
65
|
+
}
|
66
|
+
liveEl.classList.add(elementClass);
|
67
|
+
liveEl.classList.add('sky-screen-reader-only');
|
68
|
+
liveEl.setAttribute('aria-atomic', 'true');
|
69
|
+
liveEl.setAttribute('aria-live', 'polite');
|
70
|
+
liveEl.id = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_idService, "f").generateId();
|
71
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_document, "f").body.appendChild(liveEl);
|
72
|
+
return liveEl;
|
73
|
+
};
|
74
|
+
SkyLiveAnnouncerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyLiveAnnouncerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
75
|
+
SkyLiveAnnouncerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyLiveAnnouncerService, providedIn: 'root' });
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyLiveAnnouncerService, decorators: [{
|
77
|
+
type: Injectable,
|
78
|
+
args: [{ providedIn: 'root' }]
|
79
|
+
}], ctorParameters: function () { return []; } });
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1hbm5vdW5jZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9saXZlLWFubm91bmNlci9saXZlLWFubm91bmNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUloRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBU2xDOztRQVJPLDRCQUF1QixHQUFHLElBQUksYUFBYSxDQUNoRCxDQUFDLENBQ0YsQ0FBQztRQUVGLDREQUEyQztRQUMzQyw0Q0FBWSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUM7UUFDN0IsNkNBQWEsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFDO1FBR2hDLHVCQUFBLElBQUksNkNBQXFCLHVCQUFBLElBQUksc0ZBQW1CLE1BQXZCLElBQUksQ0FBcUIsTUFBQSxDQUFDO1FBQ25ELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsdUJBQUEsSUFBSSxpREFBa0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLE9BQWUsRUFBRSxJQUEyQjtRQUMxRCxrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyx1QkFBQSxJQUFJLGlEQUFrQixFQUFFO1lBQzNCLHVCQUFBLElBQUksNkNBQXFCLHVCQUFBLElBQUksc0ZBQW1CLE1BQXZCLElBQUksQ0FBcUIsTUFBQSxDQUFDO1lBQ25ELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsdUJBQUEsSUFBSSxpREFBa0IsQ0FBQyxDQUFDO1NBQzNEO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxFQUFFLFVBQVUsSUFBSSxRQUFRLENBQUM7UUFFaEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWIsdUJBQUEsSUFBSSxpREFBa0IsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTdELHVCQUFBLElBQUksaURBQWtCLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUs7UUFDVixJQUFJLHVCQUFBLElBQUksaURBQWtCLEVBQUU7WUFDMUIsdUJBQUEsSUFBSSxpREFBa0IsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQix1QkFBQSxJQUFJLGlEQUFrQixFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLHVCQUFBLElBQUksNkNBQXFCLFNBQVMsTUFBQSxDQUFDO1FBQ25DLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7O0lBR0MsTUFBTSxZQUFZLEdBQUcsNEJBQTRCLENBQUM7SUFDbEQsTUFBTSxnQkFBZ0IsR0FDcEIsdUJBQUEsSUFBSSx5Q0FBVSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELE1BQU0sTUFBTSxHQUFHLHVCQUFBLElBQUkseUNBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFbkQsOEZBQThGO0lBQzlGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDaEQsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7S0FDOUI7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRS9DLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsdUJBQUEsSUFBSSwwQ0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRXpDLHVCQUFBLElBQUkseUNBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7b0hBN0VVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRFYsTUFBTTsyRkFDbkIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5SWRTZXJ2aWNlIH0gZnJvbSAnLi4vaWQvaWQuc2VydmljZSc7XG5cbmltcG9ydCB7IFNreUxpdmVBbm5vdW5jZXJBcmdzIH0gZnJvbSAnLi90eXBlcy9saXZlLWFubm91bmNlci1hcmdzJztcblxuLyoqXG4gKiBBbGxvd3MgZm9yIGFubm91bmNpbmcgbWVzc2FnZXMgdG8gc2NyZWVuIHJlYWRlciB1c2VycyB0aHJvdWdoIHRoZSB1c2Ugb2YgYSBjb21tb24gYGFyaWEtbGl2ZWAgZWxlbWVudC5cbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNreUxpdmVBbm5vdW5jZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIGFubm91bmNlckVsZW1lbnRDaGFuZ2VkID0gbmV3IFJlcGxheVN1YmplY3Q8SFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ+KFxuICAgIDFcbiAgKTtcblxuICAjYW5ub3VuY2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICNkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gICNpZFNlcnZpY2UgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNhbm5vdW5jZXJFbGVtZW50ID0gdGhpcy4jY3JlYXRlTGl2ZUVsZW1lbnQoKTtcbiAgICB0aGlzLmFubm91bmNlckVsZW1lbnRDaGFuZ2VkLm5leHQodGhpcy4jYW5ub3VuY2VyRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogQW5ub3VuY2VzIGEgbWVzc2FnZSB0byBzY3JlZW4gcmVhZGVycy5cbiAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZSB0byBiZSBhbm5vdW5jZWQgdG8gdGhlIHNjcmVlbiByZWFkZXIuXG4gICAqIEBwYXJhbSBhcmdzIE9wdGlvbnMgZm9yIHRoZSBhbm5vdW5jZW1lbnQgb2YgdGhlIG1lc3NhZ2UuXG4gICAqL1xuICBwdWJsaWMgYW5ub3VuY2UobWVzc2FnZTogc3RyaW5nLCBhcmdzPzogU2t5TGl2ZUFubm91bmNlckFyZ3MpOiB2b2lkIHtcbiAgICAvKiBzYWZldHktY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIXRoaXMuI2Fubm91bmNlckVsZW1lbnQpIHtcbiAgICAgIHRoaXMuI2Fubm91bmNlckVsZW1lbnQgPSB0aGlzLiNjcmVhdGVMaXZlRWxlbWVudCgpO1xuICAgICAgdGhpcy5hbm5vdW5jZXJFbGVtZW50Q2hhbmdlZC5uZXh0KHRoaXMuI2Fubm91bmNlckVsZW1lbnQpO1xuICAgIH1cblxuICAgIGNvbnN0IHBvbGl0ZW5lc3MgPSBhcmdzPy5wb2xpdGVuZXNzID8/ICdwb2xpdGUnO1xuXG4gICAgdGhpcy5jbGVhcigpO1xuXG4gICAgdGhpcy4jYW5ub3VuY2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGl2ZScsIHBvbGl0ZW5lc3MpO1xuXG4gICAgdGhpcy4jYW5ub3VuY2VyRWxlbWVudC50ZXh0Q29udGVudCA9IG1lc3NhZ2U7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBjdXJyZW50IHRleHQgZnJvbSB0aGUgYW5ub3VuY2VyIGVsZW1lbnQuIENhbiBiZSB1c2VkIHRvIHByZXZlbnRcbiAgICogc2NyZWVuIHJlYWRlcnMgZnJvbSByZWFkaW5nIHRoZSB0ZXh0IG91dCBhZ2FpbiB3aGlsZSB0aGUgdXNlciBpcyBnb2luZ1xuICAgKiB0aHJvdWdoIHRoZSBwYWdlIGxhbmRtYXJrcy5cbiAgICovXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jYW5ub3VuY2VyRWxlbWVudCkge1xuICAgICAgdGhpcy4jYW5ub3VuY2VyRWxlbWVudC50ZXh0Q29udGVudCA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNhbm5vdW5jZXJFbGVtZW50Py5yZW1vdmUoKTtcbiAgICB0aGlzLiNhbm5vdW5jZXJFbGVtZW50ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuYW5ub3VuY2VyRWxlbWVudENoYW5nZWQubmV4dCh1bmRlZmluZWQpO1xuICB9XG5cbiAgI2NyZWF0ZUxpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBlbGVtZW50Q2xhc3MgPSAnc2t5LWxpdmUtYW5ub3VuY2VyLWVsZW1lbnQnO1xuICAgIGNvbnN0IHByZXZpb3VzRWxlbWVudHMgPVxuICAgICAgdGhpcy4jZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlbGVtZW50Q2xhc3MpO1xuICAgIGNvbnN0IGxpdmVFbCA9IHRoaXMuI2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgLy8gUmVtb3ZlIGFueSBvbGQgY29udGFpbmVycy4gVGhpcyBjYW4gaGFwcGVuIHdoZW4gY29taW5nIGluIGZyb20gYSBzZXJ2ZXItc2lkZS1yZW5kZXJlZCBwYWdlLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldmlvdXNFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgcHJldmlvdXNFbGVtZW50c1tpXS5yZW1vdmUoKTtcbiAgICB9XG5cbiAgICBsaXZlRWwuY2xhc3NMaXN0LmFkZChlbGVtZW50Q2xhc3MpO1xuICAgIGxpdmVFbC5jbGFzc0xpc3QuYWRkKCdza3ktc2NyZWVuLXJlYWRlci1vbmx5Jyk7XG5cbiAgICBsaXZlRWwuc2V0QXR0cmlidXRlKCdhcmlhLWF0b21pYycsICd0cnVlJyk7XG4gICAgbGl2ZUVsLnNldEF0dHJpYnV0ZSgnYXJpYS1saXZlJywgJ3BvbGl0ZScpO1xuICAgIGxpdmVFbC5pZCA9IHRoaXMuI2lkU2VydmljZS5nZW5lcmF0ZUlkKCk7XG5cbiAgICB0aGlzLiNkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpdmVFbCk7XG5cbiAgICByZXR1cm4gbGl2ZUVsO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1hbm5vdW5jZXItYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9saXZlLWFubm91bmNlci90eXBlcy9saXZlLWFubm91bmNlci1hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lMaXZlQW5ub3VuY2VyUG9saXRlbmVzcyB9IGZyb20gJy4vbGl2ZS1hbm5vdW5jZXItcG9saXRlbmVzcyc7XG5cbi8qKlxuICogT3B0aW9ucyB1c2VkIHdoZW4gYW5ub3VuY2luZyBtZXNzYWdlcyB0byBzY3JlZW4gcmVhZGVycyB2aWEgdGhlIGBTa3lMaXZlQW5ub3VuY2VyU2VydmljZWBcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreUxpdmVBbm5vdW5jZXJBcmdzIHtcbiAgcG9saXRlbmVzcz86IFNreUxpdmVBbm5vdW5jZXJQb2xpdGVuZXNzO1xufVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1hbm5vdW5jZXItcG9saXRlbmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9saXZlLWFubm91bmNlci90eXBlcy9saXZlLWFubm91bmNlci1wb2xpdGVuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFBvc3NpYmxlIHBvbGl0ZW5lc3MgbGV2ZWxzIGZvciBtZXNzYWdlcyBhbm5vdW5jZWQgdmlhIHRoZSBgU2t5TGl2ZUFubm91bmNlclNlcnZpY2VgLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCB0eXBlIFNreUxpdmVBbm5vdW5jZXJQb2xpdGVuZXNzID0gJ29mZicgfCAncG9saXRlJyB8ICdhc3NlcnRpdmUnO1xuIl19
|
@@ -1,6 +1,9 @@
|
|
1
|
+
import { SkyAppFormat } from '../format/app-format';
|
2
|
+
import { SkyLogService } from '../log/log.service';
|
1
3
|
/**
|
2
4
|
* Provides arguments for the number to format.
|
3
5
|
* @deprecated Use the `SkyNumericOptions` interface instead.
|
6
|
+
* @internal
|
4
7
|
*/
|
5
8
|
export class NumericOptions {
|
6
9
|
constructor() {
|
@@ -10,6 +13,14 @@ export class NumericOptions {
|
|
10
13
|
this.iso = 'USD';
|
11
14
|
this.truncate = true;
|
12
15
|
this.truncateAfter = 1000;
|
16
|
+
const logService = new SkyLogService(new SkyAppFormat());
|
17
|
+
logService
|
18
|
+
.deprecated('NumericOptions', {
|
19
|
+
deprecationMajorVersion: 7,
|
20
|
+
moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/numeric',
|
21
|
+
replacementRecommendation: 'Use the `SkyNumericOptions` interface instead.',
|
22
|
+
})
|
23
|
+
.then();
|
13
24
|
}
|
14
25
|
}
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFrRG5EOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQWlCekI7UUFoQk8sV0FBTSxHQUFZLENBQUMsQ0FBQztRQUVwQixXQUFNLEdBQVksUUFBUSxDQUFDO1FBRTNCLGlCQUFZLEdBQStCLFVBQVUsQ0FBQztRQUV0RCxRQUFHLEdBQVksS0FBSyxDQUFDO1FBTXJCLGFBQVEsR0FBYSxJQUFJLENBQUM7UUFFMUIsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFHbkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELFVBQVU7YUFDUCxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7WUFDNUIsdUJBQXVCLEVBQUUsQ0FBQztZQUMxQixXQUFXLEVBQUUsMERBQTBEO1lBQ3ZFLHlCQUF5QixFQUN2QixnREFBZ0Q7U0FDbkQsQ0FBQzthQUNELElBQUksRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5QXBwRm9ybWF0IH0gZnJvbSAnLi4vZm9ybWF0L2FwcC1mb3JtYXQnO1xuaW1wb3J0IHsgU2t5TG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XG5cbi8qKlxuICogUHJvdmlkZXMgYXJndW1lbnRzIGZvciB0aGUgbnVtYmVyIHRvIGZvcm1hdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lOdW1lcmljT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBzZXBhcmF0b3IuXG4gICAqL1xuICBkaWdpdHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgdG8gZm9ybWF0IHRoZSBudW1iZXIuIE9wdGlvbnMgYXJlIGBjdXJyZW5jeWAgb3IgYG51bWJlcmAuXG4gICAqL1xuICBmb3JtYXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZm9ybWF0IG9mIHRoZSBjdXJyZW5jeS5cbiAgICovXG4gIGN1cnJlbmN5U2lnbj86ICdhY2NvdW50aW5nJyB8ICdzdGFuZGFyZCc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgSVNPNDIxNyBjdXJyZW5jeSBjb2RlIHRvIHVzZSBmb3IgY3VycmVuY3kgZm9ybWF0dGluZy5cbiAgICovXG4gIGlzbz86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBsb2NhbGUgY29kZSB0byB1c2Ugd2hlbiBmb3JtYXR0aW5nLlxuICAgKi9cbiAgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBzZXBhcmF0b3IuIFRoaXMgcHJvcGVydHkgb25seSBhcHBsaWVzXG4gICAqIHdoZW4gdGhlIGB0cnVuY2F0ZWAgcHJvcGVydHkgaXMgc2V0IHRvIGBmYWxzZWAuIElmIGBkaWdpdHNgIHNwZWNpZmllcyBhIG1heGltdW0gbnVtYmVyIG9mXG4gICAqIGRpZ2l0cywgdGhlbiBgbWluRGlnaXRzYCBtdXN0IGJlIGxlc3MgdGhhbiB0aGF0IHZhbHVlLlxuICAgKi9cbiAgbWluRGlnaXRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBzaG9ydGVuIG51bWJlcnMgdG8gcm91bmRlZCBudW1iZXJzIGFuZCBhYmJyZXZpYXRpb24gY2hhcmFjdGVyc1xuICAgKiBzdWNoIGFzIEsgZm9yIHRob3VzYW5kcywgTSBmb3IgbWlsbGlvbnMsIEIgZm9yIGJpbGxpb25zLCBhbmQgVCBmb3IgdHJpbGxpb25zLlxuICAgKi9cbiAgdHJ1bmNhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1pbmltdW0gdmFsdWUgYXQgd2hpY2ggbnVtYmVycyBhcmUgc2hvcnRlbmVkIHRvIHJvdW5kZWQgbnVtYmVycyBhbmQgYWJicmV2aWF0aW9uIGNoYXJhY3RlcnMuIFZhbHVlcyBsZXNzIHRoYW4gYDEwMDBgIGFyZSBub3QgdHJ1bmNhdGVkLlxuICAgKi9cbiAgdHJ1bmNhdGVBZnRlcj86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBQcm92aWRlcyBhcmd1bWVudHMgZm9yIHRoZSBudW1iZXIgdG8gZm9ybWF0LlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBgU2t5TnVtZXJpY09wdGlvbnNgIGludGVyZmFjZSBpbnN0ZWFkLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBOdW1lcmljT3B0aW9ucyBpbXBsZW1lbnRzIFNreU51bWVyaWNPcHRpb25zIHtcbiAgcHVibGljIGRpZ2l0cz86IG51bWJlciA9IDE7XG5cbiAgcHVibGljIGZvcm1hdD86IHN0cmluZyA9ICdudW1iZXInO1xuXG4gIHB1YmxpYyBjdXJyZW5jeVNpZ24/OiAnYWNjb3VudGluZycgfCAnc3RhbmRhcmQnID0gJ3N0YW5kYXJkJztcblxuICBwdWJsaWMgaXNvPzogc3RyaW5nID0gJ1VTRCc7XG5cbiAgcHVibGljIGxvY2FsZT86IHN0cmluZztcblxuICBwdWJsaWMgbWluRGlnaXRzPzogbnVtYmVyO1xuXG4gIHB1YmxpYyB0cnVuY2F0ZT86IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyB0cnVuY2F0ZUFmdGVyPzogbnVtYmVyID0gMTAwMDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBsb2dTZXJ2aWNlID0gbmV3IFNreUxvZ1NlcnZpY2UobmV3IFNreUFwcEZvcm1hdCgpKTtcbiAgICBsb2dTZXJ2aWNlXG4gICAgICAuZGVwcmVjYXRlZCgnTnVtZXJpY09wdGlvbnMnLCB7XG4gICAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA3LFxuICAgICAgICBtb3JlSW5mb1VybDogJ2h0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9udW1lcmljJyxcbiAgICAgICAgcmVwbGFjZW1lbnRSZWNvbW1lbmRhdGlvbjpcbiAgICAgICAgICAnVXNlIHRoZSBgU2t5TnVtZXJpY09wdGlvbnNgIGludGVyZmFjZSBpbnN0ZWFkLicsXG4gICAgICB9KVxuICAgICAgLnRoZW4oKTtcbiAgfVxufVxuIl19
|