@siemens/ix-angular 3.1.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/READMEOSS.html +34 -137
  2. package/common/index.d.ts +167 -6
  3. package/fesm2022/siemens-ix-angular-common.mjs +69 -38
  4. package/fesm2022/siemens-ix-angular-common.mjs.map +1 -1
  5. package/fesm2022/siemens-ix-angular-standalone.mjs +1094 -933
  6. package/fesm2022/siemens-ix-angular-standalone.mjs.map +1 -1
  7. package/fesm2022/siemens-ix-angular.mjs +1015 -698
  8. package/fesm2022/siemens-ix-angular.mjs.map +1 -1
  9. package/index.d.ts +1517 -9
  10. package/package.json +5 -11
  11. package/standalone/index.d.ts +1526 -9
  12. package/angular-component-lib/utils.d.ts +0 -9
  13. package/common/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -10
  14. package/common/directives/control-value-accessors/date-value-accessor.d.ts +0 -9
  15. package/common/directives/control-value-accessors/index.d.ts +0 -5
  16. package/common/directives/control-value-accessors/radio-value-accessor.d.ts +0 -10
  17. package/common/directives/control-value-accessors/select-value-accessor.d.ts +0 -9
  18. package/common/directives/control-value-accessors/text-value-accessor.d.ts +0 -9
  19. package/common/directives/control-value-accessors/value-accessor.d.ts +0 -30
  20. package/common/directives/dropdown-trigger.d.ts +0 -10
  21. package/common/directives/tree.d.ts +0 -26
  22. package/common/providers/modal/index.d.ts +0 -3
  23. package/common/providers/modal/modal-ref.d.ts +0 -21
  24. package/common/providers/modal/modal.config.d.ts +0 -6
  25. package/common/providers/modal/modal.service.d.ts +0 -20
  26. package/common/providers/toast/index.d.ts +0 -2
  27. package/common/providers/toast/toast.config.d.ts +0 -5
  28. package/common/providers/toast/toast.service.d.ts +0 -9
  29. package/common/utils/create-value-accessor-provider.d.ts +0 -2
  30. package/components.d.ts +0 -1342
  31. package/declare-components.d.ts +0 -2
  32. package/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -8
  33. package/directives/control-value-accessors/date-value-accessor.d.ts +0 -8
  34. package/directives/control-value-accessors/index.d.ts +0 -5
  35. package/directives/control-value-accessors/radio-value-accessor.d.ts +0 -8
  36. package/directives/control-value-accessors/select-value-accessor.d.ts +0 -8
  37. package/directives/control-value-accessors/text-value-accessor.d.ts +0 -8
  38. package/directives/dropdown-trigger.d.ts +0 -10
  39. package/esm2022/angular-component-lib/utils.mjs +0 -59
  40. package/esm2022/common/directives/control-value-accessors/boolean-value-accessor.mjs +0 -32
  41. package/esm2022/common/directives/control-value-accessors/date-value-accessor.mjs +0 -28
  42. package/esm2022/common/directives/control-value-accessors/index.mjs +0 -14
  43. package/esm2022/common/directives/control-value-accessors/radio-value-accessor.mjs +0 -34
  44. package/esm2022/common/directives/control-value-accessors/select-value-accessor.mjs +0 -28
  45. package/esm2022/common/directives/control-value-accessors/text-value-accessor.mjs +0 -31
  46. package/esm2022/common/directives/control-value-accessors/value-accessor.mjs +0 -157
  47. package/esm2022/common/directives/dropdown-trigger.mjs +0 -28
  48. package/esm2022/common/directives/tree.mjs +0 -70
  49. package/esm2022/common/index.mjs +0 -15
  50. package/esm2022/common/providers/modal/index.mjs +0 -11
  51. package/esm2022/common/providers/modal/modal-ref.mjs +0 -41
  52. package/esm2022/common/providers/modal/modal.config.mjs +0 -10
  53. package/esm2022/common/providers/modal/modal.service.mjs +0 -90
  54. package/esm2022/common/providers/toast/index.mjs +0 -11
  55. package/esm2022/common/providers/toast/toast.config.mjs +0 -10
  56. package/esm2022/common/providers/toast/toast.service.mjs +0 -52
  57. package/esm2022/common/siemens-ix-angular-common.mjs +0 -5
  58. package/esm2022/common/utils/create-value-accessor-provider.mjs +0 -17
  59. package/esm2022/components.mjs +0 -2809
  60. package/esm2022/declare-components.mjs +0 -106
  61. package/esm2022/directives/control-value-accessors/boolean-value-accessor.mjs +0 -26
  62. package/esm2022/directives/control-value-accessors/date-value-accessor.mjs +0 -26
  63. package/esm2022/directives/control-value-accessors/index.mjs +0 -14
  64. package/esm2022/directives/control-value-accessors/radio-value-accessor.mjs +0 -26
  65. package/esm2022/directives/control-value-accessors/select-value-accessor.mjs +0 -26
  66. package/esm2022/directives/control-value-accessors/text-value-accessor.mjs +0 -26
  67. package/esm2022/directives/dropdown-trigger.mjs +0 -31
  68. package/esm2022/index.mjs +0 -19
  69. package/esm2022/ix-icon.mjs +0 -40
  70. package/esm2022/module.mjs +0 -78
  71. package/esm2022/providers/modal/index.mjs +0 -11
  72. package/esm2022/providers/modal/modal.service.mjs +0 -28
  73. package/esm2022/providers/theme/index.mjs +0 -10
  74. package/esm2022/providers/theme/theme.service.mjs +0 -40
  75. package/esm2022/providers/toast/index.mjs +0 -2
  76. package/esm2022/providers/toast/toast.service.mjs +0 -52
  77. package/esm2022/siemens-ix-angular.mjs +0 -5
  78. package/esm2022/standalone/angular-component-lib/utils.mjs +0 -59
  79. package/esm2022/standalone/components.mjs +0 -3126
  80. package/esm2022/standalone/directives/control-value-accessors/boolean-value-accessor.mjs +0 -30
  81. package/esm2022/standalone/directives/control-value-accessors/date-value-accessor.mjs +0 -30
  82. package/esm2022/standalone/directives/control-value-accessors/index.mjs +0 -14
  83. package/esm2022/standalone/directives/control-value-accessors/radio-value-accessor.mjs +0 -30
  84. package/esm2022/standalone/directives/control-value-accessors/select-value-accessor.mjs +0 -30
  85. package/esm2022/standalone/directives/control-value-accessors/text-value-accessor.mjs +0 -30
  86. package/esm2022/standalone/directives/dropdown-trigger.mjs +0 -32
  87. package/esm2022/standalone/index.mjs +0 -18
  88. package/esm2022/standalone/internal-components.mjs +0 -19
  89. package/esm2022/standalone/ix-icon.mjs +0 -44
  90. package/esm2022/standalone/providers/modal.mjs +0 -28
  91. package/esm2022/standalone/providers/toast.mjs +0 -35
  92. package/esm2022/standalone/siemens-ix-angular-standalone.mjs +0 -5
  93. package/esm2022/standalone/tree.mjs +0 -41
  94. package/esm2022/standalone/utils/value-accessor-directives.mjs +0 -23
  95. package/esm2022/tree.mjs +0 -39
  96. package/esm2022/utils/app-initialize.mjs +0 -25
  97. package/ix-icon.d.ts +0 -12
  98. package/module.d.ts +0 -17
  99. package/providers/modal/index.d.ts +0 -2
  100. package/providers/modal/modal.service.d.ts +0 -15
  101. package/providers/theme/index.d.ts +0 -1
  102. package/providers/theme/theme.service.d.ts +0 -15
  103. package/providers/toast/index.d.ts +0 -2
  104. package/providers/toast/toast.service.d.ts +0 -9
  105. package/standalone/angular-component-lib/utils.d.ts +0 -9
  106. package/standalone/components.d.ts +0 -1342
  107. package/standalone/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -11
  108. package/standalone/directives/control-value-accessors/date-value-accessor.d.ts +0 -11
  109. package/standalone/directives/control-value-accessors/index.d.ts +0 -5
  110. package/standalone/directives/control-value-accessors/radio-value-accessor.d.ts +0 -11
  111. package/standalone/directives/control-value-accessors/select-value-accessor.d.ts +0 -11
  112. package/standalone/directives/control-value-accessors/text-value-accessor.d.ts +0 -11
  113. package/standalone/directives/dropdown-trigger.d.ts +0 -10
  114. package/standalone/internal-components.d.ts +0 -1
  115. package/standalone/ix-icon.d.ts +0 -9
  116. package/standalone/providers/modal.d.ts +0 -11
  117. package/standalone/providers/toast.d.ts +0 -11
  118. package/standalone/tree.d.ts +0 -9
  119. package/standalone/utils/value-accessor-directives.d.ts +0 -16
  120. package/tree.d.ts +0 -9
  121. package/utils/app-initialize.d.ts +0 -1
@@ -1,52 +0,0 @@
1
- /*
2
- * SPDX-FileCopyrightText: 2024 Siemens AG
3
- *
4
- * SPDX-License-Identifier: MIT
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE file in the root directory of this source tree.
8
- */
9
- import { Injectable } from '@angular/core';
10
- import { getToastContainer, toast, } from '@siemens/ix';
11
- import * as i0 from "@angular/core";
12
- export class ToastService {
13
- setPosition(position) {
14
- getToastContainer().position = position;
15
- }
16
- getPosition() {
17
- return getToastContainer().position;
18
- }
19
- async show(config) {
20
- if (typeof config.message === 'string') {
21
- return toast(config);
22
- }
23
- const context = {
24
- close: null,
25
- };
26
- const embeddedView = config.message.createEmbeddedView({
27
- $implicit: context,
28
- });
29
- const node = embeddedView.rootNodes[0];
30
- const instance = await toast({
31
- ...config,
32
- message: node,
33
- });
34
- context.close = () => {
35
- instance.close();
36
- };
37
- embeddedView.detectChanges();
38
- instance.onClose.once(() => {
39
- embeddedView.destroy();
40
- });
41
- return instance;
42
- }
43
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
44
- /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, providedIn: 'root' });
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, decorators: [{
47
- type: Injectable,
48
- args: [{
49
- providedIn: 'root',
50
- }]
51
- }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvdG9hc3QvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLEtBQUssR0FFTixNQUFNLGFBQWEsQ0FBQzs7QUFNckIsTUFBTSxPQUFPLFlBQVk7SUFDdkIsV0FBVyxDQUFDLFFBQXNDO1FBQ2hELGlCQUFpQixFQUFFLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8saUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBbUI7UUFDNUIsSUFBSSxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdkMsT0FBTyxLQUFLLENBQUMsTUFBdUIsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FFVDtZQUNGLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7WUFDckQsU0FBUyxFQUFFLE9BQU87U0FDbkIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQWdCLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUM7WUFDM0IsR0FBRyxNQUFNO1lBQ1QsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRTtZQUNuQixRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDO1FBRUYsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTdCLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN6QixZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzJIQXpDVSxZQUFZOytIQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDI0IFNpZW1lbnMgQUdcbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0VG9hc3RDb250YWluZXIsXG4gIHRvYXN0LFxuICBUb2FzdENvbmZpZyBhcyBJeFRvYXN0Q29uZmlnLFxufSBmcm9tICdAc2llbWVucy9peCc7XG5pbXBvcnQgeyBUb2FzdENvbmZpZyB9IGZyb20gJ0BzaWVtZW5zL2l4LWFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XG4gIHNldFBvc2l0aW9uKHBvc2l0aW9uOiAnYm90dG9tLXJpZ2h0JyB8ICd0b3AtcmlnaHQnKSB7XG4gICAgZ2V0VG9hc3RDb250YWluZXIoKS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICB9XG5cbiAgZ2V0UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIGdldFRvYXN0Q29udGFpbmVyKCkucG9zaXRpb247XG4gIH1cblxuICBhc3luYyBzaG93KGNvbmZpZzogVG9hc3RDb25maWcpIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5tZXNzYWdlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRvYXN0KGNvbmZpZyBhcyBJeFRvYXN0Q29uZmlnKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZXh0OiB7XG4gICAgICBjbG9zZTogKCgpID0+IHZvaWQpIHwgbnVsbDtcbiAgICB9ID0ge1xuICAgICAgY2xvc2U6IG51bGwsXG4gICAgfTtcblxuICAgIGNvbnN0IGVtYmVkZGVkVmlldyA9IGNvbmZpZy5tZXNzYWdlLmNyZWF0ZUVtYmVkZGVkVmlldyh7XG4gICAgICAkaW1wbGljaXQ6IGNvbnRleHQsXG4gICAgfSk7XG5cbiAgICBjb25zdCBub2RlOiBIVE1MRWxlbWVudCA9IGVtYmVkZGVkVmlldy5yb290Tm9kZXNbMF07XG4gICAgY29uc3QgaW5zdGFuY2UgPSBhd2FpdCB0b2FzdCh7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBtZXNzYWdlOiBub2RlLFxuICAgIH0pO1xuXG4gICAgY29udGV4dC5jbG9zZSA9ICgpID0+IHtcbiAgICAgIGluc3RhbmNlLmNsb3NlKCk7XG4gICAgfTtcblxuICAgIGVtYmVkZGVkVmlldy5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpbnN0YW5jZS5vbkNsb3NlLm9uY2UoKCkgPT4ge1xuICAgICAgZW1iZWRkZWRWaWV3LmRlc3Ryb3koKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2llbWVucy1peC1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpZW1lbnMtaXgtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,59 +0,0 @@
1
- /* eslint-disable */
2
- /* tslint:disable */
3
- import { fromEvent } from 'rxjs';
4
- export const proxyInputs = (Cmp, inputs) => {
5
- const Prototype = Cmp.prototype;
6
- inputs.forEach((item) => {
7
- Object.defineProperty(Prototype, item, {
8
- get() {
9
- return this.el[item];
10
- },
11
- set(val) {
12
- this.z.runOutsideAngular(() => (this.el[item] = val));
13
- },
14
- /**
15
- * In the event that proxyInputs is called
16
- * multiple times re-defining these inputs
17
- * will cause an error to be thrown. As a result
18
- * we set configurable: true to indicate these
19
- * properties can be changed.
20
- */
21
- configurable: true,
22
- });
23
- });
24
- };
25
- export const proxyMethods = (Cmp, methods) => {
26
- const Prototype = Cmp.prototype;
27
- methods.forEach((methodName) => {
28
- Prototype[methodName] = function () {
29
- const args = arguments;
30
- return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));
31
- };
32
- });
33
- };
34
- export const proxyOutputs = (instance, el, events) => {
35
- events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));
36
- };
37
- export const defineCustomElement = (tagName, customElement) => {
38
- if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {
39
- customElements.define(tagName, customElement);
40
- }
41
- };
42
- // tslint:disable-next-line: only-arrow-functions
43
- export function ProxyCmp(opts) {
44
- const decorator = function (cls) {
45
- const { defineCustomElementFn, inputs, methods } = opts;
46
- if (defineCustomElementFn !== undefined) {
47
- defineCustomElementFn();
48
- }
49
- if (inputs) {
50
- proxyInputs(cls, inputs);
51
- }
52
- if (methods) {
53
- proxyMethods(cls, methods);
54
- }
55
- return cls;
56
- };
57
- return decorator;
58
- }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zdGFuZGFsb25lL3NyYy9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVEsRUFBRSxNQUFnQixFQUFFLEVBQUU7SUFDeEQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDdEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFO1lBQ3JDLEdBQUc7Z0JBQ0QsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxHQUFHLENBQUMsR0FBUTtnQkFDVixJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFDRDs7Ozs7O2VBTUc7WUFDSCxZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQVEsRUFBRSxPQUFpQixFQUFFLEVBQUU7SUFDMUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUNoQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDN0IsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsUUFBYSxFQUFFLEVBQU8sRUFBRSxNQUFnQixFQUFFLEVBQUU7SUFDdkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxPQUFlLEVBQUUsYUFBa0IsRUFBRSxFQUFFO0lBQ3pFLElBQUksYUFBYSxLQUFLLFNBQVMsSUFBSSxPQUFPLGNBQWMsS0FBSyxXQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDekcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEQsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLGlEQUFpRDtBQUNqRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQXlFO0lBQ2hHLE1BQU0sU0FBUyxHQUFHLFVBQVUsR0FBUTtRQUNsQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztRQUV4RCxJQUFJLHFCQUFxQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLHFCQUFxQixFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUVELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxXQUFXLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7SUFDRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cbi8qIHRzbGludDpkaXNhYmxlICovXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IHByb3h5SW5wdXRzID0gKENtcDogYW55LCBpbnB1dHM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IFByb3RvdHlwZSA9IENtcC5wcm90b3R5cGU7XG4gIGlucHV0cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFByb3RvdHlwZSwgaXRlbSwge1xuICAgICAgZ2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbFtpdGVtXTtcbiAgICAgIH0sXG4gICAgICBzZXQodmFsOiBhbnkpIHtcbiAgICAgICAgdGhpcy56LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+ICh0aGlzLmVsW2l0ZW1dID0gdmFsKSk7XG4gICAgICB9LFxuICAgICAgLyoqXG4gICAgICAgKiBJbiB0aGUgZXZlbnQgdGhhdCBwcm94eUlucHV0cyBpcyBjYWxsZWRcbiAgICAgICAqIG11bHRpcGxlIHRpbWVzIHJlLWRlZmluaW5nIHRoZXNlIGlucHV0c1xuICAgICAgICogd2lsbCBjYXVzZSBhbiBlcnJvciB0byBiZSB0aHJvd24uIEFzIGEgcmVzdWx0XG4gICAgICAgKiB3ZSBzZXQgY29uZmlndXJhYmxlOiB0cnVlIHRvIGluZGljYXRlIHRoZXNlXG4gICAgICAgKiBwcm9wZXJ0aWVzIGNhbiBiZSBjaGFuZ2VkLlxuICAgICAgICovXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHByb3h5TWV0aG9kcyA9IChDbXA6IGFueSwgbWV0aG9kczogc3RyaW5nW10pID0+IHtcbiAgY29uc3QgUHJvdG90eXBlID0gQ21wLnByb3RvdHlwZTtcbiAgbWV0aG9kcy5mb3JFYWNoKChtZXRob2ROYW1lKSA9PiB7XG4gICAgUHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgIHJldHVybiB0aGlzLnoucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdGhpcy5lbFttZXRob2ROYW1lXS5hcHBseSh0aGlzLmVsLCBhcmdzKSk7XG4gICAgfTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcHJveHlPdXRwdXRzID0gKGluc3RhbmNlOiBhbnksIGVsOiBhbnksIGV2ZW50czogc3RyaW5nW10pID0+IHtcbiAgZXZlbnRzLmZvckVhY2goKGV2ZW50TmFtZSkgPT4gKGluc3RhbmNlW2V2ZW50TmFtZV0gPSBmcm9tRXZlbnQoZWwsIGV2ZW50TmFtZSkpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZpbmVDdXN0b21FbGVtZW50ID0gKHRhZ05hbWU6IHN0cmluZywgY3VzdG9tRWxlbWVudDogYW55KSA9PiB7XG4gIGlmIChjdXN0b21FbGVtZW50ICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGN1c3RvbUVsZW1lbnRzICE9PSAndW5kZWZpbmVkJyAmJiAhY3VzdG9tRWxlbWVudHMuZ2V0KHRhZ05hbWUpKSB7XG4gICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKHRhZ05hbWUsIGN1c3RvbUVsZW1lbnQpO1xuICB9XG59O1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG9ubHktYXJyb3ctZnVuY3Rpb25zXG5leHBvcnQgZnVuY3Rpb24gUHJveHlDbXAob3B0czogeyBkZWZpbmVDdXN0b21FbGVtZW50Rm4/OiAoKSA9PiB2b2lkOyBpbnB1dHM/OiBhbnk7IG1ldGhvZHM/OiBhbnkgfSkge1xuICBjb25zdCBkZWNvcmF0b3IgPSBmdW5jdGlvbiAoY2xzOiBhbnkpIHtcbiAgICBjb25zdCB7IGRlZmluZUN1c3RvbUVsZW1lbnRGbiwgaW5wdXRzLCBtZXRob2RzIH0gPSBvcHRzO1xuXG4gICAgaWYgKGRlZmluZUN1c3RvbUVsZW1lbnRGbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZWZpbmVDdXN0b21FbGVtZW50Rm4oKTtcbiAgICB9XG5cbiAgICBpZiAoaW5wdXRzKSB7XG4gICAgICBwcm94eUlucHV0cyhjbHMsIGlucHV0cyk7XG4gICAgfVxuICAgIGlmIChtZXRob2RzKSB7XG4gICAgICBwcm94eU1ldGhvZHMoY2xzLCBtZXRob2RzKTtcbiAgICB9XG4gICAgcmV0dXJuIGNscztcbiAgfTtcbiAgcmV0dXJuIGRlY29yYXRvcjtcbn1cbiJdfQ==