@elderbyte/ngx-starter 15.13.1 → 15.14.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 (22) hide show
  1. package/esm2020/lib/common/i18n/entity/impl/translated.mjs +15 -0
  2. package/esm2020/lib/common/i18n/entity/language-tag.mjs +2 -2
  3. package/esm2020/lib/common/i18n/entity/public_api.mjs +4 -1
  4. package/esm2020/lib/common/i18n/entity/translated-converter.mjs +18 -0
  5. package/esm2020/lib/common/i18n/entity/translated.mjs +2 -0
  6. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +3 -3
  7. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +7 -3
  8. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +12 -3
  9. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +5 -4
  10. package/fesm2015/elderbyte-ngx-starter.mjs +57 -15
  11. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  12. package/fesm2020/elderbyte-ngx-starter.mjs +57 -15
  13. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  14. package/lib/common/i18n/entity/impl/translated.d.ts +9 -0
  15. package/lib/common/i18n/entity/language-tag.d.ts +1 -1
  16. package/lib/common/i18n/entity/public_api.d.ts +3 -0
  17. package/lib/common/i18n/entity/translated-converter.d.ts +9 -0
  18. package/lib/common/i18n/entity/translated.d.ts +9 -0
  19. package/lib/components/i18n/entities/elder-i18n-entities.module.d.ts +2 -1
  20. package/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.d.ts +4 -1
  21. package/package.json +1 -1
  22. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +4 -2
@@ -0,0 +1,15 @@
1
+ export class Translated {
2
+ constructor() {
3
+ this.locales = {};
4
+ }
5
+ with(locale, value) {
6
+ this.locales[locale] = value;
7
+ return this;
8
+ }
9
+ get(locale, value) {
10
+ return this.locales[locale];
11
+ }
12
+ }
13
+ export class TranslatedText extends Translated {
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9pMThuL2VudGl0eS9pbXBsL3RyYW5zbGF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDUyxZQUFPLEdBQWlCLEVBQUUsQ0FBQztJQVVwQyxDQUFDO0lBUlEsSUFBSSxDQUFDLE1BQW1CLEVBQUUsS0FBUTtRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxHQUFHLENBQUMsTUFBbUIsRUFBRSxLQUFRO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQWtCO0NBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJVHJhbnNsYXRlZCwgSVRyYW5zbGF0ZWRUZXh0LCBMb2NhbGVNYXB9IGZyb20gJy4uL3RyYW5zbGF0ZWQnO1xuaW1wb3J0IHtMYW5ndWFnZVRhZ30gZnJvbSAnLi4vbGFuZ3VhZ2UtdGFnJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZWQ8VD4gaW1wbGVtZW50cyBJVHJhbnNsYXRlZDxUPiB7XG4gIHB1YmxpYyBsb2NhbGVzOiBMb2NhbGVNYXA8VD4gPSB7fTtcblxuICBwdWJsaWMgd2l0aChsb2NhbGU6IExhbmd1YWdlVGFnLCB2YWx1ZTogVCk6IHRoaXMge1xuICAgIHRoaXMubG9jYWxlc1tsb2NhbGVdID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0KGxvY2FsZTogTGFuZ3VhZ2VUYWcsIHZhbHVlOiBUKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubG9jYWxlc1tsb2NhbGVdO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVkVGV4dCBleHRlbmRzIFRyYW5zbGF0ZWQ8c3RyaW5nPiBpbXBsZW1lbnRzIElUcmFuc2xhdGVkVGV4dCB7IH1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- export class KnownLocaleType {
1
+ export class KnownLocaleTags {
2
2
  constructor() {
3
3
  this.ENGLISH = 'en';
4
4
  this.en_US = 'en-US';
@@ -9,4 +9,4 @@ export class KnownLocaleType {
9
9
  this.de_CH = 'de-CH';
10
10
  }
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtdGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2kxOG4vZW50aXR5L2xhbmd1YWdlLXRhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sZUFBZTtJQUE1QjtRQUVrQixZQUFPLEdBQWdCLElBQUksQ0FBQztRQUM1QixVQUFLLEdBQWdCLE9BQU8sQ0FBQztRQUU3QixXQUFNLEdBQWdCLElBQUksQ0FBQztRQUMzQixVQUFLLEdBQWdCLE9BQU8sQ0FBQztRQUU3QixXQUFNLEdBQWdCLElBQUksQ0FBQztRQUMzQixVQUFLLEdBQWdCLE9BQU8sQ0FBQztRQUM3QixVQUFLLEdBQWdCLE9BQU8sQ0FBQztJQUMvQyxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgSUVURiBMYW5ndWFnZSBUYWdzLCBjb25zaXN0aW5nIG9mXG4gKiBJU08gTGFuZ3VhZ2UgQ29kZXMgKDYzOS0xIGFuZCA2OTMtMikgYW5kIElFVEYgbGFuZ3VhZ2UgdHlwZXMuXG4gKiBodHRwczovL2RhdGFodWIuaW8vY29yZS9sYW5ndWFnZS1jb2RlcyNyZXNvdXJjZS1pZXRmLWxhbmd1YWdlLXRhZ3NcbiAqL1xuZXhwb3J0IHR5cGUgTGFuZ3VhZ2VUYWcgPSBzdHJpbmc7XG5cbmV4cG9ydCBjbGFzcyBLbm93bkxvY2FsZVR5cGUge1xuXG4gIHB1YmxpYyByZWFkb25seSBFTkdMSVNIOiBMYW5ndWFnZVRhZyA9ICdlbic7XG4gIHB1YmxpYyByZWFkb25seSBlbl9VUzogTGFuZ3VhZ2VUYWcgPSAnZW4tVVMnO1xuXG4gIHB1YmxpYyByZWFkb25seSBGUkVOQ0g6IExhbmd1YWdlVGFnID0gJ2ZyJztcbiAgcHVibGljIHJlYWRvbmx5IGZyX0ZSOiBMYW5ndWFnZVRhZyA9ICdmci1GUic7XG5cbiAgcHVibGljIHJlYWRvbmx5IEdFUk1BTjogTGFuZ3VhZ2VUYWcgPSAnZGUnO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVfREU6IExhbmd1YWdlVGFnID0gJ2RlLURFJztcbiAgcHVibGljIHJlYWRvbmx5IGRlX0NIOiBMYW5ndWFnZVRhZyA9ICdkZS1DSCc7XG59XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtdGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2kxOG4vZW50aXR5L2xhbmd1YWdlLXRhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sZUFBZTtJQUE1QjtRQUVrQixZQUFPLEdBQWdCLElBQUksQ0FBQztRQUM1QixVQUFLLEdBQWdCLE9BQU8sQ0FBQztRQUU3QixXQUFNLEdBQWdCLElBQUksQ0FBQztRQUMzQixVQUFLLEdBQWdCLE9BQU8sQ0FBQztRQUU3QixXQUFNLEdBQWdCLElBQUksQ0FBQztRQUMzQixVQUFLLEdBQWdCLE9BQU8sQ0FBQztRQUM3QixVQUFLLEdBQWdCLE9BQU8sQ0FBQztJQUMvQyxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgSUVURiBMYW5ndWFnZSBUYWdzLCBjb25zaXN0aW5nIG9mXG4gKiBJU08gTGFuZ3VhZ2UgQ29kZXMgKDYzOS0xIGFuZCA2OTMtMikgYW5kIElFVEYgbGFuZ3VhZ2UgdHlwZXMuXG4gKiBodHRwczovL2RhdGFodWIuaW8vY29yZS9sYW5ndWFnZS1jb2RlcyNyZXNvdXJjZS1pZXRmLWxhbmd1YWdlLXRhZ3NcbiAqL1xuZXhwb3J0IHR5cGUgTGFuZ3VhZ2VUYWcgPSBzdHJpbmc7XG5cbmV4cG9ydCBjbGFzcyBLbm93bkxvY2FsZVRhZ3Mge1xuXG4gIHB1YmxpYyByZWFkb25seSBFTkdMSVNIOiBMYW5ndWFnZVRhZyA9ICdlbic7XG4gIHB1YmxpYyByZWFkb25seSBlbl9VUzogTGFuZ3VhZ2VUYWcgPSAnZW4tVVMnO1xuXG4gIHB1YmxpYyByZWFkb25seSBGUkVOQ0g6IExhbmd1YWdlVGFnID0gJ2ZyJztcbiAgcHVibGljIHJlYWRvbmx5IGZyX0ZSOiBMYW5ndWFnZVRhZyA9ICdmci1GUic7XG5cbiAgcHVibGljIHJlYWRvbmx5IEdFUk1BTjogTGFuZ3VhZ2VUYWcgPSAnZGUnO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVfREU6IExhbmd1YWdlVGFnID0gJ2RlLURFJztcbiAgcHVibGljIHJlYWRvbmx5IGRlX0NIOiBMYW5ndWFnZVRhZyA9ICdkZS1DSCc7XG59XG4iXX0=
@@ -1,6 +1,9 @@
1
1
  export * from './language-tag';
2
2
  export * from './localized';
3
+ export * from './translated';
4
+ export * from './impl/translated';
5
+ export * from './translated-converter';
3
6
  export * from './localisation-picker';
4
7
  export * from './impl/i18n-base';
5
8
  export * from './impl/i18n-text';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9pMThuL2VudGl0eS9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2UtdGFnJztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemVkJztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpc2F0aW9uLXBpY2tlcic7XG5leHBvcnQgKiBmcm9tICcuL2ltcGwvaTE4bi1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW1wbC9pMThuLXRleHQnO1xuXG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9pMThuL2VudGl0eS9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgKiBmcm9tICcuL2xhbmd1YWdlLXRhZyc7XG5leHBvcnQgKiBmcm9tICcuL2xvY2FsaXplZCc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0ZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbXBsL3RyYW5zbGF0ZWQnO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2xhdGVkLWNvbnZlcnRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xvY2FsaXNhdGlvbi1waWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9pbXBsL2kxOG4tYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2ltcGwvaTE4bi10ZXh0JztcblxuIl19
@@ -0,0 +1,18 @@
1
+ import { TranslatedText } from './impl/translated';
2
+ import { I18nText } from './impl/i18n-text';
3
+ export class TranslatedConverter {
4
+ static toTranslatedText(localized) {
5
+ return TranslatedConverter.toTranslatedTextWith(localized, l => l.text);
6
+ }
7
+ static toTranslatedTextWith(localized, textFn) {
8
+ const translated = new TranslatedText();
9
+ if (localized) {
10
+ localized.forEach(l => translated.with(l.locale, textFn(l)));
11
+ }
12
+ return translated;
13
+ }
14
+ static toI18nText(translatedText) {
15
+ return Object.keys(translatedText.locales).map(locale => new I18nText(locale, translatedText.locales[locale]));
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlZC1jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vaTE4bi9lbnRpdHkvdHJhbnNsYXRlZC1jb252ZXJ0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQyxNQUFNLE9BQU8sbUJBQW1CO0lBRXZCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDNUIsU0FBcUI7UUFFckIsT0FBTyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxvQkFBb0IsQ0FDaEMsU0FBYyxFQUNkLE1BQWdDO1FBRWhDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDeEMsSUFBSSxTQUFTLEVBQUU7WUFDYixTQUFTLENBQUMsT0FBTyxDQUNmLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMxQyxDQUFDO1NBQ0g7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FDdEIsY0FBK0I7UUFFL0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQzVDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDL0QsQ0FBQztJQUNKLENBQUM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYWxpemVkfSBmcm9tICcuL2xvY2FsaXplZCc7XG5pbXBvcnQge1RyYW5zbGF0ZWRUZXh0fSBmcm9tICcuL2ltcGwvdHJhbnNsYXRlZCc7XG5pbXBvcnQge0lUcmFuc2xhdGVkVGV4dH0gZnJvbSAnLi90cmFuc2xhdGVkJztcbmltcG9ydCB7STE4blRleHR9IGZyb20gJy4vaW1wbC9pMThuLXRleHQnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlZENvbnZlcnRlciB7XG5cbiAgcHVibGljIHN0YXRpYyB0b1RyYW5zbGF0ZWRUZXh0PFQgZXh0ZW5kcyBMb2NhbGl6ZWQ+KFxuICAgIGxvY2FsaXplZDogSTE4blRleHRbXVxuICApOiBUcmFuc2xhdGVkVGV4dCB7XG4gICAgcmV0dXJuIFRyYW5zbGF0ZWRDb252ZXJ0ZXIudG9UcmFuc2xhdGVkVGV4dFdpdGgobG9jYWxpemVkLCBsID0+IGwudGV4dCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvVHJhbnNsYXRlZFRleHRXaXRoPFQgZXh0ZW5kcyBMb2NhbGl6ZWQ+KFxuICAgIGxvY2FsaXplZDogVFtdLFxuICAgIHRleHRGbjogKGxvY2FsaXplZDogVCkgPT4gc3RyaW5nXG4gICk6IFRyYW5zbGF0ZWRUZXh0IHtcbiAgICBjb25zdCB0cmFuc2xhdGVkID0gbmV3IFRyYW5zbGF0ZWRUZXh0KCk7XG4gICAgaWYgKGxvY2FsaXplZCkge1xuICAgICAgbG9jYWxpemVkLmZvckVhY2goXG4gICAgICAgIGwgPT4gdHJhbnNsYXRlZC53aXRoKGwubG9jYWxlLCB0ZXh0Rm4obCkpXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdHJhbnNsYXRlZDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9JMThuVGV4dChcbiAgICB0cmFuc2xhdGVkVGV4dDogSVRyYW5zbGF0ZWRUZXh0XG4gICk6IEkxOG5UZXh0W10ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0cmFuc2xhdGVkVGV4dC5sb2NhbGVzKS5tYXAoXG4gICAgICBsb2NhbGUgPT4gbmV3IEkxOG5UZXh0KGxvY2FsZSwgdHJhbnNsYXRlZFRleHQubG9jYWxlc1tsb2NhbGVdKVxuICAgICk7XG4gIH1cblxuXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9pMThuL2VudGl0eS90cmFuc2xhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xhbmd1YWdlVGFnfSBmcm9tICcuL2xhbmd1YWdlLXRhZyc7XG5cbmV4cG9ydCB0eXBlIExvY2FsZU1hcDxUPiA9IHtcbiAgW25hbWUgaW4gTGFuZ3VhZ2VUYWddOiBUO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNsYXRlZDxUPiB7XG4gIGxvY2FsZXM6IExvY2FsZU1hcDxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNsYXRlZFRleHQgZXh0ZW5kcyBJVHJhbnNsYXRlZDxzdHJpbmc+IHt9XG4iXX0=
@@ -160,10 +160,10 @@ export class ElderCardStackComponent {
160
160
  }
161
161
  }
162
162
  ElderCardStackComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderCardStackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
163
- ElderCardStackComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderCardStackComponent, selector: "elder-card-stack", inputs: { stackId: "stackId", headerEnabled: "headerEnabled", headerTitle: "headerTitle", canRemove: "canRemove", canAdd: "canAdd", canDrag: "canDrag", removeConfirmation: "removeConfirmation", canEnterPredicate: "canEnterPredicate", connectedTo: "connectedTo", autoMoveCards: "autoMoveCards", canCollapse: "canCollapse", copyOnDrag: "copyOnDrag", cardTemplate: "cardTemplate", stack: "stack" }, outputs: { requestNewCard: "requestNewCard", requestRemoveCard: "requestRemoveCard", cardClick: "cardClick", cardDropped: "cardDropped" }, queries: [{ propertyName: "cardTemplateQuery", first: true, predicate: ElderStackCardDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"layout-col full card-stack hoverme\">\n\n <!-- Header -->\n <header *ngIf=\"headerEnabled\"\n class=\"layout-row place-start-center flex-none gap-md stack-header p-md\">\n\n <h3 class=\"mat-subtitle-2 noselect\">{{headerTitle | translate}}</h3>\n <small class=\"mat-caption noselect\">({{(cards$ | async)?.length}})</small>\n\n <span class=\"flex\"></span>\n\n <button *ngIf=\"canAdd\" mat-icon-button type=\"button\" (click)=\"onRequestNewCard($event)\">\n <mat-icon>add</mat-icon>\n </button>\n\n </header>\n <mat-divider *ngIf=\"headerEnabled\"></mat-divider>\n\n\n <!-- card list -->\n <div class=\"layout-col flex card-container\">\n\n <div class=\"layout-col gap-sm scrollable p-sm card-list\"\n [id]=\"stackId\"\n cdkDropList\n [cdkDropListDisabled]=\"!canDrag\"\n [cdkDropListData]=\"stack\"\n [cdkDropListConnectedTo]=\"connectedTo\"\n\n [cdkDropListEnterPredicate]=\"enterPredicate\"\n (cdkDropListEntered)=\"cardEntered($event)\"\n (cdkDropListExited)=\"cardExited($event)\"\n (cdkDropListDropped)=\"cardDrop($event)\"\n >\n\n <!-- card -->\n <elder-card\n *ngFor=\"let card of cards$ | async; let i = index\"\n class=\"card flex-none\"\n cdkDrag [cdkDragData]=\"card\"\n (click)=\"onCardSelected($event, card)\">\n\n <div class=\"layout-row place-between-center flex\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate || simpleCardTemplate; context: {$implicit: card, index: i}\"></ng-container>\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"canRemove\" class=\"hide\" (click)=\"onRequestRemoveCard($event, card)\">\n <mat-icon>close</mat-icon>\n </button>\n\n </div>\n\n </elder-card>\n\n </div>\n\n </div>\n\n\n <ng-template #simpleCardTemplate let-card>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">{{card}}</p>\n </div>\n </ng-template>\n\n</div>\n\n\n\n\n", styles: [".stack-header{height:62px}.card-container{min-width:120px;min-height:0}.card-list{min-height:100%}.card{cursor:move}.card.cdk-drag-disabled{cursor:default}.hoverme .hide{visibility:hidden}.hoverme:hover .hide{visibility:visible}.rotate{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.card-list.cdk-drop-list-dragging .card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i6.ElderCardComponent, selector: "elder-card", inputs: ["appearance", "float", "flat"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
163
+ ElderCardStackComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderCardStackComponent, selector: "elder-card-stack", inputs: { stackId: "stackId", headerEnabled: "headerEnabled", headerTitle: "headerTitle", canRemove: "canRemove", canAdd: "canAdd", canDrag: "canDrag", removeConfirmation: "removeConfirmation", canEnterPredicate: "canEnterPredicate", connectedTo: "connectedTo", autoMoveCards: "autoMoveCards", canCollapse: "canCollapse", copyOnDrag: "copyOnDrag", cardTemplate: "cardTemplate", stack: "stack" }, outputs: { requestNewCard: "requestNewCard", requestRemoveCard: "requestRemoveCard", cardClick: "cardClick", cardDropped: "cardDropped" }, queries: [{ propertyName: "cardTemplateQuery", first: true, predicate: ElderStackCardDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"layout-col full card-stack hoverme\">\n\n <!-- Header -->\n <header *ngIf=\"headerEnabled\"\n class=\"layout-row place-start-center flex-none gap-md stack-header p-md\">\n\n <h3 class=\"mat-subtitle-2 noselect\">{{headerTitle | translate}}</h3>\n <small class=\"mat-caption noselect\">({{(cards$ | async)?.length}})</small>\n\n <span class=\"flex\"></span>\n\n <button *ngIf=\"canAdd\" mat-icon-button type=\"button\" (click)=\"onRequestNewCard($event)\">\n <mat-icon>add</mat-icon>\n </button>\n\n </header>\n <mat-divider *ngIf=\"headerEnabled\"></mat-divider>\n\n\n <!-- card list -->\n <div class=\"layout-col flex card-container\">\n\n <div class=\"layout-col gap-sm scrollable p-sm card-list\"\n [id]=\"stackId\"\n cdkDropList\n [cdkDropListDisabled]=\"!canDrag\"\n [cdkDropListData]=\"stack\"\n [cdkDropListConnectedTo]=\"connectedTo\"\n\n [cdkDropListEnterPredicate]=\"enterPredicate\"\n (cdkDropListEntered)=\"cardEntered($event)\"\n (cdkDropListExited)=\"cardExited($event)\"\n (cdkDropListDropped)=\"cardDrop($event)\"\n >\n\n <!-- card -->\n <elder-card\n *ngFor=\"let card of cards$ | async; let i = index\"\n class=\"card flex-none\"\n [ngClass]=\"cardClick.observed ? 'clickable' : 'unclickable'\"\n cdkDrag [cdkDragData]=\"card\"\n (click)=\"onCardSelected($event, card)\">\n\n <div class=\"layout-row place-between-center flex\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate || simpleCardTemplate; context: {$implicit: card, index: i}\"></ng-container>\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"canRemove\" class=\"hide\" (click)=\"onRequestRemoveCard($event, card)\">\n <mat-icon>close</mat-icon>\n </button>\n\n </div>\n\n </elder-card>\n\n </div>\n\n </div>\n\n\n <ng-template #simpleCardTemplate let-card>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">{{card}}</p>\n </div>\n </ng-template>\n\n</div>\n\n\n\n\n", styles: [".stack-header{height:62px}.card-container{min-width:120px;min-height:0}.card-list{min-height:100%}.card{cursor:move}.card.cdk-drag-disabled.clickable{cursor:pointer}.card.cdk-drag-disabled.unclickable{cursor:default}.hoverme .hide{visibility:hidden}.hoverme:hover .hide{visibility:visible}.rotate{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.card-list.cdk-drop-list-dragging .card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i6.ElderCardComponent, selector: "elder-card", inputs: ["appearance", "float", "flat"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
164
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderCardStackComponent, decorators: [{
165
165
  type: Component,
166
- args: [{ selector: 'elder-card-stack', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col full card-stack hoverme\">\n\n <!-- Header -->\n <header *ngIf=\"headerEnabled\"\n class=\"layout-row place-start-center flex-none gap-md stack-header p-md\">\n\n <h3 class=\"mat-subtitle-2 noselect\">{{headerTitle | translate}}</h3>\n <small class=\"mat-caption noselect\">({{(cards$ | async)?.length}})</small>\n\n <span class=\"flex\"></span>\n\n <button *ngIf=\"canAdd\" mat-icon-button type=\"button\" (click)=\"onRequestNewCard($event)\">\n <mat-icon>add</mat-icon>\n </button>\n\n </header>\n <mat-divider *ngIf=\"headerEnabled\"></mat-divider>\n\n\n <!-- card list -->\n <div class=\"layout-col flex card-container\">\n\n <div class=\"layout-col gap-sm scrollable p-sm card-list\"\n [id]=\"stackId\"\n cdkDropList\n [cdkDropListDisabled]=\"!canDrag\"\n [cdkDropListData]=\"stack\"\n [cdkDropListConnectedTo]=\"connectedTo\"\n\n [cdkDropListEnterPredicate]=\"enterPredicate\"\n (cdkDropListEntered)=\"cardEntered($event)\"\n (cdkDropListExited)=\"cardExited($event)\"\n (cdkDropListDropped)=\"cardDrop($event)\"\n >\n\n <!-- card -->\n <elder-card\n *ngFor=\"let card of cards$ | async; let i = index\"\n class=\"card flex-none\"\n cdkDrag [cdkDragData]=\"card\"\n (click)=\"onCardSelected($event, card)\">\n\n <div class=\"layout-row place-between-center flex\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate || simpleCardTemplate; context: {$implicit: card, index: i}\"></ng-container>\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"canRemove\" class=\"hide\" (click)=\"onRequestRemoveCard($event, card)\">\n <mat-icon>close</mat-icon>\n </button>\n\n </div>\n\n </elder-card>\n\n </div>\n\n </div>\n\n\n <ng-template #simpleCardTemplate let-card>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">{{card}}</p>\n </div>\n </ng-template>\n\n</div>\n\n\n\n\n", styles: [".stack-header{height:62px}.card-container{min-width:120px;min-height:0}.card-list{min-height:100%}.card{cursor:move}.card.cdk-drag-disabled{cursor:default}.hoverme .hide{visibility:hidden}.hoverme:hover .hide{visibility:visible}.rotate{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.card-list.cdk-drop-list-dragging .card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
166
+ args: [{ selector: 'elder-card-stack', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col full card-stack hoverme\">\n\n <!-- Header -->\n <header *ngIf=\"headerEnabled\"\n class=\"layout-row place-start-center flex-none gap-md stack-header p-md\">\n\n <h3 class=\"mat-subtitle-2 noselect\">{{headerTitle | translate}}</h3>\n <small class=\"mat-caption noselect\">({{(cards$ | async)?.length}})</small>\n\n <span class=\"flex\"></span>\n\n <button *ngIf=\"canAdd\" mat-icon-button type=\"button\" (click)=\"onRequestNewCard($event)\">\n <mat-icon>add</mat-icon>\n </button>\n\n </header>\n <mat-divider *ngIf=\"headerEnabled\"></mat-divider>\n\n\n <!-- card list -->\n <div class=\"layout-col flex card-container\">\n\n <div class=\"layout-col gap-sm scrollable p-sm card-list\"\n [id]=\"stackId\"\n cdkDropList\n [cdkDropListDisabled]=\"!canDrag\"\n [cdkDropListData]=\"stack\"\n [cdkDropListConnectedTo]=\"connectedTo\"\n\n [cdkDropListEnterPredicate]=\"enterPredicate\"\n (cdkDropListEntered)=\"cardEntered($event)\"\n (cdkDropListExited)=\"cardExited($event)\"\n (cdkDropListDropped)=\"cardDrop($event)\"\n >\n\n <!-- card -->\n <elder-card\n *ngFor=\"let card of cards$ | async; let i = index\"\n class=\"card flex-none\"\n [ngClass]=\"cardClick.observed ? 'clickable' : 'unclickable'\"\n cdkDrag [cdkDragData]=\"card\"\n (click)=\"onCardSelected($event, card)\">\n\n <div class=\"layout-row place-between-center flex\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate || simpleCardTemplate; context: {$implicit: card, index: i}\"></ng-container>\n\n <button mat-icon-button type=\"button\"\n *ngIf=\"canRemove\" class=\"hide\" (click)=\"onRequestRemoveCard($event, card)\">\n <mat-icon>close</mat-icon>\n </button>\n\n </div>\n\n </elder-card>\n\n </div>\n\n </div>\n\n\n <ng-template #simpleCardTemplate let-card>\n <div class=\"layout-col flex\">\n <p class=\"noselect\">{{card}}</p>\n </div>\n </ng-template>\n\n</div>\n\n\n\n\n", styles: [".stack-header{height:62px}.card-container{min-width:120px;min-height:0}.card-list{min-height:100%}.card{cursor:move}.card.cdk-drag-disabled.clickable{cursor:pointer}.card.cdk-drag-disabled.unclickable{cursor:default}.hoverme .hide{visibility:hidden}.hoverme:hover .hide{visibility:visible}.rotate{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.card-list.cdk-drop-list-dragging .card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
167
167
  }], ctorParameters: function () { return []; }, propDecorators: { stackId: [{
168
168
  type: Input
169
169
  }], headerEnabled: [{
@@ -208,4 +208,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
208
208
  }], stack: [{
209
209
  type: Input
210
210
  }] } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtb3JnYW5pemVyL2NhcmQtc3RhY2svZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtb3JnYW5pemVyL2NhcmQtc3RhY2svZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakksT0FBTyxFQUFDLGFBQWEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7Ozs7QUFRckYsTUFBTSxPQUFPLHVCQUF1QjtJQTJFbEM7Ozs7Z0ZBSTRFO0lBRTVFO1FBL0VBOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBV3RFLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBU3JCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFHZCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBTU4sbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUd6RCxzQkFBaUIsR0FBRyxJ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QUNELFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQzs7b0hBL09VLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDhuQkFpRXBCLHVCQUF1QiwyQkFBVSxXQUFXLDJDQy9FNUQsMmdFQXVFQTsyRkR6RGEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNOzBFQWtCeEMsT0FBTztzQkFEYixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSVUsY0FBYztzQkFEN0IsTUFBTTt1QkFBQyxnQkFBZ0I7Z0JBSVIsaUJBQWlCO3NCQURoQyxNQUFNO3VCQUFDLG1CQUFtQjtnQkFJWCxTQUFTO3NCQUR4QixNQUFNO3VCQUFDLFdBQVc7Z0JBSUgsV0FBVztzQkFEMUIsTUFBTTt1QkFBQyxhQUFhO2dCQUlkLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQVVDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBTUMsaUJBQWlCO3NCQUR2QixZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUtuRSxXQUFXO3NCQURqQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBOEJLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBY0ssS0FBSztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NhcmREcm9wRXZlbnQsIENhcmRTdGFja30gZnJvbSAnLi4vY2FyZC1zdGFjayc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XG5pbXBvcnQge2ZpcnN0fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Nka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcmFnRW50ZXIsIENka0RyYWdFeGl0LCBDZGtEcm9wTGlzdH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RWxkZXJTdGFja0NhcmREaXJlY3RpdmV9IGZyb20gJy4uL2NhcmQtb3JnYW5pemVyL2VsZGVyLXN0YWNrLWNhcmQuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItY2FyZC1zdGFjaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1jYXJkLXN0YWNrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckNhcmRTdGFja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcignRWxkZXJDYXJkU3RhY2tDb21wb25lbnQnKTtcblxuXG4gIHByaXZhdGUgX3N0YWNrOiBDYXJkU3RhY2s8YW55LCBhbnk+O1xuXG4gIHB1YmxpYyBjYXJkcyQ6IE9ic2VydmFibGU8YW55W10+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFja0lkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhlYWRlckVuYWJsZWQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWFkZXJUaXRsZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5SZW1vdmU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbkFkZCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbkRyYWcgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZW1vdmVDb25maXJtYXRpb246IChjYXJkOiBhbnkpID0+IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgQE91dHB1dCgncmVxdWVzdE5ld0NhcmQnKVxuICBwdWJsaWMgcmVhZG9ubHkgcmVxdWVzdE5ld0NhcmQgPSBuZXcgRXZlbnRFbWl0dGVyPENhcmRTdGFjazxhbnksIGFueT4+KCk7XG5cbiAgQE91dHB1dCgncmVxdWVzdFJlbW92ZUNhcmQnKVxuICBwdWJsaWMgcmVhZG9ubHkgcmVxdWVzdFJlbW92ZUNhcmQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KCdjYXJkQ2xpY2snKVxuICBwdWJsaWMgcmVhZG9ubHkgY2FyZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgnY2FyZERyb3BwZWQnKVxuICBwdWJsaWMgcmVhZG9ubHkgY2FyZERyb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENhcmREcm9wRXZlbnQ8YW55LCBhbnk+PigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5FbnRlclByZWRpY2F0ZTogKGNhcmQ6IGFueSwgc3RhY2s6IENhcmRTdGFjazxhbnksIGFueT4pID0+IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbm5lY3RlZFRvOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBJZiBlbmFibGVkLCB0aGUgY2FyZCBzdGFjayB3aWxsXG4gICAqIGF1dG9tYXRpY2FsbHkgaGFuZGxlIGNhcmQgZHJhZyAmIGRyb3BzXG4gICAqIGFuZCBtb3ZlIGNhcmQgZnJvbSBvbmUgc3RhY2sgdG8gYW5vdGhlciBhbmQgbW92ZVxuICAgKiB0aGVtIGluc2lkZSBhIHN0YWNrLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGF1dG9Nb3ZlQ2FyZHMgPSBmYWxzZTtcblxuICAvLyBUZW1wbGF0ZXNcblxuICBAQ29udGVudENoaWxkKEVsZGVyU3RhY2tDYXJkRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGNhcmRUZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIF9jYXJkVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbkNvbGxhcHNlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvcHlPbkRyYWcgPSBmYWxzZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnN0YWNrSWQgPSAnaWQtJyArIE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiA2KSArIDEpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQgIHtcblxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjYXJkVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl9jYXJkVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FyZFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jYXJkVGVtcGxhdGUgfHwgdGhpcy5jYXJkVGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhY2soKTogQ2FyZFN0YWNrPGFueSwgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YWNrO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdGFjayh2YWx1ZTogQ2FyZFN0YWNrPGFueSwgYW55Pikge1xuICAgIHRoaXMuX3N0YWNrID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5fc3RhY2spIHtcbiAgICAgIHRoaXMuY2FyZHMkID0gdGhpcy5fc3RhY2suY2FyZHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FyZHMkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSBEcmFnICYgRHJvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgY2FyZEVudGVyZWQoZXZlbnQ6IENka0RyYWdFbnRlcjxhbnk+KTogdm9pZCB7XG4gICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ0RyYWcgZW50ZXI6JywgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGNhcmRFeGl0ZWQoZXZlbnQ6IENka0RyYWdFeGl0PGFueT4pOiB2b2lkIHtcbiAgICAvLyB0aGlzLmxvZ2dlci5kZWJ1ZygnRHJhZyBleGl0JywgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGNhcmREcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxDYXJkU3RhY2s8YW55LCBhbnk+Pik6IHZvaWQge1xuXG4gICAgY29uc3QgY2FyZERyb3AgPSBuZXcgQ2FyZERyb3BFdmVudChcbiAgICAgIGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsXG4gICAgICBldmVudC5jb250YWluZXIuZGF0YSxcbiAgICAgIGV2ZW50Lml0ZW0uZGF0YSxcbiAgICAgIHRoaXMuY29weU9uRHJhZyxcbiAgICAgIGV2ZW50LnByZXZpb3VzSW5kZXgsXG4gICAgICBldmVudC5jdXJyZW50SW5kZXgsXG4gICAgICBldmVudC5pc1BvaW50ZXJPdmVyQ29udGFpbmVyXG4gICAgKTtcblxuICAgIGlmICh0aGlzLmF1dG9Nb3ZlQ2FyZHMpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FyZERyb3AoY2FyZERyb3ApOyAvLyBUT0RPIE1ha2UgY29uZmlndXJhYmxlIG9yIGRpc2FibGUgd2hlbiBjdXN0b20gc29ydCBpcyBlbmFibGVkP1xuICAgIH1cblxuICAgIHRoaXMuY2FyZERyb3BwZWQubmV4dChjYXJkRHJvcCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVudGVyUHJlZGljYXRlKCk6IChkcmFnOiBDZGtEcmFnPGFueT4sIGRyb3A6IENka0Ryb3BMaXN0PGFueT4pID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiAoZHJhZzogQ2RrRHJhZzxhbnk+LCBkcm9wOiBDZGtEcm9wTGlzdDxhbnk+KSAgPT4ge1xuICAgICAgaWYgKHRoaXMuY2FuRW50ZXJQcmVkaWNhdGUpIHtcbiAgICAgICByZXR1cm4gdGhpcy5jYW5FbnRlclByZWRpY2F0ZShkcmFnLmRhdGEsIGRyb3AuZGF0YSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICBwdWJsaWMgb25SZXF1ZXN0TmV3Q2FyZChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucmVxdWVzdE5ld0NhcmQubmV4dCh0aGlzLl9zdGFjayk7XG4gIH1cblxuICBwdWJsaWMgb25SZXF1ZXN0UmVtb3ZlQ2FyZChldmVudDogTW91c2VFdmVudCwgY2FyZDogYW55KTogdm9pZCB7XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuXG4gICAgaWYgKHRoaXMucmVtb3ZlQ29uZmlybWF0aW9uICE9PSB1bmRlZmluZWQpIHtcblxuICAgICAgdGhpcy5yZW1vdmVDb25maXJtYXRpb24oY2FyZCkucGlwZShmaXJzdCgpKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIGNvbmZpcm1lZCA9PiB7XG4gICAgICAgICAgICBpZiAoY29uZmlybWVkKSB7IHRoaXMucmVtb3ZlQ2FyZChjYXJkKTsgfVxuICAgICAgICAgIH0pO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVtb3ZlQ2FyZChjYXJkKTtcbiAgICB9XG5cbiAgfVxuXG4gIHB1YmxpYyBvbkNhcmRTZWxlY3RlZChldmVudDogTW91c2VFdmVudCwgY2FyZDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jYXJkQ2xpY2submV4dChjYXJkKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVtb3ZlQ2FyZChjYXJkOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGFjay5yZW1vdmVDYXJkKGNhcmQpO1xuICAgIHRoaXMucmVxdWVzdFJlbW92ZUNhcmQubmV4dChjYXJkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFjdCB0byBkcmFnIGFuZCBkcm9wIGV2ZW50cyAtXG4gICAqIHdpbGwgbW92ZSBjYXJkcyBiZXR3ZWVuIHN0YWNrcyBhbmQgc29ydCB0aGVtIGlmIHBvc3NpYmxlLlxuICAgKiBAcGFyYW0gY2FyZERyb3BcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlQ2FyZERyb3AoY2FyZERyb3A6IENhcmREcm9wRXZlbnQ8YW55LCBhbnk+KTogdm9pZCB7XG4gICAgaWYgKGNhcmREcm9wLmZyb21TdGFjayA9PT0gY2FyZERyb3AudG9TdGFja1xuICAgICAgJiYgY2FyZERyb3AudG9TdGFjayA9PT0gdGhpcy5fc3RhY2spIHtcblxuICAgICAgLy8gRHJhZyAmIERyb3AgaW5zaWRlIHRoZSBzYW1lIHN0YWNrIC0+IHNvcnRcblxuICAgICAgaWYgKCF0aGlzLl9zdGFjay5zb3J0KSB7XG4gICAgICAgIC8vIE9ubHkgYWxsb3cgbWFudWFsIHNvcnQgd2hlbiB0aGUgdXNlciBkaWQgbm90IHByb3ZpZGVcbiAgICAgICAgLy8gYSBnZW5lcmFsIHNvcnQgZnVuY3Rpb25cbiAgICAgICAgdGhpcy5fc3RhY2subW92ZUNhcmQoY2FyZERyb3AuZnJvbUluZGV4LCBjYXJkRHJvcC50b0luZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuXG4gICAgICAvLyBEcm9wcGVkIENhcmQgZnJvbSBhbm90aGVyIHN0YWNrXG5cbiAgICAgIGlmICghY2FyZERyb3AuY29weSkge1xuICAgICAgICBjYXJkRHJvcC5mcm9tU3RhY2sucmVtb3ZlQ2FyZChjYXJkRHJvcC5jYXJkKTtcbiAgICAgIH1cbiAgICAgIGNhcmREcm9wLnRvU3RhY2suYWRkQ2FyZChjYXJkRHJvcC5jYXJkLCBjYXJkRHJvcC50b0luZGV4KTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZnVsbCBjYXJkLXN0YWNrIGhvdmVybWVcIj5cblxuICA8IS0tIEhlYWRlciAtLT5cbiAgPGhlYWRlciAqbmdJZj1cImhlYWRlckVuYWJsZWRcIlxuICAgICAgICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgZmxleC1ub25lIGdhcC1tZCBzdGFjay1oZWFkZXIgcC1tZFwiPlxuXG4gICAgPGgzIGNsYXNzPVwibWF0LXN1YnRpdGxlLTIgbm9zZWxlY3RcIj57e2hlYWRlclRpdGxlIHwgdHJhbnNsYXRlfX08L2gzPlxuICAgIDxzbWFsbCBjbGFzcz1cIm1hdC1jYXB0aW9uIG5vc2VsZWN0XCI+KHt7KGNhcmRzJCB8IGFzeW5jKT8ubGVuZ3RofX0pPC9zbWFsbD5cblxuICAgIDxzcGFuIGNsYXNzPVwiZmxleFwiPjwvc3Bhbj5cblxuICAgIDxidXR0b24gKm5nSWY9XCJjYW5BZGRcIiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvblJlcXVlc3ROZXdDYXJkKCRldmVudClcIj5cbiAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gIDwvaGVhZGVyPlxuICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJoZWFkZXJFbmFibGVkXCI+PC9tYXQtZGl2aWRlcj5cblxuXG4gIDwhLS0gY2FyZCBsaXN0IC0tPlxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IGNhcmQtY29udGFpbmVyXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBnYXAtc20gc2Nyb2xsYWJsZSBwLXNtIGNhcmQtbGlzdFwiXG4gICAgICAgICBbaWRdPVwic3RhY2tJZFwiXG4gICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWNhbkRyYWdcIlxuICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJzdGFja1wiXG4gICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJjb25uZWN0ZWRUb1wiXG5cbiAgICAgICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cImVudGVyUHJlZGljYXRlXCJcbiAgICAgICAgIChjZGtEcm9wTGlzdEVudGVyZWQpPVwiY2FyZEVudGVyZWQoJGV2ZW50KVwiXG4gICAgICAgICAoY2RrRHJvcExpc3RFeGl0ZWQpPVwiY2FyZEV4aXRlZCgkZXZlbnQpXCJcbiAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiY2FyZERyb3AoJGV2ZW50KVwiXG4gICAgPlxuXG4gICAgICA8IS0tIGNhcmQgLS0+XG4gICAgICA8ZWxkZXItY2FyZFxuICAgICAgICAqbmdGb3I9XCJsZXQgY2FyZCBvZiBjYXJkcyQgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIGNsYXNzPVwiY2FyZCBmbGV4LW5vbmVcIlxuICAgICAgICBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJjYXJkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2FyZFNlbGVjdGVkKCRldmVudCwgY2FyZClcIj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1iZXR3ZWVuLWNlbnRlciBmbGV4XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYXJkVGVtcGxhdGUgfHwgc2ltcGxlQ2FyZFRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjYXJkLCBpbmRleDogaX1cIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKm5nSWY9XCJjYW5SZW1vdmVcIiAgY2xhc3M9XCJoaWRlXCIgKGNsaWNrKT1cIm9uUmVxdWVzdFJlbW92ZUNhcmQoJGV2ZW50LCBjYXJkKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9lbGRlci1jYXJkPlxuXG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cblxuICA8bmctdGVtcGxhdGUgI3NpbXBsZUNhcmRUZW1wbGF0ZSBsZXQtY2FyZD5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4XCI+XG4gICAgICA8cCBjbGFzcz1cIm5vc2VsZWN0XCI+e3tjYXJkfX08L3A+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbjwvZGl2PlxuXG5cblxuXG4iXX0=
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtb3JnYW5pemVyL2NhcmQtc3RhY2svZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtb3JnYW5pemVyL2NhcmQtc3RhY2svZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakksT0FBTyxFQUFDLGFBQWEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7Ozs7QUFRckYsTUFBTSxPQUFPLHVCQUF1QjtJQTJFbEM7Ozs7Z0ZBSTRFO0lBRTVFO1FBL0VBOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBV3RFLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBU3JCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFHZCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBTU4sbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUd6RCxzQkFBaUIsR0FBRyxJ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QUNELFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQzs7b0hBL09VLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDhuQkFpRXBCLHVCQUF1QiwyQkFBVSxXQUFXLDJDQy9FNUQsbWxFQXdFQTsyRkQxRGEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNOzBFQWtCeEMsT0FBTztzQkFEYixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSVUsY0FBYztzQkFEN0IsTUFBTTt1QkFBQyxnQkFBZ0I7Z0JBSVIsaUJBQWlCO3NCQURoQyxNQUFNO3VCQUFDLG1CQUFtQjtnQkFJWCxTQUFTO3NCQUR4QixNQUFNO3VCQUFDLFdBQVc7Z0JBSUgsV0FBVztzQkFEMUIsTUFBTTt1QkFBQyxhQUFhO2dCQUlkLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQVVDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBTUMsaUJBQWlCO3NCQUR2QixZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUtuRSxXQUFXO3NCQURqQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBOEJLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBY0ssS0FBSztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NhcmREcm9wRXZlbnQsIENhcmRTdGFja30gZnJvbSAnLi4vY2FyZC1zdGFjayc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMvaW50ZXJuYWwvT2JzZXJ2YWJsZSc7XG5pbXBvcnQge2ZpcnN0fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Nka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcmFnRW50ZXIsIENka0RyYWdFeGl0LCBDZGtEcm9wTGlzdH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RWxkZXJTdGFja0NhcmREaXJlY3RpdmV9IGZyb20gJy4uL2NhcmQtb3JnYW5pemVyL2VsZGVyLXN0YWNrLWNhcmQuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItY2FyZC1zdGFjaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1jYXJkLXN0YWNrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItY2FyZC1zdGFjay5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckNhcmRTdGFja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcignRWxkZXJDYXJkU3RhY2tDb21wb25lbnQnKTtcblxuXG4gIHByaXZhdGUgX3N0YWNrOiBDYXJkU3RhY2s8YW55LCBhbnk+O1xuXG4gIHB1YmxpYyBjYXJkcyQ6IE9ic2VydmFibGU8YW55W10+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFja0lkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhlYWRlckVuYWJsZWQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWFkZXJUaXRsZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5SZW1vdmU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbkFkZCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbkRyYWcgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZW1vdmVDb25maXJtYXRpb246IChjYXJkOiBhbnkpID0+IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgQE91dHB1dCgncmVxdWVzdE5ld0NhcmQnKVxuICBwdWJsaWMgcmVhZG9ubHkgcmVxdWVzdE5ld0NhcmQgPSBuZXcgRXZlbnRFbWl0dGVyPENhcmRTdGFjazxhbnksIGFueT4+KCk7XG5cbiAgQE91dHB1dCgncmVxdWVzdFJlbW92ZUNhcmQnKVxuICBwdWJsaWMgcmVhZG9ubHkgcmVxdWVzdFJlbW92ZUNhcmQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KCdjYXJkQ2xpY2snKVxuICBwdWJsaWMgcmVhZG9ubHkgY2FyZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgnY2FyZERyb3BwZWQnKVxuICBwdWJsaWMgcmVhZG9ubHkgY2FyZERyb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENhcmREcm9wRXZlbnQ8YW55LCBhbnk+PigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5FbnRlclByZWRpY2F0ZTogKGNhcmQ6IGFueSwgc3RhY2s6IENhcmRTdGFjazxhbnksIGFueT4pID0+IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbm5lY3RlZFRvOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBJZiBlbmFibGVkLCB0aGUgY2FyZCBzdGFjayB3aWxsXG4gICAqIGF1dG9tYXRpY2FsbHkgaGFuZGxlIGNhcmQgZHJhZyAmIGRyb3BzXG4gICAqIGFuZCBtb3ZlIGNhcmQgZnJvbSBvbmUgc3RhY2sgdG8gYW5vdGhlciBhbmQgbW92ZVxuICAgKiB0aGVtIGluc2lkZSBhIHN0YWNrLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGF1dG9Nb3ZlQ2FyZHMgPSBmYWxzZTtcblxuICAvLyBUZW1wbGF0ZXNcblxuICBAQ29udGVudENoaWxkKEVsZGVyU3RhY2tDYXJkRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGNhcmRUZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIF9jYXJkVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbkNvbGxhcHNlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvcHlPbkRyYWcgPSBmYWxzZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnN0YWNrSWQgPSAnaWQtJyArIE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiA2KSArIDEpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQgIHtcblxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjYXJkVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl9jYXJkVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FyZFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jYXJkVGVtcGxhdGUgfHwgdGhpcy5jYXJkVGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhY2soKTogQ2FyZFN0YWNrPGFueSwgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YWNrO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdGFjayh2YWx1ZTogQ2FyZFN0YWNrPGFueSwgYW55Pikge1xuICAgIHRoaXMuX3N0YWNrID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5fc3RhY2spIHtcbiAgICAgIHRoaXMuY2FyZHMkID0gdGhpcy5fc3RhY2suY2FyZHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FyZHMkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSBEcmFnICYgRHJvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgY2FyZEVudGVyZWQoZXZlbnQ6IENka0RyYWdFbnRlcjxhbnk+KTogdm9pZCB7XG4gICAgLy8gdGhpcy5sb2dnZXIuZGVidWcoJ0RyYWcgZW50ZXI6JywgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGNhcmRFeGl0ZWQoZXZlbnQ6IENka0RyYWdFeGl0PGFueT4pOiB2b2lkIHtcbiAgICAvLyB0aGlzLmxvZ2dlci5kZWJ1ZygnRHJhZyBleGl0JywgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGNhcmREcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxDYXJkU3RhY2s8YW55LCBhbnk+Pik6IHZvaWQge1xuXG4gICAgY29uc3QgY2FyZERyb3AgPSBuZXcgQ2FyZERyb3BFdmVudChcbiAgICAgIGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsXG4gICAgICBldmVudC5jb250YWluZXIuZGF0YSxcbiAgICAgIGV2ZW50Lml0ZW0uZGF0YSxcbiAgICAgIHRoaXMuY29weU9uRHJhZyxcbiAgICAgIGV2ZW50LnByZXZpb3VzSW5kZXgsXG4gICAgICBldmVudC5jdXJyZW50SW5kZXgsXG4gICAgICBldmVudC5pc1BvaW50ZXJPdmVyQ29udGFpbmVyXG4gICAgKTtcblxuICAgIGlmICh0aGlzLmF1dG9Nb3ZlQ2FyZHMpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2FyZERyb3AoY2FyZERyb3ApOyAvLyBUT0RPIE1ha2UgY29uZmlndXJhYmxlIG9yIGRpc2FibGUgd2hlbiBjdXN0b20gc29ydCBpcyBlbmFibGVkP1xuICAgIH1cblxuICAgIHRoaXMuY2FyZERyb3BwZWQubmV4dChjYXJkRHJvcCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVudGVyUHJlZGljYXRlKCk6IChkcmFnOiBDZGtEcmFnPGFueT4sIGRyb3A6IENka0Ryb3BMaXN0PGFueT4pID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiAoZHJhZzogQ2RrRHJhZzxhbnk+LCBkcm9wOiBDZGtEcm9wTGlzdDxhbnk+KSAgPT4ge1xuICAgICAgaWYgKHRoaXMuY2FuRW50ZXJQcmVkaWNhdGUpIHtcbiAgICAgICByZXR1cm4gdGhpcy5jYW5FbnRlclByZWRpY2F0ZShkcmFnLmRhdGEsIGRyb3AuZGF0YSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICBwdWJsaWMgb25SZXF1ZXN0TmV3Q2FyZChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucmVxdWVzdE5ld0NhcmQubmV4dCh0aGlzLl9zdGFjayk7XG4gIH1cblxuICBwdWJsaWMgb25SZXF1ZXN0UmVtb3ZlQ2FyZChldmVudDogTW91c2VFdmVudCwgY2FyZDogYW55KTogdm9pZCB7XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuXG4gICAgaWYgKHRoaXMucmVtb3ZlQ29uZmlybWF0aW9uICE9PSB1bmRlZmluZWQpIHtcblxuICAgICAgdGhpcy5yZW1vdmVDb25maXJtYXRpb24oY2FyZCkucGlwZShmaXJzdCgpKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIGNvbmZpcm1lZCA9PiB7XG4gICAgICAgICAgICBpZiAoY29uZmlybWVkKSB7IHRoaXMucmVtb3ZlQ2FyZChjYXJkKTsgfVxuICAgICAgICAgIH0pO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVtb3ZlQ2FyZChjYXJkKTtcbiAgICB9XG5cbiAgfVxuXG4gIHB1YmxpYyBvbkNhcmRTZWxlY3RlZChldmVudDogTW91c2VFdmVudCwgY2FyZDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jYXJkQ2xpY2submV4dChjYXJkKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVtb3ZlQ2FyZChjYXJkOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGFjay5yZW1vdmVDYXJkKGNhcmQpO1xuICAgIHRoaXMucmVxdWVzdFJlbW92ZUNhcmQubmV4dChjYXJkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFjdCB0byBkcmFnIGFuZCBkcm9wIGV2ZW50cyAtXG4gICAqIHdpbGwgbW92ZSBjYXJkcyBiZXR3ZWVuIHN0YWNrcyBhbmQgc29ydCB0aGVtIGlmIHBvc3NpYmxlLlxuICAgKiBAcGFyYW0gY2FyZERyb3BcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlQ2FyZERyb3AoY2FyZERyb3A6IENhcmREcm9wRXZlbnQ8YW55LCBhbnk+KTogdm9pZCB7XG4gICAgaWYgKGNhcmREcm9wLmZyb21TdGFjayA9PT0gY2FyZERyb3AudG9TdGFja1xuICAgICAgJiYgY2FyZERyb3AudG9TdGFjayA9PT0gdGhpcy5fc3RhY2spIHtcblxuICAgICAgLy8gRHJhZyAmIERyb3AgaW5zaWRlIHRoZSBzYW1lIHN0YWNrIC0+IHNvcnRcblxuICAgICAgaWYgKCF0aGlzLl9zdGFjay5zb3J0KSB7XG4gICAgICAgIC8vIE9ubHkgYWxsb3cgbWFudWFsIHNvcnQgd2hlbiB0aGUgdXNlciBkaWQgbm90IHByb3ZpZGVcbiAgICAgICAgLy8gYSBnZW5lcmFsIHNvcnQgZnVuY3Rpb25cbiAgICAgICAgdGhpcy5fc3RhY2subW92ZUNhcmQoY2FyZERyb3AuZnJvbUluZGV4LCBjYXJkRHJvcC50b0luZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuXG4gICAgICAvLyBEcm9wcGVkIENhcmQgZnJvbSBhbm90aGVyIHN0YWNrXG5cbiAgICAgIGlmICghY2FyZERyb3AuY29weSkge1xuICAgICAgICBjYXJkRHJvcC5mcm9tU3RhY2sucmVtb3ZlQ2FyZChjYXJkRHJvcC5jYXJkKTtcbiAgICAgIH1cbiAgICAgIGNhcmREcm9wLnRvU3RhY2suYWRkQ2FyZChjYXJkRHJvcC5jYXJkLCBjYXJkRHJvcC50b0luZGV4KTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZnVsbCBjYXJkLXN0YWNrIGhvdmVybWVcIj5cblxuICA8IS0tIEhlYWRlciAtLT5cbiAgPGhlYWRlciAqbmdJZj1cImhlYWRlckVuYWJsZWRcIlxuICAgICAgICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgZmxleC1ub25lIGdhcC1tZCBzdGFjay1oZWFkZXIgcC1tZFwiPlxuXG4gICAgPGgzIGNsYXNzPVwibWF0LXN1YnRpdGxlLTIgbm9zZWxlY3RcIj57e2hlYWRlclRpdGxlIHwgdHJhbnNsYXRlfX08L2gzPlxuICAgIDxzbWFsbCBjbGFzcz1cIm1hdC1jYXB0aW9uIG5vc2VsZWN0XCI+KHt7KGNhcmRzJCB8IGFzeW5jKT8ubGVuZ3RofX0pPC9zbWFsbD5cblxuICAgIDxzcGFuIGNsYXNzPVwiZmxleFwiPjwvc3Bhbj5cblxuICAgIDxidXR0b24gKm5nSWY9XCJjYW5BZGRcIiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvblJlcXVlc3ROZXdDYXJkKCRldmVudClcIj5cbiAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gIDwvaGVhZGVyPlxuICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJoZWFkZXJFbmFibGVkXCI+PC9tYXQtZGl2aWRlcj5cblxuXG4gIDwhLS0gY2FyZCBsaXN0IC0tPlxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IGNhcmQtY29udGFpbmVyXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBnYXAtc20gc2Nyb2xsYWJsZSBwLXNtIGNhcmQtbGlzdFwiXG4gICAgICAgICBbaWRdPVwic3RhY2tJZFwiXG4gICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWNhbkRyYWdcIlxuICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJzdGFja1wiXG4gICAgICAgICBbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJjb25uZWN0ZWRUb1wiXG5cbiAgICAgICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cImVudGVyUHJlZGljYXRlXCJcbiAgICAgICAgIChjZGtEcm9wTGlzdEVudGVyZWQpPVwiY2FyZEVudGVyZWQoJGV2ZW50KVwiXG4gICAgICAgICAoY2RrRHJvcExpc3RFeGl0ZWQpPVwiY2FyZEV4aXRlZCgkZXZlbnQpXCJcbiAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiY2FyZERyb3AoJGV2ZW50KVwiXG4gICAgPlxuXG4gICAgICA8IS0tIGNhcmQgLS0+XG4gICAgICA8ZWxkZXItY2FyZFxuICAgICAgICAqbmdGb3I9XCJsZXQgY2FyZCBvZiBjYXJkcyQgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIGNsYXNzPVwiY2FyZCBmbGV4LW5vbmVcIlxuICAgICAgICBbbmdDbGFzc109XCJjYXJkQ2xpY2sub2JzZXJ2ZWQgPyAnY2xpY2thYmxlJyA6ICd1bmNsaWNrYWJsZSdcIlxuICAgICAgICBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJjYXJkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2FyZFNlbGVjdGVkKCRldmVudCwgY2FyZClcIj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1iZXR3ZWVuLWNlbnRlciBmbGV4XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYXJkVGVtcGxhdGUgfHwgc2ltcGxlQ2FyZFRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjYXJkLCBpbmRleDogaX1cIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKm5nSWY9XCJjYW5SZW1vdmVcIiAgY2xhc3M9XCJoaWRlXCIgKGNsaWNrKT1cIm9uUmVxdWVzdFJlbW92ZUNhcmQoJGV2ZW50LCBjYXJkKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9lbGRlci1jYXJkPlxuXG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cblxuICA8bmctdGVtcGxhdGUgI3NpbXBsZUNhcmRUZW1wbGF0ZSBsZXQtY2FyZD5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4XCI+XG4gICAgICA8cCBjbGFzcz1cIm5vc2VsZWN0XCI+e3tjYXJkfX08L3A+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbjwvZGl2PlxuXG5cblxuXG4iXX0=
@@ -21,6 +21,7 @@ import { MatToolbarModule } from '@angular/material/toolbar';
21
21
  import { I18nPickAsyncPipe } from './picker/i18n-pick-async.pipe';
22
22
  import { I18nPickPipe } from './picker/i18n-pick.pipe';
23
23
  import { ElderLocalizedTextsDirective } from './elder-localized-texts.directive';
24
+ import { ElderThemeModule } from '../../theme/elder-theme.module';
24
25
  import * as i0 from "@angular/core";
25
26
  export * from './elder-localized-text-column.directive';
26
27
  export * from './elder-localized-texts.directive';
@@ -54,7 +55,8 @@ ElderI18nEntitiesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
54
55
  A11yModule,
55
56
  MatIconModule,
56
57
  ElderFormsModule,
57
- MatToolbarModule], exports: [ElderLocalizedTextColumnDirective,
58
+ MatToolbarModule,
59
+ ElderThemeModule], exports: [ElderLocalizedTextColumnDirective,
58
60
  ElderLocalizedTextsDirective,
59
61
  ElderLocalizedInputTableComponent,
60
62
  ElderLocalizedInputDialogComponent,
@@ -75,7 +77,8 @@ ElderI18nEntitiesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
75
77
  A11yModule,
76
78
  MatIconModule,
77
79
  ElderFormsModule,
78
- MatToolbarModule] });
80
+ MatToolbarModule,
81
+ ElderThemeModule] });
79
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderI18nEntitiesModule, decorators: [{
80
83
  type: NgModule,
81
84
  args: [{
@@ -113,7 +116,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
113
116
  MatIconModule,
114
117
  ElderFormsModule,
115
118
  MatToolbarModule,
119
+ ElderThemeModule,
116
120
  ]
117
121
  }]
118
122
  }] });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaTE4bi1lbnRpdGllcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2kxOG4vZW50aXRpZXMvZWxkZXItaTE4bi1lbnRpdGllcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzNILE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBRWpGLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLCtCQUErQixDQUFDO0FBeUM5QyxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUIsaUJBckNoQyxpQ0FBaUM7UUFDakMsNEJBQTRCO1FBQzVCLGlDQUFpQztRQUNqQyxrQ0FBa0M7UUFDbEMsNEJBQTRCO1FBQzVCLFlBQVk7UUFDWixpQkFBaUIsYUFhakIsWUFBWTtRQUNaLGNBQWM7UUFDZCxhQUFhO1FBQ2IsY0FBYztRQUNkLGVBQWU7UUFDZixXQUFXO1FBRVgsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsZUFBZTtRQUNmLGVBQWU7UUFDZixVQUFVO1FBQ1YsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixnQkFBZ0IsYUF4QmhCLGlDQUFpQztRQUNqQyw0QkFBNEI7UUFDNUIsaUNBQWlDO1FBQ2pDLGtDQUFrQztRQUNsQyw0QkFBNEI7UUFDNUIsWUFBWTtRQUNaLGlCQUFpQjtxSEFxQlIsdUJBQXVCLFlBbEJoQyxZQUFZO1FBQ1osY0FBYztRQUNkLGFBQWE7UUFDYixjQUFjO1FBQ2QsZUFBZTtRQUNmLFdBQVc7UUFFWCxnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlO1FBQ2YsZUFBZTtRQUNmLFVBQVU7UUFDVixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGdCQUFnQjsyRkFHUCx1QkFBdUI7a0JBdkNuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixpQ0FBaUM7d0JBQ2pDLDRCQUE0Qjt3QkFDNUIsaUNBQWlDO3dCQUNqQyxrQ0FBa0M7d0JBQ2xDLDRCQUE0Qjt3QkFDNUIsWUFBWTt3QkFDWixpQkFBaUI7cUJBRWxCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQ0FBaUM7d0JBQ2pDLDRCQUE0Qjt3QkFDNUIsaUNBQWlDO3dCQUNqQyxrQ0FBa0M7d0JBQ2xDLDRCQUE0Qjt3QkFDNUIsWUFBWTt3QkFDWixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsV0FBVzt3QkFFWCxnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFbGRlclRhYmxlTW9kdWxlfSBmcm9tICcuLi8uLi9kYXRhLXZpZXcvdGFibGUvZWxkZXItdGFibGUubW9kdWxlJztcbmltcG9ydCB7TWF0VGFibGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7TWF0U29ydE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0VsZGVyTG9jYWxpemVkSW5wdXRUYWJsZUNvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtdGFibGUvZWxkZXItbG9jYWxpemVkLWlucHV0LXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQge0VsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1sb2NhbGl6ZWQtdGV4dC1jb2x1bW4uZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0Q2hpcHNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7RWxkZXJDYXJkTW9kdWxlfSBmcm9tICcuLi8uLi9jYXJkcy9lbGRlci1jYXJkL2VsZGVyLWNhcmQubW9kdWxlJztcbmltcG9ydCB7IEVsZGVyTG9jYWxpemVkSW5wdXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWxvY2FsaXplZC1pbnB1dC1kaWFsb2cvZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXREaWFsb2dNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7QTExeU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRWxkZXJMb2NhbGl6ZWRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbG9jYWxpemVkLWlucHV0L2VsZGVyLWxvY2FsaXplZC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7RWxkZXJGb3Jtc01vZHVsZX0gZnJvbSAnLi4vLi4vZm9ybXMvZWxkZXItZm9ybXMubW9kdWxlJztcbmltcG9ydCB7TWF0VG9vbGJhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQgeyBJMThuUGlja0FzeW5jUGlwZSB9IGZyb20gJy4vcGlja2VyL2kxOG4tcGljay1hc3luYy5waXBlJztcbmltcG9ydCB7IEkxOG5QaWNrUGlwZSB9IGZyb20gJy4vcGlja2VyL2kxOG4tcGljay5waXBlJztcbmltcG9ydCB7IEVsZGVyTG9jYWxpemVkVGV4dHNEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWxvY2FsaXplZC10ZXh0cy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLWxvY2FsaXplZC10ZXh0LWNvbHVtbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1sb2NhbGl6ZWQtdGV4dHMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItbG9jYWxpemVkLWlucHV0LXRhYmxlL2VsZGVyLWxvY2FsaXplZC1pbnB1dC10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nL2VsZGVyLWxvY2FsaXplZC1pbnB1dC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItbG9jYWxpemVkLWlucHV0L2VsZGVyLWxvY2FsaXplZC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9waWNrZXIvbG9jYWxpc2F0aW9uLXBpY2tlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlja2VyL2kxOG4tcGljay5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlja2VyL2kxOG4tcGljay1hc3luYy5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlLFxuICAgIEVsZGVyTG9jYWxpemVkVGV4dHNEaXJlY3RpdmUsXG4gICAgRWxkZXJMb2NhbGl6ZWRJbnB1dFRhYmxlQ29tcG9uZW50LFxuICAgIEVsZGVyTG9jYWxpemVkSW5wdXREaWFsb2dDb21wb25lbnQsXG4gICAgRWxkZXJMb2NhbGl6ZWRJbnB1dENvbXBvbmVudCxcbiAgICBJMThuUGlja1BpcGUsXG4gICAgSTE4blBpY2tBc3luY1BpcGUsXG5cbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZSxcbiAgICBFbGRlckxvY2FsaXplZFRleHRzRGlyZWN0aXZlLFxuICAgIEVsZGVyTG9jYWxpemVkSW5wdXRUYWJsZUNvbXBvbmVudCxcbiAgICBFbGRlckxvY2FsaXplZElucHV0RGlhbG9nQ29tcG9uZW50LFxuICAgIEVsZGVyTG9jYWxpemVkSW5wdXRDb21wb25lbnQsXG4gICAgSTE4blBpY2tQaXBlLFxuICAgIEkxOG5QaWNrQXN5bmNQaXBlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0U29ydE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG5cbiAgICBFbGRlclRhYmxlTW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIEVsZGVyQ2FyZE1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIEExMXlNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBFbGRlckZvcm1zTW9kdWxlLFxuICAgIE1hdFRvb2xiYXJNb2R1bGUsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJJMThuRW50aXRpZXNNb2R1bGUgeyB9XG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaTE4bi1lbnRpdGllcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2kxOG4vZW50aXRpZXMvZWxkZXItaTE4bi1lbnRpdGllcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzNILE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7O0FBRWhFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLCtCQUErQixDQUFDO0FBMEM5QyxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUIsaUJBdENoQyxpQ0FBaUM7UUFDakMsNEJBQTRCO1FBQzVCLGlDQUFpQztRQUNqQyxrQ0FBa0M7UUFDbEMsNEJBQTRCO1FBQzVCLFlBQVk7UUFDWixpQkFBaUIsYUFhYixZQUFZO1FBQ1osY0FBYztRQUNkLGFBQWE7UUFDYixjQUFjO1FBQ2QsZUFBZTtRQUNmLFdBQVc7UUFFWCxnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlO1FBQ2YsZUFBZTtRQUNmLFVBQVU7UUFDVixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0IsYUF6QnBCLGlDQUFpQztRQUNqQyw0QkFBNEI7UUFDNUIsaUNBQWlDO1FBQ2pDLGtDQUFrQztRQUNsQyw0QkFBNEI7UUFDNUIsWUFBWTtRQUNaLGlCQUFpQjtxSEFzQlIsdUJBQXVCLFlBbkI1QixZQUFZO1FBQ1osY0FBYztRQUNkLGFBQWE7UUFDYixjQUFjO1FBQ2QsZUFBZTtRQUNmLFdBQVc7UUFFWCxnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlO1FBQ2YsZUFBZTtRQUNmLFVBQVU7UUFDVixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7MkZBR1gsdUJBQXVCO2tCQXhDbkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUNBQWlDO3dCQUNqQyw0QkFBNEI7d0JBQzVCLGlDQUFpQzt3QkFDakMsa0NBQWtDO3dCQUNsQyw0QkFBNEI7d0JBQzVCLFlBQVk7d0JBQ1osaUJBQWlCO3FCQUVsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUNBQWlDO3dCQUNqQyw0QkFBNEI7d0JBQzVCLGlDQUFpQzt3QkFDakMsa0NBQWtDO3dCQUNsQyw0QkFBNEI7d0JBQzVCLFlBQVk7d0JBQ1osaUJBQWlCO3FCQUNsQjtvQkFDQyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLFdBQVc7d0JBRVgsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixlQUFlO3dCQUNmLFVBQVU7d0JBQ1YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNuQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtFbGRlclRhYmxlTW9kdWxlfSBmcm9tICcuLi8uLi9kYXRhLXZpZXcvdGFibGUvZWxkZXItdGFibGUubW9kdWxlJztcbmltcG9ydCB7TWF0VGFibGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7TWF0U29ydE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0VsZGVyTG9jYWxpemVkSW5wdXRUYWJsZUNvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtdGFibGUvZWxkZXItbG9jYWxpemVkLWlucHV0LXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQge0VsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1sb2NhbGl6ZWQtdGV4dC1jb2x1bW4uZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0Q2hpcHNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7RWxkZXJDYXJkTW9kdWxlfSBmcm9tICcuLi8uLi9jYXJkcy9lbGRlci1jYXJkL2VsZGVyLWNhcmQubW9kdWxlJztcbmltcG9ydCB7IEVsZGVyTG9jYWxpemVkSW5wdXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWxvY2FsaXplZC1pbnB1dC1kaWFsb2cvZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXREaWFsb2dNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7QTExeU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRWxkZXJMb2NhbGl6ZWRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbG9jYWxpemVkLWlucHV0L2VsZGVyLWxvY2FsaXplZC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7RWxkZXJGb3Jtc01vZHVsZX0gZnJvbSAnLi4vLi4vZm9ybXMvZWxkZXItZm9ybXMubW9kdWxlJztcbmltcG9ydCB7TWF0VG9vbGJhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQgeyBJMThuUGlja0FzeW5jUGlwZSB9IGZyb20gJy4vcGlja2VyL2kxOG4tcGljay1hc3luYy5waXBlJztcbmltcG9ydCB7IEkxOG5QaWNrUGlwZSB9IGZyb20gJy4vcGlja2VyL2kxOG4tcGljay5waXBlJztcbmltcG9ydCB7IEVsZGVyTG9jYWxpemVkVGV4dHNEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWxvY2FsaXplZC10ZXh0cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlclRoZW1lTW9kdWxlfSBmcm9tICcuLi8uLi90aGVtZS9lbGRlci10aGVtZS5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLWxvY2FsaXplZC10ZXh0LWNvbHVtbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1sb2NhbGl6ZWQtdGV4dHMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItbG9jYWxpemVkLWlucHV0LXRhYmxlL2VsZGVyLWxvY2FsaXplZC1pbnB1dC10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nL2VsZGVyLWxvY2FsaXplZC1pbnB1dC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItbG9jYWxpemVkLWlucHV0L2VsZGVyLWxvY2FsaXplZC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9waWNrZXIvbG9jYWxpc2F0aW9uLXBpY2tlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlja2VyL2kxOG4tcGljay5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlja2VyL2kxOG4tcGljay1hc3luYy5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlLFxuICAgIEVsZGVyTG9jYWxpemVkVGV4dHNEaXJlY3RpdmUsXG4gICAgRWxkZXJMb2NhbGl6ZWRJbnB1dFRhYmxlQ29tcG9uZW50LFxuICAgIEVsZGVyTG9jYWxpemVkSW5wdXREaWFsb2dDb21wb25lbnQsXG4gICAgRWxkZXJMb2NhbGl6ZWRJbnB1dENvbXBvbmVudCxcbiAgICBJMThuUGlja1BpcGUsXG4gICAgSTE4blBpY2tBc3luY1BpcGUsXG5cbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZSxcbiAgICBFbGRlckxvY2FsaXplZFRleHRzRGlyZWN0aXZlLFxuICAgIEVsZGVyTG9jYWxpemVkSW5wdXRUYWJsZUNvbXBvbmVudCxcbiAgICBFbGRlckxvY2FsaXplZElucHV0RGlhbG9nQ29tcG9uZW50LFxuICAgIEVsZGVyTG9jYWxpemVkSW5wdXRDb21wb25lbnQsXG4gICAgSTE4blBpY2tQaXBlLFxuICAgIEkxOG5QaWNrQXN5bmNQaXBlXG4gIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgICAgICBNYXRTb3J0TW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcblxuICAgICAgICBFbGRlclRhYmxlTW9kdWxlLFxuICAgICAgICBNYXRDaGlwc01vZHVsZSxcbiAgICAgICAgRWxkZXJDYXJkTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQTExeU1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgRWxkZXJGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICAgICAgRWxkZXJUaGVtZU1vZHVsZSxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVySTE4bkVudGl0aWVzTW9kdWxlIHsgfVxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectionStrategy, ContentChildren, Input } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, ContentChildren, Input, Output } from '@angular/core';
2
2
  import { FormFieldBaseComponent } from '../../../../common/forms/form-field-base.component';
3
3
  import { LoggerFactory } from '@elderbyte/ts-logger';
4
4
  import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
@@ -6,6 +6,7 @@ import { map, switchMap } from 'rxjs/operators';
6
6
  import { ElderLocalizedTextColumnDirective } from '../elder-localized-text-column.directive';
7
7
  import { QueryListBinding } from '../../../../common/utils/query-list-binding';
8
8
  import { buildFormIntegrationProviders } from '../../../../common/forms/template-composite-control';
9
+ import { TranslatedConverter } from '../../../../common/i18n/entity/translated-converter';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "../elder-localized-input-dialog.service";
11
12
  import * as i2 from "../picker/localisation-picker.service";
@@ -42,6 +43,7 @@ export class ElderLocalizedInputComponent extends FormFieldBaseComponent {
42
43
  this.textColumns$
43
44
  ]).pipe(switchMap(([values, columns]) => this.toInputText(values, columns)));
44
45
  this.hintText$ = this.value$.pipe(map(values => this.toHintText(values)));
46
+ this.translatedValueChange = this.valueChange.pipe(map(localized => TranslatedConverter.toTranslatedText(localized)));
45
47
  }
46
48
  /***************************************************************************
47
49
  * *
@@ -75,6 +77,9 @@ export class ElderLocalizedInputComponent extends FormFieldBaseComponent {
75
77
  get textColumns() {
76
78
  return this.textColumns$.getValue();
77
79
  }
80
+ set translatedValue(translated) {
81
+ this.value = TranslatedConverter.toI18nText(translated);
82
+ }
78
83
  /***************************************************************************
79
84
  * *
80
85
  * Public API *
@@ -122,14 +127,18 @@ export class ElderLocalizedInputComponent extends FormFieldBaseComponent {
122
127
  }
123
128
  }
124
129
  ElderLocalizedInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderLocalizedInputComponent, deps: [{ token: i1.ElderLocalizedInputDialogService }, { token: i2.LocalisationPickerService }], target: i0.ɵɵFactoryTarget.Component });
125
- ElderLocalizedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderLocalizedInputComponent, selector: "elder-localized-input", inputs: { textColumns: "textColumns" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-icon matPrefix *ngIf=\"icon\"\n [color]=\"color\">\n {{icon}}\n </mat-icon>\n\n <button matSuffix mat-icon-button\n (click)=\"openTranslationPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n\n <!-- A dynamic input -->\n <input\n matInput type=\"text\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true}\"\n >\n\n <mat-hint>{{hintText$ | async}}</mat-hint>\n\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
130
+ ElderLocalizedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderLocalizedInputComponent, selector: "elder-localized-input", inputs: { textColumns: "textColumns", translatedValue: "translatedValue" }, outputs: { translatedValueChange: "translatedValueChange" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-icon matPrefix *ngIf=\"icon\"\n [color]=\"color\">\n {{icon}}\n </mat-icon>\n\n <button matSuffix mat-icon-button\n (click)=\"openTranslationPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n\n <!-- A dynamic input -->\n <input\n matInput type=\"text\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true}\"\n >\n\n <mat-hint>{{hintText$ | async}}</mat-hint>\n\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
126
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderLocalizedInputComponent, decorators: [{
127
132
  type: Component,
128
133
  args: [{ selector: 'elder-localized-input', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'elder-form-field-host' }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), template: "<mat-form-field [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <mat-icon matPrefix *ngIf=\"icon\"\n [color]=\"color\">\n {{icon}}\n </mat-icon>\n\n <button matSuffix mat-icon-button\n (click)=\"openTranslationPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n\n <!-- A dynamic input -->\n <input\n matInput type=\"text\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [ngModel]=\"inputText$ | async\" [ngModelOptions]=\"{standalone: true}\"\n >\n\n <mat-hint>{{hintText$ | async}}</mat-hint>\n\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"] }]
129
134
  }], ctorParameters: function () { return [{ type: i1.ElderLocalizedInputDialogService }, { type: i2.LocalisationPickerService }]; }, propDecorators: { textColumnsQuery: [{
130
135
  type: ContentChildren,
131
136
  args: [ElderLocalizedTextColumnDirective]
137
+ }], translatedValueChange: [{
138
+ type: Output
132
139
  }], textColumns: [{
133
140
  type: Input
141
+ }], translatedValue: [{
142
+ type: Input
134
143
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQvZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQvZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsZUFBZSxFQUFhLEtBQUssRUFBMkIsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFFMUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFrQixPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFTLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUc3RSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQzs7Ozs7Ozs7Ozs7O0FBWWxHLE1BQU0sT0FBTyw0QkFDWCxTQUFRLHNCQUEyQjtJQXFCbkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLG9CQUFz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IE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBJbnB1dCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUZpZWxkQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2Zvcm0tZmllbGQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2NhbGl6ZWR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9pMThuL2VudGl0eS9sb2NhbGl6ZWQnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VsZGVyTG9jYWxpemVkSW5wdXREaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHtFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmV9IGZyb20gJy4uL2VsZGVyLWxvY2FsaXplZC10ZXh0LWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtRdWVyeUxpc3RCaW5kaW5nfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vdXRpbHMvcXVlcnktbGlzdC1iaW5kaW5nJztcbmltcG9ydCB7TG9jYWxpc2F0aW9uUGlja2VyU2VydmljZX0gZnJvbSAnLi4vcGlja2VyL2xvY2FsaXNhdGlvbi1waWNrZXIuc2VydmljZSc7XG5pbXBvcnQge0VsZGVyTG9jYWxpemVkSW5wdXRPcHRpb25zfSBmcm9tICcuLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nL2VsZGVyLWxvY2FsaXplZC1pbnB1dC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7YnVpbGRGb3JtSW50ZWdyYXRpb25Qcm92aWRlcnN9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy90ZW1wbGF0ZS1jb21wb3NpdGUtY29udHJvbCc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1sb2NhbGl6ZWQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgaG9zdDogeydjbGFzcyc6ICdlbGRlci1mb3JtLWZpZWxkLWhvc3QnfSxcbiAgcHJvdmlkZXJzOiBidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVycyhFbGRlckxvY2FsaXplZElucHV0Q29tcG9uZW50KVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckxvY2FsaXplZElucHV0Q29tcG9uZW50PFQgZXh0ZW5kcyBMb2NhbGl6ZWQgPSBMb2NhbGl6ZWQ+XG4gIGV4dGVuZHMgRm9ybUZpZWxkQmFzZUNvbXBvbmVudDxUW10+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaW5wdXRUZXh0JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBwdWJsaWMgcmVhZG9ubHkgaGludFRleHQkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmUpXG4gIHB1YmxpYyB0ZXh0Q29sdW1uc1F1ZXJ5OiBRdWVyeUxpc3Q8RWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlPjtcbiAgcHVibGljIHJlYWRvbmx5IHRleHRDb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlW10+KFtcbiAgICBFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmUuREVGQVVMVF9URVhUX0NPTFxuICBdKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsaXplZElucHV0RGlhbG9nOiBFbGRlckxvY2FsaXplZElucHV0RGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsaXNhdGlvblBpY2tlcjogTG9jYWxpc2F0aW9uUGlja2VyU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5pbnB1dFRleHQkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnZhbHVlJCxcbiAgICAgIHRoaXMudGV4dENvbHVtbnMkXG4gICAgXSkucGlwZShcbiAgICAgICBzd2l0Y2hNYXAoKFt2YWx1ZXMsIGNvbHVtbnNdKSA9PiB0aGlzLnRvSW5wdXRUZXh0KHZhbHVlcywgY29sdW1ucykpXG4gICAgKTtcblxuICAgIHRoaXMuaGludFRleHQkID0gdGhpcy52YWx1ZSQucGlwZShcbiAgICAgIG1hcCh2YWx1ZXMgPT4gdGhpcy50b0hpbnRUZXh0KHZhbHVlcykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBRdWVyeUxpc3RCaW5kaW5nXG4gICAgICAub2YodGhpcy50ZXh0Q29sdW1uc1F1ZXJ5KVxuICAgICAgLnVwZGF0ZWQoY29sdW1ucyA9PiB7XG4gICAgICAgIGlmIChjb2x1bW5zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy50ZXh0Q29sdW1ucyQubmV4dChjb2x1bW5zKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5iaW5kVW50aWwodGhpcy5kZXN0cm95JCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0ZXh0Q29sdW1ucyhjb2xzOiBFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmVbXSkge1xuICAgIHRoaXMudGV4dENvbHVtbnMkLm5leHQoY29scyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRleHRDb2x1bW5zKCk6IEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZVtdIHtcbiAgICByZXR1cm4gdGhpcy50ZXh0Q29sdW1ucyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBvcGVuVHJhbnNsYXRpb25Qb3B1cChcbiAgICAkZXZlbnQ6IE1vdXNlRXZlbnQsXG4gICkge1xuXG4gICAgY29uc3QgZGF0YSA9IDxFbGRlckxvY2FsaXplZElucHV0T3B0aW9uczxUPj57XG4gICAgICB0aXRsZTogdGhpcy5sYWJlbCA/PyB0aGlzLnBsYWNlaG9sZGVyLFxuICAgICAgbG9jYWxpemFibGVzOiB0aGlzLnZhbHVlLFxuICAgICAgdGV4dENvbHVtbnM6IHRoaXMudGV4dENvbHVtbnMsXG4gICAgICBleHBsaWNpdFNhdmU6IGZhbHNlLFxuICAgICAgcmVhZG9ubHk6IHRoaXMucmVhZG9ubHksXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgIHJlcXVpcmVkOiB0aGlzLnJlcXVpcmVkXG4gICAgfTtcblxuICAgIGNvbnN0IGRsZ1JlZiA9IHRoaXMubG9jYWxpemVkSW5wdXREaWFsb2cuZWRpdExvY2FsaXplZChcbiAgICAgIGRhdGFcbiAgICApLnN1YnNjcmliZShcbiAgICAgIHVwZGF0ZWQgPT4gdGhpcy51cGRhdGVWYWx1ZShkYXRhLmxvY2FsaXphYmxlcylcbiAgICApO1xuICB9XG5cblxuICBwdWJsaWMgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGxldCByZXN1bHQgPSBudWxsO1xuICAgIGlmICh0aGlzLnJlcXVpcmVkICYmICEodGhpcy52YWx1ZT8ubGVuZ3RoID4gMCkpIHtcbiAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgcmVxdWlyZWQ6IHsgdmFsaWQ6IGZhbHNlIH1cbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHRvSW5wdXRUZXh0KFxuICAgIGxvY2FsaXphYmxlczogVFtdLFxuICAgIGNvbHVtbnM6IEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZVtdXG4gICk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMubG9jYWxpc2F0aW9uUGlja2VyLnBpY2tDdXJyZW50VGV4dChcbiAgICAgIGxvY2FsaXphYmxlcyxcbiAgICAgIHRoaXMuZGlzcGxheVRleHRGaWVsZChjb2x1bW5zKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlUZXh0RmllbGQoXG4gICAgY29sdW1uczogRWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlW11cbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gY29sdW1ucyA/IGNvbHVtbnNbMF0/Lm5hbWUgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHRvSGludFRleHQobG9jYWxpemFibGVzOiBUW10pOiBzdHJpbmcge1xuICAgIGlmIChsb2NhbGl6YWJsZXMpIHtcbiAgICAgIHJldHVybiBsb2NhbGl6YWJsZXMubWFwKGwgPT4gbC5sb2NhbGUpLmpvaW4oJywgJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cblxuICA8bWF0LWljb24gbWF0UHJlZml4ICpuZ0lmPVwiaWNvblwiXG4gICAgICAgICAgICBbY29sb3JdPVwiY29sb3JcIj5cbiAgICB7e2ljb259fVxuICA8L21hdC1pY29uPlxuXG4gIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJvcGVuVHJhbnNsYXRpb25Qb3B1cCgkZXZlbnQpXCIgYXJpYS1sYWJlbD1cIlNlYXJjaFwiXG4gICAgICAgICAgZWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvblxuICAgICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICA+XG4gICAgPG1hdC1pY29uPnRyYW5zbGF0ZTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDwhLS0gQSBkeW5hbWljIGlucHV0IC0tPlxuICA8aW5wdXRcbiAgICBtYXRJbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIHJlYWRvbmx5XG4gICAgW25hbWVdPVwibmFtZSArICctbG9jYWxpemVkJ1wiXG4gICAgW25nTW9kZWxdPVwiaW5wdXRUZXh0JCB8IGFzeW5jXCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gID5cblxuICA8bWF0LWhpbnQ+e3toaW50VGV4dCQgfCBhc3luY319PC9tYXQtaGludD5cblxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQvZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQvZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFFZixLQUFLLEVBR0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBRTFGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBa0IsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBUyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDM0YsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFHN0UsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0scURBQXFELENBQUM7QUFHbEcsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scURBQXFELENBQUM7Ozs7Ozs7Ozs7OztBQVd4RixNQUFNLE9B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R0FBNUIsNEJBQTRCLDRPQUY1Qiw2QkFBNkIsQ0FBQyw0QkFBNEIsQ0FBQywyREFnQnJELGlDQUFpQyxvRENqRHBELHl5QkErQkE7MkZESWEsNEJBQTRCO2tCQVR4QyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxRQUV6QyxFQUFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBQyxhQUM3Qiw2QkFBNkIsOEJBQThCOytKQWlCL0QsZ0JBQWdCO3NCQUR0QixlQUFlO3VCQUFDLGlDQUFpQztnQkFPbEMscUJBQXFCO3NCQURwQyxNQUFNO2dCQWtFSSxXQUFXO3NCQURyQixLQUFLO2dCQVVLLGVBQWU7c0JBRHpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgUXVlcnlMaXN0LFxuICBJbnB1dCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1GaWVsZEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy9mb3JtLWZpZWxkLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7TG9jYWxpemVkfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vaTE4bi9lbnRpdHkvbG9jYWxpemVkJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFbGRlckxvY2FsaXplZElucHV0RGlhbG9nU2VydmljZX0gZnJvbSAnLi4vZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7RWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlfSBmcm9tICcuLi9lbGRlci1sb2NhbGl6ZWQtdGV4dC1jb2x1bW4uZGlyZWN0aXZlJztcbmltcG9ydCB7UXVlcnlMaXN0QmluZGluZ30gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3V0aWxzL3F1ZXJ5LWxpc3QtYmluZGluZyc7XG5pbXBvcnQge0xvY2FsaXNhdGlvblBpY2tlclNlcnZpY2V9IGZyb20gJy4uL3BpY2tlci9sb2NhbGlzYXRpb24tcGlja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtFbGRlckxvY2FsaXplZElucHV0T3B0aW9uc30gZnJvbSAnLi4vZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge2J1aWxkRm9ybUludGVncmF0aW9uUHJvdmlkZXJzfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZm9ybXMvdGVtcGxhdGUtY29tcG9zaXRlLWNvbnRyb2wnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7SVRyYW5zbGF0ZWRUZXh0fSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vaTE4bi9lbnRpdHkvdHJhbnNsYXRlZCc7XG5pbXBvcnQge1RyYW5zbGF0ZWRDb252ZXJ0ZXJ9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9pMThuL2VudGl0eS90cmFuc2xhdGVkLWNvbnZlcnRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWxvY2FsaXplZC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7J2NsYXNzJzogJ2VsZGVyLWZvcm0tZmllbGQtaG9zdCd9LFxuICBwcm92aWRlcnM6IGJ1aWxkRm9ybUludGVncmF0aW9uUHJvdmlkZXJzKEVsZGVyTG9jYWxpemVkSW5wdXRDb21wb25lbnQpXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTG9jYWxpemVkSW5wdXRDb21wb25lbnQ8VCBleHRlbmRzIExvY2FsaXplZCA9IExvY2FsaXplZD5cbiAgZXh0ZW5kcyBGb3JtRmllbGRCYXNlQ29tcG9uZW50PFRbXT4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHB1YmxpYyByZWFkb25seSBpbnB1dFRleHQkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHB1YmxpYyByZWFkb25seSBoaW50VGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBAQ29udGVudENoaWxkcmVuKEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZSlcbiAgcHVibGljIHRleHRDb2x1bW5zUXVlcnk6IFF1ZXJ5TGlzdDxFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmU+O1xuICBwdWJsaWMgcmVhZG9ubHkgdGV4dENvbHVtbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmVbXT4oW1xuICAgIEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZS5ERUZBVUxUX1RFWFRfQ09MXG4gIF0pO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNsYXRlZFZhbHVlQ2hhbmdlOiBPYnNlcnZhYmxlPElUcmFuc2xhdGVkVGV4dD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGl6ZWRJbnB1dERpYWxvZzogRWxkZXJMb2NhbGl6ZWRJbnB1dERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhbGlzYXRpb25QaWNrZXI6IExvY2FsaXNhdGlvblBpY2tlclNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuaW5wdXRUZXh0JCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy52YWx1ZSQsXG4gICAgICB0aGlzLnRleHRDb2x1bW5zJFxuICAgIF0pLnBpcGUoXG4gICAgICAgc3dpdGNoTWFwKChbdmFsdWVzLCBjb2x1bW5zXSkgPT4gdGhpcy50b0lucHV0VGV4dCh2YWx1ZXMsIGNvbHVtbnMpKVxuICAgICk7XG5cbiAgICB0aGlzLmhpbnRUZXh0JCA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgICBtYXAodmFsdWVzID0+IHRoaXMudG9IaW50VGV4dCh2YWx1ZXMpKVxuICAgICk7XG5cbiAgICB0aGlzLnRyYW5zbGF0ZWRWYWx1ZUNoYW5nZSA9IHRoaXMudmFsdWVDaGFuZ2UucGlwZShcbiAgICAgIG1hcChsb2NhbGl6ZWQgPT4gVHJhbnNsYXRlZENvbnZlcnRlci50b1RyYW5zbGF0ZWRUZXh0KDxhbnk+bG9jYWxpemVkKSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIFF1ZXJ5TGlzdEJpbmRpbmdcbiAgICAgIC5vZih0aGlzLnRleHRDb2x1bW5zUXVlcnkpXG4gICAgICAudXBkYXRlZChjb2x1bW5zID0+IHtcbiAgICAgICAgaWYgKGNvbHVtbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnRleHRDb2x1bW5zJC5uZXh0KGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmJpbmRVbnRpbCh0aGlzLmRlc3Ryb3kkKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRleHRDb2x1bW5zKGNvbHM6IEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZVtdKSB7XG4gICAgdGhpcy50ZXh0Q29sdW1ucyQubmV4dChjb2xzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dENvbHVtbnMoKTogRWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlW10ge1xuICAgIHJldHVybiB0aGlzLnRleHRDb2x1bW5zJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0cmFuc2xhdGVkVmFsdWUodHJhbnNsYXRlZDogSVRyYW5zbGF0ZWRUZXh0KXtcbiAgICB0aGlzLnZhbHVlID0gPGFueT5UcmFuc2xhdGVkQ29udmVydGVyLnRvSTE4blRleHQodHJhbnNsYXRlZCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgb3BlblRyYW5zbGF0aW9uUG9wdXAoXG4gICAgJGV2ZW50OiBNb3VzZUV2ZW50LFxuICApIHtcblxuICAgIGNvbnN0IGRhdGEgPSA8RWxkZXJMb2NhbGl6ZWRJbnB1dE9wdGlvbnM8VD4+e1xuICAgICAgdGl0bGU6IHRoaXMubGFiZWwgPz8gdGhpcy5wbGFjZWhvbGRlcixcbiAgICAgIGxvY2FsaXphYmxlczogdGhpcy52YWx1ZSxcbiAgICAgIHRleHRDb2x1bW5zOiB0aGlzLnRleHRDb2x1bW5zLFxuICAgICAgZXhwbGljaXRTYXZlOiBmYWxzZSxcbiAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICByZXF1aXJlZDogdGhpcy5yZXF1aXJlZFxuICAgIH07XG5cbiAgICBjb25zdCBkbGdSZWYgPSB0aGlzLmxvY2FsaXplZElucHV0RGlhbG9nLmVkaXRMb2NhbGl6ZWQoXG4gICAgICBkYXRhXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICB1cGRhdGVkID0+IHRoaXMudXBkYXRlVmFsdWUoZGF0YS5sb2NhbGl6YWJsZXMpXG4gICAgKTtcbiAgfVxuXG5cbiAgcHVibGljIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBsZXQgcmVzdWx0ID0gbnVsbDtcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiAhKHRoaXMudmFsdWU/Lmxlbmd0aCA+IDApKSB7XG4gICAgICByZXN1bHQgPSB7XG4gICAgICAgIHJlcXVpcmVkOiB7IHZhbGlkOiBmYWxzZSB9XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSB0b0lucHV0VGV4dChcbiAgICBsb2NhbGl6YWJsZXM6IFRbXSxcbiAgICBjb2x1bW5zOiBFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmVbXVxuICApOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmxvY2FsaXNhdGlvblBpY2tlci5waWNrQ3VycmVudFRleHQoXG4gICAgICBsb2NhbGl6YWJsZXMsXG4gICAgICB0aGlzLmRpc3BsYXlUZXh0RmllbGQoY29sdW1ucylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwbGF5VGV4dEZpZWxkKFxuICAgIGNvbHVtbnM6IEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZVtdXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGNvbHVtbnMgPyBjb2x1bW5zWzBdPy5uYW1lIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSB0b0hpbnRUZXh0KGxvY2FsaXphYmxlczogVFtdKTogc3RyaW5nIHtcbiAgICBpZiAobG9jYWxpemFibGVzKSB7XG4gICAgICByZXR1cm4gbG9jYWxpemFibGVzLm1hcChsID0+IGwubG9jYWxlKS5qb2luKCcsICcpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbj5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbCB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG5cbiAgPG1hdC1pY29uIG1hdFByZWZpeCAqbmdJZj1cImljb25cIlxuICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yXCI+XG4gICAge3tpY29ufX1cbiAgPC9tYXQtaWNvbj5cblxuICA8YnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAoY2xpY2spPVwib3BlblRyYW5zbGF0aW9uUG9wdXAoJGV2ZW50KVwiIGFyaWEtbGFiZWw9XCJTZWFyY2hcIlxuICAgICAgICAgIGVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25cbiAgICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgPlxuICAgIDxtYXQtaWNvbj50cmFuc2xhdGU8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8IS0tIEEgZHluYW1pYyBpbnB1dCAtLT5cbiAgPGlucHV0XG4gICAgbWF0SW5wdXQgdHlwZT1cInRleHRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICByZWFkb25seVxuICAgIFtuYW1lXT1cIm5hbWUgKyAnLWxvY2FsaXplZCdcIlxuICAgIFtuZ01vZGVsXT1cImlucHV0VGV4dCQgfCBhc3luY1wiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICA+XG5cbiAgPG1hdC1oaW50Pnt7aGludFRleHQkIHwgYXN5bmN9fTwvbWF0LWhpbnQ+XG5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
@@ -7,7 +7,8 @@ import * as i3 from "@ngx-translate/core";
7
7
  import * as i4 from "@angular/material/button";
8
8
  import * as i5 from "@angular/material/icon";
9
9
  import * as i6 from "@angular/material/toolbar";
10
- import * as i7 from "../elder-localized-input-table/elder-localized-input-table.component";
10
+ import * as i7 from "../../../theme/elder-theme.directive";
11
+ import * as i8 from "../elder-localized-input-table/elder-localized-input-table.component";
11
12
  export class ElderLocalizedInputDialogComponent {
12
13
  constructor(dialogRef, data) {
13
14
  this.dialogRef = dialogRef;
@@ -17,12 +18,12 @@ export class ElderLocalizedInputDialogComponent {
17
18
  }
18
19
  }
19
20
  ElderLocalizedInputDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderLocalizedInputDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
20
- ElderLocalizedInputDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderLocalizedInputDialogComponent, selector: "elder-localized-input-dialog", ngImport: i0, template: "\n<div class=\"layout-col full\">\n\n <mat-toolbar color=\"primary\">\n <mat-toolbar-row class=\"gap-sm\">\n <mat-icon class=\"noselect\">translate</mat-icon>\n <h2 class=\"noselect\" translate>{{data.title}}</h2>\n <span class=\"flex\"></span>\n <button *ngIf=\"data.explicitSave\"\n mat-icon-button type=\"submit\"\n [disabled]=\"data.readonly\"\n [mat-dialog-close]=\"data.localizables\"\n >\n <mat-icon>save</mat-icon>\n </button>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-sm\">\n <elder-localized-input-table\n [float]=\"true\" class=\"flex\"\n [textColumns]=\"data.textColumns\"\n [(value)]=\"data.localizables\"\n [readonly]=\"data.readonly\"\n [disabled]=\"data.disabled\"\n [required]=\"data.required\"\n >\n </elder-localized-input-table>\n </div>\n</div>\n\n\n\n\n\n\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i6.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "component", type: i7.ElderLocalizedInputTableComponent, selector: "elder-localized-input-table", inputs: ["dense", "float", "embedded", "textColumns", "defaultLanguageTags"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21
+ ElderLocalizedInputDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ElderLocalizedInputDialogComponent, selector: "elder-localized-input-dialog", ngImport: i0, template: "\n<div class=\"layout-col full\">\n\n <mat-toolbar elderTheme color=\"primary\">\n <mat-toolbar-row class=\"gap-sm\">\n <mat-icon class=\"noselect\">translate</mat-icon>\n <h2 class=\"noselect\" translate>{{data.title}}</h2>\n <span class=\"flex\"></span>\n <button *ngIf=\"data.explicitSave\"\n mat-icon-button type=\"submit\"\n [disabled]=\"data.readonly\"\n [mat-dialog-close]=\"data.localizables\"\n >\n <mat-icon>save</mat-icon>\n </button>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-sm\">\n <elder-localized-input-table\n [float]=\"true\" class=\"flex\"\n [textColumns]=\"data.textColumns\"\n [(value)]=\"data.localizables\"\n [readonly]=\"data.readonly\"\n [disabled]=\"data.disabled\"\n [required]=\"data.required\"\n >\n </elder-localized-input-table>\n </div>\n</div>\n\n\n\n\n\n\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i6.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "directive", type: i7.ElderThemeDirective, selector: "[elderTheme]" }, { kind: "component", type: i8.ElderLocalizedInputTableComponent, selector: "elder-localized-input-table", inputs: ["dense", "float", "embedded", "textColumns", "defaultLanguageTags"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElderLocalizedInputDialogComponent, decorators: [{
22
23
  type: Component,
23
- args: [{ selector: 'elder-localized-input-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<div class=\"layout-col full\">\n\n <mat-toolbar color=\"primary\">\n <mat-toolbar-row class=\"gap-sm\">\n <mat-icon class=\"noselect\">translate</mat-icon>\n <h2 class=\"noselect\" translate>{{data.title}}</h2>\n <span class=\"flex\"></span>\n <button *ngIf=\"data.explicitSave\"\n mat-icon-button type=\"submit\"\n [disabled]=\"data.readonly\"\n [mat-dialog-close]=\"data.localizables\"\n >\n <mat-icon>save</mat-icon>\n </button>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-sm\">\n <elder-localized-input-table\n [float]=\"true\" class=\"flex\"\n [textColumns]=\"data.textColumns\"\n [(value)]=\"data.localizables\"\n [readonly]=\"data.readonly\"\n [disabled]=\"data.disabled\"\n [required]=\"data.required\"\n >\n </elder-localized-input-table>\n </div>\n</div>\n\n\n\n\n\n\n" }]
24
+ args: [{ selector: 'elder-localized-input-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<div class=\"layout-col full\">\n\n <mat-toolbar elderTheme color=\"primary\">\n <mat-toolbar-row class=\"gap-sm\">\n <mat-icon class=\"noselect\">translate</mat-icon>\n <h2 class=\"noselect\" translate>{{data.title}}</h2>\n <span class=\"flex\"></span>\n <button *ngIf=\"data.explicitSave\"\n mat-icon-button type=\"submit\"\n [disabled]=\"data.readonly\"\n [mat-dialog-close]=\"data.localizables\"\n >\n <mat-icon>save</mat-icon>\n </button>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-sm\">\n <elder-localized-input-table\n [float]=\"true\" class=\"flex\"\n [textColumns]=\"data.textColumns\"\n [(value)]=\"data.localizables\"\n [readonly]=\"data.readonly\"\n [disabled]=\"data.disabled\"\n [required]=\"data.required\"\n >\n </elder-localized-input-table>\n </div>\n</div>\n\n\n\n\n\n\n" }]
24
25
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
25
26
  type: Inject,
26
27
  args: [MAT_DIALOG_DATA]
27
28
  }] }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2kxOG4vZW50aXRpZXMvZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nL2VsZGVyLWxvY2FsaXplZC1pbnB1dC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsRUFBZSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7QUFxQnZFLE1BQU0sT0FBTyxrQ0FBa0M7SUFFN0MsWUFDUyxTQUEyRCxFQUNsQyxJQUFnQztRQUR6RCxjQUFTLEdBQVQsU0FBUyxDQUFrRDtRQUNsQyxTQUFJLEdBQUosSUFBSSxDQUE0QjtJQUM5RCxDQUFDO0lBRUwsUUFBUTtJQUNSLENBQUM7OytIQVJVLGtDQUFrQyw4Q0FJbkMsZUFBZTttSEFKZCxrQ0FBa0Msb0VDdEIvQyx5NkJBb0NBOzJGRGRhLGtDQUFrQztrQkFOOUMsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU07OzBCQU01QyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge0VsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZX0gZnJvbSAnLi4vZWxkZXItbG9jYWxpemVkLXRleHQtY29sdW1uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0xvY2FsaXplZH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2kxOG4vZW50aXR5L2xvY2FsaXplZCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBFbGRlckxvY2FsaXplZElucHV0T3B0aW9uczxUIGV4dGVuZHMgTG9jYWxpemVkID0gTG9jYWxpemVkPiB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGxvY2FsaXphYmxlczogVFtdO1xuICB0ZXh0Q29sdW1uczogRWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlW107XG4gIGV4cGxpY2l0U2F2ZTogYm9vbGVhbjtcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckxvY2FsaXplZElucHV0RGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RWxkZXJMb2NhbGl6ZWRJbnB1dERpYWxvZ0NvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBFbGRlckxvY2FsaXplZElucHV0T3B0aW9uc1xuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiIsIlxuPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZnVsbFwiPlxuXG4gIDxtYXQtdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIj5cbiAgICA8bWF0LXRvb2xiYXItcm93IGNsYXNzPVwiZ2FwLXNtXCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJub3NlbGVjdFwiPnRyYW5zbGF0ZTwvbWF0LWljb24+XG4gICAgICA8aDIgY2xhc3M9XCJub3NlbGVjdFwiIHRyYW5zbGF0ZT57e2RhdGEudGl0bGV9fTwvaDI+XG4gICAgICA8c3BhbiBjbGFzcz1cImZsZXhcIj48L3NwYW4+XG4gICAgICA8YnV0dG9uICpuZ0lmPVwiZGF0YS5leHBsaWNpdFNhdmVcIlxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRhLnJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwiZGF0YS5sb2NhbGl6YWJsZXNcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyLXJvdz5cbiAgPC9tYXQtdG9vbGJhcj5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IHAtc21cIj5cbiAgICA8ZWxkZXItbG9jYWxpemVkLWlucHV0LXRhYmxlXG4gICAgICBbZmxvYXRdPVwidHJ1ZVwiIGNsYXNzPVwiZmxleFwiXG4gICAgICBbdGV4dENvbHVtbnNdPVwiZGF0YS50ZXh0Q29sdW1uc1wiXG4gICAgICBbKHZhbHVlKV09XCJkYXRhLmxvY2FsaXphYmxlc1wiXG4gICAgICBbcmVhZG9ubHldPVwiZGF0YS5yZWFkb25seVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGF0YS5kaXNhYmxlZFwiXG4gICAgICBbcmVxdWlyZWRdPVwiZGF0YS5yZXF1aXJlZFwiXG4gICAgPlxuICAgIDwvZWxkZXItbG9jYWxpemVkLWlucHV0LXRhYmxlPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG5cblxuXG5cblxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2kxOG4vZW50aXRpZXMvZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtZGlhbG9nL2VsZGVyLWxvY2FsaXplZC1pbnB1dC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsRUFBZSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7O0FBcUJ2RSxNQUFNLE9BQU8sa0NBQWtDO0lBRTdDLFlBQ1MsU0FBMkQsRUFDbEMsSUFBZ0M7UUFEekQsY0FBUyxHQUFULFNBQVMsQ0FBa0Q7UUFDbEMsU0FBSSxHQUFKLElBQUksQ0FBNEI7SUFDOUQsQ0FBQztJQUVMLFFBQVE7SUFDUixDQUFDOzsrSEFSVSxrQ0FBa0MsOENBSW5DLGVBQWU7bUhBSmQsa0NBQWtDLG9FQ3RCL0MsbzdCQW9DQTsyRkRkYSxrQ0FBa0M7a0JBTjlDLFNBQVM7K0JBQ0UsOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNOzswQkFNNUMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmV9IGZyb20gJy4uL2VsZGVyLWxvY2FsaXplZC10ZXh0LWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtMb2NhbGl6ZWR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9pMThuL2VudGl0eS9sb2NhbGl6ZWQnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxkZXJMb2NhbGl6ZWRJbnB1dE9wdGlvbnM8VCBleHRlbmRzIExvY2FsaXplZCA9IExvY2FsaXplZD4ge1xuICB0aXRsZTogc3RyaW5nO1xuICBsb2NhbGl6YWJsZXM6IFRbXTtcbiAgdGV4dENvbHVtbnM6IEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZVtdO1xuICBleHBsaWNpdFNhdmU6IGJvb2xlYW47XG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByZXF1aXJlZD86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWxvY2FsaXplZC1pbnB1dC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItbG9jYWxpemVkLWlucHV0LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWxvY2FsaXplZC1pbnB1dC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJMb2NhbGl6ZWRJbnB1dERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEVsZGVyTG9jYWxpemVkSW5wdXREaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogRWxkZXJMb2NhbGl6ZWRJbnB1dE9wdGlvbnNcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG59XG4iLCJcbjxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGZ1bGxcIj5cblxuICA8bWF0LXRvb2xiYXIgZWxkZXJUaGVtZSBjb2xvcj1cInByaW1hcnlcIj5cbiAgICA8bWF0LXRvb2xiYXItcm93IGNsYXNzPVwiZ2FwLXNtXCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJub3NlbGVjdFwiPnRyYW5zbGF0ZTwvbWF0LWljb24+XG4gICAgICA8aDIgY2xhc3M9XCJub3NlbGVjdFwiIHRyYW5zbGF0ZT57e2RhdGEudGl0bGV9fTwvaDI+XG4gICAgICA8c3BhbiBjbGFzcz1cImZsZXhcIj48L3NwYW4+XG4gICAgICA8YnV0dG9uICpuZ0lmPVwiZGF0YS5leHBsaWNpdFNhdmVcIlxuICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRhLnJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwiZGF0YS5sb2NhbGl6YWJsZXNcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyLXJvdz5cbiAgPC9tYXQtdG9vbGJhcj5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IHAtc21cIj5cbiAgICA8ZWxkZXItbG9jYWxpemVkLWlucHV0LXRhYmxlXG4gICAgICBbZmxvYXRdPVwidHJ1ZVwiIGNsYXNzPVwiZmxleFwiXG4gICAgICBbdGV4dENvbHVtbnNdPVwiZGF0YS50ZXh0Q29sdW1uc1wiXG4gICAgICBbKHZhbHVlKV09XCJkYXRhLmxvY2FsaXphYmxlc1wiXG4gICAgICBbcmVhZG9ubHldPVwiZGF0YS5yZWFkb25seVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGF0YS5kaXNhYmxlZFwiXG4gICAgICBbcmVxdWlyZWRdPVwiZGF0YS5yZXF1aXJlZFwiXG4gICAgPlxuICAgIDwvZWxkZXItbG9jYWxpemVkLWlucHV0LXRhYmxlPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG5cblxuXG5cblxuIl19