@taiga-ui/kit 3.31.1 → 3.32.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/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +11 -11
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +9 -7
- package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-prompt.umd.js +6 -6
- package/bundles/taiga-ui-kit-components-prompt.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-block.umd.js +3 -3
- package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-rating.umd.js +5 -1
- package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/components/progress/progress-circle/progress-circle.component.d.ts +1 -0
- package/esm2015/components/arrow/arrow-options.js +1 -3
- package/esm2015/components/arrow/arrow.component.js +1 -3
- package/esm2015/components/calendar-month/calendar-month.component.js +9 -8
- package/esm2015/components/carousel/carousel-buttons.directive.js +4 -4
- package/esm2015/components/checkbox-block/checkbox-block.component.js +5 -5
- package/esm2015/components/input-inline/input-inline.component.js +1 -1
- package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +1 -1
- package/esm2015/components/pagination/pagination.component.js +5 -5
- package/esm2015/components/progress/progress-circle/progress-circle.component.js +6 -2
- package/esm2015/components/prompt/prompt.component.js +3 -2
- package/esm2015/components/push/push-alert.component.js +1 -3
- package/esm2015/components/push/push-alert.directive.js +1 -3
- package/esm2015/components/push/push.service.js +1 -3
- package/esm2015/components/radio/radio-options.js +4 -3
- package/esm2015/components/radio-block/radio-block.component.js +5 -5
- package/esm2015/components/rating/rating.component.js +6 -2
- package/esm2015/components/slider/helpers/slider-key-steps.directive.js +1 -3
- package/esm2015/components/slider/slider.component.js +1 -3
- package/esm2015/components/stepper/step/step.component.js +1 -3
- package/esm2015/components/stepper/stepper.component.js +1 -3
- package/esm2015/components/toggle/toggle.component.js +4 -4
- package/esm2015/components/tree/components/tree-item/tree-item.component.js +1 -3
- package/esm2015/components/tree/components/tree-item/tree-item.providers.js +1 -3
- package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +1 -3
- package/esm2015/components/tree/misc/tree.constants.js +1 -3
- package/esm2015/components/tree/misc/tree.interfaces.js +1 -1
- package/esm2015/components/tree/misc/tree.tokens.js +1 -3
- package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +9 -9
- package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js +3 -3
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js +4 -4
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-inline.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js +4 -4
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js +7 -4
- package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-prompt.js +3 -3
- package/fesm2015/taiga-ui-kit-components-prompt.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-block.js +4 -4
- package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio.js +3 -3
- package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-rating.js +5 -1
- package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-toggle.js +3 -3
- package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
|
-
// TODO: find the best way for prevent cycle
|
|
3
|
-
// eslint-disable-next-line import/no-cycle
|
|
4
2
|
import { TUI_ARROW } from './arrow.component';
|
|
5
3
|
/** Default values for arrow options */
|
|
6
4
|
export const TUI_ARROW_DEFAULT_OPTIONS = {
|
|
@@ -30,4 +28,4 @@ export const tuiArrowModeProvider = (options) => ({
|
|
|
30
28
|
provide: TUI_ARROW_MODE,
|
|
31
29
|
useValue: Object.assign({ interactive: TUI_ARROW, disabled: TUI_ARROW }, options),
|
|
32
30
|
});
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3ctb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2Fycm93L2Fycm93LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFLNUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBTzVDLHVDQUF1QztBQUN2QyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBb0I7SUFDdEQsU0FBUyxFQUFFLG9CQUFvQjtJQUMvQixTQUFTLEVBQUUseUJBQXlCO0NBQ3ZDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUMvQyxxQkFBcUIsRUFDckI7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMseUJBQXlCO0NBQzNDLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUVmLENBQUMsT0FBaUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFFBQVEsa0NBQU0seUJBQXlCLEdBQUssT0FBTyxDQUFDO0NBQ3ZELENBQUMsQ0FBQztBQVdIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFlLGtCQUFrQixFQUFFO0lBQy9FLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ1osV0FBVyxFQUFFLFNBQVM7UUFDdEIsUUFBUSxFQUFFLFNBQVM7S0FDdEIsQ0FBQztDQUNMLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFzRCxDQUNuRixPQUE4QixFQUNoQyxFQUFFLENBQUMsQ0FBQztJQUNGLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLFFBQVEsa0JBQ0osV0FBVyxFQUFFLFNBQVMsRUFDdEIsUUFBUSxFQUFFLFNBQVMsSUFDaEIsT0FBTyxDQUNiO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUNvbnRleHRXaXRoSW1wbGljaXR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlTaXplTCwgVHVpU2l6ZU0sIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VFVJX0FSUk9XfSBmcm9tICcuL2Fycm93LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQXJyb3dPcHRpb25zIHtcbiAgICByZWFkb25seSBpY29uU21hbGw6IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG4gICAgcmVhZG9ubHkgaWNvbkxhcmdlOiBQb2x5bW9ycGhldXNDb250ZW50O1xufVxuXG4vKiogRGVmYXVsdCB2YWx1ZXMgZm9yIGFycm93IG9wdGlvbnMgKi9cbmV4cG9ydCBjb25zdCBUVUlfQVJST1dfREVGQVVMVF9PUFRJT05TOiBUdWlBcnJvd09wdGlvbnMgPSB7XG4gICAgaWNvblNtYWxsOiBgdHVpSWNvbkNoZXZyb25Eb3duYCxcbiAgICBpY29uTGFyZ2U6IGB0dWlJY29uQ2hldnJvbkRvd25MYXJnZWAsXG59O1xuXG4vKipcbiAqIERlZmF1bHQgcGFyYW1ldGVycyBmb3IgYXJyb3cgY29tcG9uZW50XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfQVJST1dfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlBcnJvd09wdGlvbnM+KFxuICAgIGBbVFVJX0FSUk9XX09QVElPTlNdYCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9BUlJPV19ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCB0dWlBcnJvd09wdGlvbnNQcm92aWRlcjogKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpQXJyb3dPcHRpb25zPixcbikgPT4gVmFsdWVQcm92aWRlciA9IChvcHRpb25zOiBQYXJ0aWFsPFR1aUFycm93T3B0aW9ucz4pID0+ICh7XG4gICAgcHJvdmlkZTogVFVJX0FSUk9XX09QVElPTlMsXG4gICAgdXNlVmFsdWU6IHsuLi5UVUlfQVJST1dfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUFycm93TW9kZSB7XG4gICAgcmVhZG9ubHkgaW50ZXJhY3RpdmU6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZUwgfCBUdWlTaXplTSB8IFR1aVNpemVTPlxuICAgID47XG4gICAgcmVhZG9ubHkgZGlzYWJsZWQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZUwgfCBUdWlTaXplTSB8IFR1aVNpemVTPlxuICAgID47XG59XG5cbi8qKlxuICogVHlwZSBvZiBpY29uIGluIGRyb3Bkb3ducyBmb3IgaW50ZXJhY3RpdmUgb3IgZGlzYWJsZSBtb2RlXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfQVJST1dfTU9ERSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlBcnJvd01vZGU+KGBbVFVJX0FSUk9XX01PREVdYCwge1xuICAgIGZhY3Rvcnk6ICgpID0+ICh7XG4gICAgICAgIGludGVyYWN0aXZlOiBUVUlfQVJST1csXG4gICAgICAgIGRpc2FibGVkOiBUVUlfQVJST1csXG4gICAgfSksXG59KTtcblxuZXhwb3J0IGNvbnN0IHR1aUFycm93TW9kZVByb3ZpZGVyOiAob3B0aW9uczogUGFydGlhbDxUdWlBcnJvd01vZGU+KSA9PiBWYWx1ZVByb3ZpZGVyID0gKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpQXJyb3dNb2RlPixcbikgPT4gKHtcbiAgICBwcm92aWRlOiBUVUlfQVJST1dfTU9ERSxcbiAgICB1c2VWYWx1ZToge1xuICAgICAgICBpbnRlcmFjdGl2ZTogVFVJX0FSUk9XLFxuICAgICAgICBkaXNhYmxlZDogVFVJX0FSUk9XLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgIH0sXG59KTtcbiJdfQ==
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, HostBinding, Inject } from '@angular/core';
|
|
2
2
|
import { TUI_TEXTFIELD_SIZE, TuiHostedDropdownComponent, tuiSizeBigger, } from '@taiga-ui/core';
|
|
3
3
|
import { PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
|
|
4
|
-
// TODO: find the best way for prevent cycle
|
|
5
|
-
// eslint-disable-next-line import/no-cycle
|
|
6
4
|
import { TUI_ARROW_OPTIONS } from './arrow-options';
|
|
7
5
|
import * as i0 from "@angular/core";
|
|
8
6
|
import * as i1 from "@taiga-ui/core";
|
|
@@ -47,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
47
45
|
args: ['class._rotated']
|
|
48
46
|
}] } });
|
|
49
47
|
export const TUI_ARROW = new PolymorpheusComponent(TuiArrowComponent);
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYXJyb3cvYXJyb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYXJyb3cvYXJyb3cudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUNILGtCQUFrQixFQUNsQiwwQkFBMEIsRUFDMUIsYUFBYSxHQUVoQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRixPQUFPLEVBQUMsaUJBQWlCLEVBQWtCLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBUW5FLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFFYSxRQUFvQyxFQUU1QixhQUF3QyxFQUNiLE9BQXdCO1FBSDNELGFBQVEsR0FBUixRQUFRLENBQTRCO1FBRTVCLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQWlCO0lBQ3JFLENBQUM7SUFFSixJQUNJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUN6QyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNqQyxDQUFDOzsrR0FsQlEsaUJBQWlCLGtCQUVkLDBCQUEwQixhQUUxQixrQkFBa0IsYUFFbEIsaUJBQWlCO21HQU5wQixpQkFBaUIsNkdDakI5QiwrSkFLQTs0RkRZYSxpQkFBaUI7a0JBTjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSx1QkFBdUI7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQUdRLE1BQU07MkJBQUMsMEJBQTBCOzswQkFFakMsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUV6QixNQUFNOzJCQUFDLGlCQUFpQjs0Q0FJekIsT0FBTztzQkFEVixXQUFXO3VCQUFDLGdCQUFnQjs7QUFZakMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUkscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICB0dWlTaXplQmlnZ2VyLFxuICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29tcG9uZW50LCBQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1RVSV9BUlJPV19PUFRJT05TLCBUdWlBcnJvd09wdGlvbnN9IGZyb20gJy4vYXJyb3ctb3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWFycm93JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXJyb3cudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYXJyb3cuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBcnJvd0NvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgICAgIHJlYWRvbmx5IGRyb3Bkb3duOiBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1NJWkUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkU2l6ZTogVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUVUlfQVJST1dfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlBcnJvd09wdGlvbnMsXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fcm90YXRlZCcpXG4gICAgZ2V0IHJvdGF0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duLm9wZW47XG4gICAgfVxuXG4gICAgZ2V0IGFycm93SWNvbigpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuIHR1aVNpemVCaWdnZXIodGhpcy50ZXh0ZmllbGRTaXplLnNpemUpXG4gICAgICAgICAgICA/IHRoaXMub3B0aW9ucy5pY29uTGFyZ2VcbiAgICAgICAgICAgIDogdGhpcy5vcHRpb25zLmljb25TbWFsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfQVJST1cgPSBuZXcgUG9seW1vcnBoZXVzQ29tcG9uZW50KFR1aUFycm93Q29tcG9uZW50KTtcbiIsIjx0dWktc3ZnXG4gICAgKnBvbHltb3JwaGV1c091dGxldD1cImFycm93SWNvbiBhcyBzcmNcIlxuICAgIFtzcmNdPVwic3JjXCJcbj48L3R1aS1zdmc+XG48bmctY29udGFpbmVyICpuZ0lmPVwiZHJvcGRvd24ub3BlbkNoYW5nZSB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, Input, Output, } from '@angular/core';
|
|
3
3
|
import { ALWAYS_FALSE_HANDLER, TUI_FIRST_DAY, TUI_LAST_DAY, TuiDay, tuiDefaultProp, TuiMonth, TuiMonthRange, tuiNullableSame, tuiPure, } from '@taiga-ui/cdk';
|
|
4
|
+
import { TuiInteractiveState, TuiRangeState } from '@taiga-ui/core';
|
|
4
5
|
import { TUI_CALENDAR_MONTHS } from '@taiga-ui/kit/tokens';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@taiga-ui/core";
|
|
@@ -36,13 +37,13 @@ export class TuiCalendarMonthComponent {
|
|
|
36
37
|
getItemState(item) {
|
|
37
38
|
const { disabledItemHandlerWithMinMax, pressedItem, hoveredItem } = this;
|
|
38
39
|
if (disabledItemHandlerWithMinMax(item)) {
|
|
39
|
-
return
|
|
40
|
+
return TuiInteractiveState.Disabled;
|
|
40
41
|
}
|
|
41
42
|
if (pressedItem === null || pressedItem === void 0 ? void 0 : pressedItem.monthSame(item)) {
|
|
42
|
-
return
|
|
43
|
+
return TuiInteractiveState.Active;
|
|
43
44
|
}
|
|
44
45
|
if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.monthSame(item)) {
|
|
45
|
-
return
|
|
46
|
+
return TuiInteractiveState.Hover;
|
|
46
47
|
}
|
|
47
48
|
return null;
|
|
48
49
|
}
|
|
@@ -52,7 +53,7 @@ export class TuiCalendarMonthComponent {
|
|
|
52
53
|
return null;
|
|
53
54
|
}
|
|
54
55
|
if (value instanceof TuiMonth) {
|
|
55
|
-
return value.monthSame(item) ?
|
|
56
|
+
return value.monthSame(item) ? TuiRangeState.Single : null;
|
|
56
57
|
}
|
|
57
58
|
const theFirstOfRange = value.from.monthSame(item) && !value.isSingleMonth;
|
|
58
59
|
const hoveredItemAfterFrom = (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.monthAfter(value.from)) &&
|
|
@@ -62,7 +63,7 @@ export class TuiCalendarMonthComponent {
|
|
|
62
63
|
(hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.monthBefore(value.from)) &&
|
|
63
64
|
value.isSingleMonth;
|
|
64
65
|
if (theFirstOfRange || hoveredItemAfterFrom || hoveredItemIsCandidateToBeFrom) {
|
|
65
|
-
return
|
|
66
|
+
return TuiRangeState.Start;
|
|
66
67
|
}
|
|
67
68
|
const theLastOfRange = value.to.monthSame(item) && !value.isSingleMonth;
|
|
68
69
|
const hoveredItemBeforeTo = value.to.monthSame(item) &&
|
|
@@ -72,10 +73,10 @@ export class TuiCalendarMonthComponent {
|
|
|
72
73
|
(hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.monthAfter(value.from)) &&
|
|
73
74
|
value.isSingleMonth;
|
|
74
75
|
if (theLastOfRange || hoveredItemBeforeTo || hoveredItemIsCandidateToBeTo) {
|
|
75
|
-
return
|
|
76
|
+
return TuiRangeState.End;
|
|
76
77
|
}
|
|
77
78
|
return value.isSingleMonth && value.from.monthSame(item)
|
|
78
|
-
?
|
|
79
|
+
? TuiRangeState.Single
|
|
79
80
|
: null;
|
|
80
81
|
}
|
|
81
82
|
getTuiMonth(monthNumber, yearNumber) {
|
|
@@ -200,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
200
201
|
type: HostBinding,
|
|
201
202
|
args: ['class._single']
|
|
202
203
|
}], calculateDisabledItemHandlerWithMinMax: [] } });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItbW9udGguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItbW9udGgudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBRVosTUFBTSxFQUNOLGNBQWMsRUFDZCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGVBQWUsRUFDZixPQUFPLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUl6RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7QUFRcEMsTUFBTSxPQUFPLHlCQUF5QjtJQW9DbEMsWUFDMEMsT0FBc0M7UUFBdEMsWUFBTyxHQUFQLE9BQU8sQ0FBK0I7UUFsQ2hGLFVBQUssR0FBb0MsSUFBSSxDQUFDO1FBSTlDLFNBQUksR0FBWSxLQUFLLENBQUM7UUFJdEIsd0JBQW1CLEdBQ2Ysb0JBQW9CLENBQUM7UUFJekIsUUFBRyxHQUFhLGFBQWEsQ0FBQztRQUk5QixRQUFHLEdBQWEsWUFBWSxDQUFDO1FBR3BCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRzFDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBR3hELGVBQVUsR0FBRyxJQUFJLFlBQVks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Q0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7dUhBOU5RLHlCQUF5QixrQkFxQ3RCLG1CQUFtQjsyR0FyQ3RCLHlCQUF5Qiw2VUNwQ3RDLDZyREFnREE7QURUSTtJQURDLGNBQWMsRUFBRTt3REFDNkI7QUFJOUM7SUFEQyxjQUFjLEVBQUU7dURBQ0s7QUFJdEI7SUFEQyxjQUFjLEVBQUU7c0VBRVE7QUFJekI7SUFEQyxjQUFjLEVBQUU7c0RBQ2E7QUFJOUI7SUFEQyxjQUFjLEVBQUU7c0RBQ1k7QUFxSzdCO0lBREMsT0FBTzt1RkFXUDs0RkFuTVEseUJBQXlCO2tCQU5yQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUMxQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQXNDUSxNQUFNOzJCQUFDLG1CQUFtQjs0Q0FsQy9CLEtBQUs7c0JBRkosS0FBSztnQkFNTixJQUFJO3NCQUZILEtBQUs7Z0JBTU4sbUJBQW1CO3NCQUZsQixLQUFLO2dCQU9OLEdBQUc7c0JBRkYsS0FBSztnQkFNTixHQUFHO3NCQUZGLEtBQUs7Z0JBS0csVUFBVTtzQkFEbEIsTUFBTTtnQkFJRSxpQkFBaUI7c0JBRHpCLE1BQU07Z0JBSUUsVUFBVTtzQkFEbEIsTUFBTTtnQkFhSCxRQUFRO3NCQURYLFdBQVc7dUJBQUMsZUFBZTtnQkFpSnBCLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgVFVJX0ZJUlNUX0RBWSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGF5LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aU1vbnRoLFxuICAgIFR1aU1vbnRoUmFuZ2UsXG4gICAgdHVpTnVsbGFibGVTYW1lLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpWWVhcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUludGVyYWN0aXZlU3RhdGUsIFR1aVJhbmdlU3RhdGUsIFR1aVdpdGhPcHRpb25hbE1pbk1heH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlNb250aENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9DQUxFTkRBUl9NT05USFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpQm9vbGVhbkhhbmRsZXJXaXRoQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBUT0RBWSA9IFR1aURheS5jdXJyZW50TG9jYWwoKTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktY2FsZW5kYXItbW9udGgnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1tb250aC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1tb250aC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhbGVuZGFyTW9udGhDb21wb25lbnQgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpTW9udGg+IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWU6IFR1aU1vbnRoIHwgVHVpTW9udGhSYW5nZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHllYXI6IFR1aVllYXIgPSBUT0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcldpdGhDb250ZXh0PFR1aU1vbnRoLCBUdWlNb250aENvbnRleHQ+ID1cbiAgICAgICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluOiBUdWlNb250aCA9IFRVSV9GSVJTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4OiBUdWlNb250aCA9IFRVSV9MQVNUX0RBWTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IG1vbnRoQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aU1vbnRoPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaG92ZXJlZEl0ZW1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aU1vbnRoIHwgbnVsbD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHllYXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aVllYXI+KCk7XG5cbiAgICBpc1llYXJQaWNrZXJTaG93biA9IGZhbHNlO1xuXG4gICAgaG92ZXJlZEl0ZW06IFR1aU1vbnRoIHwgbnVsbCA9IG51bGw7XG4gICAgcHJlc3NlZEl0ZW06IFR1aU1vbnRoIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQ0FMRU5EQVJfTU9OVEhTKSByZWFkb25seSBtb250aHMkOiBPYnNlcnZhYmxlPHJlYWRvbmx5IHN0cmluZ1tdPixcbiAgICApIHt9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9zaW5nbGUnKVxuICAgIGdldCBpc1NpbmdsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpTW9udGggfHwgdGhpcy52YWx1ZS5pc1NpbmdsZU1vbnRoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBwcmV2aW91c1llYXJEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhci55ZWFyU2FtZU9yQmVmb3JlKHRoaXMubWluKTtcbiAgICB9XG5cbiAgICBnZXQgbmV4dFllYXJEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhci55ZWFyU2FtZU9yQWZ0ZXIodGhpcy5tYXgpO1xuICAgIH1cblxuICAgIGdldEl0ZW1TdGF0ZShpdGVtOiBUdWlNb250aCk6IFR1aUludGVyYWN0aXZlU3RhdGUgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge2Rpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4LCBwcmVzc2VkSXRlbSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAoZGlzYWJsZWRJdGVtSGFuZGxlcldpdGhNaW5NYXgoaXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLkRpc2FibGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByZXNzZWRJdGVtPy5tb250aFNhbWUoaXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLkFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbT8ubW9udGhTYW1lKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5Ib3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGdldEl0ZW1SYW5nZShpdGVtOiBUdWlNb250aCk6IFR1aVJhbmdlU3RhdGUgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlNb250aCkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLm1vbnRoU2FtZShpdGVtKSA/IFR1aVJhbmdlU3RhdGUuU2luZ2xlIDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRoZUZpcnN0T2ZSYW5nZSA9IHZhbHVlLmZyb20ubW9udGhTYW1lKGl0ZW0pICYmICF2YWx1ZS5pc1NpbmdsZU1vbnRoO1xuICAgICAgICBjb25zdCBob3ZlcmVkSXRlbUFmdGVyRnJvbSA9XG4gICAgICAgICAgICBob3ZlcmVkSXRlbT8ubW9udGhBZnRlcih2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgdmFsdWUuZnJvbS5tb250aFNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlTW9udGg7XG4gICAgICAgIGNvbnN0IGhvdmVyZWRJdGVtSXNDYW5kaWRhdGVUb0JlRnJvbSA9XG4gICAgICAgICAgICBob3ZlcmVkSXRlbT8ubW9udGhTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICBob3ZlcmVkSXRlbT8ubW9udGhCZWZvcmUodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlTW9udGg7XG5cbiAgICAgICAgaWYgKHRoZUZpcnN0T2ZSYW5nZSB8fCBob3ZlcmVkSXRlbUFmdGVyRnJvbSB8fCBob3ZlcmVkSXRlbUlzQ2FuZGlkYXRlVG9CZUZyb20pIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlSYW5nZVN0YXRlLlN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGhlTGFzdE9mUmFuZ2UgPSB2YWx1ZS50by5tb250aFNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlTW9udGg7XG4gICAgICAgIGNvbnN0IGhvdmVyZWRJdGVtQmVmb3JlVG8gPVxuICAgICAgICAgICAgdmFsdWUudG8ubW9udGhTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICBob3ZlcmVkSXRlbT8ubW9udGhCZWZvcmUodmFsdWUudG8pICYmXG4gICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZU1vbnRoO1xuICAgICAgICBjb25zdCBob3ZlcmVkSXRlbUlzQ2FuZGlkYXRlVG9CZVRvID1cbiAgICAgICAgICAgIGhvdmVyZWRJdGVtPy5tb250aFNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgIGhvdmVyZWRJdGVtPy5tb250aEFmdGVyKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZU1vbnRoO1xuXG4gICAgICAgIGlmICh0aGVMYXN0T2ZSYW5nZSB8fCBob3ZlcmVkSXRlbUJlZm9yZVRvIHx8IGhvdmVyZWRJdGVtSXNDYW5kaWRhdGVUb0JlVG8pIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlSYW5nZVN0YXRlLkVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZS5pc1NpbmdsZU1vbnRoICYmIHZhbHVlLmZyb20ubW9udGhTYW1lKGl0ZW0pXG4gICAgICAgICAgICA/IFR1aVJhbmdlU3RhdGUuU2luZ2xlXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0VHVpTW9udGgobW9udGhOdW1iZXI6IG51bWJlciwgeWVhck51bWJlcjogbnVtYmVyKTogVHVpTW9udGgge1xuICAgICAgICByZXR1cm4gbmV3IFR1aU1vbnRoKHllYXJOdW1iZXIsIG1vbnRoTnVtYmVyKTtcbiAgICB9XG5cbiAgICBpc0l0ZW1Ub2RheShpdGVtOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gVE9EQVkubW9udGhTYW1lKGl0ZW0pO1xuICAgIH1cblxuICAgIGlzSXRlbUluc2lkZVJhbmdlKG1vbnRoOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlIGluc3RhbmNlb2YgVHVpTW9udGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmFsdWUuaXNTaW5nbGVNb250aCkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmZyb20ubW9udGhTYW1lT3JCZWZvcmUobW9udGgpICYmIHZhbHVlLnRvLm1vbnRoQWZ0ZXIobW9udGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByYW5nZSA9IFR1aU1vbnRoUmFuZ2Uuc29ydCh2YWx1ZS5mcm9tLCBob3ZlcmVkSXRlbSk7XG5cbiAgICAgICAgcmV0dXJuIHJhbmdlLmZyb20ubW9udGhTYW1lT3JCZWZvcmUobW9udGgpICYmIHJhbmdlLnRvLm1vbnRoQWZ0ZXIobW9udGgpO1xuICAgIH1cblxuICAgIG9uUGlja2VyWWVhckNsaWNrKHllYXI6IFR1aVllYXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1llYXJQaWNrZXJTaG93biA9IGZhbHNlO1xuXG4gICAgICAgIGlmICh0aGlzLnllYXIueWVhclNhbWUoeWVhcikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlWWVhcih5ZWFyKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhtb250aDogVHVpTW9udGgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcldpdGhNaW5NYXgobW9udGgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vbnRoQ2xpY2suZW1pdChtb250aCk7XG4gICAgfVxuXG4gICAgb25ZZWFyQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNZZWFyUGlja2VyU2hvd24gPSB0cnVlO1xuICAgIH1cblxuICAgIG9uTmV4dFllYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlWWVhcih0aGlzLnllYXIuYXBwZW5kKHt5ZWFyOiAxfSkpO1xuICAgIH1cblxuICAgIG9uUHJldmlvdXNZZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZVllYXIodGhpcy55ZWFyLmFwcGVuZCh7eWVhcjogLTF9KSk7XG4gICAgfVxuXG4gICAgb25JdGVtSG92ZXJlZChob3ZlcmVkOiBib29sZWFuLCBpdGVtOiBUdWlNb250aCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWRJdGVtKGhvdmVyZWQgPyBpdGVtIDogbnVsbCk7XG4gICAgfVxuXG4gICAgb25JdGVtUHJlc3NlZChwcmVzc2VkOiBib29sZWFuLCBpdGVtOiBUdWlNb250aCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVByZXNzZWRJdGVtKHByZXNzZWQgPyBpdGVtIDogbnVsbCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4KFxuICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcldpdGhDb250ZXh0PFR1aU1vbnRoLCBUdWlNb250aENvbnRleHQ+LFxuICAgICAgICB2YWx1ZTogVHVpTW9udGggfCBUdWlNb250aFJhbmdlIHwgbnVsbCxcbiAgICAgICAgbWluOiBUdWlNb250aCxcbiAgICAgICAgbWF4OiBUdWlNb250aCxcbiAgICApOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlNb250aD4ge1xuICAgICAgICByZXR1cm4gaXRlbSA9PlxuICAgICAgICAgICAgaXRlbS5tb250aEJlZm9yZShtaW4pIHx8XG4gICAgICAgICAgICBpdGVtLm1vbnRoQWZ0ZXIobWF4KSB8fFxuICAgICAgICAgICAgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtLCB7dmFsdWV9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBkaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heCgpOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlNb250aD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVEaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heChcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcixcbiAgICAgICAgICAgIHRoaXMudmFsdWUsXG4gICAgICAgICAgICB0aGlzLm1pbixcbiAgICAgICAgICAgIHRoaXMubWF4LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSG92ZXJlZEl0ZW0obW9udGg6IFR1aU1vbnRoIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAodHVpTnVsbGFibGVTYW1lKHRoaXMuaG92ZXJlZEl0ZW0sIG1vbnRoLCAoYSwgYikgPT4gYS5tb250aFNhbWUoYikpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gbW9udGg7XG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW1DaGFuZ2UuZW1pdChtb250aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQcmVzc2VkSXRlbShpdGVtOiBUdWlNb250aCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmVzc2VkSXRlbSA9IGl0ZW07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBY3RpdmVZZWFyKHllYXI6IFR1aVllYXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy55ZWFyID0geWVhcjtcbiAgICAgICAgdGhpcy55ZWFyQ2hhbmdlLmVtaXQoeWVhcik7XG4gICAgfVxufVxuIiwiPHR1aS1zY3JvbGxiYXJcbiAgICAqbmdJZj1cImlzWWVhclBpY2tlclNob3duOyBlbHNlIG1vbnRoU2VsZWN0XCJcbiAgICBjbGFzcz1cInQtc2Nyb2xsYmFyXCJcbj5cbiAgICA8dHVpLXByaW1pdGl2ZS15ZWFyLXBpY2tlclxuICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgW2luaXRpYWxJdGVtXT1cInllYXJcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAoeWVhckNsaWNrKT1cIm9uUGlja2VyWWVhckNsaWNrKCRldmVudClcIlxuICAgID48L3R1aS1wcmltaXRpdmUteWVhci1waWNrZXI+XG48L3R1aS1zY3JvbGxiYXI+XG48bmctdGVtcGxhdGUgI21vbnRoU2VsZWN0PlxuICAgIDx0dWktcHJpbWl0aXZlLXNwaW4tYnV0dG9uXG4gICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICBbbGVmdERpc2FibGVkXT1cInByZXZpb3VzWWVhckRpc2FibGVkXCJcbiAgICAgICAgW3JpZ2h0RGlzYWJsZWRdPVwibmV4dFllYXJEaXNhYmxlZFwiXG4gICAgICAgIChsZWZ0Q2xpY2spPVwib25QcmV2aW91c1llYXIoKVwiXG4gICAgICAgIChyaWdodENsaWNrKT1cIm9uTmV4dFllYXIoKVwiXG4gICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY2FsZW5kYXItbW9udGhfX2FjdGl2ZS15ZWFyXCJcbiAgICAgICAgICAgIFt0dWlGb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uWWVhckNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB5ZWFyLmZvcm1hdHRlZFllYXIgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC90dWktcHJpbWl0aXZlLXNwaW4tYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJ0LXJvd1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtb250aCBvZiBtb250aHMkIHwgYXN5bmM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKnR1aUxldD1cImdldFR1aU1vbnRoKGluZGV4LCB5ZWFyLnllYXIpIGFzIGl0ZW1cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jZWxsXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1jZWxsX3RvZGF5XT1cImlzSXRlbVRvZGF5KGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1jZWxsX2ludGVydmFsXT1cImlzSXRlbUluc2lkZVJhbmdlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXJhbmdlXT1cImdldEl0ZW1SYW5nZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1zdGF0ZV09XCJnZXRJdGVtU3RhdGUoaXRlbSlcIlxuICAgICAgICAgICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cIm9uSXRlbUhvdmVyZWQoJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgICAgICAgKHR1aVByZXNzZWRDaGFuZ2UpPVwib25JdGVtSG92ZXJlZCgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0LWl0ZW1cIj57eyBtb250aCB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItbW9udGguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItbW9udGgudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBRVosTUFBTSxFQUNOLGNBQWMsRUFDZCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGVBQWUsRUFDZixPQUFPLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGFBQWEsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBSXpELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQVFwQyxNQUFNLE9BQU8seUJBQXlCO0lBb0NsQyxZQUMwQyxPQUFzQztRQUF0QyxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQWxDaEYsVUFBSyxHQUFvQyxJQUFJLENBQUM7UUFJOUMsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUl0Qix3QkFBbUIsR0FDZixvQkFBb0IsQ0FBQztRQUl6QixRQUFHLEdBQWEsYUFBYSxDQUFDO1FBSTlCLFFBQUcsR0FBYSxZQUFZLENBQUM7UUFHcEIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFHMUMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFHeEQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFbEQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRTFCLGdCQUFXLEdBQW9CLElBQUksQ0FBQztRQUNwQyxnQkFBVyxHQUFvQixJQUFJLENBQUM7SUFJakMsQ0FBQztJQUVKLElBQ0ksUUFBUTtRQUNSLE9BQU8sQ0FDSCxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUk7WUFDbkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxZQUFZLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUMvRCxDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBYztRQUN2QixNQUFNLEVBQUMsNkJBQTZCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBQyxHQUFHLElBQUksQ0FBQztRQUV2RSxJQUFJLDZCQUE2QixDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlCLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxDQUFDO1NBQ3JDO1FBRUQsSUFBSSxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlCLE9BQU8sbUJBQW1CLENBQUMsS0FBSyxDQUFDO1NBQ3BDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFjO1FBQ3ZCLE1BQU0sRUFBQyxLQUFLLEVBQUUsV0FBVyxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBRWxDLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsSUFBSSxLQUFLLFlBQVksUUFBUSxFQUFFO1lBQzNCLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQzlEO1FBRUQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzNFLE1BQU0sb0JBQW9CLEdBQ3RCLENBQUEsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ25DLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUMxQixLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3hCLE1BQU0sOEJBQThCLEdBQ2hDLENBQUEsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUM7YUFDNUIsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDcEMsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUV4QixJQUFJLGVBQWUsSUFBSSxvQkFBb0IsSUFBSSw4QkFBOEIsRUFBRTtZQUMzRSxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUM7U0FDOUI7UUFFRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDeEUsTUFBTSxtQkFBbUIsR0FDckIsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2FBQ3hCLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ2xDLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDeEIsTUFBTSw0QkFBNEIsR0FDOUIsQ0FBQSxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsU0FBUyxDQUFDLElBQUksQ0FBQzthQUM1QixXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNuQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBRXhCLElBQUksY0FBYyxJQUFJLG1CQUFtQixJQUFJLDRCQUE0QixFQUFFO1lBQ3ZFLE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQztTQUM1QjtRQUVELE9BQU8sS0FBSyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEQsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDZixDQUFDO0lBRUQsV0FBVyxDQUFDLFdBQW1CLEVBQUUsVUFBa0I7UUFDL0MsT0FBTyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFjO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBZTtRQUM3QixNQUFNLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBQyxHQUFHLElBQUksQ0FBQztRQUVsQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxZQUFZLFFBQVEsRUFBRTtZQUM3QyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1RTtRQUVELElBQUksV0FBVyxLQUFLLElBQUksRUFBRTtZQUN0QixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUUxRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQWE7UUFDM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUvQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWU7UUFDdkIsSUFBSSxJQUFJLENBQUMsNkJBQTZCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUMsSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWdCLEVBQUUsSUFBYztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZ0IsRUFBRSxJQUFjO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUdPLHNDQUFzQyxDQUMxQyxtQkFBNEUsRUFDNUUsS0FBc0MsRUFDdEMsR0FBYSxFQUNiLEdBQWE7UUFFYixPQUFPLElBQUksQ0FBQyxFQUFFLENBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBWSw2QkFBNkI7UUFDckMsT0FBTyxJQUFJLENBQUMsc0NBQXNDLENBQzlDLElBQUksQ0FBQyxtQkFBbUIsRUFDeEIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsR0FBRyxFQUNSLElBQUksQ0FBQyxHQUFHLENBQ1gsQ0FBQztJQUNOLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxLQUFzQjtRQUM1QyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwRSxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxJQUFxQjtRQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBYTtRQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDOzt1SEE5TlEseUJBQXlCLGtCQXFDdEIsbUJBQW1COzJHQXJDdEIseUJBQXlCLDZVQ3BDdEMsNnJEQWdEQTtBRFRJO0lBREMsY0FBYyxFQUFFO3dEQUM2QjtBQUk5QztJQURDLGNBQWMsRUFBRTt1REFDSztBQUl0QjtJQURDLGNBQWMsRUFBRTtzRUFFUTtBQUl6QjtJQURDLGNBQWMsRUFBRTtzREFDYTtBQUk5QjtJQURDLGNBQWMsRUFBRTtzREFDWTtBQXFLN0I7SUFEQyxPQUFPO3VGQVdQOzRGQW5NUSx5QkFBeUI7a0JBTnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzFDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBc0NRLE1BQU07MkJBQUMsbUJBQW1COzRDQWxDL0IsS0FBSztzQkFGSixLQUFLO2dCQU1OLElBQUk7c0JBRkgsS0FBSztnQkFNTixtQkFBbUI7c0JBRmxCLEtBQUs7Z0JBT04sR0FBRztzQkFGRixLQUFLO2dCQU1OLEdBQUc7c0JBRkYsS0FBSztnQkFLRyxVQUFVO3NCQURsQixNQUFNO2dCQUlFLGlCQUFpQjtzQkFEekIsTUFBTTtnQkFJRSxVQUFVO3NCQURsQixNQUFNO2dCQWFILFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxlQUFlO2dCQWlKcEIsc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlEYXksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpTW9udGgsXG4gICAgVHVpTW9udGhSYW5nZSxcbiAgICB0dWlOdWxsYWJsZVNhbWUsXG4gICAgdHVpUHVyZSxcbiAgICBUdWlZZWFyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpSW50ZXJhY3RpdmVTdGF0ZSwgVHVpUmFuZ2VTdGF0ZSwgVHVpV2l0aE9wdGlvbmFsTWluTWF4fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aU1vbnRoQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0NBTEVOREFSX01PTlRIU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtUdWlCb29sZWFuSGFuZGxlcldpdGhDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IFRPREFZID0gVHVpRGF5LmN1cnJlbnRMb2NhbCgpO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1jYWxlbmRhci1tb250aCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLW1vbnRoLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLW1vbnRoLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ2FsZW5kYXJNb250aENvbXBvbmVudCBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlNb250aD4ge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZTogVHVpTW9udGggfCBUdWlNb250aFJhbmdlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeWVhcjogVHVpWWVhciA9IFRPREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyV2l0aENvbnRleHQ8VHVpTW9udGgsIFR1aU1vbnRoQ29udGV4dD4gPVxuICAgICAgICBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW46IFR1aU1vbnRoID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXg6IFR1aU1vbnRoID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgbW9udGhDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpTW9udGg+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBob3ZlcmVkSXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpTW9udGggfCBudWxsPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgeWVhckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpWWVhcj4oKTtcblxuICAgIGlzWWVhclBpY2tlclNob3duID0gZmFsc2U7XG5cbiAgICBob3ZlcmVkSXRlbTogVHVpTW9udGggfCBudWxsID0gbnVsbDtcbiAgICBwcmVzc2VkSXRlbTogVHVpTW9udGggfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9DQUxFTkRBUl9NT05USFMpIHJlYWRvbmx5IG1vbnRocyQ6IE9ic2VydmFibGU8cmVhZG9ubHkgc3RyaW5nW10+LFxuICAgICkge31cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3NpbmdsZScpXG4gICAgZ2V0IGlzU2luZ2xlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy52YWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlNb250aCB8fCB0aGlzLnZhbHVlLmlzU2luZ2xlTW9udGgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHByZXZpb3VzWWVhckRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyLnllYXJTYW1lT3JCZWZvcmUodGhpcy5taW4pO1xuICAgIH1cblxuICAgIGdldCBuZXh0WWVhckRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyLnllYXJTYW1lT3JBZnRlcih0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgZ2V0SXRlbVN0YXRlKGl0ZW06IFR1aU1vbnRoKTogVHVpSW50ZXJhY3RpdmVTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7ZGlzYWJsZWRJdGVtSGFuZGxlcldpdGhNaW5NYXgsIHByZXNzZWRJdGVtLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChkaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heChpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuRGlzYWJsZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJlc3NlZEl0ZW0/Lm1vbnRoU2FtZShpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuQWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtPy5tb250aFNhbWUoaXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLkhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SXRlbVJhbmdlKGl0ZW06IFR1aU1vbnRoKTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubW9udGhTYW1lKGl0ZW0pID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGUgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGhlRmlyc3RPZlJhbmdlID0gdmFsdWUuZnJvbS5tb250aFNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlTW9udGg7XG4gICAgICAgIGNvbnN0IGhvdmVyZWRJdGVtQWZ0ZXJGcm9tID1cbiAgICAgICAgICAgIGhvdmVyZWRJdGVtPy5tb250aEFmdGVyKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICB2YWx1ZS5mcm9tLm1vbnRoU2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0ZVRvQmVGcm9tID1cbiAgICAgICAgICAgIGhvdmVyZWRJdGVtPy5tb250aFNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgIGhvdmVyZWRJdGVtPy5tb250aEJlZm9yZSh2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVNb250aDtcblxuICAgICAgICBpZiAodGhlRmlyc3RPZlJhbmdlIHx8IGhvdmVyZWRJdGVtQWZ0ZXJGcm9tIHx8IGhvdmVyZWRJdGVtSXNDYW5kaWRhdGVUb0JlRnJvbSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuU3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0aGVMYXN0T2ZSYW5nZSA9IHZhbHVlLnRvLm1vbnRoU2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1CZWZvcmVUbyA9XG4gICAgICAgICAgICB2YWx1ZS50by5tb250aFNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgIGhvdmVyZWRJdGVtPy5tb250aEJlZm9yZSh2YWx1ZS50bykgJiZcbiAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlTW9udGg7XG4gICAgICAgIGNvbnN0IGhvdmVyZWRJdGVtSXNDYW5kaWRhdGVUb0JlVG8gPVxuICAgICAgICAgICAgaG92ZXJlZEl0ZW0/Lm1vbnRoU2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgaG92ZXJlZEl0ZW0/Lm1vbnRoQWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlTW9udGg7XG5cbiAgICAgICAgaWYgKHRoZUxhc3RPZlJhbmdlIHx8IGhvdmVyZWRJdGVtQmVmb3JlVG8gfHwgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0ZVRvQmVUbykge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuRW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLmlzU2luZ2xlTW9udGggJiYgdmFsdWUuZnJvbS5tb250aFNhbWUoaXRlbSlcbiAgICAgICAgICAgID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGVcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXRUdWlNb250aChtb250aE51bWJlcjogbnVtYmVyLCB5ZWFyTnVtYmVyOiBudW1iZXIpOiBUdWlNb250aCB7XG4gICAgICAgIHJldHVybiBuZXcgVHVpTW9udGgoeWVhck51bWJlciwgbW9udGhOdW1iZXIpO1xuICAgIH1cblxuICAgIGlzSXRlbVRvZGF5KGl0ZW06IFR1aU1vbnRoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBUT0RBWS5tb250aFNhbWUoaXRlbSk7XG4gICAgfVxuXG4gICAgaXNJdGVtSW5zaWRlUmFuZ2UobW9udGg6IFR1aU1vbnRoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgaW5zdGFuY2VvZiBUdWlNb250aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZS5pc1NpbmdsZU1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS5tb250aFNhbWVPckJlZm9yZShtb250aCkgJiYgdmFsdWUudG8ubW9udGhBZnRlcihtb250aCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG92ZXJlZEl0ZW0gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJhbmdlID0gVHVpTW9udGhSYW5nZS5zb3J0KHZhbHVlLmZyb20sIGhvdmVyZWRJdGVtKTtcblxuICAgICAgICByZXR1cm4gcmFuZ2UuZnJvbS5tb250aFNhbWVPckJlZm9yZShtb250aCkgJiYgcmFuZ2UudG8ubW9udGhBZnRlcihtb250aCk7XG4gICAgfVxuXG4gICAgb25QaWNrZXJZZWFyQ2xpY2soeWVhcjogVHVpWWVhcik6IHZvaWQge1xuICAgICAgICB0aGlzLmlzWWVhclBpY2tlclNob3duID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHRoaXMueWVhci55ZWFyU2FtZSh5ZWFyKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVZZWFyKHllYXIpO1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKG1vbnRoOiBUdWlNb250aCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heChtb250aCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubW9udGhDbGljay5lbWl0KG1vbnRoKTtcbiAgICB9XG5cbiAgICBvblllYXJDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1llYXJQaWNrZXJTaG93biA9IHRydWU7XG4gICAgfVxuXG4gICAgb25OZXh0WWVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVZZWFyKHRoaXMueWVhci5hcHBlbmQoe3llYXI6IDF9KSk7XG4gICAgfVxuXG4gICAgb25QcmV2aW91c1llYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlWWVhcih0aGlzLnllYXIuYXBwZW5kKHt5ZWFyOiAtMX0pKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4sIGl0ZW06IFR1aU1vbnRoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZEl0ZW0oaG92ZXJlZCA/IGl0ZW0gOiBudWxsKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4sIGl0ZW06IFR1aU1vbnRoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJlc3NlZEl0ZW0ocHJlc3NlZCA/IGl0ZW0gOiBudWxsKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlRGlzYWJsZWRJdGVtSGFuZGxlcldpdGhNaW5NYXgoXG4gICAgICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyV2l0aENvbnRleHQ8VHVpTW9udGgsIFR1aU1vbnRoQ29udGV4dD4sXG4gICAgICAgIHZhbHVlOiBUdWlNb250aCB8IFR1aU1vbnRoUmFuZ2UgfCBudWxsLFxuICAgICAgICBtaW46IFR1aU1vbnRoLFxuICAgICAgICBtYXg6IFR1aU1vbnRoLFxuICAgICk6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aU1vbnRoPiB7XG4gICAgICAgIHJldHVybiBpdGVtID0+XG4gICAgICAgICAgICBpdGVtLm1vbnRoQmVmb3JlKG1pbikgfHxcbiAgICAgICAgICAgIGl0ZW0ubW9udGhBZnRlcihtYXgpIHx8XG4gICAgICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0sIHt2YWx1ZX0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGRpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4KCk6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aU1vbnRoPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4KFxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyLFxuICAgICAgICAgICAgdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIHRoaXMubWluLFxuICAgICAgICAgICAgdGhpcy5tYXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkSXRlbShtb250aDogVHVpTW9udGggfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlOdWxsYWJsZVNhbWUodGhpcy5ob3ZlcmVkSXRlbSwgbW9udGgsIChhLCBiKSA9PiBhLm1vbnRoU2FtZShiKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW0gPSBtb250aDtcbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbUNoYW5nZS5lbWl0KG1vbnRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVByZXNzZWRJdGVtKGl0ZW06IFR1aU1vbnRoIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZXNzZWRJdGVtID0gaXRlbTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUFjdGl2ZVllYXIoeWVhcjogVHVpWWVhcik6IHZvaWQge1xuICAgICAgICB0aGlzLnllYXIgPSB5ZWFyO1xuICAgICAgICB0aGlzLnllYXJDaGFuZ2UuZW1pdCh5ZWFyKTtcbiAgICB9XG59XG4iLCI8dHVpLXNjcm9sbGJhclxuICAgICpuZ0lmPVwiaXNZZWFyUGlja2VyU2hvd247IGVsc2UgbW9udGhTZWxlY3RcIlxuICAgIGNsYXNzPVwidC1zY3JvbGxiYXJcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXllYXItcGlja2VyXG4gICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICBbaW5pdGlhbEl0ZW1dPVwieWVhclwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICh5ZWFyQ2xpY2spPVwib25QaWNrZXJZZWFyQ2xpY2soJGV2ZW50KVwiXG4gICAgPjwvdHVpLXByaW1pdGl2ZS15ZWFyLXBpY2tlcj5cbjwvdHVpLXNjcm9sbGJhcj5cbjxuZy10ZW1wbGF0ZSAjbW9udGhTZWxlY3Q+XG4gICAgPHR1aS1wcmltaXRpdmUtc3Bpbi1idXR0b25cbiAgICAgICAgW2ZvY3VzYWJsZV09XCJmYWxzZVwiXG4gICAgICAgIFtsZWZ0RGlzYWJsZWRdPVwicHJldmlvdXNZZWFyRGlzYWJsZWRcIlxuICAgICAgICBbcmlnaHREaXNhYmxlZF09XCJuZXh0WWVhckRpc2FibGVkXCJcbiAgICAgICAgKGxlZnRDbGljayk9XCJvblByZXZpb3VzWWVhcigpXCJcbiAgICAgICAgKHJpZ2h0Q2xpY2spPVwib25OZXh0WWVhcigpXCJcbiAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1tb250aF9fYWN0aXZlLXllYXJcIlxuICAgICAgICAgICAgW3R1aUZvY3VzYWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25ZZWFyQ2xpY2soKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHllYXIuZm9ybWF0dGVkWWVhciB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L3R1aS1wcmltaXRpdmUtc3Bpbi1idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cInQtcm93XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRocyQgfCBhc3luYzsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqdHVpTGV0PVwiZ2V0VHVpTW9udGgoaW5kZXgsIHllYXIueWVhcikgYXMgaXRlbVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNlbGxcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy50LWNlbGxfdG9kYXldPVwiaXNJdGVtVG9kYXkoaXRlbSlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy50LWNlbGxfaW50ZXJ2YWxdPVwiaXNJdGVtSW5zaWRlUmFuZ2UoaXRlbSlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtcmFuZ2VdPVwiZ2V0SXRlbVJhbmdlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXN0YXRlXT1cImdldEl0ZW1TdGF0ZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgKHR1aUhvdmVyZWRDaGFuZ2UpPVwib25JdGVtSG92ZXJlZCgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAodHVpUHJlc3NlZENoYW5nZSk9XCJvbkl0ZW1Ib3ZlcmVkKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInQtaXRlbVwiPnt7IG1vbnRoIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Directive } from '@angular/core';
|
|
2
|
-
import { tuiButtonOptionsProvider } from '@taiga-ui/core';
|
|
2
|
+
import { TuiAppearance, tuiButtonOptionsProvider } from '@taiga-ui/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class TuiCarouselButtonsDirective {
|
|
5
5
|
}
|
|
6
6
|
TuiCarouselButtonsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiCarouselButtonsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
7
7
|
TuiCarouselButtonsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiCarouselButtonsDirective, selector: "[tuiCarouselButtons]", providers: [
|
|
8
8
|
tuiButtonOptionsProvider({
|
|
9
|
-
appearance:
|
|
9
|
+
appearance: TuiAppearance.Secondary,
|
|
10
10
|
shape: 'rounded',
|
|
11
11
|
size: 'm',
|
|
12
12
|
}),
|
|
@@ -17,11 +17,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
17
17
|
selector: '[tuiCarouselButtons]',
|
|
18
18
|
providers: [
|
|
19
19
|
tuiButtonOptionsProvider({
|
|
20
|
-
appearance:
|
|
20
|
+
appearance: TuiAppearance.Secondary,
|
|
21
21
|
shape: 'rounded',
|
|
22
22
|
size: 'm',
|
|
23
23
|
}),
|
|
24
24
|
],
|
|
25
25
|
}]
|
|
26
26
|
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtYnV0dG9ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC1idXR0b25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxhQUFhLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFZdkUsTUFBTSxPQUFPLDJCQUEyQjs7eUhBQTNCLDJCQUEyQjs2R0FBM0IsMkJBQTJCLCtDQVJ6QjtRQUNQLHdCQUF3QixDQUFDO1lBQ3JCLFVBQVUsRUFBRSxhQUFhLENBQUMsU0FBUztZQUNuQyxLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsR0FBRztTQUNaLENBQUM7S0FDTDs0RkFFUSwyQkFBMkI7a0JBVnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFO3dCQUNQLHdCQUF3QixDQUFDOzRCQUNyQixVQUFVLEVBQUUsYUFBYSxDQUFDLFNBQVM7NEJBQ25DLEtBQUssRUFBRSxTQUFTOzRCQUNoQixJQUFJLEVBQUUsR0FBRzt5QkFDWixDQUFDO3FCQUNMO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlBcHBlYXJhbmNlLCB0dWlCdXR0b25PcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpQ2Fyb3VzZWxCdXR0b25zXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUJ1dHRvbk9wdGlvbnNQcm92aWRlcih7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBUdWlBcHBlYXJhbmNlLlNlY29uZGFyeSxcbiAgICAgICAgICAgIHNoYXBlOiAncm91bmRlZCcsXG4gICAgICAgICAgICBzaXplOiAnbScsXG4gICAgICAgIH0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhcm91c2VsQnV0dG9uc0RpcmVjdGl2ZSB7fVxuIl19
|
|
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Inject, Input, Optional, Self, ViewChild, } from '@angular/core';
|
|
3
3
|
import { NgControl } from '@angular/forms';
|
|
4
4
|
import { AbstractTuiNullableControl, tuiAsControl, tuiAsFocusableItemAccessor, tuiDefaultProp, tuiIsNativeFocused, } from '@taiga-ui/cdk';
|
|
5
|
-
import { TuiModeDirective, } from '@taiga-ui/core';
|
|
5
|
+
import { TuiAppearance, TuiModeDirective, } from '@taiga-ui/core';
|
|
6
6
|
import { TuiCheckboxComponent } from '@taiga-ui/kit/components/checkbox';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@taiga-ui/kit/components/checkbox";
|
|
@@ -32,10 +32,10 @@ export class TuiCheckboxBlockComponent extends AbstractTuiNullableControl {
|
|
|
32
32
|
var _a;
|
|
33
33
|
if (!((_a = this.modeDirective) === null || _a === void 0 ? void 0 : _a.mode)) {
|
|
34
34
|
return this.checked
|
|
35
|
-
?
|
|
36
|
-
:
|
|
35
|
+
? TuiAppearance.WhiteblockActive
|
|
36
|
+
: TuiAppearance.Whiteblock;
|
|
37
37
|
}
|
|
38
|
-
return this.checked ?
|
|
38
|
+
return this.checked ? TuiAppearance.Primary : TuiAppearance.Secondary;
|
|
39
39
|
}
|
|
40
40
|
onFocused(focused) {
|
|
41
41
|
this.updateFocused(focused);
|
|
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
111
111
|
type: HostBinding,
|
|
112
112
|
args: ['class._active']
|
|
113
113
|
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtYmxvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2hlY2tib3gtYmxvY2svY2hlY2tib3gtYmxvY2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2hlY2tib3gtYmxvY2svY2hlY2tib3gtYmxvY2sudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLFlBQVksRUFDWiwwQkFBMEIsRUFDMUIsY0FBYyxFQUVkLGtCQUFrQixHQUVyQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsYUFBYSxFQUViLGdCQUFnQixHQUduQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQVl2RSxNQUFNLE9BQU8seUJBQ1QsU0FBUSwwQkFBbUM7SUFxQjNDLFlBSUksT0FBeUIsRUFDRSxHQUFzQixFQUdoQyxhQUFzQztRQUV2RCxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRkgsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBcEIzRCxpQkFBWSxHQUEyQixPQUFPLENBQUM7UUFLL0MsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFLckIsU0FBSSxHQUF3QixHQUFHLENBQUM7SUFhaEMsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxJQUNJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLFVBQVU7O1FBQ1YsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxJQUFJLENBQUEsRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPO2dCQUNmLENBQUMsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCO2dCQUNoQyxDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztTQUNsQztRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWdCO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxZQUFxQjtRQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELHFDQUFxQztJQUNyQyxhQUFhLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDOzt1SEF6RVEseUJBQXlCLGtCQXlCdEIsU0FBUyx5Q0FFVCxpQkFBaUIsYUFFakIsZ0JBQWdCOzJHQTdCbkIseUJBQXlCLGlUQUx2QjtRQUNQLDBCQUEwQixDQUFDLHlCQUF5QixDQUFDO1FBQ3JELFlBQVksQ0FBQyx5QkFBeUIsQ0FBQztLQUMxQyxvRUFNVSxvQkFBb0IsdUVDNUNuQyxnNUJBOEJBO0FEb0JJO0lBREMsY0FBYyxFQUFFOytEQUM4QjtBQUsvQztJQURDLGNBQWMsRUFBRTsrREFDSTtBQUtyQjtJQURDLGNBQWMsRUFBRTt1REFDZTs0RkFwQnZCLHlCQUF5QjtrQkFWckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsZ0NBQWdDO29CQUM3QyxTQUFTLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDMUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUCwwQkFBMEIsMkJBQTJCO3dCQUNyRCxZQUFZLDJCQUEyQjtxQkFDMUM7aUJBQ0o7OzBCQXdCUSxRQUFROzswQkFDUixJQUFJOzswQkFDSixNQUFNOzJCQUFDLFNBQVM7OzBCQUVoQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZ0JBQWdCOzRDQXhCWCxRQUFRO3NCQUR4QixTQUFTO3VCQUFDLG9CQUFvQjtnQkFNL0IsWUFBWTtzQkFIWCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFPOUIsWUFBWTtzQkFIWCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLHFCQUFxQjtnQkFPbEMsSUFBSTtzQkFISCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFzQnpCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlBcHBlYXJhbmNlLFxuICAgIFR1aUhvcml6b250YWxEaXJlY3Rpb24sXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlDaGVja2JveENvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NoZWNrYm94JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktY2hlY2tib3gtYmxvY2snLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1ibG9jay50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1ibG9jay5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUNoZWNrYm94QmxvY2tDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpQ2hlY2tib3hCbG9ja0NvbXBvbmVudCksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ2hlY2tib3hCbG9ja0NvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8Ym9vbGVhbj5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpQ2hlY2tib3hDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja2JveD86IFR1aUNoZWNrYm94Q29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hbGlnbicpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb250ZW50QWxpZ246IFR1aUhvcml6b250YWxEaXJlY3Rpb24gPSAncmlnaHQnO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9oaWRkZW5faW5wdXQnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaGlkZUNoZWNrYm94ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZUwgfCBUdWlTaXplUyA9ICdsJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aU1vZGVEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZURpcmVjdGl2ZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNkcik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja2JveCA/IHRoaXMuY2hlY2tib3gubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fYWN0aXZlJylcbiAgICBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgIT09IGZhbHNlICYmIHRoaXMuaGlkZUNoZWNrYm94O1xuICAgIH1cblxuICAgIGdldCBjaGVja2JveFNpemUoKTogVHVpU2l6ZUwge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSAnbCcgPyAnbCcgOiAnbSc7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgYXBwZWFyYW5jZSgpOiBUdWlBcHBlYXJhbmNlIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vZGVEaXJlY3RpdmU/Lm1vZGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNoZWNrZWRcbiAgICAgICAgICAgICAgICA/IFR1aUFwcGVhcmFuY2UuV2hpdGVibG9ja0FjdGl2ZVxuICAgICAgICAgICAgICAgIDogVHVpQXBwZWFyYW5jZS5XaGl0ZWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tlZCA/IFR1aUFwcGVhcmFuY2UuUHJpbWFyeSA6IFR1aUFwcGVhcmFuY2UuU2Vjb25kYXJ5O1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c1Zpc2libGUoZm9jdXNWaXNpYmxlKTtcbiAgICB9XG5cbiAgICAvKiogQGRlcHJlY2F0ZWQgdXNlICd2YWx1ZScgc2V0dGVyICovXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxufVxuIiwiPGxhYmVsXG4gICAgdHVpV3JhcHBlclxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgW2ZvY3VzXT1cImNvbXB1dGVkRm9jdXNWaXNpYmxlXCJcbiAgICBbaG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgIFthY3RpdmVdPVwicHNldWRvQWN0aXZlXCJcbiAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuPlxuICAgIDx0dWktY2hlY2tib3hcbiAgICAgICAgY2xhc3M9XCJ0LXZpZXdcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZCB8fCByZWFkT25seVwiXG4gICAgICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgICAgIFtwc2V1ZG9JbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgICAgIFtwc2V1ZG9Gb2N1c109XCJmYWxzZVwiXG4gICAgICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgICAgIFtwc2V1ZG9BY3RpdmVdPVwicHNldWRvQWN0aXZlXCJcbiAgICAgICAgW3NpemVdPVwiY2hlY2tib3hTaXplXCJcbiAgICAgICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuICAgICAgICAoZm9jdXNWaXNpYmxlQ2hhbmdlKT1cIm9uRm9jdXNWaXNpYmxlKCRldmVudClcIlxuICAgID48L3R1aS1jaGVja2JveD5cbiAgICA8ZGl2IGNsYXNzPVwidC1sYWJlbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9sYWJlbD5cbiJdfQ==
|
|
@@ -44,7 +44,7 @@ TuiInputInlineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0",
|
|
|
44
44
|
TuiInputInlineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputInlineComponent, selector: "tui-input-inline", inputs: { maxLength: "maxLength" }, providers: [
|
|
45
45
|
TUI_VALUE_ACCESSOR_PROVIDER,
|
|
46
46
|
tuiAsFocusableItemAccessor(TuiInputInlineComponent),
|
|
47
|
-
], viewQueries: [{ propertyName: "native", first: true, predicate: ["native"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span\n class=\"t-before\"\n [style.text-indent.px]=\"indent\"\n [textContent]=\"value\"\n></span>\n\n<span\n *ngIf=\"!hasValue\"\n automation-id=\"tui-input-inline__placeholder\"\n class=\"t-placeholder\"\n>\n <ng-content></ng-content>\n</span>\n\n<input\n #native\n automation-id=\"tui-input-inline__native\"\n type=\"text\"\n tuiMaskAccessor\n class=\"t-native\"\n [attr.maxLength]=\"maxLength\"\n [id]=\"id\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"focusable\"\n [(ngModel)]=\"value\"\n (scroll)=\"onScroll()\"\n (tuiFocusedChange)=\"onFocused($event)\"\n/>\n", styles: [":host{position:relative;display:inline-block;overflow:hidden;white-space:nowrap;box-sizing:border-box}.t-before{display:block;padding-right:.02em;margin-left:1px;
|
|
47
|
+
], viewQueries: [{ propertyName: "native", first: true, predicate: ["native"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span\n class=\"t-before\"\n [style.text-indent.px]=\"indent\"\n [textContent]=\"value\"\n></span>\n\n<span\n *ngIf=\"!hasValue\"\n automation-id=\"tui-input-inline__placeholder\"\n class=\"t-placeholder\"\n>\n <ng-content></ng-content>\n</span>\n\n<input\n #native\n automation-id=\"tui-input-inline__native\"\n type=\"text\"\n tuiMaskAccessor\n class=\"t-native\"\n [attr.maxLength]=\"maxLength\"\n [id]=\"id\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"focusable\"\n [(ngModel)]=\"value\"\n (scroll)=\"onScroll()\"\n (tuiFocusedChange)=\"onFocused($event)\"\n/>\n", styles: [":host{position:relative;display:inline-block;overflow:hidden;white-space:nowrap;box-sizing:border-box}.t-before{display:block;padding-right:.02em;margin-left:1px;white-space:pre}.t-placeholder{display:inline-block;min-width:1px}.t-native{position:absolute;top:0;left:0;background-color:transparent;padding:inherit;font:inherit;color:transparent;caret-color:#7d7d7d;box-sizing:border-box;width:100%;height:100%;border-width:0;text-align:inherit;letter-spacing:inherit;text-indent:inherit;text-transform:inherit;outline:none;mix-blend-mode:difference}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiMaskAccessorDirective, selector: "input[tuiMaskAccessor]" }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.TuiFocusedDirective, selector: "[tuiFocusedChange]", outputs: ["tuiFocusedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
48
48
|
__decorate([
|
|
49
49
|
tuiDefaultProp()
|
|
50
50
|
], TuiInputInlineComponent.prototype, "maxLength", void 0);
|
|
@@ -68,7 +68,7 @@ export class TuiMultiSelectGroupComponent {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
TuiMultiSelectGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiMultiSelectGroupComponent, deps: [{ token: TUI_MULTI_SELECT_TEXTS }, { token: TUI_DATA_LIST_HOST }, { token: NgControl }], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
-
TuiMultiSelectGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: "label" }, host: { properties: { "class._label": "this.label" } }, queries: [{ propertyName: "options", predicate: TuiOptionComponent }], ngImport: i0, template: "<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content></ng-content>\n", styles: [":host._label:before{display:none}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem}.t-button{margin:.75rem 1rem 0 auto}\n"], components: [{ type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i2.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
71
|
+
TuiMultiSelectGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: "label" }, host: { properties: { "class._label": "this.label" } }, queries: [{ propertyName: "options", predicate: TuiOptionComponent }], ngImport: i0, template: "<span\n *tuiLet=\"value$ | async as value\"\n class=\"t-wrapper\"\n>\n <span class=\"t-label\">{{ label }}</span>\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiLink\n type=\"button\"\n class=\"t-button\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n {{ (multiSelectTexts$ | async)?.[value ? 'none' : 'all'] }}\n </button>\n</span>\n<ng-content></ng-content>\n", styles: [":host._label:before{display:none}.t-wrapper{display:flex;align-items:flex-start}.t-label:not(:empty){flex:1;padding:.75rem 1rem .25rem .625rem}.t-button{margin:.75rem 1rem 0 auto}\n"], components: [{ type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i2.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
72
72
|
__decorate([
|
|
73
73
|
tuiDefaultProp()
|
|
74
74
|
], TuiMultiSelectGroupComponent.prototype, "label", void 0);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Inject, Input, Optional, Output, ViewChildren, } from '@angular/core';
|
|
3
3
|
import { AbstractTuiInteractive, EMPTY_QUERY, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiAsFocusableItemAccessor, tuiClamp, tuiDefaultProp, tuiIsNativeFocusedIn, } from '@taiga-ui/cdk';
|
|
4
|
-
import { TuiModeDirective, } from '@taiga-ui/core';
|
|
4
|
+
import { TuiAppearance, TuiModeDirective, } from '@taiga-ui/core';
|
|
5
5
|
import { TUI_PAGINATION_TEXTS } from '@taiga-ui/kit/tokens';
|
|
6
6
|
import { tuiHorizontalDirectionToNumber } from '@taiga-ui/kit/utils/math';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
@@ -105,12 +105,12 @@ export class TuiPaginationComponent extends AbstractTuiInteractive {
|
|
|
105
105
|
return tuiClamp(computedIndex, elementIndex, this.lastIndex - reverseElementIndex);
|
|
106
106
|
}
|
|
107
107
|
getElementMode(index) {
|
|
108
|
-
return this.index === index ?
|
|
108
|
+
return this.index === index ? TuiAppearance.Primary : TuiAppearance.Flat;
|
|
109
109
|
}
|
|
110
110
|
getSmallElementMode(index, mode) {
|
|
111
111
|
return this.index === index && mode !== 'onLight'
|
|
112
|
-
?
|
|
113
|
-
:
|
|
112
|
+
? TuiAppearance.Primary
|
|
113
|
+
: TuiAppearance.Secondary;
|
|
114
114
|
}
|
|
115
115
|
onElementClick(index) {
|
|
116
116
|
this.updateIndex(index);
|
|
@@ -258,4 +258,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
258
258
|
function nonNegativeInteger(length) {
|
|
259
259
|
return Number.isInteger(length) && length >= 0;
|
|
260
260
|
}
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLFFBQVEsRUFFUixjQUFjLEVBRWQsb0JBQW9CLEdBRXZCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFLSCxnQkFBZ0IsR0FFbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUl4RSxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7QUFTN0IsTUFBTSxPQUFPLHNCQUNULFNBQVEsc0JBQXNCO0lBZ0Q5QixZQUN5QyxFQUEyQixFQUcvQyxhQUFzQyxFQUNoQixNQUFvQztRQUUzRSxLQUFLLEVBQUUsQ0FBQztRQU42QixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUcvQyxrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBOEI7UUFqRDlELFFBQUcsR0FBMkMsV0FBVyxDQUFD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dCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUludGVyYWN0aXZlLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlDbGFtcCxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpQXBwZWFyYW5jZSxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aUJ1dHRvbkNvbXBvbmVudCxcbiAgICBUdWlIb3Jpem9udGFsRGlyZWN0aW9uLFxuICAgIFR1aU1vZGVEaXJlY3RpdmUsXG4gICAgVHVpU2l6ZVMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX1BBR0lOQVRJT05fVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7dHVpSG9yaXpvbnRhbERpcmVjdGlvblRvTnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL21hdGgnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuY29uc3QgRE9UU19MRU5HVEggPSAxO1xuY29uc3QgQUNUSVZFX0lURU1fTEVOR1RIID0gMTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcGFnaW5hdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpUGFnaW5hdGlvbkNvbXBvbmVudCldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQYWdpbmF0aW9uQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUludGVyYWN0aXZlXG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkcmVuKCdlbGVtZW50Jywge3JlYWQ6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbHM6IFF1ZXJ5TGlzdDxUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3I+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcChub25OZWdhdGl2ZUludGVnZXIsICdNdXN0IGJlIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyJylcbiAgICBsZW5ndGggPSAxO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVTID0gJ20nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJlYWRvbmx5IGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBbW91bnQgb2YgdmlzaWJsZSBwYWdlcyBhcm91bmQgYWN0aXZlIHBhZ2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWN0aXZlUGFkZGluZyA9IDE7XG5cbiAgICAvKipcbiAgICAgKiBBbW91bnQgb2YgdmlzaWJsZSBwYWdlcyBhdCB0aGUgZWRnZXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2lkZVBhZGRpbmcgPSAxO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9taXphdGlvbiBmb3IgcGFnZSBudW1iZXIgZGlzcGxheS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PjtcblxuICAgIC8qKlxuICAgICAqIEFjdGl2ZSBwYWdlIGluZGV4XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3Aobm9uTmVnYXRpdmVJbnRlZ2VyLCAnTXVzdCBiZSBub24tbmVnYXRpdmUgaW50ZWdlcicpXG4gICAgaW5kZXggPSAwO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aU1vZGVEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZURpcmVjdGl2ZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX1BBR0lOQVRJT05fVEVYVFMpIHJlYWRvbmx5IHRleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBhY3RpdmVFbGVtZW50SW5kZXggPSAwO1xuICAgICAgICBjb25zdCB7ZWxlbWVudHNMZW5ndGh9ID0gdGhpcztcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnRzTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9IHRoaXMuZ2V0SXRlbUluZGV4QnlFbGVtZW50SW5kZXgoaSk7XG5cbiAgICAgICAgICAgIGlmIChpdGVtSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVFbGVtZW50SW5kZXgrKztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW1JbmRleCA9PT0gdGhpcy5pbmRleCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IHRoaXMuZWxzLmZpbmQoKF8sIGluZGV4KSA9PiBpbmRleCA9PT0gYWN0aXZlRWxlbWVudEluZGV4KTtcblxuICAgICAgICByZXR1cm4gYWN0aXZlRWxlbWVudCA/IGFjdGl2ZUVsZW1lbnQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBpdGVtcyBpbiBhIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBnZXQgZWxlbWVudHNMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXNGaXQgPyB0aGlzLmxlbmd0aCA6IHRoaXMubWF4RWxlbWVudHNMZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IHNpemVNKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSAnbSc7XG4gICAgfVxuXG4gICAgZ2V0IG1vZGUoKTogVHVpQnJpZ2h0bmVzcyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlRGlyZWN0aXZlID8gdGhpcy5tb2RlRGlyZWN0aXZlLm1vZGUgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBhcnJvd0lzRGlzYWJsZWRMZWZ0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gMDtcbiAgICB9XG5cbiAgICBnZXQgYXJyb3dJc0Rpc2FibGVkUmlnaHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJldmVyc2VJbmRleCA9PT0gMDtcbiAgICB9XG5cbiAgICBlbGVtZW50SXNGb2N1c2FibGUoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gaW5kZXggJiYgIXRoaXMuZm9jdXNlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgaW5kZXggYnkgZWxlbWVudCBpbmRleFxuICAgICAqIEBwYXJhbSBlbGVtZW50SW5kZXhcbiAgICAgKiBAcmV0dXJucyBpbmRleCBvciBudWxsIChmb3IgJ+KApicpXG4gICAgICovXG4gICAgZ2V0SXRlbUluZGV4QnlFbGVtZW50SW5kZXgoZWxlbWVudEluZGV4OiBudW1iZXIpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgaWYgKCF0aGlzLnNpemVNKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVsZW1lbnRJbmRleCA8IHRoaXMuc2lkZVBhZGRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50SW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZWxlbWVudEluZGV4ID09PSB0aGlzLnNpZGVQYWRkaW5nICYmIHRoaXMuaGFzQ29sbGFwc2VkSXRlbXModGhpcy5pbmRleCkpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmV2ZXJzZUVsZW1lbnRJbmRleCA9IHRoaXMubGFzdEVsZW1lbnRJbmRleCAtIGVsZW1lbnRJbmRleDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICByZXZlcnNlRWxlbWVudEluZGV4ID09PSB0aGlzLnNpZGVQYWRkaW5nICYmXG4gICAgICAgICAgICB0aGlzLmhhc0NvbGxhcHNlZEl0ZW1zKHRoaXMucmV2ZXJzZUluZGV4KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJldmVyc2VFbGVtZW50SW5kZXggPCB0aGlzLnNpZGVQYWRkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sYXN0SW5kZXggLSByZXZlcnNlRWxlbWVudEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29tcHV0ZWRJbmRleCA9IHRoaXMuaW5kZXggLSB0aGlzLm1heEhhbGZMZW5ndGggKyBlbGVtZW50SW5kZXg7XG5cbiAgICAgICAgcmV0dXJuIHR1aUNsYW1wKFxuICAgICAgICAgICAgY29tcHV0ZWRJbmRleCxcbiAgICAgICAgICAgIGVsZW1lbnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMubGFzdEluZGV4IC0gcmV2ZXJzZUVsZW1lbnRJbmRleCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRFbGVtZW50TW9kZShpbmRleDogbnVtYmVyKTogVHVpQXBwZWFyYW5jZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4ID09PSBpbmRleCA/IFR1aUFwcGVhcmFuY2UuUHJpbWFyeSA6IFR1aUFwcGVhcmFuY2UuRmxhdDtcbiAgICB9XG5cbiAgICBnZXRTbWFsbEVsZW1lbnRNb2RlKGluZGV4OiBudW1iZXIsIG1vZGU6IFR1aUJyaWdodG5lc3MgfCBudWxsKTogVHVpQXBwZWFyYW5jZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4ID09PSBpbmRleCAmJiBtb2RlICE9PSAnb25MaWdodCdcbiAgICAgICAgICAgID8gVHVpQXBwZWFyYW5jZS5QcmltYXJ5XG4gICAgICAgICAgICA6IFR1aUFwcGVhcmFuY2UuU2Vjb25kYXJ5O1xuICAgIH1cblxuICAgIG9uRWxlbWVudENsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbmRleChpbmRleCk7XG4gICAgfVxuXG4gICAgb25FbGVtZW50S2V5RG93bkFycm93TGVmdChlbGVtZW50OiBUdWlCdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IHRoaXMuZWxzLmZpcnN0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMuZWxzLmZpbmQoKF8sIGluZGV4LCBhcnJheSkgPT4gYXJyYXlbaW5kZXggKyAxXSA9PT0gZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzPy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBwcmV2aW91cy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkVsZW1lbnRLZXlEb3duQXJyb3dSaWdodChlbGVtZW50OiBUdWlCdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IHRoaXMuZWxzLmxhc3QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5leHQgPSB0aGlzLmVscy5maW5kKChfLCBpbmRleCwgYXJyYXkpID0+IGFycmF5W2luZGV4IC0gMV0gPT09IGVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChuZXh0Py5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBuZXh0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXJyb3dDbGljayhkaXJlY3Rpb246IFR1aUhvcml6b250YWxEaXJlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50cnlDaGFuZ2VUbyhkaXJlY3Rpb24pO1xuICAgICAgICB0aGlzLmZvY3VzQWN0aXZlKCk7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFjdGl2ZSBpbmRleCBmcm9tIHRoZSBlbmRcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCByZXZlcnNlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdEluZGV4IC0gdGhpcy5pbmRleDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYXggbnVtYmVyIG9mIGVsZW1lbnRzIGluIGhhbGYgKG5vdCBjb3VudGluZyB0aGUgbWlkZGxlIG9uZSkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgbWF4SGFsZkxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWRlUGFkZGluZyArIERPVFNfTEVOR1RIICsgdGhpcy5hY3RpdmVQYWRkaW5nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElzIHRoZXJlICcuLi4nIGFueXdoZXJlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgaXRlbXNGaXQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxlbmd0aCA8PSB0aGlzLm1heEVsZW1lbnRzTGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1heCBudW1iZXIgb2YgZWxlbWVudHNcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCBtYXhFbGVtZW50c0xlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhIYWxmTGVuZ3RoICogMiArIEFDVElWRV9JVEVNX0xFTkdUSDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBsYXN0SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBsYXN0RWxlbWVudEluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRzTGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBcmUgdGhlcmUgY29sbGFwc2VkIGl0ZW1zIGF0IHRoYXQgaW5kZXhcbiAgICAgKiBAcGFyYW0gaW5kZXhcbiAgICAgKiBAcmV0dXJucyB0aGVyZSBhcmUgY29sbGFwc2VkIGl0ZW1zXG4gICAgICovXG4gICAgcHJpdmF0ZSBoYXNDb2xsYXBzZWRJdGVtcyhpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pdGVtc0ZpdCAmJiBpbmRleCA+IHRoaXMubWF4SGFsZkxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyeUNoYW5nZVRvKGRpcmVjdGlvbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUluZGV4KFxuICAgICAgICAgICAgdHVpQ2xhbXAoXG4gICAgICAgICAgICAgICAgdGhpcy5pbmRleCArIHR1aUhvcml6b250YWxEaXJlY3Rpb25Ub051bWJlcihkaXJlY3Rpb24pLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0SW5kZXgsXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNBY3RpdmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSW5kZXgoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbmRleCA9PT0gaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5pbmRleENoYW5nZS5lbWl0KGluZGV4KTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG5vbk5lZ2F0aXZlSW50ZWdlcihsZW5ndGg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGxlbmd0aCkgJiYgbGVuZ3RoID49IDA7XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICh0dWlBY3RpdmVab25lQ2hhbmdlKT1cIm9uQWN0aXZlWm9uZSgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2l6ZU07IGVsc2Ugc21hbGxCdXR0b25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZXh0cyQgfCBhc3luYyBhcyB0ZXh0c1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0dWlQcmV2ZW50RGVmYXVsdD1cIm1vdXNlZG93blwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICBpY29uPVwidHVpSWNvbkNoZXZyb25MZWZ0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGV4dHNbMF1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhcnJvd0lzRGlzYWJsZWRMZWZ0XCJcbiAgICAgICAgICAgICAgICBbZm9jdXNhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BcnJvd0NsaWNrKCdsZWZ0JylcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqdHVpUmVwZWF0VGltZXM9XCJsZXQgZWxlbWVudEluZGV4IG9mIGVsZW1lbnRzTGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqdHVpTGV0PVwiZ2V0SXRlbUluZGV4QnlFbGVtZW50SW5kZXgoZWxlbWVudEluZGV4KSBhcyBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImluZGV4ICE9PSBudWxsOyBlbHNlIGRvdHNUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAjZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcGFnaW5hdGlvbl9fZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaGFwZT1cInNxdWFyZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9jdXNhYmxlXT1cImVsZW1lbnRJc0ZvY3VzYWJsZShpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiZ2V0RWxlbWVudE1vZGUoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkVsZW1lbnRDbGljayhpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQpPVwib25FbGVtZW50S2V5RG93bkFycm93TGVmdChlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnQpPVwib25FbGVtZW50S2V5RG93bkFycm93UmlnaHQoZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IHx8IGluZGV4ICsgMSBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBpbmRleH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgaWNvbj1cInR1aUljb25DaGV2cm9uUmlnaHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ0ZXh0c1sxXVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFycm93SXNEaXNhYmxlZFJpZ2h0XCJcbiAgICAgICAgICAgICAgICBbZm9jdXNhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BcnJvd0NsaWNrKCdyaWdodCcpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNzbWFsbEJ1dHRvbnM+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleEl0ZW0gb2YgbGVuZ3RoXCJcbiAgICAgICAgICAgICNlbGVtZW50XG4gICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgc2hhcGU9XCJzcXVhcmVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvbiB0LWJ1dHRvbl9zbWFsbFwiXG4gICAgICAgICAgICBbY2xhc3MudC1idXR0b25fYWN0aXZlXT1cImluZGV4SXRlbSA9PT0gaW5kZXhcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZWxlbWVudElzRm9jdXNhYmxlKGluZGV4SXRlbSlcIlxuICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiZ2V0U21hbGxFbGVtZW50TW9kZShpbmRleEl0ZW0sIG1vZGUpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkVsZW1lbnRDbGljayhpbmRleEl0ZW0pXCJcbiAgICAgICAgICAgIChrZXlkb3duLmFycm93TGVmdC5wcmV2ZW50KT1cIm9uRWxlbWVudEtleURvd25BcnJvd0xlZnQoZWxlbWVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uYXJyb3dSaWdodC5wcmV2ZW50KT1cIm9uRWxlbWVudEtleURvd25BcnJvd1JpZ2h0KGVsZW1lbnQpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNkb3RzVGVtcGxhdGU+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcGFnaW5hdGlvbl9fZWxlbWVudFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtZG90c1wiXG4gICAgICAgID48L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLFFBQVEsRUFFUixjQUFjLEVBRWQsb0JBQW9CLEdBRXZCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBSWIsZ0JBQWdCLEdBRW5CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFJeEUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0FBUzdCLE1BQU0sT0FBTyxzQkFDVCxTQUFRLHNCQUFzQjtJQWdEOUIsWUFDeUMsRUFBMkIsRUFHL0MsYUFBc0MsRUFDaEIsTUFBb0M7UUFFM0UsS0FBSyxFQUFFLENBQUM7UUFONkIsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFHL0Msa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQThCO1FBakQ5RCxRQUFHLEdBQTJD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QUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLElBQUksQ0FBQyxDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUludGVyYWN0aXZlLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlDbGFtcCxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpQXBwZWFyYW5jZSxcbiAgICBUdWlCcmlnaHRuZXNzLFxuICAgIFR1aUJ1dHRvbkNvbXBvbmVudCxcbiAgICBUdWlIb3Jpem9udGFsRGlyZWN0aW9uLFxuICAgIFR1aU1vZGVEaXJlY3RpdmUsXG4gICAgVHVpU2l6ZVMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX1BBR0lOQVRJT05fVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7dHVpSG9yaXpvbnRhbERpcmVjdGlvblRvTnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL21hdGgnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuY29uc3QgRE9UU19MRU5HVEggPSAxO1xuY29uc3QgQUNUSVZFX0lURU1fTEVOR1RIID0gMTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcGFnaW5hdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpUGFnaW5hdGlvbkNvbXBvbmVudCldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQYWdpbmF0aW9uQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUludGVyYWN0aXZlXG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkcmVuKCdlbGVtZW50Jywge3JlYWQ6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbHM6IFF1ZXJ5TGlzdDxUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3I+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcChub25OZWdhdGl2ZUludGVnZXIsICdNdXN0IGJlIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyJylcbiAgICBsZW5ndGggPSAxO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVTID0gJ20nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJlYWRvbmx5IGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBbW91bnQgb2YgdmlzaWJsZSBwYWdlcyBhcm91bmQgYWN0aXZlIHBhZ2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWN0aXZlUGFkZGluZyA9IDE7XG5cbiAgICAvKipcbiAgICAgKiBBbW91bnQgb2YgdmlzaWJsZSBwYWdlcyBhdCB0aGUgZWRnZXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2lkZVBhZGRpbmcgPSAxO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9taXphdGlvbiBmb3IgcGFnZSBudW1iZXIgZGlzcGxheS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PjtcblxuICAgIC8qKlxuICAgICAqIEFjdGl2ZSBwYWdlIGluZGV4XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3Aobm9uTmVnYXRpdmVJbnRlZ2VyLCAnTXVzdCBiZSBub24tbmVnYXRpdmUgaW50ZWdlcicpXG4gICAgaW5kZXggPSAwO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aU1vZGVEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZURpcmVjdGl2ZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX1BBR0lOQVRJT05fVEVYVFMpIHJlYWRvbmx5IHRleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBhY3RpdmVFbGVtZW50SW5kZXggPSAwO1xuICAgICAgICBjb25zdCB7ZWxlbWVudHNMZW5ndGh9ID0gdGhpcztcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnRzTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9IHRoaXMuZ2V0SXRlbUluZGV4QnlFbGVtZW50SW5kZXgoaSk7XG5cbiAgICAgICAgICAgIGlmIChpdGVtSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVFbGVtZW50SW5kZXgrKztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW1JbmRleCA9PT0gdGhpcy5pbmRleCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IHRoaXMuZWxzLmZpbmQoKF8sIGluZGV4KSA9PiBpbmRleCA9PT0gYWN0aXZlRWxlbWVudEluZGV4KTtcblxuICAgICAgICByZXR1cm4gYWN0aXZlRWxlbWVudCA/IGFjdGl2ZUVsZW1lbnQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBpdGVtcyBpbiBhIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBnZXQgZWxlbWVudHNMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXNGaXQgPyB0aGlzLmxlbmd0aCA6IHRoaXMubWF4RWxlbWVudHNMZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IHNpemVNKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSAnbSc7XG4gICAgfVxuXG4gICAgZ2V0IG1vZGUoKTogVHVpQnJpZ2h0bmVzcyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlRGlyZWN0aXZlID8gdGhpcy5tb2RlRGlyZWN0aXZlLm1vZGUgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBhcnJvd0lzRGlzYWJsZWRMZWZ0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gMDtcbiAgICB9XG5cbiAgICBnZXQgYXJyb3dJc0Rpc2FibGVkUmlnaHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJldmVyc2VJbmRleCA9PT0gMDtcbiAgICB9XG5cbiAgICBlbGVtZW50SXNGb2N1c2FibGUoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gaW5kZXggJiYgIXRoaXMuZm9jdXNlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgaW5kZXggYnkgZWxlbWVudCBpbmRleFxuICAgICAqIEBwYXJhbSBlbGVtZW50SW5kZXhcbiAgICAgKiBAcmV0dXJucyBpbmRleCBvciBudWxsIChmb3IgJ+KApicpXG4gICAgICovXG4gICAgZ2V0SXRlbUluZGV4QnlFbGVtZW50SW5kZXgoZWxlbWVudEluZGV4OiBudW1iZXIpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgaWYgKCF0aGlzLnNpemVNKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVsZW1lbnRJbmRleCA8IHRoaXMuc2lkZVBhZGRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50SW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZWxlbWVudEluZGV4ID09PSB0aGlzLnNpZGVQYWRkaW5nICYmIHRoaXMuaGFzQ29sbGFwc2VkSXRlbXModGhpcy5pbmRleCkpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmV2ZXJzZUVsZW1lbnRJbmRleCA9IHRoaXMubGFzdEVsZW1lbnRJbmRleCAtIGVsZW1lbnRJbmRleDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICByZXZlcnNlRWxlbWVudEluZGV4ID09PSB0aGlzLnNpZGVQYWRkaW5nICYmXG4gICAgICAgICAgICB0aGlzLmhhc0NvbGxhcHNlZEl0ZW1zKHRoaXMucmV2ZXJzZUluZGV4KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJldmVyc2VFbGVtZW50SW5kZXggPCB0aGlzLnNpZGVQYWRkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sYXN0SW5kZXggLSByZXZlcnNlRWxlbWVudEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29tcHV0ZWRJbmRleCA9IHRoaXMuaW5kZXggLSB0aGlzLm1heEhhbGZMZW5ndGggKyBlbGVtZW50SW5kZXg7XG5cbiAgICAgICAgcmV0dXJuIHR1aUNsYW1wKFxuICAgICAgICAgICAgY29tcHV0ZWRJbmRleCxcbiAgICAgICAgICAgIGVsZW1lbnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMubGFzdEluZGV4IC0gcmV2ZXJzZUVsZW1lbnRJbmRleCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRFbGVtZW50TW9kZShpbmRleDogbnVtYmVyKTogVHVpQXBwZWFyYW5jZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4ID09PSBpbmRleCA/IFR1aUFwcGVhcmFuY2UuUHJpbWFyeSA6IFR1aUFwcGVhcmFuY2UuRmxhdDtcbiAgICB9XG5cbiAgICBnZXRTbWFsbEVsZW1lbnRNb2RlKGluZGV4OiBudW1iZXIsIG1vZGU6IFR1aUJyaWdodG5lc3MgfCBudWxsKTogVHVpQXBwZWFyYW5jZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4ID09PSBpbmRleCAmJiBtb2RlICE9PSAnb25MaWdodCdcbiAgICAgICAgICAgID8gVHVpQXBwZWFyYW5jZS5QcmltYXJ5XG4gICAgICAgICAgICA6IFR1aUFwcGVhcmFuY2UuU2Vjb25kYXJ5O1xuICAgIH1cblxuICAgIG9uRWxlbWVudENsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbmRleChpbmRleCk7XG4gICAgfVxuXG4gICAgb25FbGVtZW50S2V5RG93bkFycm93TGVmdChlbGVtZW50OiBUdWlCdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IHRoaXMuZWxzLmZpcnN0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMuZWxzLmZpbmQoKF8sIGluZGV4LCBhcnJheSkgPT4gYXJyYXlbaW5kZXggKyAxXSA9PT0gZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzPy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBwcmV2aW91cy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkVsZW1lbnRLZXlEb3duQXJyb3dSaWdodChlbGVtZW50OiBUdWlCdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IHRoaXMuZWxzLmxhc3QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5leHQgPSB0aGlzLmVscy5maW5kKChfLCBpbmRleCwgYXJyYXkpID0+IGFycmF5W2luZGV4IC0gMV0gPT09IGVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChuZXh0Py5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBuZXh0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXJyb3dDbGljayhkaXJlY3Rpb246IFR1aUhvcml6b250YWxEaXJlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50cnlDaGFuZ2VUbyhkaXJlY3Rpb24pO1xuICAgICAgICB0aGlzLmZvY3VzQWN0aXZlKCk7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFjdGl2ZSBpbmRleCBmcm9tIHRoZSBlbmRcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCByZXZlcnNlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdEluZGV4IC0gdGhpcy5pbmRleDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYXggbnVtYmVyIG9mIGVsZW1lbnRzIGluIGhhbGYgKG5vdCBjb3VudGluZyB0aGUgbWlkZGxlIG9uZSkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgbWF4SGFsZkxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWRlUGFkZGluZyArIERPVFNfTEVOR1RIICsgdGhpcy5hY3RpdmVQYWRkaW5nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElzIHRoZXJlICcuLi4nIGFueXdoZXJlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgaXRlbXNGaXQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxlbmd0aCA8PSB0aGlzLm1heEVsZW1lbnRzTGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1heCBudW1iZXIgb2YgZWxlbWVudHNcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldCBtYXhFbGVtZW50c0xlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhIYWxmTGVuZ3RoICogMiArIEFDVElWRV9JVEVNX0xFTkdUSDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBsYXN0SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBsYXN0RWxlbWVudEluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRzTGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBcmUgdGhlcmUgY29sbGFwc2VkIGl0ZW1zIGF0IHRoYXQgaW5kZXhcbiAgICAgKiBAcGFyYW0gaW5kZXhcbiAgICAgKiBAcmV0dXJucyB0aGVyZSBhcmUgY29sbGFwc2VkIGl0ZW1zXG4gICAgICovXG4gICAgcHJpdmF0ZSBoYXNDb2xsYXBzZWRJdGVtcyhpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pdGVtc0ZpdCAmJiBpbmRleCA+IHRoaXMubWF4SGFsZkxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyeUNoYW5nZVRvKGRpcmVjdGlvbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUluZGV4KFxuICAgICAgICAgICAgdHVpQ2xhbXAoXG4gICAgICAgICAgICAgICAgdGhpcy5pbmRleCArIHR1aUhvcml6b250YWxEaXJlY3Rpb25Ub051bWJlcihkaXJlY3Rpb24pLFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0SW5kZXgsXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNBY3RpdmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSW5kZXgoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbmRleCA9PT0gaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5pbmRleENoYW5nZS5lbWl0KGluZGV4KTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG5vbk5lZ2F0aXZlSW50ZWdlcihsZW5ndGg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGxlbmd0aCkgJiYgbGVuZ3RoID49IDA7XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICh0dWlBY3RpdmVab25lQ2hhbmdlKT1cIm9uQWN0aXZlWm9uZSgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2l6ZU07IGVsc2Ugc21hbGxCdXR0b25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZXh0cyQgfCBhc3luYyBhcyB0ZXh0c1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0dWlQcmV2ZW50RGVmYXVsdD1cIm1vdXNlZG93blwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICBpY29uPVwidHVpSWNvbkNoZXZyb25MZWZ0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGV4dHNbMF1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhcnJvd0lzRGlzYWJsZWRMZWZ0XCJcbiAgICAgICAgICAgICAgICBbZm9jdXNhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BcnJvd0NsaWNrKCdsZWZ0JylcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqdHVpUmVwZWF0VGltZXM9XCJsZXQgZWxlbWVudEluZGV4IG9mIGVsZW1lbnRzTGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqdHVpTGV0PVwiZ2V0SXRlbUluZGV4QnlFbGVtZW50SW5kZXgoZWxlbWVudEluZGV4KSBhcyBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImluZGV4ICE9PSBudWxsOyBlbHNlIGRvdHNUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAjZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcGFnaW5hdGlvbl9fZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaGFwZT1cInNxdWFyZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9jdXNhYmxlXT1cImVsZW1lbnRJc0ZvY3VzYWJsZShpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiZ2V0RWxlbWVudE1vZGUoaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkVsZW1lbnRDbGljayhpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQpPVwib25FbGVtZW50S2V5RG93bkFycm93TGVmdChlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnQpPVwib25FbGVtZW50S2V5RG93bkFycm93UmlnaHQoZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IHx8IGluZGV4ICsgMSBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBpbmRleH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgaWNvbj1cInR1aUljb25DaGV2cm9uUmlnaHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ0ZXh0c1sxXVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFycm93SXNEaXNhYmxlZFJpZ2h0XCJcbiAgICAgICAgICAgICAgICBbZm9jdXNhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BcnJvd0NsaWNrKCdyaWdodCcpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNzbWFsbEJ1dHRvbnM+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleEl0ZW0gb2YgbGVuZ3RoXCJcbiAgICAgICAgICAgICNlbGVtZW50XG4gICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgc2hhcGU9XCJzcXVhcmVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvbiB0LWJ1dHRvbl9zbWFsbFwiXG4gICAgICAgICAgICBbY2xhc3MudC1idXR0b25fYWN0aXZlXT1cImluZGV4SXRlbSA9PT0gaW5kZXhcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZWxlbWVudElzRm9jdXNhYmxlKGluZGV4SXRlbSlcIlxuICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiZ2V0U21hbGxFbGVtZW50TW9kZShpbmRleEl0ZW0sIG1vZGUpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkVsZW1lbnRDbGljayhpbmRleEl0ZW0pXCJcbiAgICAgICAgICAgIChrZXlkb3duLmFycm93TGVmdC5wcmV2ZW50KT1cIm9uRWxlbWVudEtleURvd25BcnJvd0xlZnQoZWxlbWVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uYXJyb3dSaWdodC5wcmV2ZW50KT1cIm9uRWxlbWVudEtleURvd25BcnJvd1JpZ2h0KGVsZW1lbnQpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNkb3RzVGVtcGxhdGU+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcGFnaW5hdGlvbl9fZWxlbWVudFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtZG90c1wiXG4gICAgICAgID48L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -2,7 +2,10 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Inject, Input, ViewChild, } from '@angular/core';
|
|
3
3
|
import { USER_AGENT, WINDOW } from '@ng-web-apis/common';
|
|
4
4
|
import { CHROMIUM_EDGE_START_VERSION, tuiDefaultProp, tuiIsEdgeOlderThan, } from '@taiga-ui/cdk';
|
|
5
|
+
import { of } from 'rxjs';
|
|
6
|
+
import { delay } from 'rxjs/operators';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
6
9
|
export class TuiProgressCircleComponent {
|
|
7
10
|
constructor(userAgent, win, el) {
|
|
8
11
|
this.userAgent = userAgent;
|
|
@@ -12,6 +15,7 @@ export class TuiProgressCircleComponent {
|
|
|
12
15
|
this.max = 1;
|
|
13
16
|
this.color = null;
|
|
14
17
|
this.size = 'm';
|
|
18
|
+
this.animationDelay$ = of(true).pipe(delay(0));
|
|
15
19
|
}
|
|
16
20
|
get progressPercentage() {
|
|
17
21
|
return this.value / this.max;
|
|
@@ -26,7 +30,7 @@ export class TuiProgressCircleComponent {
|
|
|
26
30
|
}
|
|
27
31
|
}
|
|
28
32
|
TuiProgressCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressCircleComponent, deps: [{ token: USER_AGENT }, { token: WINDOW }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
TuiProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiProgressCircleComponent, selector: "tui-progress-circle", inputs: { value: "value", max: "max", color: "color", size: "size" }, host: { properties: { "style.--tui-progress-color": "this.color", "attr.data-size": "this.size", "style.--progress-percentage": "this.progressPercentage" } }, viewQueries: [{ propertyName: "progressCircle", first: true, predicate: ["progressCircle"], descendants: true, static: true }], ngImport: i0, template: "<progress\n class=\"t-hidden-progress\"\n [value]=\"value\"\n [max]=\"max\"\n></progress>\n\n<svg\n height=\"100%\"\n width=\"100%\"\n aria-hidden=\"true\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n\n <circle\n #progressCircle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n</svg>\n", styles: [":host{position:relative;display:block;color:var(--tui-primary);transform:rotate(-90deg);transform-origin:center;font-size:1rem}:host[data-size=s]{width:2em;height:2em}:host[data-size=s] .t-track{r:.75em;stroke-width:.5em}:host[data-size=s] .t-progress{r:.75em;stroke-width:.5em;stroke-dasharray:4.71238898em;stroke-dashoffset:calc(4.71238898em - var(--progress-percentage) * 4.71238898em)}:host[data-size=m]{width:3em;height:3em}:host[data-size=m] .t-track{r:1.3125em;stroke-width:.375em}:host[data-size=m] .t-progress{r:1.3125em;stroke-width:.375em;stroke-dasharray:8.24668072em;stroke-dashoffset:calc(8.24668072em - var(--progress-percentage) * 8.24668072em)}:host[data-size=l]{width:4em;height:4em}:host[data-size=l] .t-track{r:1.8125em;stroke-width:.375em}:host[data-size=l] .t-progress{r:1.8125em;stroke-width:.375em;stroke-dasharray:11.38827337em;stroke-dashoffset:calc(11.38827337em - var(--progress-percentage) * 11.38827337em)}:host[data-size=xl]{width:7em;height:7em}:host[data-size=xl] .t-track{r:3.3125em;stroke-width:.375em}:host[data-size=xl] .t-progress{r:3.3125em;stroke-width:.375em;stroke-dasharray:20.81305133em;stroke-dashoffset:calc(20.81305133em - var(--progress-percentage) * 20.81305133em)}.t-track{fill:transparent;stroke:var(--tui-base-03)}.t-progress{fill:transparent;stroke:var(--tui-progress-color, currentColor);stroke-linecap:round
|
|
33
|
+
TuiProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiProgressCircleComponent, selector: "tui-progress-circle", inputs: { value: "value", max: "max", color: "color", size: "size" }, host: { properties: { "style.--tui-progress-color": "this.color", "attr.data-size": "this.size", "style.--progress-percentage": "this.progressPercentage" } }, viewQueries: [{ propertyName: "progressCircle", first: true, predicate: ["progressCircle"], descendants: true, static: true }], ngImport: i0, template: "<progress\n class=\"t-hidden-progress\"\n [value]=\"value\"\n [max]=\"max\"\n></progress>\n\n<svg\n height=\"100%\"\n width=\"100%\"\n aria-hidden=\"true\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n\n <circle\n #progressCircle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n [class.t-progress_filled]=\"animationDelay$ | async\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n</svg>\n", styles: [":host{position:relative;display:block;color:var(--tui-primary);transform:rotate(-90deg);transform-origin:center;font-size:1rem}:host[data-size=s]{width:2em;height:2em}:host[data-size=s] .t-track{r:.75em;stroke-width:.5em}:host[data-size=s] .t-progress{r:.75em;stroke-width:.5em;stroke-dasharray:4.71238898em;stroke-dashoffset:4.71238898em}:host[data-size=s] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(4.71238898em - var(--progress-percentage) * 4.71238898em)}:host[data-size=m]{width:3em;height:3em}:host[data-size=m] .t-track{r:1.3125em;stroke-width:.375em}:host[data-size=m] .t-progress{r:1.3125em;stroke-width:.375em;stroke-dasharray:8.24668072em;stroke-dashoffset:8.24668072em}:host[data-size=m] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(8.24668072em - var(--progress-percentage) * 8.24668072em)}:host[data-size=l]{width:4em;height:4em}:host[data-size=l] .t-track{r:1.8125em;stroke-width:.375em}:host[data-size=l] .t-progress{r:1.8125em;stroke-width:.375em;stroke-dasharray:11.38827337em;stroke-dashoffset:11.38827337em}:host[data-size=l] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(11.38827337em - var(--progress-percentage) * 11.38827337em)}:host[data-size=xl]{width:7em;height:7em}:host[data-size=xl] .t-track{r:3.3125em;stroke-width:.375em}:host[data-size=xl] .t-progress{r:3.3125em;stroke-width:.375em;stroke-dasharray:20.81305133em;stroke-dashoffset:20.81305133em}:host[data-size=xl] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(20.81305133em - var(--progress-percentage) * 20.81305133em)}.t-track{fill:transparent;stroke:var(--tui-base-03)}.t-progress{fill:transparent;stroke:var(--tui-progress-color, currentColor);stroke-linecap:round}.t-hidden-progress{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0}.t-svg{overflow:unset}\n"], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
30
34
|
__decorate([
|
|
31
35
|
tuiDefaultProp()
|
|
32
36
|
], TuiProgressCircleComponent.prototype, "value", void 0);
|
|
@@ -77,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
77
81
|
type: HostBinding,
|
|
78
82
|
args: ['style.--progress-percentage']
|
|
79
83
|
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtY2lyY2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3Byb2dyZXNzL3Byb2dyZXNzLWNpcmNsZS9wcm9ncmVzcy1jaXJjbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHJvZ3Jlc3MvcHJvZ3Jlc3MtY2lyY2xlL3Byb2dyZXNzLWNpcmNsZS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUNILDJCQUEyQixFQUMzQixjQUFjLEVBQ2Qsa0JBQWtCLEdBQ3JCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFRckMsTUFBTSxPQUFPLDBCQUEwQjtJQTJDbkMsWUFDeUMsU0FBaUIsRUFDckIsR0FBVyxFQUNQLEVBQTJCO1FBRjNCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDckIsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNQLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBeENwRSxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBSVYsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUtSLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBSzVCLFNBQUksR0FBeUIsR0FBRyxDQUFDO1FBT2pDLG9CQUFlLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQW9CdkMsQ0FBQztJQXpCSixJQUNJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNqQyxDQUFDO0lBSUQsdURBQXVEO0lBQ3ZELElBQUkscUJBQXFCO1FBQ3JCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDbEUsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFdBQVcsRUFDeEUsRUFBRSxDQUNMLENBQUM7UUFFRixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRSxDQUFDOzt3SEF6Q1EsMEJBQTBCLGtCQTRDdkIsVUFBVSxhQUNWLE1BQU0sYUFDTixVQUFVOzRHQTlDYiwwQkFBMEIsZ2FDekJ2Qyxza0JBNEJBO0FER0k7SUFEQyxjQUFjLEVBQUU7eURBQ1A7QUFJVjtJQURDLGNBQWMsRUFBRTt1REFDVDtBQUtSO0lBREMsY0FBYyxFQUFFO3lEQUNXO0FBSzVCO0lBREMsY0FBYyxFQUFFO3dEQUNnQjs0RkFwQnhCLDBCQUEwQjtrQkFOdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztvQkFDM0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzswQkE2Q1EsTUFBTTsyQkFBQyxVQUFVOzhCQUNvQixNQUFNOzBCQUEzQyxNQUFNOzJCQUFDLE1BQU07OzBCQUNiLE1BQU07MkJBQUMsVUFBVTs0Q0E1Q0wsY0FBYztzQkFEOUIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSzNDLEtBQUs7c0JBRkosS0FBSztnQkFNTixHQUFHO3NCQUZGLEtBQUs7Z0JBT04sS0FBSztzQkFISixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLDRCQUE0QjtnQkFPekMsSUFBSTtzQkFISCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFLekIsa0JBQWtCO3NCQURyQixXQUFXO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VTRVJfQUdFTlQsIFdJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENIUk9NSVVNX0VER0VfU1RBUlRfVkVSU0lPTixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICB0dWlJc0VkZ2VPbGRlclRoYW4sXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlTaXplUywgVHVpU2l6ZVhMfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge29mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVsYXl9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcHJvZ3Jlc3MtY2lyY2xlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MtY2lyY2xlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWNpcmNsZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByb2dyZXNzQ2lyY2xlQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCdwcm9ncmVzc0NpcmNsZScsIHtzdGF0aWM6IHRydWV9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZ3Jlc3NDaXJjbGUhOiBFbGVtZW50UmVmPFNWR0NpcmNsZUVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSAxO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tdHVpLXByb2dyZXNzLWNvbG9yJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbG9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplUyB8IFR1aVNpemVYTCA9ICdtJztcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS1wcm9ncmVzcy1wZXJjZW50YWdlJylcbiAgICBnZXQgcHJvZ3Jlc3NQZXJjZW50YWdlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlIC8gdGhpcy5tYXg7XG4gICAgfVxuXG4gICAgYW5pbWF0aW9uRGVsYXkkID0gb2YodHJ1ZSkucGlwZShkZWxheSgwKSk7XG5cbiAgICAvLyBUT0RPOiBkcm9wIHN1cHBvcnQgb2YgbGVnYWN5IEVkZ2UgKEVkZ2VIVE1MKSBpbiB2NC54XG4gICAgZ2V0IG9sZEVkZ2VSYWRpdXNGYWxsYmFjaygpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgaWYgKCF0dWlJc0VkZ2VPbGRlclRoYW4oQ0hST01JVU1fRURHRV9TVEFSVF9WRVJTSU9OLCB0aGlzLnVzZXJBZ2VudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3Ryb2tlV2lkdGggPSBwYXJzZUludChcbiAgICAgICAgICAgIHRoaXMud2luLmdldENvbXB1dGVkU3R5bGUodGhpcy5wcm9ncmVzc0NpcmNsZS5uYXRpdmVFbGVtZW50KS5zdHJva2VXaWR0aCxcbiAgICAgICAgICAgIDEwLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiAodGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gc3Ryb2tlV2lkdGgpIC8gMjtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChVU0VSX0FHRU5UKSBwcml2YXRlIHJlYWRvbmx5IHVzZXJBZ2VudDogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW46IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICApIHt9XG59XG4iLCI8cHJvZ3Jlc3NcbiAgICBjbGFzcz1cInQtaGlkZGVuLXByb2dyZXNzXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFttYXhdPVwibWF4XCJcbj48L3Byb2dyZXNzPlxuXG48c3ZnXG4gICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgd2lkdGg9XCIxMDAlXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGNsYXNzPVwidC1zdmdcIlxuPlxuICAgIDxjaXJjbGVcbiAgICAgICAgY3g9XCI1MCVcIlxuICAgICAgICBjeT1cIjUwJVwiXG4gICAgICAgIGNsYXNzPVwidC10cmFja1wiXG4gICAgICAgIFthdHRyLnJdPVwib2xkRWRnZVJhZGl1c0ZhbGxiYWNrXCJcbiAgICA+PC9jaXJjbGU+XG5cbiAgICA8Y2lyY2xlXG4gICAgICAgICNwcm9ncmVzc0NpcmNsZVxuICAgICAgICBjeD1cIjUwJVwiXG4gICAgICAgIGN5PVwiNTAlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXByb2dyZXNzXCJcbiAgICAgICAgW2NsYXNzLnQtcHJvZ3Jlc3NfZmlsbGVkXT1cImFuaW1hdGlvbkRlbGF5JCB8IGFzeW5jXCJcbiAgICAgICAgW2F0dHIucl09XCJvbGRFZGdlUmFkaXVzRmFsbGJhY2tcIlxuICAgID48L2NpcmNsZT5cbjwvc3ZnPlxuIl19
|