valtech-components 2.0.565 → 2.0.566

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.
@@ -162,7 +162,7 @@ export class DocsCodeExampleComponent {
162
162
  </div>
163
163
  }
164
164
  </div>
165
- `, isInline: true, styles: [".docs-code-example{margin:1.5rem 0;border:1px solid #f2f6f7;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000000d;background:#fff}.docs-code-example__header{padding:1rem 1.25rem;border-bottom:1px solid #f2f6f7;background:#fff}.docs-code-example__title{font-size:1rem;font-weight:600;margin:0 0 .25rem;color:var(--ion-text-color, #1a1a1a)}.docs-code-example__description{font-size:.875rem;color:var(--ion-color-medium, #666);margin:0}.docs-code-example__external-link{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.8125rem;color:#555;text-decoration:none}.docs-code-example__external-link:hover{color:#1a1a1a;text-decoration:underline}.docs-code-example__external-link ion-icon{font-size:.875rem}.docs-code-example__preview{padding:1.5rem;background:#fff;border-bottom:1px solid #f2f6f7}.docs-code-example__tabs{background:#f6f9fa}.docs-code-example__tab-list{display:flex;gap:2px;border-bottom:1px solid #f2f6f7;overflow-x:auto;scrollbar-width:thin;font-size:12px}.docs-code-example__tab{padding:10px 18px 8px;font-family:Roboto Mono,SF Mono,Monaco,monospace;font-size:.95em;font-weight:500;color:#899396;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;transition:background .2s,color .2s;margin-bottom:-1px;white-space:nowrap}.docs-code-example__tab:hover{background:#e8eef2}.docs-code-example__tab--active{background:#fff;color:#19422d;border:1px solid #f2f6f7;border-bottom:1px solid #ffffff;font-weight:600;z-index:2}.docs-code-example__code-panel{position:relative;background:#fff}.docs-code-example__code-header{position:sticky;top:10px;float:right;z-index:10;height:0;margin-right:15px}.docs-code-example__copy-btn{--padding-start: 2px;--padding-end: 2px;min-width:28px;min-height:28px;height:28px;width:28px;--color: var(--ion-color-primary);--background: rgba(255, 255, 255, .7);border-radius:6px;box-shadow:0 1px 4px #0000000d;opacity:0;transition:opacity .2s ease}.docs-code-example__code-panel:hover .docs-code-example__copy-btn{opacity:1}.docs-code-example__copy-btn:hover{--background: rgba(255, 255, 255, .9)}.docs-code-example__pre{margin:0;padding:1rem 1.25rem;overflow-x:auto;overflow-y:auto;max-height:30rem;min-height:3rem;background:#fff;white-space:pre;word-break:normal}.docs-code-example__pre--line-numbers{padding-left:3rem;counter-reset:line}.docs-code-example__code{display:block;font-family:Roboto Mono,SF Mono,Monaco,Courier New,monospace;font-size:.85em;line-height:1.5;color:#24292f;white-space:inherit;word-break:normal;tab-size:2}.docs-code-example__code .token{text-decoration:none!important}.docs-code-example__code .token.comment,.docs-code-example__code .token.prolog,.docs-code-example__code .token.doctype,.docs-code-example__code .token.cdata{color:#6a737d}.docs-code-example__code .token.punctuation{color:#24292f}.docs-code-example__code .token.property,.docs-code-example__code .token.tag,.docs-code-example__code .token.boolean,.docs-code-example__code .token.number,.docs-code-example__code .token.constant,.docs-code-example__code .token.symbol,.docs-code-example__code .token.deleted{color:#005cc5}.docs-code-example__code .token.selector,.docs-code-example__code .token.attr-name,.docs-code-example__code .token.string,.docs-code-example__code .token.char,.docs-code-example__code .token.builtin,.docs-code-example__code .token.inserted{color:#22863a}.docs-code-example__code .token.operator,.docs-code-example__code .token.entity,.docs-code-example__code .token.url{color:#24292f}.docs-code-example__code .token.atrule,.docs-code-example__code .token.attr-value,.docs-code-example__code .token.keyword{color:#d73a49}.docs-code-example__code .token.function,.docs-code-example__code .token.class-name{color:#6f42c1}.docs-code-example__code .token.regex,.docs-code-example__code .token.important,.docs-code-example__code .token.variable{color:#e36209}@media (max-width: 600px){.docs-code-example{border-radius:8px}.docs-code-example__tab-list{font-size:11px}.docs-code-example__pre{max-height:20rem}.docs-code-example__code{font-size:.75em}}@media (prefers-color-scheme: dark){.docs-code-example{background:#21252b;border-color:#3b4048;box-shadow:0 4px 15px #0009}.docs-code-example__header{background:#21252b;border-color:#3b4048}.docs-code-example__title{color:#c9d1d9}.docs-code-example__preview{background:#161b22;border-color:#3b4048}.docs-code-example__tabs{background:#1a1a1a}.docs-code-example__tab-list{border-color:#3b4048}.docs-code-example__tab{color:#8b949e}.docs-code-example__tab:hover{background:#21252b}.docs-code-example__tab--active{background:#282c34;color:#c9d1d9;border-color:#3b4048;border-bottom-color:#282c34}.docs-code-example__code-panel,.docs-code-example__pre{background:#161b22}.docs-code-example__code{color:#c9d1d9}.docs-code-example__copy-btn{--background: rgba(0, 0, 0, .4)}.docs-code-example__copy-btn:hover{--background: rgba(0, 0, 0, .6)}.docs-code-example__code .token.comment,.docs-code-example__code .token.prolog,.docs-code-example__code .token.doctype,.docs-code-example__code .token.cdata{color:#8b949e}.docs-code-example__code .token.punctuation{color:#c9d1d9}.docs-code-example__code .token.property,.docs-code-example__code .token.tag,.docs-code-example__code .token.boolean,.docs-code-example__code .token.number,.docs-code-example__code .token.constant,.docs-code-example__code .token.symbol,.docs-code-example__code .token.deleted{color:#79c0ff}.docs-code-example__code .token.selector,.docs-code-example__code .token.attr-name,.docs-code-example__code .token.string,.docs-code-example__code .token.char,.docs-code-example__code .token.builtin,.docs-code-example__code .token.inserted{color:#7ee787}.docs-code-example__code .token.operator,.docs-code-example__code .token.entity,.docs-code-example__code .token.url{color:#c9d1d9}.docs-code-example__code .token.atrule,.docs-code-example__code .token.attr-value,.docs-code-example__code .token.keyword{color:#ff7b72}.docs-code-example__code .token.function,.docs-code-example__code .token.class-name{color:#d2a8ff}.docs-code-example__code .token.regex,.docs-code-example__code .token.important,.docs-code-example__code .token.variable{color:#ffa657}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], encapsulation: i0.ViewEncapsulation.None }); }
165
+ `, isInline: true, styles: [".docs-code-example{margin:1.5rem 0;border:1px solid #f2f6f7;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000000d;background:#fff}.docs-code-example__header{padding:1rem 1.25rem;border-bottom:1px solid #f2f6f7;background:#fff}.docs-code-example__title{font-size:1rem;font-weight:600;margin:0 0 .25rem;color:var(--ion-text-color, #1a1a1a)}.docs-code-example__description{font-size:.875rem;color:var(--ion-color-medium, #666);margin:0}.docs-code-example__external-link{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.8125rem;color:#555;text-decoration:none}.docs-code-example__external-link:hover{color:#1a1a1a;text-decoration:underline}.docs-code-example__external-link ion-icon{font-size:.875rem}.docs-code-example__preview{padding:1.5rem;background:#fff;border-bottom:1px solid #f2f6f7}.docs-code-example__tabs{background:#f6f9fa}.docs-code-example__tab-list{display:flex;gap:2px;border-bottom:1px solid #f2f6f7;overflow-x:auto;scrollbar-width:thin;font-size:12px}.docs-code-example__tab{padding:10px 18px 8px;font-family:Roboto Mono,SF Mono,Monaco,monospace;font-size:.95em;font-weight:500;color:#899396;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;transition:background .2s,color .2s;margin-bottom:-1px;white-space:nowrap}.docs-code-example__tab:hover{background:#e8eef2}.docs-code-example__tab--active{background:#fff;color:#19422d;border:1px solid #f2f6f7;border-bottom:1px solid #ffffff;font-weight:600;z-index:2}.docs-code-example__code-panel{position:relative;background:#fff}.docs-code-example__code-header{position:sticky;top:10px;float:right;z-index:10;height:0;margin-right:15px}.docs-code-example__copy-btn{--padding-start: 2px;--padding-end: 2px;min-width:28px;min-height:28px;height:28px;width:28px;--color: var(--ion-color-primary);--background: rgba(255, 255, 255, .7);border-radius:6px;box-shadow:0 1px 4px #0000000d;opacity:0;transition:opacity .2s ease}.docs-code-example__code-panel:hover .docs-code-example__copy-btn{opacity:1}.docs-code-example__copy-btn:hover{--background: rgba(255, 255, 255, .9)}.docs-code-example__pre{margin:0;padding:1rem 1.25rem;overflow-x:auto;overflow-y:auto;max-height:30rem;min-height:3rem;background:#fff;white-space:pre;word-break:normal}.docs-code-example__pre--line-numbers{padding-left:3rem;counter-reset:line}.docs-code-example__code{display:block;font-family:Roboto Mono,SF Mono,Monaco,Courier New,monospace;font-size:.75em;line-height:1.5;color:#24292f;white-space:inherit;word-break:normal;tab-size:2}.docs-code-example__code .token{text-decoration:none!important}.docs-code-example__code .token.comment,.docs-code-example__code .token.prolog,.docs-code-example__code .token.doctype,.docs-code-example__code .token.cdata{color:#6a737d}.docs-code-example__code .token.punctuation{color:#24292f}.docs-code-example__code .token.property,.docs-code-example__code .token.tag,.docs-code-example__code .token.boolean,.docs-code-example__code .token.number,.docs-code-example__code .token.constant,.docs-code-example__code .token.symbol,.docs-code-example__code .token.deleted{color:#005cc5}.docs-code-example__code .token.selector,.docs-code-example__code .token.attr-name,.docs-code-example__code .token.string,.docs-code-example__code .token.char,.docs-code-example__code .token.builtin,.docs-code-example__code .token.inserted{color:#22863a}.docs-code-example__code .token.operator,.docs-code-example__code .token.entity,.docs-code-example__code .token.url{color:#24292f}.docs-code-example__code .token.atrule,.docs-code-example__code .token.attr-value,.docs-code-example__code .token.keyword{color:#d73a49}.docs-code-example__code .token.function,.docs-code-example__code .token.class-name{color:#6f42c1}.docs-code-example__code .token.regex,.docs-code-example__code .token.important,.docs-code-example__code .token.variable{color:#e36209}@media (max-width: 600px){.docs-code-example{border-radius:8px}.docs-code-example__tab-list{font-size:11px}.docs-code-example__pre{max-height:20rem}.docs-code-example__code{font-size:.7em}}@media (prefers-color-scheme: dark){.docs-code-example{background:#21252b;border-color:#3b4048;box-shadow:0 4px 15px #0009}.docs-code-example__header{background:#21252b;border-color:#3b4048}.docs-code-example__title{color:#c9d1d9}.docs-code-example__preview{background:#161b22;border-color:#3b4048}.docs-code-example__tabs{background:#1a1a1a}.docs-code-example__tab-list{border-color:#3b4048}.docs-code-example__tab{color:#8b949e}.docs-code-example__tab:hover{background:#21252b}.docs-code-example__tab--active{background:#282c34;color:#c9d1d9;border-color:#3b4048;border-bottom-color:#282c34}.docs-code-example__code-panel,.docs-code-example__pre{background:#161b22}.docs-code-example__code{color:#c9d1d9}.docs-code-example__copy-btn{--background: rgba(0, 0, 0, .4)}.docs-code-example__copy-btn:hover{--background: rgba(0, 0, 0, .6)}.docs-code-example__code .token.comment,.docs-code-example__code .token.prolog,.docs-code-example__code .token.doctype,.docs-code-example__code .token.cdata{color:#8b949e}.docs-code-example__code .token.punctuation{color:#c9d1d9}.docs-code-example__code .token.property,.docs-code-example__code .token.tag,.docs-code-example__code .token.boolean,.docs-code-example__code .token.number,.docs-code-example__code .token.constant,.docs-code-example__code .token.symbol,.docs-code-example__code .token.deleted{color:#79c0ff}.docs-code-example__code .token.selector,.docs-code-example__code .token.attr-name,.docs-code-example__code .token.string,.docs-code-example__code .token.char,.docs-code-example__code .token.builtin,.docs-code-example__code .token.inserted{color:#7ee787}.docs-code-example__code .token.operator,.docs-code-example__code .token.entity,.docs-code-example__code .token.url{color:#c9d1d9}.docs-code-example__code .token.atrule,.docs-code-example__code .token.attr-value,.docs-code-example__code .token.keyword{color:#ff7b72}.docs-code-example__code .token.function,.docs-code-example__code .token.class-name{color:#d2a8ff}.docs-code-example__code .token.regex,.docs-code-example__code .token.important,.docs-code-example__code .token.variable{color:#ffa657}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], encapsulation: i0.ViewEncapsulation.None }); }
166
166
  }
167
167
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsCodeExampleComponent, decorators: [{
168
168
  type: Component,
@@ -245,11 +245,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
245
245
  </div>
246
246
  }
247
247
  </div>
248
- `, styles: [".docs-code-example{margin:1.5rem 0;border:1px solid #f2f6f7;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000000d;background:#fff}.docs-code-example__header{padding:1rem 1.25rem;border-bottom:1px solid #f2f6f7;background:#fff}.docs-code-example__title{font-size:1rem;font-weight:600;margin:0 0 .25rem;color:var(--ion-text-color, #1a1a1a)}.docs-code-example__description{font-size:.875rem;color:var(--ion-color-medium, #666);margin:0}.docs-code-example__external-link{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.8125rem;color:#555;text-decoration:none}.docs-code-example__external-link:hover{color:#1a1a1a;text-decoration:underline}.docs-code-example__external-link ion-icon{font-size:.875rem}.docs-code-example__preview{padding:1.5rem;background:#fff;border-bottom:1px solid #f2f6f7}.docs-code-example__tabs{background:#f6f9fa}.docs-code-example__tab-list{display:flex;gap:2px;border-bottom:1px solid #f2f6f7;overflow-x:auto;scrollbar-width:thin;font-size:12px}.docs-code-example__tab{padding:10px 18px 8px;font-family:Roboto Mono,SF Mono,Monaco,monospace;font-size:.95em;font-weight:500;color:#899396;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;transition:background .2s,color .2s;margin-bottom:-1px;white-space:nowrap}.docs-code-example__tab:hover{background:#e8eef2}.docs-code-example__tab--active{background:#fff;color:#19422d;border:1px solid #f2f6f7;border-bottom:1px solid #ffffff;font-weight:600;z-index:2}.docs-code-example__code-panel{position:relative;background:#fff}.docs-code-example__code-header{position:sticky;top:10px;float:right;z-index:10;height:0;margin-right:15px}.docs-code-example__copy-btn{--padding-start: 2px;--padding-end: 2px;min-width:28px;min-height:28px;height:28px;width:28px;--color: var(--ion-color-primary);--background: rgba(255, 255, 255, .7);border-radius:6px;box-shadow:0 1px 4px #0000000d;opacity:0;transition:opacity .2s ease}.docs-code-example__code-panel:hover .docs-code-example__copy-btn{opacity:1}.docs-code-example__copy-btn:hover{--background: rgba(255, 255, 255, .9)}.docs-code-example__pre{margin:0;padding:1rem 1.25rem;overflow-x:auto;overflow-y:auto;max-height:30rem;min-height:3rem;background:#fff;white-space:pre;word-break:normal}.docs-code-example__pre--line-numbers{padding-left:3rem;counter-reset:line}.docs-code-example__code{display:block;font-family:Roboto Mono,SF Mono,Monaco,Courier New,monospace;font-size:.85em;line-height:1.5;color:#24292f;white-space:inherit;word-break:normal;tab-size:2}.docs-code-example__code .token{text-decoration:none!important}.docs-code-example__code .token.comment,.docs-code-example__code .token.prolog,.docs-code-example__code .token.doctype,.docs-code-example__code .token.cdata{color:#6a737d}.docs-code-example__code .token.punctuation{color:#24292f}.docs-code-example__code .token.property,.docs-code-example__code .token.tag,.docs-code-example__code .token.boolean,.docs-code-example__code .token.number,.docs-code-example__code .token.constant,.docs-code-example__code .token.symbol,.docs-code-example__code .token.deleted{color:#005cc5}.docs-code-example__code .token.selector,.docs-code-example__code .token.attr-name,.docs-code-example__code .token.string,.docs-code-example__code .token.char,.docs-code-example__code .token.builtin,.docs-code-example__code .token.inserted{color:#22863a}.docs-code-example__code .token.operator,.docs-code-example__code .token.entity,.docs-code-example__code .token.url{color:#24292f}.docs-code-example__code .token.atrule,.docs-code-example__code .token.attr-value,.docs-code-example__code .token.keyword{color:#d73a49}.docs-code-example__code .token.function,.docs-code-example__code .token.class-name{color:#6f42c1}.docs-code-example__code .token.regex,.docs-code-example__code .token.important,.docs-code-example__code .token.variable{color:#e36209}@media (max-width: 600px){.docs-code-example{border-radius:8px}.docs-code-example__tab-list{font-size:11px}.docs-code-example__pre{max-height:20rem}.docs-code-example__code{font-size:.75em}}@media (prefers-color-scheme: dark){.docs-code-example{background:#21252b;border-color:#3b4048;box-shadow:0 4px 15px #0009}.docs-code-example__header{background:#21252b;border-color:#3b4048}.docs-code-example__title{color:#c9d1d9}.docs-code-example__preview{background:#161b22;border-color:#3b4048}.docs-code-example__tabs{background:#1a1a1a}.docs-code-example__tab-list{border-color:#3b4048}.docs-code-example__tab{color:#8b949e}.docs-code-example__tab:hover{background:#21252b}.docs-code-example__tab--active{background:#282c34;color:#c9d1d9;border-color:#3b4048;border-bottom-color:#282c34}.docs-code-example__code-panel,.docs-code-example__pre{background:#161b22}.docs-code-example__code{color:#c9d1d9}.docs-code-example__copy-btn{--background: rgba(0, 0, 0, .4)}.docs-code-example__copy-btn:hover{--background: rgba(0, 0, 0, .6)}.docs-code-example__code .token.comment,.docs-code-example__code .token.prolog,.docs-code-example__code .token.doctype,.docs-code-example__code .token.cdata{color:#8b949e}.docs-code-example__code .token.punctuation{color:#c9d1d9}.docs-code-example__code .token.property,.docs-code-example__code .token.tag,.docs-code-example__code .token.boolean,.docs-code-example__code .token.number,.docs-code-example__code .token.constant,.docs-code-example__code .token.symbol,.docs-code-example__code .token.deleted{color:#79c0ff}.docs-code-example__code .token.selector,.docs-code-example__code .token.attr-name,.docs-code-example__code .token.string,.docs-code-example__code .token.char,.docs-code-example__code .token.builtin,.docs-code-example__code .token.inserted{color:#7ee787}.docs-code-example__code .token.operator,.docs-code-example__code .token.entity,.docs-code-example__code .token.url{color:#c9d1d9}.docs-code-example__code .token.atrule,.docs-code-example__code .token.attr-value,.docs-code-example__code .token.keyword{color:#ff7b72}.docs-code-example__code .token.function,.docs-code-example__code .token.class-name{color:#d2a8ff}.docs-code-example__code .token.regex,.docs-code-example__code .token.important,.docs-code-example__code .token.variable{color:#ffa657}}\n"] }]
248
+ `, styles: [".docs-code-example{margin:1.5rem 0;border:1px solid #f2f6f7;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000000d;background:#fff}.docs-code-example__header{padding:1rem 1.25rem;border-bottom:1px solid #f2f6f7;background:#fff}.docs-code-example__title{font-size:1rem;font-weight:600;margin:0 0 .25rem;color:var(--ion-text-color, #1a1a1a)}.docs-code-example__description{font-size:.875rem;color:var(--ion-color-medium, #666);margin:0}.docs-code-example__external-link{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.8125rem;color:#555;text-decoration:none}.docs-code-example__external-link:hover{color:#1a1a1a;text-decoration:underline}.docs-code-example__external-link ion-icon{font-size:.875rem}.docs-code-example__preview{padding:1.5rem;background:#fff;border-bottom:1px solid #f2f6f7}.docs-code-example__tabs{background:#f6f9fa}.docs-code-example__tab-list{display:flex;gap:2px;border-bottom:1px solid #f2f6f7;overflow-x:auto;scrollbar-width:thin;font-size:12px}.docs-code-example__tab{padding:10px 18px 8px;font-family:Roboto Mono,SF Mono,Monaco,monospace;font-size:.95em;font-weight:500;color:#899396;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;transition:background .2s,color .2s;margin-bottom:-1px;white-space:nowrap}.docs-code-example__tab:hover{background:#e8eef2}.docs-code-example__tab--active{background:#fff;color:#19422d;border:1px solid #f2f6f7;border-bottom:1px solid #ffffff;font-weight:600;z-index:2}.docs-code-example__code-panel{position:relative;background:#fff}.docs-code-example__code-header{position:sticky;top:10px;float:right;z-index:10;height:0;margin-right:15px}.docs-code-example__copy-btn{--padding-start: 2px;--padding-end: 2px;min-width:28px;min-height:28px;height:28px;width:28px;--color: var(--ion-color-primary);--background: rgba(255, 255, 255, .7);border-radius:6px;box-shadow:0 1px 4px #0000000d;opacity:0;transition:opacity .2s ease}.docs-code-example__code-panel:hover .docs-code-example__copy-btn{opacity:1}.docs-code-example__copy-btn:hover{--background: rgba(255, 255, 255, .9)}.docs-code-example__pre{margin:0;padding:1rem 1.25rem;overflow-x:auto;overflow-y:auto;max-height:30rem;min-height:3rem;background:#fff;white-space:pre;word-break:normal}.docs-code-example__pre--line-numbers{padding-left:3rem;counter-reset:line}.docs-code-example__code{display:block;font-family:Roboto Mono,SF Mono,Monaco,Courier New,monospace;font-size:.75em;line-height:1.5;color:#24292f;white-space:inherit;word-break:normal;tab-size:2}.docs-code-example__code .token{text-decoration:none!important}.docs-code-example__code .token.comment,.docs-code-example__code .token.prolog,.docs-code-example__code .token.doctype,.docs-code-example__code .token.cdata{color:#6a737d}.docs-code-example__code .token.punctuation{color:#24292f}.docs-code-example__code .token.property,.docs-code-example__code .token.tag,.docs-code-example__code .token.boolean,.docs-code-example__code .token.number,.docs-code-example__code .token.constant,.docs-code-example__code .token.symbol,.docs-code-example__code .token.deleted{color:#005cc5}.docs-code-example__code .token.selector,.docs-code-example__code .token.attr-name,.docs-code-example__code .token.string,.docs-code-example__code .token.char,.docs-code-example__code .token.builtin,.docs-code-example__code .token.inserted{color:#22863a}.docs-code-example__code .token.operator,.docs-code-example__code .token.entity,.docs-code-example__code .token.url{color:#24292f}.docs-code-example__code .token.atrule,.docs-code-example__code .token.attr-value,.docs-code-example__code .token.keyword{color:#d73a49}.docs-code-example__code .token.function,.docs-code-example__code .token.class-name{color:#6f42c1}.docs-code-example__code .token.regex,.docs-code-example__code .token.important,.docs-code-example__code .token.variable{color:#e36209}@media (max-width: 600px){.docs-code-example{border-radius:8px}.docs-code-example__tab-list{font-size:11px}.docs-code-example__pre{max-height:20rem}.docs-code-example__code{font-size:.7em}}@media (prefers-color-scheme: dark){.docs-code-example{background:#21252b;border-color:#3b4048;box-shadow:0 4px 15px #0009}.docs-code-example__header{background:#21252b;border-color:#3b4048}.docs-code-example__title{color:#c9d1d9}.docs-code-example__preview{background:#161b22;border-color:#3b4048}.docs-code-example__tabs{background:#1a1a1a}.docs-code-example__tab-list{border-color:#3b4048}.docs-code-example__tab{color:#8b949e}.docs-code-example__tab:hover{background:#21252b}.docs-code-example__tab--active{background:#282c34;color:#c9d1d9;border-color:#3b4048;border-bottom-color:#282c34}.docs-code-example__code-panel,.docs-code-example__pre{background:#161b22}.docs-code-example__code{color:#c9d1d9}.docs-code-example__copy-btn{--background: rgba(0, 0, 0, .4)}.docs-code-example__copy-btn:hover{--background: rgba(0, 0, 0, .6)}.docs-code-example__code .token.comment,.docs-code-example__code .token.prolog,.docs-code-example__code .token.doctype,.docs-code-example__code .token.cdata{color:#8b949e}.docs-code-example__code .token.punctuation{color:#c9d1d9}.docs-code-example__code .token.property,.docs-code-example__code .token.tag,.docs-code-example__code .token.boolean,.docs-code-example__code .token.number,.docs-code-example__code .token.constant,.docs-code-example__code .token.symbol,.docs-code-example__code .token.deleted{color:#79c0ff}.docs-code-example__code .token.selector,.docs-code-example__code .token.attr-name,.docs-code-example__code .token.string,.docs-code-example__code .token.char,.docs-code-example__code .token.builtin,.docs-code-example__code .token.inserted{color:#7ee787}.docs-code-example__code .token.operator,.docs-code-example__code .token.entity,.docs-code-example__code .token.url{color:#c9d1d9}.docs-code-example__code .token.atrule,.docs-code-example__code .token.attr-value,.docs-code-example__code .token.keyword{color:#ff7b72}.docs-code-example__code .token.function,.docs-code-example__code .token.class-name{color:#d2a8ff}.docs-code-example__code .token.regex,.docs-code-example__code .token.important,.docs-code-example__code .token.variable{color:#ffa657}}\n"] }]
249
249
  }], propDecorators: { props: [{
250
250
  type: Input
251
251
  }], previewTpl: [{
252
252
  type: ContentChild,
253
253
  args: ['preview']
254
254
  }] } });
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1jb2RlLWV4YW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLWNvZGUtZXhhbXBsZS9kb2NzLWNvZGUtZXhhbXBsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUUscUVBQXFFO0FBQ3JFLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sK0JBQStCLENBQUM7QUFDdkMsT0FBTywrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8saUNBQWlDLENBQUM7OztBQUV6QyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUV6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBMGJILE1BQU0sT0FBTyx3QkFBd0I7SUF6YnJDO1FBMGJXLFVBQUssR0FBNEIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFJN0MsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBOENsQztJQTVDVyxVQUFVO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3hGLENBQUM7SUFFUyxlQUFlO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsUUFBZ0I7UUFDeEMsTUFBTSxPQUFPLEdBQTJCO1lBQ3RDLEVBQUUsRUFBRSxZQUFZO1lBQ2hCLEVBQUUsRUFBRSxZQUFZO1lBQ2hCLElBQUksRUFBRSxRQUFRO1lBQ2QsR0FBRyxFQUFFLFFBQVE7WUFDYixFQUFFLEVBQUUsTUFBTTtZQUNWLEtBQUssRUFBRSxNQUFNO1NBQ2QsQ0FBQztRQUNGLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVk7UUFDN0IsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxHQUFHLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN2QixPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUM7SUFDdkIsQ0FBQzsrR0FuRFUsd0JBQXdCO21HQUF4Qix3QkFBd0IsZ05BcGJ6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStFVCxxb01BakZTLFlBQVksc01BQUUsT0FBTywySkFBRSxTQUFTOzs0RkFzYi9CLHdCQUF3QjtrQkF6YnBDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLGlCQUM1QixpQkFBaUIsQ0FBQyxJQUFJLFlBQzNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0VUOzhCQXNXUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRW1CLFVBQVU7c0JBQWxDLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBzaWduYWwsIFRlbXBsYXRlUmVmLCBDb250ZW50Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25JY29uLCBJb25CdXR0b24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY29weU91dGxpbmUsIGNoZWNrbWFya091dGxpbmUsIG9wZW5PdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgRG9jc0NvZGVFeGFtcGxlTWV0YWRhdGEsIERvY3NDb2RlVGFiIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIFByaXNtLmpzIGltcG9ydHMgKHNhbWUgcGF0dGVybiBhcyBjb2RlLWRpc3BsYXkgYW5kIHBsYWluLWNvZGUtYm94KVxuaW1wb3J0ICogYXMgUHJpc20gZnJvbSAncHJpc21qcyc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS10eXBlc2NyaXB0JztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWphdmFzY3JpcHQnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tY3NzJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLXNjc3MnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tYmFzaCc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1qc29uJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLW1hcmt1cCc7XG5cbmFkZEljb25zKHsgY29weU91dGxpbmUsIGNoZWNrbWFya091dGxpbmUsIG9wZW5PdXRsaW5lIH0pO1xuXG4vKipcbiAqIHZhbC1kb2NzLWNvZGUtZXhhbXBsZVxuICpcbiAqIEEgY29kZSBleGFtcGxlIGNvbXBvbmVudCB3aXRoIHRhYnMsIHByZXZpZXcsIGFuZCBjb3B5IGZ1bmN0aW9uYWxpdHkuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtZG9jcy1jb2RlLWV4YW1wbGVcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICB0aXRsZTogJ0Jhc2ljIEJ1dHRvbicsXG4gKiAgICAgdGFiczogW1xuICogICAgICAgeyBsYWJlbDogJ0hUTUwnLCBsYW5ndWFnZTogJ2h0bWwnLCBjb2RlOiAnPHZhbC1idXR0b24+Q2xpY2sgbWU8L3ZhbC1idXR0b24+JyB9LFxuICogICAgICAgeyBsYWJlbDogJ1R5cGVTY3JpcHQnLCBsYW5ndWFnZTogJ3R5cGVzY3JpcHQnLCBjb2RlOiAnaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAuLi4nIH1cbiAqICAgICBdXG4gKiAgIH1cIlxuICogPlxuICogICA8bmctdGVtcGxhdGUgI3ByZXZpZXc+XG4gKiAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cInsgbGFiZWw6ICdDbGljayBtZScgfVwiPjwvdmFsLWJ1dHRvbj5cbiAqICAgPC9uZy10ZW1wbGF0ZT5cbiAqIDwvdmFsLWRvY3MtY29kZS1leGFtcGxlPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLWNvZGUtZXhhbXBsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb24sIElvbkJ1dHRvbl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlXCIgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCI+XG4gICAgICA8IS0tIEhlYWRlciAtLT5cbiAgICAgIEBpZiAocHJvcHMudGl0bGUgfHwgcHJvcHMuZGVzY3JpcHRpb24gfHwgcHJvcHMuZXh0ZXJuYWxMaW5rKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9faGVhZGVyXCI+XG4gICAgICAgICAgQGlmIChwcm9wcy50aXRsZSkge1xuICAgICAgICAgICAgPGg0IGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX3RpdGxlXCI+e3sgcHJvcHMudGl0bGUgfX08L2g0PlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHByb3BzLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19kZXNjcmlwdGlvblwiPnt7IHByb3BzLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHByb3BzLmV4dGVybmFsTGluaykge1xuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGlua1wiXG4gICAgICAgICAgICAgIFtocmVmXT1cInByb3BzLmV4dGVybmFsTGluay51cmxcIlxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgcHJvcHMuZXh0ZXJuYWxMaW5rLmxhYmVsIHx8ICdPcGVuIGluIFN0YWNrQmxpdHonIH19XG4gICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwib3Blbi1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8IS0tIFByZXZpZXcgLS0+XG4gICAgICBAaWYgKHByZXZpZXdUcGwpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19wcmV2aWV3XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByZXZpZXdUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gVGFicyAtLT5cbiAgICAgIEBpZiAocHJvcHMudGFicz8ubGVuZ3RoKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fdGFic1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fdGFiLWxpc3RcIiByb2xlPVwidGFibGlzdFwiPlxuICAgICAgICAgICAgQGZvciAodGFiIG9mIHByb3BzLnRhYnM7IHRyYWNrIHRhYi5sYWJlbDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX3RhYlwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRvY3MtY29kZS1leGFtcGxlX190YWItLWFjdGl2ZV09XCJhY3RpdmVUYWIoKSA9PT0gaVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZVRhYi5zZXQoaSlcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYWN0aXZlVGFiKCkgPT09IGlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGFiLmxhYmVsIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPCEtLSBDb2RlIFBhbmVsIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fY29kZS1wYW5lbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19jb2RlLWhlYWRlclwiPlxuICAgICAgICAgICAgICBAaWYgKHByb3BzLnNob3dDb3B5QnV0dG9uICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29waWVkKCkgPyAnQ29kZSBjb3BpZWQnIDogJ0NvcHkgY29kZSdcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvcHlDb2RlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgICAgICAgICBzbG90PVwiaWNvbi1vbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiY29waWVkKCkgPyAnY2hlY2ttYXJrLW91dGxpbmUnIDogJ2NvcHktb3V0bGluZSdcIlxuICAgICAgICAgICAgICAgICAgPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwcmVcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fcHJlXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmRvY3MtY29kZS1leGFtcGxlX19wcmUtLWxpbmUtbnVtYmVyc109XCJwcm9wcy5zaG93TGluZU51bWJlcnNcIlxuICAgICAgICAgICAgPjxjb2RlXG4gICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGVcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwiJ2xhbmd1YWdlLScgKyBjdXJyZW50VGFiKCkubGFuZ3VhZ2VcIlxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImhpZ2hsaWdodGVkQ29kZSgpXCJcbiAgICAgICAgICAgID48L2NvZGU+PC9wcmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmRvY3MtY29kZS1leGFtcGxlIHtcbiAgICAgIG1hcmdpbjogMS41cmVtIDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmNmY3O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19oZWFkZXIge1xuICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzFhMWExYSk7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2NjYpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzFhMWExYTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGluayBpb24taWNvbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJldmlldyB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX190YWJzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNmY5ZmE7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX190YWItbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAycHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX190YWIge1xuICAgICAgcGFkZGluZzogMTBweCAxOHB4IDhweCAxOHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubycsICdTRiBNb25vJywgTW9uYWNvLCBtb25vc3BhY2U7XG4gICAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzg5OTM5NjtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMsIGNvbG9yIDAuMnM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZThlZWYyO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiLS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjMTk0MjJkO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLXBhbmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLWhlYWRlciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb3B5LWJ0biB7XG4gICAgICAtLXBhZGRpbmctc3RhcnQ6IDJweDtcbiAgICAgIC0tcGFkZGluZy1lbmQ6IDJweDtcbiAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIC0tY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgIC0tYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLXBhbmVsOmhvdmVyIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29weS1idG4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuOmhvdmVyIHtcbiAgICAgIC0tYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMzByZW07XG4gICAgICBtaW4taGVpZ2h0OiAzcmVtO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmUtLWxpbmUtbnVtYmVycyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICBjb3VudGVyLXJlc2V0OiBsaW5lO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nLCAnU0YgTW9ubycsIE1vbmFjbywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgY29sb3I6ICMyNDI5MmY7XG4gICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgIHRhYi1zaXplOiAyO1xuICAgIH1cblxuICAgIC8qIFByaXNtLmpzIHN5bnRheCBoaWdobGlnaHRpbmcgLSBMaWdodCB0aGVtZSAoR2l0SHViIHN0eWxlKSAqL1xuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jb21tZW50LFxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHJvbG9nLFxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZG9jdHlwZSxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNkYXRhIHtcbiAgICAgIGNvbG9yOiAjNmE3MzdkO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHVuY3R1YXRpb24ge1xuICAgICAgY29sb3I6ICMyNDI5MmY7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5wcm9wZXJ0eSxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnRhZyxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmJvb2xlYW4sXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5udW1iZXIsXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jb25zdGFudCxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnN5bWJvbCxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmRlbGV0ZWQge1xuICAgICAgY29sb3I6ICMwMDVjYzU7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5zZWxlY3RvcixcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0dHItbmFtZSxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnN0cmluZyxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNoYXIsXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5idWlsdGluLFxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uaW5zZXJ0ZWQge1xuICAgICAgY29sb3I6ICMyMjg2M2E7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5vcGVyYXRvcixcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmVudGl0eSxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnVybCB7XG4gICAgICBjb2xvcjogIzI0MjkyZjtcbiAgICB9XG5cbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0cnVsZSxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0dHItdmFsdWUsXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5rZXl3b3JkIHtcbiAgICAgIGNvbG9yOiAjZDczYTQ5O1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZnVuY3Rpb24sXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jbGFzcy1uYW1lIHtcbiAgICAgIGNvbG9yOiAjNmY0MmMxO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucmVnZXgsXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5pbXBvcnRhbnQsXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi52YXJpYWJsZSB7XG4gICAgICBjb2xvcjogI2UzNjIwOTtcbiAgICB9XG5cbiAgICAvKiBSZXNwb25zaXZlICovXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICB9XG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYi1saXN0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgfVxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMHJlbTtcbiAgICAgIH1cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIERhcmsgbW9kZSAqL1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMTI1MmI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiNDA0ODtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9faGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzIxMjUyYjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICNjOWQxZDk7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJldmlldyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxNjFiMjI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiNDA0ODtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWJzIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWItbGlzdCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiNDA0ODtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWIge1xuICAgICAgICBjb2xvcjogIzhiOTQ5ZTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjEyNTJiO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYi0tYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzI4MmMzNDtcbiAgICAgICAgY29sb3I6ICNjOWQxZDk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiNDA0ODtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzI4MmMzNDtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLXBhbmVsIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzE2MWIyMjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTYxYjIyO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUge1xuICAgICAgICBjb2xvcjogI2M5ZDFkOTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb3B5LWJ0biB7XG4gICAgICAgIC0tYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuOmhvdmVyIHtcbiAgICAgICAgLS1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICB9XG5cbiAgICAgIC8qIERhcmsgbW9kZSBzeW50YXggaGlnaGxpZ2h0aW5nICovXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNvbW1lbnQsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnByb2xvZyxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZG9jdHlwZSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY2RhdGEge1xuICAgICAgICBjb2xvcjogIzhiOTQ5ZTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5wdW5jdHVhdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnByb3BlcnR5LFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi50YWcsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmJvb2xlYW4sXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLm51bWJlcixcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY29uc3RhbnQsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnN5bWJvbCxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZGVsZXRlZCB7XG4gICAgICAgIGNvbG9yOiAjNzljMGZmO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnNlbGVjdG9yLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5hdHRyLW5hbWUsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnN0cmluZyxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY2hhcixcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYnVpbHRpbixcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uaW5zZXJ0ZWQge1xuICAgICAgICBjb2xvcjogIzdlZTc4NztcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5vcGVyYXRvcixcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZW50aXR5LFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi51cmwge1xuICAgICAgICBjb2xvcjogI2M5ZDFkOTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5hdHJ1bGUsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0dHItdmFsdWUsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmtleXdvcmQge1xuICAgICAgICBjb2xvcjogI2ZmN2I3MjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5mdW5jdGlvbixcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY2xhc3MtbmFtZSB7XG4gICAgICAgIGNvbG9yOiAjZDJhOGZmO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnJlZ2V4LFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5pbXBvcnRhbnQsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnZhcmlhYmxlIHtcbiAgICAgICAgY29sb3I6ICNmZmE2NTc7XG4gICAgICB9XG4gICAgfVxuICBgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jc0NvZGVFeGFtcGxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvcHM6IERvY3NDb2RlRXhhbXBsZU1ldGFkYXRhID0geyB0YWJzOiBbXSB9O1xuXG4gIEBDb250ZW50Q2hpbGQoJ3ByZXZpZXcnKSBwcmV2aWV3VHBsPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwcm90ZWN0ZWQgYWN0aXZlVGFiID0gc2lnbmFsKDApO1xuICBwcm90ZWN0ZWQgY29waWVkID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgY3VycmVudFRhYigpOiBEb2NzQ29kZVRhYiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMudGFic1t0aGlzLmFjdGl2ZVRhYigpXSB8fCB7IGxhYmVsOiAnJywgY29kZTogJycsIGxhbmd1YWdlOiAndGV4dCcgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoaWdobGlnaHRlZENvZGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB0YWIgPSB0aGlzLmN1cnJlbnRUYWIoKTtcbiAgICBjb25zdCBsYW5nID0gdGhpcy5ub3JtYWxpemVMYW5ndWFnZSh0YWIubGFuZ3VhZ2UpO1xuICAgIGNvbnN0IGdyYW1tYXIgPSBQcmlzbS5sYW5ndWFnZXNbbGFuZ107XG5cbiAgICBpZiAoIWdyYW1tYXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmVzY2FwZUh0bWwodGFiLmNvZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBQcmlzbS5oaWdobGlnaHQodGFiLmNvZGUsIGdyYW1tYXIsIGxhbmcpO1xuICB9XG5cbiAgYXN5bmMgY29weUNvZGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29kZSA9IHRoaXMuY3VycmVudFRhYigpLmNvZGU7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGNvZGUpO1xuICAgICAgdGhpcy5jb3BpZWQuc2V0KHRydWUpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNvcGllZC5zZXQoZmFsc2UpLCAyMDAwKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5IGNvZGU6JywgZXJyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUxhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsaWFzZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICB0czogJ3R5cGVzY3JpcHQnLFxuICAgICAganM6ICdqYXZhc2NyaXB0JyxcbiAgICAgIGh0bWw6ICdtYXJrdXAnLFxuICAgICAgeG1sOiAnbWFya3VwJyxcbiAgICAgIHNoOiAnYmFzaCcsXG4gICAgICBzaGVsbDogJ2Jhc2gnLFxuICAgIH07XG4gICAgcmV0dXJuIGFsaWFzZXNbbGFuZ3VhZ2UudG9Mb3dlckNhc2UoKV0gfHwgbGFuZ3VhZ2UudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgZXNjYXBlSHRtbCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGRpdi50ZXh0Q29udGVudCA9IHRleHQ7XG4gICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7XG4gIH1cbn1cbiJdfQ==
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1jb2RlLWV4YW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLWNvZGUtZXhhbXBsZS9kb2NzLWNvZGUtZXhhbXBsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUUscUVBQXFFO0FBQ3JFLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sK0JBQStCLENBQUM7QUFDdkMsT0FBTywrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8saUNBQWlDLENBQUM7OztBQUV6QyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUV6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBMGJILE1BQU0sT0FBTyx3QkFBd0I7SUF6YnJDO1FBMGJXLFVBQUssR0FBNEIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFJN0MsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBOENsQztJQTVDVyxVQUFVO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3hGLENBQUM7SUFFUyxlQUFlO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsUUFBZ0I7UUFDeEMsTUFBTSxPQUFPLEdBQTJCO1lBQ3RDLEVBQUUsRUFBRSxZQUFZO1lBQ2hCLEVBQUUsRUFBRSxZQUFZO1lBQ2hCLElBQUksRUFBRSxRQUFRO1lBQ2QsR0FBRyxFQUFFLFFBQVE7WUFDYixFQUFFLEVBQUUsTUFBTTtZQUNWLEtBQUssRUFBRSxNQUFNO1NBQ2QsQ0FBQztRQUNGLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVk7UUFDN0IsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxHQUFHLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN2QixPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUM7SUFDdkIsQ0FBQzsrR0FuRFUsd0JBQXdCO21HQUF4Qix3QkFBd0IsZ05BcGJ6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStFVCxvb01BakZTLFlBQVksc01BQUUsT0FBTywySkFBRSxTQUFTOzs0RkFzYi9CLHdCQUF3QjtrQkF6YnBDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLGlCQUM1QixpQkFBaUIsQ0FBQyxJQUFJLFlBQzNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0VUOzhCQXNXUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRW1CLFVBQVU7c0JBQWxDLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBzaWduYWwsIFRlbXBsYXRlUmVmLCBDb250ZW50Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25JY29uLCBJb25CdXR0b24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY29weU91dGxpbmUsIGNoZWNrbWFya091dGxpbmUsIG9wZW5PdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgRG9jc0NvZGVFeGFtcGxlTWV0YWRhdGEsIERvY3NDb2RlVGFiIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIFByaXNtLmpzIGltcG9ydHMgKHNhbWUgcGF0dGVybiBhcyBjb2RlLWRpc3BsYXkgYW5kIHBsYWluLWNvZGUtYm94KVxuaW1wb3J0ICogYXMgUHJpc20gZnJvbSAncHJpc21qcyc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS10eXBlc2NyaXB0JztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWphdmFzY3JpcHQnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tY3NzJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLXNjc3MnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tYmFzaCc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1qc29uJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLW1hcmt1cCc7XG5cbmFkZEljb25zKHsgY29weU91dGxpbmUsIGNoZWNrbWFya091dGxpbmUsIG9wZW5PdXRsaW5lIH0pO1xuXG4vKipcbiAqIHZhbC1kb2NzLWNvZGUtZXhhbXBsZVxuICpcbiAqIEEgY29kZSBleGFtcGxlIGNvbXBvbmVudCB3aXRoIHRhYnMsIHByZXZpZXcsIGFuZCBjb3B5IGZ1bmN0aW9uYWxpdHkuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtZG9jcy1jb2RlLWV4YW1wbGVcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICB0aXRsZTogJ0Jhc2ljIEJ1dHRvbicsXG4gKiAgICAgdGFiczogW1xuICogICAgICAgeyBsYWJlbDogJ0hUTUwnLCBsYW5ndWFnZTogJ2h0bWwnLCBjb2RlOiAnPHZhbC1idXR0b24+Q2xpY2sgbWU8L3ZhbC1idXR0b24+JyB9LFxuICogICAgICAgeyBsYWJlbDogJ1R5cGVTY3JpcHQnLCBsYW5ndWFnZTogJ3R5cGVzY3JpcHQnLCBjb2RlOiAnaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAuLi4nIH1cbiAqICAgICBdXG4gKiAgIH1cIlxuICogPlxuICogICA8bmctdGVtcGxhdGUgI3ByZXZpZXc+XG4gKiAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cInsgbGFiZWw6ICdDbGljayBtZScgfVwiPjwvdmFsLWJ1dHRvbj5cbiAqICAgPC9uZy10ZW1wbGF0ZT5cbiAqIDwvdmFsLWRvY3MtY29kZS1leGFtcGxlPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLWNvZGUtZXhhbXBsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb24sIElvbkJ1dHRvbl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlXCIgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCI+XG4gICAgICA8IS0tIEhlYWRlciAtLT5cbiAgICAgIEBpZiAocHJvcHMudGl0bGUgfHwgcHJvcHMuZGVzY3JpcHRpb24gfHwgcHJvcHMuZXh0ZXJuYWxMaW5rKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9faGVhZGVyXCI+XG4gICAgICAgICAgQGlmIChwcm9wcy50aXRsZSkge1xuICAgICAgICAgICAgPGg0IGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX3RpdGxlXCI+e3sgcHJvcHMudGl0bGUgfX08L2g0PlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHByb3BzLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19kZXNjcmlwdGlvblwiPnt7IHByb3BzLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHByb3BzLmV4dGVybmFsTGluaykge1xuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGlua1wiXG4gICAgICAgICAgICAgIFtocmVmXT1cInByb3BzLmV4dGVybmFsTGluay51cmxcIlxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgcHJvcHMuZXh0ZXJuYWxMaW5rLmxhYmVsIHx8ICdPcGVuIGluIFN0YWNrQmxpdHonIH19XG4gICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwib3Blbi1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8IS0tIFByZXZpZXcgLS0+XG4gICAgICBAaWYgKHByZXZpZXdUcGwpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19wcmV2aWV3XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByZXZpZXdUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gVGFicyAtLT5cbiAgICAgIEBpZiAocHJvcHMudGFicz8ubGVuZ3RoKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fdGFic1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fdGFiLWxpc3RcIiByb2xlPVwidGFibGlzdFwiPlxuICAgICAgICAgICAgQGZvciAodGFiIG9mIHByb3BzLnRhYnM7IHRyYWNrIHRhYi5sYWJlbDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX3RhYlwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRvY3MtY29kZS1leGFtcGxlX190YWItLWFjdGl2ZV09XCJhY3RpdmVUYWIoKSA9PT0gaVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZVRhYi5zZXQoaSlcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYWN0aXZlVGFiKCkgPT09IGlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGFiLmxhYmVsIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPCEtLSBDb2RlIFBhbmVsIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fY29kZS1wYW5lbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19jb2RlLWhlYWRlclwiPlxuICAgICAgICAgICAgICBAaWYgKHByb3BzLnNob3dDb3B5QnV0dG9uICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29waWVkKCkgPyAnQ29kZSBjb3BpZWQnIDogJ0NvcHkgY29kZSdcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvcHlDb2RlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgICAgICAgICBzbG90PVwiaWNvbi1vbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiY29waWVkKCkgPyAnY2hlY2ttYXJrLW91dGxpbmUnIDogJ2NvcHktb3V0bGluZSdcIlxuICAgICAgICAgICAgICAgICAgPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwcmVcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fcHJlXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmRvY3MtY29kZS1leGFtcGxlX19wcmUtLWxpbmUtbnVtYmVyc109XCJwcm9wcy5zaG93TGluZU51bWJlcnNcIlxuICAgICAgICAgICAgPjxjb2RlXG4gICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGVcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwiJ2xhbmd1YWdlLScgKyBjdXJyZW50VGFiKCkubGFuZ3VhZ2VcIlxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImhpZ2hsaWdodGVkQ29kZSgpXCJcbiAgICAgICAgICAgID48L2NvZGU+PC9wcmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmRvY3MtY29kZS1leGFtcGxlIHtcbiAgICAgIG1hcmdpbjogMS41cmVtIDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmNmY3O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19oZWFkZXIge1xuICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzFhMWExYSk7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2NjYpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzFhMWExYTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGluayBpb24taWNvbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJldmlldyB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX190YWJzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNmY5ZmE7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX190YWItbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAycHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX190YWIge1xuICAgICAgcGFkZGluZzogMTBweCAxOHB4IDhweCAxOHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubycsICdTRiBNb25vJywgTW9uYWNvLCBtb25vc3BhY2U7XG4gICAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzg5OTM5NjtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMsIGNvbG9yIDAuMnM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZThlZWYyO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiLS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjMTk0MjJkO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLXBhbmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLWhlYWRlciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb3B5LWJ0biB7XG4gICAgICAtLXBhZGRpbmctc3RhcnQ6IDJweDtcbiAgICAgIC0tcGFkZGluZy1lbmQ6IDJweDtcbiAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIC0tY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgIC0tYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLXBhbmVsOmhvdmVyIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29weS1idG4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuOmhvdmVyIHtcbiAgICAgIC0tYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMzByZW07XG4gICAgICBtaW4taGVpZ2h0OiAzcmVtO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmUtLWxpbmUtbnVtYmVycyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICBjb3VudGVyLXJlc2V0OiBsaW5lO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nLCAnU0YgTW9ubycsIE1vbmFjbywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgY29sb3I6ICMyNDI5MmY7XG4gICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgIHRhYi1zaXplOiAyO1xuICAgIH1cblxuICAgIC8qIFByaXNtLmpzIHN5bnRheCBoaWdobGlnaHRpbmcgLSBMaWdodCB0aGVtZSAoR2l0SHViIHN0eWxlKSAqL1xuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jb21tZW50LFxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHJvbG9nLFxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZG9jdHlwZSxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNkYXRhIHtcbiAgICAgIGNvbG9yOiAjNmE3MzdkO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHVuY3R1YXRpb24ge1xuICAgICAgY29sb3I6ICMyNDI5MmY7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5wcm9wZXJ0eSxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnRhZyxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmJvb2xlYW4sXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5udW1iZXIsXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jb25zdGFudCxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnN5bWJvbCxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmRlbGV0ZWQge1xuICAgICAgY29sb3I6ICMwMDVjYzU7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5zZWxlY3RvcixcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0dHItbmFtZSxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnN0cmluZyxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNoYXIsXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5idWlsdGluLFxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uaW5zZXJ0ZWQge1xuICAgICAgY29sb3I6ICMyMjg2M2E7XG4gICAgfVxuXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5vcGVyYXRvcixcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmVudGl0eSxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnVybCB7XG4gICAgICBjb2xvcjogIzI0MjkyZjtcbiAgICB9XG5cbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0cnVsZSxcbiAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0dHItdmFsdWUsXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5rZXl3b3JkIHtcbiAgICAgIGNvbG9yOiAjZDczYTQ5O1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZnVuY3Rpb24sXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jbGFzcy1uYW1lIHtcbiAgICAgIGNvbG9yOiAjNmY0MmMxO1xuICAgIH1cblxuICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucmVnZXgsXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5pbXBvcnRhbnQsXG4gICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi52YXJpYWJsZSB7XG4gICAgICBjb2xvcjogI2UzNjIwOTtcbiAgICB9XG5cbiAgICAvKiBSZXNwb25zaXZlICovXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICB9XG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYi1saXN0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgfVxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMHJlbTtcbiAgICAgIH1cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGFyayBtb2RlICovXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgLmRvY3MtY29kZS1leGFtcGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzIxMjUyYjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjEyNTJiO1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjQwNDg7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGl0bGUge1xuICAgICAgICBjb2xvcjogI2M5ZDFkOTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmV2aWV3IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzE2MWIyMjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYnMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWExYTFhO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYi1saXN0IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYiB7XG4gICAgICAgIGNvbG9yOiAjOGI5NDllO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMTI1MmI7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiLS1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjgyYzM0O1xuICAgICAgICBjb2xvcjogI2M5ZDFkOTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjgyYzM0O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUtcGFuZWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTYxYjIyO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3ByZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxNjFiMjI7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSB7XG4gICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuIHtcbiAgICAgICAgLS1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29weS1idG46aG92ZXIge1xuICAgICAgICAtLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgIH1cblxuICAgICAgLyogRGFyayBtb2RlIHN5bnRheCBoaWdobGlnaHRpbmcgKi9cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY29tbWVudCxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHJvbG9nLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5kb2N0eXBlLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jZGF0YSB7XG4gICAgICAgIGNvbG9yOiAjOGI5NDllO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnB1bmN0dWF0aW9uIHtcbiAgICAgICAgY29sb3I6ICNjOWQxZDk7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHJvcGVydHksXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnRhZyxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYm9vbGVhbixcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ubnVtYmVyLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jb25zdGFudCxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc3ltYm9sLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5kZWxldGVkIHtcbiAgICAgICAgY29sb3I6ICM3OWMwZmY7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc2VsZWN0b3IsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0dHItbmFtZSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc3RyaW5nLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jaGFyLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5idWlsdGluLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5pbnNlcnRlZCB7XG4gICAgICAgIGNvbG9yOiAjN2VlNzg3O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLm9wZXJhdG9yLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5lbnRpdHksXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnVybCB7XG4gICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0cnVsZSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXR0ci12YWx1ZSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ua2V5d29yZCB7XG4gICAgICAgIGNvbG9yOiAjZmY3YjcyO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmZ1bmN0aW9uLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jbGFzcy1uYW1lIHtcbiAgICAgICAgY29sb3I6ICNkMmE4ZmY7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucmVnZXgsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmltcG9ydGFudCxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udmFyaWFibGUge1xuICAgICAgICBjb2xvcjogI2ZmYTY1NztcbiAgICAgIH1cbiAgICB9XG4gIGBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NzQ29kZUV4YW1wbGVDb21wb25lbnQge1xuICBASW5wdXQoKSBwcm9wczogRG9jc0NvZGVFeGFtcGxlTWV0YWRhdGEgPSB7IHRhYnM6IFtdIH07XG5cbiAgQENvbnRlbnRDaGlsZCgncHJldmlldycpIHByZXZpZXdUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByb3RlY3RlZCBhY3RpdmVUYWIgPSBzaWduYWwoMCk7XG4gIHByb3RlY3RlZCBjb3BpZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIHByb3RlY3RlZCBjdXJyZW50VGFiKCk6IERvY3NDb2RlVGFiIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy50YWJzW3RoaXMuYWN0aXZlVGFiKCldIHx8IHsgbGFiZWw6ICcnLCBjb2RlOiAnJywgbGFuZ3VhZ2U6ICd0ZXh0JyB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGhpZ2hsaWdodGVkQ29kZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRhYiA9IHRoaXMuY3VycmVudFRhYigpO1xuICAgIGNvbnN0IGxhbmcgPSB0aGlzLm5vcm1hbGl6ZUxhbmd1YWdlKHRhYi5sYW5ndWFnZSk7XG4gICAgY29uc3QgZ3JhbW1hciA9IFByaXNtLmxhbmd1YWdlc1tsYW5nXTtcblxuICAgIGlmICghZ3JhbW1hcikge1xuICAgICAgcmV0dXJuIHRoaXMuZXNjYXBlSHRtbCh0YWIuY29kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFByaXNtLmhpZ2hsaWdodCh0YWIuY29kZSwgZ3JhbW1hciwgbGFuZyk7XG4gIH1cblxuICBhc3luYyBjb3B5Q29kZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb2RlID0gdGhpcy5jdXJyZW50VGFiKCkuY29kZTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoY29kZSk7XG4gICAgICB0aGlzLmNvcGllZC5zZXQodHJ1ZSk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY29waWVkLnNldChmYWxzZSksIDIwMDApO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGNvcHkgY29kZTonLCBlcnIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplTGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYWxpYXNlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIHRzOiAndHlwZXNjcmlwdCcsXG4gICAgICBqczogJ2phdmFzY3JpcHQnLFxuICAgICAgaHRtbDogJ21hcmt1cCcsXG4gICAgICB4bWw6ICdtYXJrdXAnLFxuICAgICAgc2g6ICdiYXNoJyxcbiAgICAgIHNoZWxsOiAnYmFzaCcsXG4gICAgfTtcbiAgICByZXR1cm4gYWxpYXNlc1tsYW5ndWFnZS50b0xvd2VyQ2FzZSgpXSB8fCBsYW5ndWFnZS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlc2NhcGVIdG1sKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGl2LnRleHRDb250ZW50ID0gdGV4dDtcbiAgICByZXR1cm4gZGl2LmlubmVySFRNTDtcbiAgfVxufVxuIl19
@@ -1,38 +1,68 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
2
+ import { Component, inject, Input } from '@angular/core';
3
3
  import { ReactiveFormsModule } from '@angular/forms';
4
4
  import { IonInput } from '@ionic/angular/standalone';
5
+ import { PresetService } from '../../../services/presets';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/forms";
7
8
  /**
8
9
  * val-email-input
9
10
  *
10
11
  * An email input field integrated with Angular forms.
11
- * For i18n support, pass the translated placeholder text via props.
12
+ * Supports presets for reusable configurations.
12
13
  *
13
- * @example Static placeholder:
14
- * <val-email-input [props]="{ control: myControl, placeholder: 'Enter your email' }"></val-email-input>
14
+ * @example With preset (recommended):
15
+ * <val-email-input preset="form-field" [props]="{ control: myControl, placeholder: 'Email' }"></val-email-input>
15
16
  *
16
- * @example With i18n:
17
- * ```typescript
18
- * // In component
19
- * emailProps = {
20
- * control: this.emailControl,
21
- * placeholder: this.langService.getText('Login', 'emailPlaceholder')
22
- * };
23
- * ```
17
+ * @example Static (backwards compatible):
18
+ * <val-email-input [props]="{ control: myControl, placeholder: 'Enter your email' }"></val-email-input>
24
19
  *
25
- * @input props: InputMetadata - Configuration for the input (form control, placeholder, etc.)
20
+ * @input preset: string - Name of preset to apply (e.g., 'form-field')
21
+ * @input props: InputMetadata - Configuration for the input (overrides preset values)
26
22
  */
27
23
  export class EmailInputComponent {
28
- ngOnInit() { }
24
+ constructor() {
25
+ this.presets = inject(PresetService);
26
+ /**
27
+ * Input configuration object. Values here override preset values.
28
+ * @type {InputMetadata}
29
+ * @property control - The Angular FormControl for the input.
30
+ * @property placeholder - The placeholder text.
31
+ */
32
+ this.props = {};
33
+ /**
34
+ * Resolved props after merging preset + explicit props.
35
+ */
36
+ this.resolvedProps = {};
37
+ }
38
+ ngOnInit() {
39
+ this.resolveProps();
40
+ }
41
+ ngOnChanges(changes) {
42
+ if (changes['preset'] || changes['props']) {
43
+ this.resolveProps();
44
+ }
45
+ }
46
+ /**
47
+ * Merge preset configuration with explicit props.
48
+ * Explicit props take precedence over preset values.
49
+ */
50
+ resolveProps() {
51
+ const presetProps = this.preset ? this.presets.get('emailInput', this.preset) : {};
52
+ this.resolvedProps = {
53
+ ...presetProps,
54
+ ...this.props,
55
+ };
56
+ }
29
57
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmailInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EmailInputComponent, isStandalone: true, selector: "val-email-input", inputs: { props: "props" }, ngImport: i0, template: ` <ion-input [formControl]="props.control" type="email" [placeholder]="props.placeholder"></ion-input> `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }] }); }
58
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EmailInputComponent, isStandalone: true, selector: "val-email-input", inputs: { preset: "preset", props: "props" }, usesOnChanges: true, ngImport: i0, template: ` <ion-input [formControl]="resolvedProps.control" type="email" [placeholder]="resolvedProps.placeholder"></ion-input> `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }] }); }
31
59
  }
32
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmailInputComponent, decorators: [{
33
61
  type: Component,
34
- args: [{ selector: 'val-email-input', standalone: true, imports: [CommonModule, ReactiveFormsModule, IonInput], template: ` <ion-input [formControl]="props.control" type="email" [placeholder]="props.placeholder"></ion-input> ` }]
35
- }], propDecorators: { props: [{
62
+ args: [{ selector: 'val-email-input', standalone: true, imports: [CommonModule, ReactiveFormsModule, IonInput], template: ` <ion-input [formControl]="resolvedProps.control" type="email" [placeholder]="resolvedProps.placeholder"></ion-input> ` }]
63
+ }], propDecorators: { preset: [{
64
+ type: Input
65
+ }], props: [{
36
66
  type: Input
37
67
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9lbWFpbC1pbnB1dC9lbWFpbC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBVXJEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQVM5QixRQUFRLEtBQUksQ0FBQzsrR0FURixtQkFBbUI7bUdBQW5CLG1CQUFtQix1R0F2QnBCLHdHQUF3Ryx5RUFEeEcsWUFBWSw4QkFBRSxtQkFBbUIsMFRBQUUsUUFBUTs7NEZBd0IxQyxtQkFBbUI7a0JBM0IvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxRQUFRLENBQUMsWUFDNUMsd0dBQXdHOzhCQThCekcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbklucHV0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJbnB1dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZW1haWwtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25JbnB1dF0sXG4gIHRlbXBsYXRlOiBgIDxpb24taW5wdXQgW2Zvcm1Db250cm9sXT1cInByb3BzLmNvbnRyb2xcIiB0eXBlPVwiZW1haWxcIiBbcGxhY2Vob2xkZXJdPVwicHJvcHMucGxhY2Vob2xkZXJcIj48L2lvbi1pbnB1dD4gYCxcbiAgc3R5bGVVcmxzOiBbJy4vZW1haWwtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1lbWFpbC1pbnB1dFxuICpcbiAqIEFuIGVtYWlsIGlucHV0IGZpZWxkIGludGVncmF0ZWQgd2l0aCBBbmd1bGFyIGZvcm1zLlxuICogRm9yIGkxOG4gc3VwcG9ydCwgcGFzcyB0aGUgdHJhbnNsYXRlZCBwbGFjZWhvbGRlciB0ZXh0IHZpYSBwcm9wcy5cbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgcGxhY2Vob2xkZXI6XG4gKiA8dmFsLWVtYWlsLWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IG15Q29udHJvbCwgcGxhY2Vob2xkZXI6ICdFbnRlciB5b3VyIGVtYWlsJyB9XCI+PC92YWwtZW1haWwtaW5wdXQ+XG4gKlxuICogQGV4YW1wbGUgV2l0aCBpMThuOlxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gSW4gY29tcG9uZW50XG4gKiBlbWFpbFByb3BzID0ge1xuICogICBjb250cm9sOiB0aGlzLmVtYWlsQ29udHJvbCxcbiAqICAgcGxhY2Vob2xkZXI6IHRoaXMubGFuZ1NlcnZpY2UuZ2V0VGV4dCgnTG9naW4nLCAnZW1haWxQbGFjZWhvbGRlcicpXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGlucHV0IHByb3BzOiBJbnB1dE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGlucHV0IChmb3JtIGNvbnRyb2wsIHBsYWNlaG9sZGVyLCBldGMuKVxuICovXG5leHBvcnQgY2xhc3MgRW1haWxJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBJbnB1dCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHR5cGUge0lucHV0TWV0YWRhdGF9XG4gICAqIEBwcm9wZXJ0eSBjb250cm9sIC0gVGhlIEFuZ3VsYXIgRm9ybUNvbnRyb2wgZm9yIHRoZSBpbnB1dC5cbiAgICogQHByb3BlcnR5IHBsYWNlaG9sZGVyIC0gVGhlIHBsYWNlaG9sZGVyIHRleHQuIEZvciBpMThuLCB1c2UgbGFuZ1NlcnZpY2UuZ2V0VGV4dCgpIHRvIGdldCB0cmFuc2xhdGVkIHZhbHVlLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IElucHV0TWV0YWRhdGE7XG5cbiAgbmdPbkluaXQoKSB7fVxufVxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9lbWFpbC1pbnB1dC9lbWFpbC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBVTFEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQXRCaEM7UUF1QlUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQVd4Qzs7Ozs7V0FLRztRQUNNLFVBQUssR0FBMkIsRUFBRSxDQUFDO1FBRTVDOztXQUVHO1FBQ0gsa0JBQWEsR0FBa0IsRUFBbUIsQ0FBQztLQXdCcEQ7SUF0QkMsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVk7UUFDbEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQTRCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUUvRyxJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLEdBQUcsV0FBVztZQUNkLEdBQUcsSUFBSSxDQUFDLEtBQUs7U0FDRyxDQUFDO0lBQ3JCLENBQUM7K0dBOUNVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhJQWxCcEIsd0hBQXdILHlFQUR4SCxZQUFZLDhCQUFFLG1CQUFtQiwwVEFBRSxRQUFROzs0RkFtQjFDLG1CQUFtQjtrQkF0Qi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxZQUM1Qyx3SEFBd0g7OEJBNEJ6SCxNQUFNO3NCQUFkLEtBQUs7Z0JBUUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25JbnB1dCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgUHJlc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ByZXNldHMnO1xuaW1wb3J0IHsgSW5wdXRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWVtYWlsLWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uSW5wdXRdLFxuICB0ZW1wbGF0ZTogYCA8aW9uLWlucHV0IFtmb3JtQ29udHJvbF09XCJyZXNvbHZlZFByb3BzLmNvbnRyb2xcIiB0eXBlPVwiZW1haWxcIiBbcGxhY2Vob2xkZXJdPVwicmVzb2x2ZWRQcm9wcy5wbGFjZWhvbGRlclwiPjwvaW9uLWlucHV0PiBgLFxuICBzdHlsZVVybHM6IFsnLi9lbWFpbC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWVtYWlsLWlucHV0XG4gKlxuICogQW4gZW1haWwgaW5wdXQgZmllbGQgaW50ZWdyYXRlZCB3aXRoIEFuZ3VsYXIgZm9ybXMuXG4gKiBTdXBwb3J0cyBwcmVzZXRzIGZvciByZXVzYWJsZSBjb25maWd1cmF0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHByZXNldCAocmVjb21tZW5kZWQpOlxuICogPHZhbC1lbWFpbC1pbnB1dCBwcmVzZXQ9XCJmb3JtLWZpZWxkXCIgW3Byb3BzXT1cInsgY29udHJvbDogbXlDb250cm9sLCBwbGFjZWhvbGRlcjogJ0VtYWlsJyB9XCI+PC92YWwtZW1haWwtaW5wdXQ+XG4gKlxuICogQGV4YW1wbGUgU3RhdGljIChiYWNrd2FyZHMgY29tcGF0aWJsZSk6XG4gKiA8dmFsLWVtYWlsLWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IG15Q29udHJvbCwgcGxhY2Vob2xkZXI6ICdFbnRlciB5b3VyIGVtYWlsJyB9XCI+PC92YWwtZW1haWwtaW5wdXQ+XG4gKlxuICogQGlucHV0IHByZXNldDogc3RyaW5nIC0gTmFtZSBvZiBwcmVzZXQgdG8gYXBwbHkgKGUuZy4sICdmb3JtLWZpZWxkJylcbiAqIEBpbnB1dCBwcm9wczogSW5wdXRNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBpbnB1dCAob3ZlcnJpZGVzIHByZXNldCB2YWx1ZXMpXG4gKi9cbmV4cG9ydCBjbGFzcyBFbWFpbElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHByZXNldHMgPSBpbmplY3QoUHJlc2V0U2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFByZXNldCBuYW1lIHRvIGFwcGx5LiBQcmVzZXRzIGRlZmluZSByZXVzYWJsZSBpbnB1dCBjb25maWd1cmF0aW9uc1xuICAgKiB0aGF0IGNhbiBiZSByZWdpc3RlcmVkIGF0IGFwcCBsZXZlbCB2aWEgcHJvdmlkZVZhbHRlY2hQcmVzZXRzKCkuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIDx2YWwtZW1haWwtaW5wdXQgcHJlc2V0PVwiZm9ybS1maWVsZFwiIFtwcm9wc109XCJ7IGNvbnRyb2w6IGN0cmwgfVwiPjwvdmFsLWVtYWlsLWlucHV0PlxuICAgKi9cbiAgQElucHV0KCkgcHJlc2V0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBjb25maWd1cmF0aW9uIG9iamVjdC4gVmFsdWVzIGhlcmUgb3ZlcnJpZGUgcHJlc2V0IHZhbHVlcy5cbiAgICogQHR5cGUge0lucHV0TWV0YWRhdGF9XG4gICAqIEBwcm9wZXJ0eSBjb250cm9sIC0gVGhlIEFuZ3VsYXIgRm9ybUNvbnRyb2wgZm9yIHRoZSBpbnB1dC5cbiAgICogQHByb3BlcnR5IHBsYWNlaG9sZGVyIC0gVGhlIHBsYWNlaG9sZGVyIHRleHQuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogUGFydGlhbDxJbnB1dE1ldGFkYXRhPiA9IHt9O1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlZCBwcm9wcyBhZnRlciBtZXJnaW5nIHByZXNldCArIGV4cGxpY2l0IHByb3BzLlxuICAgKi9cbiAgcmVzb2x2ZWRQcm9wczogSW5wdXRNZXRhZGF0YSA9IHt9IGFzIElucHV0TWV0YWRhdGE7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncHJlc2V0J10gfHwgY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgcHJlc2V0IGNvbmZpZ3VyYXRpb24gd2l0aCBleHBsaWNpdCBwcm9wcy5cbiAgICogRXhwbGljaXQgcHJvcHMgdGFrZSBwcmVjZWRlbmNlIG92ZXIgcHJlc2V0IHZhbHVlcy5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZVByb3BzKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXNldFByb3BzID0gdGhpcy5wcmVzZXQgPyAodGhpcy5wcmVzZXRzLmdldCgnZW1haWxJbnB1dCcsIHRoaXMucHJlc2V0KSBhcyBQYXJ0aWFsPElucHV0TWV0YWRhdGE+KSA6IHt9O1xuXG4gICAgdGhpcy5yZXNvbHZlZFByb3BzID0ge1xuICAgICAgLi4ucHJlc2V0UHJvcHMsXG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgIH0gYXMgSW5wdXRNZXRhZGF0YTtcbiAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, inject, Input } from '@angular/core';
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
3
  import { IonButton, IonIcon, IonInput } from '@ionic/angular/standalone';
4
+ import { PresetService } from '../../../services/presets';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../../../services/icons.service";
6
7
  import * as i2 from "@angular/forms";
@@ -8,35 +9,60 @@ import * as i2 from "@angular/forms";
8
9
  * val-password-input
9
10
  *
10
11
  * A password input field with show/hide toggle, integrated with Angular forms.
11
- * For i18n support, pass the translated placeholder text via props.
12
+ * Supports presets for reusable configurations.
12
13
  *
13
- * @example Static placeholder:
14
- * <val-password-input [props]="{ control: myControl, placeholder: 'Enter password' }"></val-password-input>
14
+ * @example With preset (recommended):
15
+ * <val-password-input preset="form-field" [props]="{ control: myControl, placeholder: 'Password' }"></val-password-input>
15
16
  *
16
- * @example With i18n:
17
- * ```typescript
18
- * // In component
19
- * passwordProps = {
20
- * control: this.passwordControl,
21
- * placeholder: this.langService.getText('Login', 'passwordPlaceholder')
22
- * };
23
- * ```
17
+ * @example Static (backwards compatible):
18
+ * <val-password-input [props]="{ control: myControl, placeholder: 'Enter password' }"></val-password-input>
24
19
  *
25
- * @input props: InputMetadata - Configuration for the input (form control, placeholder, etc.)
20
+ * @input preset: string - Name of preset to apply (e.g., 'form-field', 'login')
21
+ * @input props: InputMetadata - Configuration for the input (overrides preset values)
26
22
  */
27
23
  export class PasswordInputComponent {
28
24
  constructor(icon) {
25
+ this.presets = inject(PresetService);
26
+ /**
27
+ * Input configuration object. Values here override preset values.
28
+ * @type {InputMetadata}
29
+ * @property control - The Angular FormControl for the input.
30
+ * @property placeholder - The placeholder text.
31
+ */
32
+ this.props = {};
33
+ /**
34
+ * Resolved props after merging preset + explicit props.
35
+ */
36
+ this.resolvedProps = {};
29
37
  this.hidePassword = true;
30
38
  }
31
- ngOnInit() { }
39
+ ngOnInit() {
40
+ this.resolveProps();
41
+ }
42
+ ngOnChanges(changes) {
43
+ if (changes['preset'] || changes['props']) {
44
+ this.resolveProps();
45
+ }
46
+ }
47
+ /**
48
+ * Merge preset configuration with explicit props.
49
+ * Explicit props take precedence over preset values.
50
+ */
51
+ resolveProps() {
52
+ const presetProps = this.preset ? this.presets.get('passwordInput', this.preset) : {};
53
+ this.resolvedProps = {
54
+ ...presetProps,
55
+ ...this.props,
56
+ };
57
+ }
32
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordInputComponent, deps: [{ token: i1.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PasswordInputComponent, isStandalone: true, selector: "val-password-input", inputs: { props: "props" }, ngImport: i0, template: `
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PasswordInputComponent, isStandalone: true, selector: "val-password-input", inputs: { preset: "preset", props: "props" }, usesOnChanges: true, ngImport: i0, template: `
34
60
  <div class="input-container">
35
61
  <ion-input
36
62
  class="sign-in__input-password"
37
- [formControl]="props.control"
63
+ [formControl]="resolvedProps.control"
38
64
  [type]="hidePassword ? 'password' : 'text'"
39
- [placeholder]="props.placeholder"
65
+ [placeholder]="resolvedProps.placeholder"
40
66
  ></ion-input>
41
67
  <ion-button color="dark" fill="clear" (click)="hidePassword = !hidePassword" size="small">
42
68
  <ion-icon slot="icon-only" [name]="hidePassword ? 'eye-off-outline' : 'eye-outline'"></ion-icon>
@@ -50,16 +76,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
50
76
  <div class="input-container">
51
77
  <ion-input
52
78
  class="sign-in__input-password"
53
- [formControl]="props.control"
79
+ [formControl]="resolvedProps.control"
54
80
  [type]="hidePassword ? 'password' : 'text'"
55
- [placeholder]="props.placeholder"
81
+ [placeholder]="resolvedProps.placeholder"
56
82
  ></ion-input>
57
83
  <ion-button color="dark" fill="clear" (click)="hidePassword = !hidePassword" size="small">
58
84
  <ion-icon slot="icon-only" [name]="hidePassword ? 'eye-off-outline' : 'eye-outline'"></ion-icon>
59
85
  </ion-button>
60
86
  </div>
61
87
  `, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.section{margin-top:1rem}.input{margin:.5rem 0}@media (min-width: 768px){.input{margin:.75rem 0}}.input-container{display:flex;align-items:center;flex-direction:row}\n"] }]
62
- }], ctorParameters: () => [{ type: i1.IconService }], propDecorators: { props: [{
88
+ }], ctorParameters: () => [{ type: i1.IconService }], propDecorators: { preset: [{
89
+ type: Input
90
+ }], props: [{
63
91
  type: Input
64
92
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUF1QnpFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQVdqQyxZQUFZLElBQWlCO1FBRjdCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO0lBRVksQ0FBQztJQUVqQyxRQUFRLEtBQUksQ0FBQzsrR0FiRixzQkFBc0I7bUdBQXRCLHNCQUFzQiwwR0FuQ3ZCOzs7Ozs7Ozs7Ozs7R0FZVCxvdkZBYlMsbUJBQW1CLDBUQUFFLFFBQVEsOGVBQUUsU0FBUyxvUEFBRSxPQUFPOzs0RkFvQ2hELHNCQUFzQjtrQkF2Q2xDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFlBQ2xEOzs7Ozs7Ozs7Ozs7R0FZVDtnRkE4QlEsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25JY29uLCBJb25JbnB1dCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlJztcbmltcG9ydCB7IElucHV0TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wYXNzd29yZC1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25JbnB1dCwgSW9uQnV0dG9uLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XG4gICAgICA8aW9uLWlucHV0XG4gICAgICAgIGNsYXNzPVwic2lnbi1pbl9faW5wdXQtcGFzc3dvcmRcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwicHJvcHMuY29udHJvbFwiXG4gICAgICAgIFt0eXBlXT1cImhpZGVQYXNzd29yZCA/ICdwYXNzd29yZCcgOiAndGV4dCdcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicHJvcHMucGxhY2Vob2xkZXJcIlxuICAgICAgPjwvaW9uLWlucHV0PlxuICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJkYXJrXCIgZmlsbD1cImNsZWFyXCIgKGNsaWNrKT1cImhpZGVQYXNzd29yZCA9ICFoaWRlUGFzc3dvcmRcIiBzaXplPVwic21hbGxcIj5cbiAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBbbmFtZV09XCJoaWRlUGFzc3dvcmQgPyAnZXllLW9mZi1vdXRsaW5lJyA6ICdleWUtb3V0bGluZSdcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXBhc3N3b3JkLWlucHV0XG4gKlxuICogQSBwYXNzd29yZCBpbnB1dCBmaWVsZCB3aXRoIHNob3cvaGlkZSB0b2dnbGUsIGludGVncmF0ZWQgd2l0aCBBbmd1bGFyIGZvcm1zLlxuICogRm9yIGkxOG4gc3VwcG9ydCwgcGFzcyB0aGUgdHJhbnNsYXRlZCBwbGFjZWhvbGRlciB0ZXh0IHZpYSBwcm9wcy5cbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgcGxhY2Vob2xkZXI6XG4gKiA8dmFsLXBhc3N3b3JkLWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IG15Q29udHJvbCwgcGxhY2Vob2xkZXI6ICdFbnRlciBwYXNzd29yZCcgfVwiPjwvdmFsLXBhc3N3b3JkLWlucHV0PlxuICpcbiAqIEBleGFtcGxlIFdpdGggaTE4bjpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEluIGNvbXBvbmVudFxuICogcGFzc3dvcmRQcm9wcyA9IHtcbiAqICAgY29udHJvbDogdGhpcy5wYXNzd29yZENvbnRyb2wsXG4gKiAgIHBsYWNlaG9sZGVyOiB0aGlzLmxhbmdTZXJ2aWNlLmdldFRleHQoJ0xvZ2luJywgJ3Bhc3N3b3JkUGxhY2Vob2xkZXInKVxuICogfTtcbiAqIGBgYFxuICpcbiAqIEBpbnB1dCBwcm9wczogSW5wdXRNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBpbnB1dCAoZm9ybSBjb250cm9sLCBwbGFjZWhvbGRlciwgZXRjLilcbiAqL1xuZXhwb3J0IGNsYXNzIFBhc3N3b3JkSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogSW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtJbnB1dE1ldGFkYXRhfVxuICAgKiBAcHJvcGVydHkgY29udHJvbCAtIFRoZSBBbmd1bGFyIEZvcm1Db250cm9sIGZvciB0aGUgaW5wdXQuXG4gICAqIEBwcm9wZXJ0eSBwbGFjZWhvbGRlciAtIFRoZSBwbGFjZWhvbGRlciB0ZXh0LiBGb3IgaTE4biwgdXNlIGxhbmdTZXJ2aWNlLmdldFRleHQoKSB0byBnZXQgdHJhbnNsYXRlZCB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBJbnB1dE1ldGFkYXRhO1xuXG4gIGhpZGVQYXNzd29yZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoaWNvbjogSWNvblNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxufVxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFzQjFEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQTJCakMsWUFBWSxJQUFpQjtRQTFCckIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQVd4Qzs7Ozs7V0FLRztRQUNNLFVBQUssR0FBMkIsRUFBRSxDQUFDO1FBRTVDOztXQUVHO1FBQ0gsa0JBQWEsR0FBa0IsRUFBbUIsQ0FBQztRQUVuRCxpQkFBWSxHQUFHLElBQUksQ0FBQztJQUVZLENBQUM7SUFFakMsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVk7UUFDbEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQTRCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVsSCxJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLEdBQUcsV0FBVztZQUNkLEdBQUcsSUFBSSxDQUFDLEtBQUs7U0FDRyxDQUFDO0lBQ3JCLENBQUM7K0dBbERVLHNCQUFzQjttR0FBdEIsc0JBQXNCLGlKQTlCdkI7Ozs7Ozs7Ozs7OztHQVlULG92RkFiUyxtQkFBbUIsMFRBQUUsUUFBUSw4ZUFBRSxTQUFTLG9QQUFFLE9BQU87OzRGQStCaEQsc0JBQXNCO2tCQWxDbEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsWUFDbEQ7Ozs7Ozs7Ozs7OztHQVlUO2dGQTRCUSxNQUFNO3NCQUFkLEtBQUs7Z0JBUUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uSW5wdXQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaWNvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlc2V0cyc7XG5pbXBvcnQgeyBJbnB1dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcGFzc3dvcmQtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uSW5wdXQsIElvbkJ1dHRvbiwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPGlvbi1pbnB1dFxuICAgICAgICBjbGFzcz1cInNpZ24taW5fX2lucHV0LXBhc3N3b3JkXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInJlc29sdmVkUHJvcHMuY29udHJvbFwiXG4gICAgICAgIFt0eXBlXT1cImhpZGVQYXNzd29yZCA/ICdwYXNzd29yZCcgOiAndGV4dCdcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicmVzb2x2ZWRQcm9wcy5wbGFjZWhvbGRlclwiXG4gICAgICA+PC9pb24taW5wdXQ+XG4gICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cImRhcmtcIiBmaWxsPVwiY2xlYXJcIiAoY2xpY2spPVwiaGlkZVBhc3N3b3JkID0gIWhpZGVQYXNzd29yZFwiIHNpemU9XCJzbWFsbFwiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIFtuYW1lXT1cImhpZGVQYXNzd29yZCA/ICdleWUtb2ZmLW91dGxpbmUnIDogJ2V5ZS1vdXRsaW5lJ1wiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtcGFzc3dvcmQtaW5wdXRcbiAqXG4gKiBBIHBhc3N3b3JkIGlucHV0IGZpZWxkIHdpdGggc2hvdy9oaWRlIHRvZ2dsZSwgaW50ZWdyYXRlZCB3aXRoIEFuZ3VsYXIgZm9ybXMuXG4gKiBTdXBwb3J0cyBwcmVzZXRzIGZvciByZXVzYWJsZSBjb25maWd1cmF0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHByZXNldCAocmVjb21tZW5kZWQpOlxuICogPHZhbC1wYXNzd29yZC1pbnB1dCBwcmVzZXQ9XCJmb3JtLWZpZWxkXCIgW3Byb3BzXT1cInsgY29udHJvbDogbXlDb250cm9sLCBwbGFjZWhvbGRlcjogJ1Bhc3N3b3JkJyB9XCI+PC92YWwtcGFzc3dvcmQtaW5wdXQ+XG4gKlxuICogQGV4YW1wbGUgU3RhdGljIChiYWNrd2FyZHMgY29tcGF0aWJsZSk6XG4gKiA8dmFsLXBhc3N3b3JkLWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IG15Q29udHJvbCwgcGxhY2Vob2xkZXI6ICdFbnRlciBwYXNzd29yZCcgfVwiPjwvdmFsLXBhc3N3b3JkLWlucHV0PlxuICpcbiAqIEBpbnB1dCBwcmVzZXQ6IHN0cmluZyAtIE5hbWUgb2YgcHJlc2V0IHRvIGFwcGx5IChlLmcuLCAnZm9ybS1maWVsZCcsICdsb2dpbicpXG4gKiBAaW5wdXQgcHJvcHM6IElucHV0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgaW5wdXQgKG92ZXJyaWRlcyBwcmVzZXQgdmFsdWVzKVxuICovXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBwcmVzZXRzID0gaW5qZWN0KFByZXNldFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBQcmVzZXQgbmFtZSB0byBhcHBseS4gUHJlc2V0cyBkZWZpbmUgcmV1c2FibGUgaW5wdXQgY29uZmlndXJhdGlvbnNcbiAgICogdGhhdCBjYW4gYmUgcmVnaXN0ZXJlZCBhdCBhcHAgbGV2ZWwgdmlhIHByb3ZpZGVWYWx0ZWNoUHJlc2V0cygpLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiA8dmFsLXBhc3N3b3JkLWlucHV0IHByZXNldD1cImxvZ2luXCIgW3Byb3BzXT1cInsgY29udHJvbDogY3RybCB9XCI+PC92YWwtcGFzc3dvcmQtaW5wdXQ+XG4gICAqL1xuICBASW5wdXQoKSBwcmVzZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKiBAdHlwZSB7SW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIGlucHV0LlxuICAgKiBAcHJvcGVydHkgcGxhY2Vob2xkZXIgLSBUaGUgcGxhY2Vob2xkZXIgdGV4dC5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBQYXJ0aWFsPElucHV0TWV0YWRhdGE+ID0ge307XG5cbiAgLyoqXG4gICAqIFJlc29sdmVkIHByb3BzIGFmdGVyIG1lcmdpbmcgcHJlc2V0ICsgZXhwbGljaXQgcHJvcHMuXG4gICAqL1xuICByZXNvbHZlZFByb3BzOiBJbnB1dE1ldGFkYXRhID0ge30gYXMgSW5wdXRNZXRhZGF0YTtcblxuICBoaWRlUGFzc3dvcmQgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKGljb246IEljb25TZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3ByZXNldCddIHx8IGNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlIHByZXNldCBjb25maWd1cmF0aW9uIHdpdGggZXhwbGljaXQgcHJvcHMuXG4gICAqIEV4cGxpY2l0IHByb3BzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHByZXNldCB2YWx1ZXMuXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVQcm9wcygpOiB2b2lkIHtcbiAgICBjb25zdCBwcmVzZXRQcm9wcyA9IHRoaXMucHJlc2V0ID8gKHRoaXMucHJlc2V0cy5nZXQoJ3Bhc3N3b3JkSW5wdXQnLCB0aGlzLnByZXNldCkgYXMgUGFydGlhbDxJbnB1dE1ldGFkYXRhPikgOiB7fTtcblxuICAgIHRoaXMucmVzb2x2ZWRQcm9wcyA9IHtcbiAgICAgIC4uLnByZXNldFByb3BzLFxuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICB9IGFzIElucHV0TWV0YWRhdGE7XG4gIH1cbn1cbiJdfQ==
@@ -3,14 +3,23 @@ import { ReactiveFormsModule } from '@angular/forms';
3
3
  import { applyDefaultValueToControl } from '../../../shared/utils/form-defaults';
4
4
  import { IonSelect, IonSelectOption } from '@ionic/angular/standalone';
5
5
  import { I18nService } from '../../../services/i18n';
6
+ import { PresetService } from '../../../services/presets';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/forms";
8
9
  /**
9
10
  * val-select-input
10
11
  *
11
12
  * A select/dropdown input integrated with Angular forms, using Ionic's select component.
13
+ * Supports presets for reusable configurations.
12
14
  *
13
- * @example
15
+ * @example With preset (recommended):
16
+ * <val-select-input preset="form-field" [props]="{
17
+ * control: myControl,
18
+ * label: 'Seleccionar',
19
+ * options: [{ id: '1', name: 'Opción 1' }]
20
+ * }"></val-select-input>
21
+ *
22
+ * @example Static (backwards compatible):
14
23
  * <val-select-input [props]="{
15
24
  * control: myControl,
16
25
  * label: 'Seleccionar',
@@ -19,39 +28,78 @@ import * as i1 from "@angular/forms";
19
28
  * okText: 'Aceptar'
20
29
  * }"></val-select-input>
21
30
  *
22
- * @input props: InputMetadata - Configuration for the select input (form control, label, options, etc.)
31
+ * @input preset: string - Name of preset to apply (e.g., 'form-field')
32
+ * @input props: InputMetadata - Configuration for the select input (overrides preset values)
23
33
  */
24
34
  export class SearchSelectorComponent {
25
35
  constructor() {
26
36
  this.i18n = inject(I18nService);
37
+ this.presets = inject(PresetService);
38
+ /**
39
+ * Input configuration object. Values here override preset values.
40
+ * @type {InputMetadata}
41
+ * @property control - The Angular FormControl for the select input.
42
+ * @property label - The label for the select.
43
+ * @property options - The available options for the select.
44
+ * @property placeholder - The placeholder text.
45
+ * @property modalHeader - Custom header text for the modal (optional, uses label if not provided).
46
+ * @property cancelText - Custom cancel button text (default: 'Cancelar').
47
+ * @property okText - Custom OK button text (default: 'Aceptar').
48
+ */
49
+ this.props = {};
50
+ /**
51
+ * Resolved props after merging preset + explicit props.
52
+ */
53
+ this.resolvedProps = {};
27
54
  }
28
55
  ngOnInit() {
29
- if (this.props?.withDefault || this.props?.value) {
30
- applyDefaultValueToControl(this.props);
56
+ this.resolveProps();
57
+ this.setupComponent();
58
+ }
59
+ ngOnChanges(changes) {
60
+ if (changes['preset'] || changes['props']) {
61
+ this.resolveProps();
62
+ this.setupComponent();
63
+ }
64
+ }
65
+ /**
66
+ * Merge preset configuration with explicit props.
67
+ * Explicit props take precedence over preset values.
68
+ */
69
+ resolveProps() {
70
+ const presetProps = this.preset ? this.presets.get('selectInput', this.preset) : {};
71
+ this.resolvedProps = {
72
+ ...presetProps,
73
+ ...this.props,
74
+ };
75
+ }
76
+ setupComponent() {
77
+ if (this.resolvedProps?.withDefault || this.resolvedProps?.value) {
78
+ applyDefaultValueToControl(this.resolvedProps);
31
79
  }
32
80
  // Set modal header from props or use label as fallback, then i18n default
33
- const headerText = this.props.modalHeader || this.props.label || this.i18n.t('selectOption');
81
+ const headerText = this.resolvedProps.modalHeader || this.resolvedProps.label || this.i18n.t('selectOption');
34
82
  this.customModalOptions = {
35
83
  header: headerText,
36
84
  breakpoints: [0, 0.6],
37
85
  initialBreakpoint: 0.6,
38
86
  };
39
87
  // Set button texts from props or use i18n defaults
40
- this.cancelText = this.props.cancelText || this.i18n.t('cancel');
41
- this.okText = this.props.okText || this.i18n.t('ok');
88
+ this.cancelText = this.resolvedProps.cancelText || this.i18n.t('cancel');
89
+ this.okText = this.resolvedProps.okText || this.i18n.t('ok');
42
90
  }
43
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SearchSelectorComponent, isStandalone: true, selector: "val-select-input", inputs: { props: "props" }, ngImport: i0, template: `
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SearchSelectorComponent, isStandalone: true, selector: "val-select-input", inputs: { preset: "preset", props: "props" }, usesOnChanges: true, ngImport: i0, template: `
45
93
  <ion-select
46
- [formControl]="props.control"
47
- [label]="props.label"
94
+ [formControl]="resolvedProps.control"
95
+ [label]="resolvedProps.label"
48
96
  [interfaceOptions]="customModalOptions"
49
97
  interface="modal"
50
- [placeholder]="[props.placeholder]"
98
+ [placeholder]="[resolvedProps.placeholder]"
51
99
  [cancelText]="cancelText"
52
100
  [okText]="okText"
53
101
  >
54
- @for (o of props.options; track o.id) {
102
+ @for (o of resolvedProps.options; track o.id) {
55
103
  <ion-select-option [value]="o.id">{{ o.name }}</ion-select-option>
56
104
  }
57
105
  </ion-select>
@@ -61,20 +109,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
61
109
  type: Component,
62
110
  args: [{ selector: 'val-select-input', standalone: true, imports: [ReactiveFormsModule, IonSelect, IonSelectOption], template: `
63
111
  <ion-select
64
- [formControl]="props.control"
65
- [label]="props.label"
112
+ [formControl]="resolvedProps.control"
113
+ [label]="resolvedProps.label"
66
114
  [interfaceOptions]="customModalOptions"
67
115
  interface="modal"
68
- [placeholder]="[props.placeholder]"
116
+ [placeholder]="[resolvedProps.placeholder]"
69
117
  [cancelText]="cancelText"
70
118
  [okText]="okText"
71
119
  >
72
- @for (o of props.options; track o.id) {
120
+ @for (o of resolvedProps.options; track o.id) {
73
121
  <ion-select-option [value]="o.id">{{ o.name }}</ion-select-option>
74
122
  }
75
123
  </ion-select>
76
124
  ` }]
77
- }], propDecorators: { props: [{
125
+ }], propDecorators: { preset: [{
126
+ type: Input
127
+ }], props: [{
78
128
  type: Input
79
129
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUF3QnJEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFyQ3BDO1FBbURVLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0F3QnBDO0lBbEJDLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDakQsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCwwRUFBMEU7UUFDMUUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0YsSUFBSSxDQUFDLGtCQUFrQixHQUFHO1lBQ3hCLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7WUFDckIsaUJBQWlCLEVBQUUsR0FBRztTQUN2QixDQUFDO1FBRUYsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDOytHQXJDVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix3R0FqQ3hCOzs7Ozs7Ozs7Ozs7OztHQWNULHlFQWZTLG1CQUFtQiwwVEFBRSxTQUFTLGtWQUFFLGVBQWU7OzRGQWtDOUMsdUJBQXVCO2tCQXJDbkMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxZQUNoRDs7Ozs7Ozs7Ozs7Ozs7R0FjVDs4QkErQlEsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBhcHBseURlZmF1bHRWYWx1ZVRvQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9mb3JtLWRlZmF1bHRzJztcbmltcG9ydCB7IElvblNlbGVjdCwgSW9uU2VsZWN0T3B0aW9uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgSW5wdXRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXNlbGVjdC1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1zZWxlY3RcbiAgICAgIFtmb3JtQ29udHJvbF09XCJwcm9wcy5jb250cm9sXCJcbiAgICAgIFtsYWJlbF09XCJwcm9wcy5sYWJlbFwiXG4gICAgICBbaW50ZXJmYWNlT3B0aW9uc109XCJjdXN0b21Nb2RhbE9wdGlvbnNcIlxuICAgICAgaW50ZXJmYWNlPVwibW9kYWxcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIltwcm9wcy5wbGFjZWhvbGRlcl1cIlxuICAgICAgW2NhbmNlbFRleHRdPVwiY2FuY2VsVGV4dFwiXG4gICAgICBbb2tUZXh0XT1cIm9rVGV4dFwiXG4gICAgPlxuICAgICAgQGZvciAobyBvZiBwcm9wcy5vcHRpb25zOyB0cmFjayBvLmlkKSB7XG4gICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiBbdmFsdWVdPVwiby5pZFwiPnt7IG8ubmFtZSB9fTwvaW9uLXNlbGVjdC1vcHRpb24+XG4gICAgICB9XG4gICAgPC9pb24tc2VsZWN0PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1zZWxlY3QtaW5wdXRcbiAqXG4gKiBBIHNlbGVjdC9kcm9wZG93biBpbnB1dCBpbnRlZ3JhdGVkIHdpdGggQW5ndWxhciBmb3JtcywgdXNpbmcgSW9uaWMncyBzZWxlY3QgY29tcG9uZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXNlbGVjdC1pbnB1dCBbcHJvcHNdPVwie1xuICogICBjb250cm9sOiBteUNvbnRyb2wsXG4gKiAgIGxhYmVsOiAnU2VsZWNjaW9uYXInLFxuICogICBvcHRpb25zOiBbeyBpZDogJzEnLCBuYW1lOiAnT3BjacOzbiAxJyB9XSxcbiAqICAgY2FuY2VsVGV4dDogJ0NhbmNlbGFyJyxcbiAqICAgb2tUZXh0OiAnQWNlcHRhcidcbiAqIH1cIj48L3ZhbC1zZWxlY3QtaW5wdXQ+XG4gKlxuICogQGlucHV0IHByb3BzOiBJbnB1dE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHNlbGVjdCBpbnB1dCAoZm9ybSBjb250cm9sLCBsYWJlbCwgb3B0aW9ucywgZXRjLilcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7SW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIHNlbGVjdCBpbnB1dC5cbiAgICogQHByb3BlcnR5IGxhYmVsIC0gVGhlIGxhYmVsIGZvciB0aGUgc2VsZWN0LlxuICAgKiBAcHJvcGVydHkgb3B0aW9ucyAtIFRoZSBhdmFpbGFibGUgb3B0aW9ucyBmb3IgdGhlIHNlbGVjdC5cbiAgICogQHByb3BlcnR5IHBsYWNlaG9sZGVyIC0gVGhlIHBsYWNlaG9sZGVyIHRleHQuXG4gICAqIEBwcm9wZXJ0eSBtb2RhbEhlYWRlciAtIEN1c3RvbSBoZWFkZXIgdGV4dCBmb3IgdGhlIG1vZGFsIChvcHRpb25hbCwgdXNlcyBsYWJlbCBpZiBub3QgcHJvdmlkZWQpLlxuICAgKiBAcHJvcGVydHkgY2FuY2VsVGV4dCAtIEN1c3RvbSBjYW5jZWwgYnV0dG9uIHRleHQgKGRlZmF1bHQ6ICdDYW5jZWxhcicpLlxuICAgKiBAcHJvcGVydHkgb2tUZXh0IC0gQ3VzdG9tIE9LIGJ1dHRvbiB0ZXh0IChkZWZhdWx0OiAnQWNlcHRhcicpLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IElucHV0TWV0YWRhdGE7XG5cbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICBjdXN0b21Nb2RhbE9wdGlvbnM6IHsgaGVhZGVyOiBzdHJpbmc7IGJyZWFrcG9pbnRzOiBudW1iZXJbXTsgaW5pdGlhbEJyZWFrcG9pbnQ6IG51bWJlciB9O1xuICBjYW5jZWxUZXh0OiBzdHJpbmc7XG4gIG9rVGV4dDogc3RyaW5nO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnByb3BzPy53aXRoRGVmYXVsdCB8fCB0aGlzLnByb3BzPy52YWx1ZSkge1xuICAgICAgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wodGhpcy5wcm9wcyk7XG4gICAgfVxuXG4gICAgLy8gU2V0IG1vZGFsIGhlYWRlciBmcm9tIHByb3BzIG9yIHVzZSBsYWJlbCBhcyBmYWxsYmFjaywgdGhlbiBpMThuIGRlZmF1bHRcbiAgICBjb25zdCBoZWFkZXJUZXh0ID0gdGhpcy5wcm9wcy5tb2RhbEhlYWRlciB8fCB0aGlzLnByb3BzLmxhYmVsIHx8IHRoaXMuaTE4bi50KCdzZWxlY3RPcHRpb24nKTtcblxuICAgIHRoaXMuY3VzdG9tTW9kYWxPcHRpb25zID0ge1xuICAgICAgaGVhZGVyOiBoZWFkZXJUZXh0LFxuICAgICAgYnJlYWtwb2ludHM6IFswLCAwLjZdLFxuICAgICAgaW5pdGlhbEJyZWFrcG9pbnQ6IDAuNixcbiAgICB9O1xuXG4gICAgLy8gU2V0IGJ1dHRvbiB0ZXh0cyBmcm9tIHByb3BzIG9yIHVzZSBpMThuIGRlZmF1bHRzXG4gICAgdGhpcy5jYW5jZWxUZXh0ID0gdGhpcy5wcm9wcy5jYW5jZWxUZXh0IHx8IHRoaXMuaTE4bi50KCdjYW5jZWwnKTtcbiAgICB0aGlzLm9rVGV4dCA9IHRoaXMucHJvcHMub2tUZXh0IHx8IHRoaXMuaTE4bi50KCdvaycpO1xuICB9XG59XG4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQXdCMUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUE5Q3BDO1FBK0NVLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQVd4Qzs7Ozs7Ozs7OztXQVVHO1FBQ00sVUFBSyxHQUEyQixFQUFFLENBQUM7UUFFNUM7O1dBRUc7UUFDSCxrQkFBYSxHQUFrQixFQUFtQixDQUFDO0tBaURwRDtJQTNDQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxZQUFZO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFaEgsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixHQUFHLFdBQVc7WUFDZCxHQUFHLElBQUksQ0FBQyxLQUFLO1NBQ0csQ0FBQztJQUNyQixDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDakUsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCwwRUFBMEU7UUFDMUUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0csSUFBSSxDQUFDLGtCQUFrQixHQUFHO1lBQ3hCLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7WUFDckIsaUJBQWlCLEVBQUUsR0FBRztTQUN2QixDQUFDO1FBRUYsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDOytHQTdFVSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwrSUExQ3hCOzs7Ozs7Ozs7Ozs7OztHQWNULHlFQWZTLG1CQUFtQiwwVEFBRSxTQUFTLGtWQUFFLGVBQWU7OzRGQTJDOUMsdUJBQXVCO2tCQTlDbkMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxZQUNoRDs7Ozs7Ozs7Ozs7Ozs7R0FjVDs4QkF1Q1EsTUFBTTtzQkFBZCxLQUFLO2dCQWFHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBhcHBseURlZmF1bHRWYWx1ZVRvQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9mb3JtLWRlZmF1bHRzJztcbmltcG9ydCB7IElvblNlbGVjdCwgSW9uU2VsZWN0T3B0aW9uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgUHJlc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ByZXNldHMnO1xuaW1wb3J0IHsgSW5wdXRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXNlbGVjdC1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1zZWxlY3RcbiAgICAgIFtmb3JtQ29udHJvbF09XCJyZXNvbHZlZFByb3BzLmNvbnRyb2xcIlxuICAgICAgW2xhYmVsXT1cInJlc29sdmVkUHJvcHMubGFiZWxcIlxuICAgICAgW2ludGVyZmFjZU9wdGlvbnNdPVwiY3VzdG9tTW9kYWxPcHRpb25zXCJcbiAgICAgIGludGVyZmFjZT1cIm1vZGFsXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJbcmVzb2x2ZWRQcm9wcy5wbGFjZWhvbGRlcl1cIlxuICAgICAgW2NhbmNlbFRleHRdPVwiY2FuY2VsVGV4dFwiXG4gICAgICBbb2tUZXh0XT1cIm9rVGV4dFwiXG4gICAgPlxuICAgICAgQGZvciAobyBvZiByZXNvbHZlZFByb3BzLm9wdGlvbnM7IHRyYWNrIG8uaWQpIHtcbiAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCJvLmlkXCI+e3sgby5uYW1lIH19PC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L2lvbi1zZWxlY3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXNlbGVjdC1pbnB1dFxuICpcbiAqIEEgc2VsZWN0L2Ryb3Bkb3duIGlucHV0IGludGVncmF0ZWQgd2l0aCBBbmd1bGFyIGZvcm1zLCB1c2luZyBJb25pYydzIHNlbGVjdCBjb21wb25lbnQuXG4gKiBTdXBwb3J0cyBwcmVzZXRzIGZvciByZXVzYWJsZSBjb25maWd1cmF0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHByZXNldCAocmVjb21tZW5kZWQpOlxuICogPHZhbC1zZWxlY3QtaW5wdXQgcHJlc2V0PVwiZm9ybS1maWVsZFwiIFtwcm9wc109XCJ7XG4gKiAgIGNvbnRyb2w6IG15Q29udHJvbCxcbiAqICAgbGFiZWw6ICdTZWxlY2Npb25hcicsXG4gKiAgIG9wdGlvbnM6IFt7IGlkOiAnMScsIG5hbWU6ICdPcGNpw7NuIDEnIH1dXG4gKiB9XCI+PC92YWwtc2VsZWN0LWlucHV0PlxuICpcbiAqIEBleGFtcGxlIFN0YXRpYyAoYmFja3dhcmRzIGNvbXBhdGlibGUpOlxuICogPHZhbC1zZWxlY3QtaW5wdXQgW3Byb3BzXT1cIntcbiAqICAgY29udHJvbDogbXlDb250cm9sLFxuICogICBsYWJlbDogJ1NlbGVjY2lvbmFyJyxcbiAqICAgb3B0aW9uczogW3sgaWQ6ICcxJywgbmFtZTogJ09wY2nDs24gMScgfV0sXG4gKiAgIGNhbmNlbFRleHQ6ICdDYW5jZWxhcicsXG4gKiAgIG9rVGV4dDogJ0FjZXB0YXInXG4gKiB9XCI+PC92YWwtc2VsZWN0LWlucHV0PlxuICpcbiAqIEBpbnB1dCBwcmVzZXQ6IHN0cmluZyAtIE5hbWUgb2YgcHJlc2V0IHRvIGFwcGx5IChlLmcuLCAnZm9ybS1maWVsZCcpXG4gKiBAaW5wdXQgcHJvcHM6IElucHV0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgc2VsZWN0IGlucHV0IChvdmVycmlkZXMgcHJlc2V0IHZhbHVlcylcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHByZXNldHMgPSBpbmplY3QoUHJlc2V0U2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFByZXNldCBuYW1lIHRvIGFwcGx5LiBQcmVzZXRzIGRlZmluZSByZXVzYWJsZSBpbnB1dCBjb25maWd1cmF0aW9uc1xuICAgKiB0aGF0IGNhbiBiZSByZWdpc3RlcmVkIGF0IGFwcCBsZXZlbCB2aWEgcHJvdmlkZVZhbHRlY2hQcmVzZXRzKCkuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIDx2YWwtc2VsZWN0LWlucHV0IHByZXNldD1cImZvcm0tZmllbGRcIiBbcHJvcHNdPVwieyBjb250cm9sOiBjdHJsLCBvcHRpb25zOiBvcHRzIH1cIj48L3ZhbC1zZWxlY3QtaW5wdXQ+XG4gICAqL1xuICBASW5wdXQoKSBwcmVzZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKiBAdHlwZSB7SW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIHNlbGVjdCBpbnB1dC5cbiAgICogQHByb3BlcnR5IGxhYmVsIC0gVGhlIGxhYmVsIGZvciB0aGUgc2VsZWN0LlxuICAgKiBAcHJvcGVydHkgb3B0aW9ucyAtIFRoZSBhdmFpbGFibGUgb3B0aW9ucyBmb3IgdGhlIHNlbGVjdC5cbiAgICogQHByb3BlcnR5IHBsYWNlaG9sZGVyIC0gVGhlIHBsYWNlaG9sZGVyIHRleHQuXG4gICAqIEBwcm9wZXJ0eSBtb2RhbEhlYWRlciAtIEN1c3RvbSBoZWFkZXIgdGV4dCBmb3IgdGhlIG1vZGFsIChvcHRpb25hbCwgdXNlcyBsYWJlbCBpZiBub3QgcHJvdmlkZWQpLlxuICAgKiBAcHJvcGVydHkgY2FuY2VsVGV4dCAtIEN1c3RvbSBjYW5jZWwgYnV0dG9uIHRleHQgKGRlZmF1bHQ6ICdDYW5jZWxhcicpLlxuICAgKiBAcHJvcGVydHkgb2tUZXh0IC0gQ3VzdG9tIE9LIGJ1dHRvbiB0ZXh0IChkZWZhdWx0OiAnQWNlcHRhcicpLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IFBhcnRpYWw8SW5wdXRNZXRhZGF0YT4gPSB7fTtcblxuICAvKipcbiAgICogUmVzb2x2ZWQgcHJvcHMgYWZ0ZXIgbWVyZ2luZyBwcmVzZXQgKyBleHBsaWNpdCBwcm9wcy5cbiAgICovXG4gIHJlc29sdmVkUHJvcHM6IElucHV0TWV0YWRhdGEgPSB7fSBhcyBJbnB1dE1ldGFkYXRhO1xuXG4gIGN1c3RvbU1vZGFsT3B0aW9uczogeyBoZWFkZXI6IHN0cmluZzsgYnJlYWtwb2ludHM6IG51bWJlcltdOyBpbml0aWFsQnJlYWtwb2ludDogbnVtYmVyIH07XG4gIGNhbmNlbFRleHQ6IHN0cmluZztcbiAgb2tUZXh0OiBzdHJpbmc7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICB0aGlzLnNldHVwQ29tcG9uZW50KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3ByZXNldCddIHx8IGNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gICAgICB0aGlzLnNldHVwQ29tcG9uZW50KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlIHByZXNldCBjb25maWd1cmF0aW9uIHdpdGggZXhwbGljaXQgcHJvcHMuXG4gICAqIEV4cGxpY2l0IHByb3BzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHByZXNldCB2YWx1ZXMuXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVQcm9wcygpOiB2b2lkIHtcbiAgICBjb25zdCBwcmVzZXRQcm9wcyA9IHRoaXMucHJlc2V0ID8gKHRoaXMucHJlc2V0cy5nZXQoJ3NlbGVjdElucHV0JywgdGhpcy5wcmVzZXQpIGFzIFBhcnRpYWw8SW5wdXRNZXRhZGF0YT4pIDoge307XG5cbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICAuLi5wcmVzZXRQcm9wcyxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgfSBhcyBJbnB1dE1ldGFkYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzPy53aXRoRGVmYXVsdCB8fCB0aGlzLnJlc29sdmVkUHJvcHM/LnZhbHVlKSB7XG4gICAgICBhcHBseURlZmF1bHRWYWx1ZVRvQ29udHJvbCh0aGlzLnJlc29sdmVkUHJvcHMpO1xuICAgIH1cblxuICAgIC8vIFNldCBtb2RhbCBoZWFkZXIgZnJvbSBwcm9wcyBvciB1c2UgbGFiZWwgYXMgZmFsbGJhY2ssIHRoZW4gaTE4biBkZWZhdWx0XG4gICAgY29uc3QgaGVhZGVyVGV4dCA9IHRoaXMucmVzb2x2ZWRQcm9wcy5tb2RhbEhlYWRlciB8fCB0aGlzLnJlc29sdmVkUHJvcHMubGFiZWwgfHwgdGhpcy5pMThuLnQoJ3NlbGVjdE9wdGlvbicpO1xuXG4gICAgdGhpcy5jdXN0b21Nb2RhbE9wdGlvbnMgPSB7XG4gICAgICBoZWFkZXI6IGhlYWRlclRleHQsXG4gICAgICBicmVha3BvaW50czogWzAsIDAuNl0sXG4gICAgICBpbml0aWFsQnJlYWtwb2ludDogMC42LFxuICAgIH07XG5cbiAgICAvLyBTZXQgYnV0dG9uIHRleHRzIGZyb20gcHJvcHMgb3IgdXNlIGkxOG4gZGVmYXVsdHNcbiAgICB0aGlzLmNhbmNlbFRleHQgPSB0aGlzLnJlc29sdmVkUHJvcHMuY2FuY2VsVGV4dCB8fCB0aGlzLmkxOG4udCgnY2FuY2VsJyk7XG4gICAgdGhpcy5va1RleHQgPSB0aGlzLnJlc29sdmVkUHJvcHMub2tUZXh0IHx8IHRoaXMuaTE4bi50KCdvaycpO1xuICB9XG59XG4iXX0=