@c8y/ngx-components 1021.49.1 → 1021.49.6

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.
@@ -166,7 +166,7 @@ export declare class ApplicationOptions implements AppOptions {
166
166
  /**
167
167
  * Allows to enable or disable context help, or to override the default base URL used to load its contents.
168
168
  * By default, the context help uses the same base URL as defined in the `docsBaseUrl` option
169
- * (if this option is undefined, then the following value will be used: `https://www.cumulocity.com/guides/{{version}}`).
169
+ * (if this option is undefined, then the following value will be used: `https://cumulocity.com/guides/{{version}}`).
170
170
  * Alternatively, if a string is provided here, it'll be used as the base URL
171
171
  * and any `{{ version }}` placeholder will be replaced with the relevant docs version.
172
172
  */
@@ -14,7 +14,7 @@ export declare class DocsService extends ExtensionPointWithoutStateForPlugins<Do
14
14
  /**
15
15
  * Default documentation URL.
16
16
  */
17
- readonly DEFAULT_DOCS_BASE_URL = "https://www.cumulocity.com";
17
+ readonly DEFAULT_DOCS_BASE_URL = "https://cumulocity.com";
18
18
  constructor(options: OptionsService, app: AppStateService, rootInjector: Injector, router: Router, plugins: PluginsResolveService);
19
19
  getBaseUrl(uiVersion?: string | {
20
20
  ngx: string;
@@ -1 +1 @@
1
- {"version":3,"file":"docs.service.d.ts","sourceRoot":"","sources":["../../../core/docs/docs.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAA+B,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,oCAAoC,EAGrC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;;AAEnD,qBAGa,WAAY,SAAQ,oCAAoC,CAAC,OAAO,CAAC;IAM1E,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,GAAG;IAEX,OAAO,CAAC,MAAM;IARhB;;OAEG;IACH,QAAQ,CAAC,qBAAqB,gCAAgC;gBAEpD,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,eAAe,EAC5B,YAAY,EAAE,QAAQ,EACd,MAAM,EAAE,MAAM,EACtB,OAAO,EAAE,qBAAqB;IAMhC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAKxD;;;;;;OAMG;IACH,qBAAqB,CACnB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAuB,GACvD,MAAM;IAST,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,gBAAgB,CAAC,IAAI,KAAA;IAUrB,IAAI;IASJ,GAAG;IAsBH,SAAS,CAAC,oBAAoB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;IASvD,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,eAAe;IAMvB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;yCArHvB,WAAW;6CAAX,WAAW;CA6HvB"}
1
+ {"version":3,"file":"docs.service.d.ts","sourceRoot":"","sources":["../../../core/docs/docs.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAA+B,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,oCAAoC,EAGrC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;;AAEnD,qBAGa,WAAY,SAAQ,oCAAoC,CAAC,OAAO,CAAC;IAM1E,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,GAAG;IAEX,OAAO,CAAC,MAAM;IARhB;;OAEG;IACH,QAAQ,CAAC,qBAAqB,4BAA4B;gBAEhD,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,eAAe,EAC5B,YAAY,EAAE,QAAQ,EACd,MAAM,EAAE,MAAM,EACtB,OAAO,EAAE,qBAAqB;IAMhC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAKxD;;;;;;OAMG;IACH,qBAAqB,CACnB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAuB,GACvD,MAAM;IAST,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,gBAAgB,CAAC,IAAI,KAAA;IAUrB,IAAI;IASJ,GAAG;IAsBH,SAAS,CAAC,oBAAoB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;IASvD,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,eAAe;IAMvB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;yCArHvB,WAAW;6CAAX,WAAW;CA6HvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"translate.service.d.ts","sourceRoot":"","sources":["../../../core/i18n/translate.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAgB7D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;;AAE3D;;GAEG;AACH,qBAGa,gBAAgB;IAUzB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,OAAO;IACG,OAAO,CAAC,QAAQ;IACtB,OAAO,CAAC,eAAe;IAbrC,MAAM,CAAC,iBAAiB,SAAkB;IAC1C,MAAM,CAAC,WAAW;IAGlB,WAAW,EAAE,GAAG,CAAqC;IACrD,KAAK,EAAE,GAAG,CAA2D;IACrE,OAAO,CAAC,iBAAiB,CAAO;gBAGtB,YAAY,EAAE,mBAAmB,EACjC,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,cAAc,EACL,QAAQ,EAAE,QAAQ,EACxB,eAAe,EAAE,eAAe;IAQtD;;;;;OAKG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM;IAmBnC,WAAW,CAAC,UAAU,KAAA;IAK5B,WAAW,CAAC,IAAI,EAAE,MAAM;IASxB;;OAEG;IACH,sBAAsB;IAYtB;;;OAGG;IACH,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAO7C;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKvC,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAI/B,YAAY,CAAC,UAAU,EAAE,MAAM;IAqB/B;;;OAGG;IACH,eAAe;IAIf,OAAO,CAAC,eAAe;IAgBvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,iBAAiB;IAczB;;;;OAIG;IACH,OAAO,CAAC,WAAW;yCArMR,gBAAgB;6CAAhB,gBAAgB;CAgQ5B"}
1
+ {"version":3,"file":"translate.service.d.ts","sourceRoot":"","sources":["../../../core/i18n/translate.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAgB7D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;;AAE3D;;GAEG;AACH,qBAGa,gBAAgB;IAUzB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,OAAO;IACG,OAAO,CAAC,QAAQ;IACtB,OAAO,CAAC,eAAe;IAbrC,MAAM,CAAC,iBAAiB,SAAkB;IAC1C,MAAM,CAAC,WAAW;IAGlB,WAAW,EAAE,GAAG,CAAqC;IACrD,KAAK,EAAE,GAAG,CAA2D;IACrE,OAAO,CAAC,iBAAiB,CAAO;gBAGtB,YAAY,EAAE,mBAAmB,EACjC,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,cAAc,EACL,QAAQ,EAAE,QAAQ,EACxB,eAAe,EAAE,eAAe;IAQtD;;;;;OAKG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM;IAmBnC,WAAW,CAAC,UAAU,KAAA;IAK5B,WAAW,CAAC,IAAI,EAAE,MAAM;IASxB;;OAEG;IACH,sBAAsB;IAYtB;;;OAGG;IACH,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAO7C;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKvC,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAI/B,YAAY,CAAC,UAAU,EAAE,MAAM;IAqB/B;;;OAGG;IACH,eAAe;IAIf,OAAO,CAAC,eAAe;IAkBvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,iBAAiB;IAczB;;;;OAIG;IACH,OAAO,CAAC,WAAW;yCAvMR,gBAAgB;6CAAhB,gBAAgB;CAkQ5B"}
@@ -94,7 +94,7 @@ export class BrandingFormComponent {
94
94
  this.messageBannerService.showBanner();
95
95
  }
96
96
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BrandingFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MessageBannerService }], target: i0.ɵɵFactoryTarget.Component }); }
97
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BrandingFormComponent, isStandalone: true, selector: "c8y-branding-form", host: { classAttribute: "d-contents" }, ngImport: i0, template: "<div\n class=\"inner-scroll\"\n [formGroup]=\"formGroup\"\n>\n <!-- Title & Favicon-->\n <div class=\"card-block\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4 class=\"text-normal text-right text-left-xs m-b-16\">\n {{ 'Title & favicon' | translate }}\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <div\n class=\"row p-t-16 p-b-16\"\n [formGroupName]=\"'genericApplicationOptions'\"\n >\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"globalTitle\"\n translate\n >\n Title\n </label>\n <input\n class=\"form-control\"\n id=\"globalTitle\"\n name=\"globalTitle\"\n type=\"text\"\n formControlName=\"globalTitle\"\n />\n <c8y-messages\n [helpMessage]=\"'Title to display in the browser tab' | translate\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n <div class=\"col-md-6\">\n <c8y-form-group>\n <label translate>Favicon</label>\n <c8y-static-assets-file-picker\n name=\"faviconUrl\"\n [supportedFileExtensions]=\"['ico']\"\n [isCSSURL]=\"false\"\n formControlName=\"faviconUrl\"\n ></c8y-static-assets-file-picker>\n <c8y-messages [helpMessage]=\"'Supported files: *.ico'\"></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"card-block separator-top\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Dark theme\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <c8y-form-group class=\"m-b-32 p-t-8 m-t-4\">\n <label class=\"c8y-switch\">\n <input\n class=\"form-control\"\n name=\"darkThemeAvailable\"\n type=\"checkbox\"\n formControlName=\"darkThemeAvailable\"\n />\n <span></span>\n <span translate>Enable dark theme support</span>\n </label>\n </c8y-form-group>\n </div>\n </div>\n <!-- Typography -->\n <div class=\"card-block separator-top\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Typography\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <div class=\"row\">\n <div class=\"col-md-6\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'baseTypography'\"\n >\n <legend translate>Base typography</legend>\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"font-url\"\n translate\n >\n Fonts URL\n </label>\n <input\n class=\"form-control\"\n id=\"font-url\"\n placeholder=\"{{\n 'e.g. {{ example }}' | translate : { example: 'https://fonts.googleapis.com/css?family=Roboto:400,500,700' }\n }}\"\n type=\"text\"\n formControlName=\"font-url\"\n />\n <c8y-messages [helpMessage]=\"'The Google fonts URL' | translate\"></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n title=\"font-family-base\"\n for=\"font-family-base\"\n translate\n >\n Base font stack\n </label>\n <input\n class=\"form-control\"\n id=\"font-family-base\"\n placeholder=\"{{ 'e.g. {{ example }}' | translate : {example: '&quot;Roboto&quot;, Arial, sans-serif'} }}\"\n name=\"font-family-base\"\n type=\"text\"\n formControlName=\"font-family-base\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n </fieldset>\n </div>\n <div class=\"col-md-6\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'headingsAndNavigatorTypography'\"\n >\n <legend>{{ 'Headings & navigator' | translate }}</legend>\n <c8y-form-group class=\"m-b-32\">\n <label\n title=\"font-family-headings\"\n for=\"font-family-headings\"\n translate\n >\n Headings font stack\n </label>\n <input\n class=\"form-control\"\n id=\"font-family-headings\"\n placeholder=\"{{ 'e.g. {{ example }}' | translate : {example: '&quot;Roboto&quot;, Arial, sans-serif'} }}\"\n type=\"text\"\n formControlName=\"font-family-headings\"\n />\n <c8y-messages\n [helpMessage]=\"\n 'Leave empty to use the same font as the base font stack' | translate\n \"\n ></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n title=\"navigator-font-family\"\n translate\n >\n Navigator font stack\n </label>\n <div class=\"form-control-static\">\n <label class=\"c8y-radio radio-inline\">\n <input\n name=\"navigator-font-family\"\n type=\"radio\"\n formControlName=\"navigator-font-family\"\n [value]=\"'var(--font-family-base)'\"\n />\n <span></span>\n <span translate>Match base font stack</span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"Radio Two\"\n >\n <input\n name=\"navigator-font-family\"\n type=\"radio\"\n formControlName=\"navigator-font-family\"\n [value]=\"'var(--font-family-headings)'\"\n />\n <span></span>\n <span translate>Match headings font stack</span>\n </label>\n </div>\n </c8y-form-group>\n </fieldset>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Cookie banner -->\n <div class=\"card-block separator-top\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Cookie banner\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'cookieBanner'\"\n >\n <legend translate>Cookie banner</legend>\n <label class=\"c8y-switch\">\n <input\n class=\"form-control\"\n name=\"cookieBannerEnabled\"\n type=\"checkbox\"\n [ngModelOptions]=\"{ standalone: true }\"\n [ngModel]=\"!formGroup.value.cookieBanner.cookieBannerDisabled\"\n (ngModelChange)=\"cockieBannerChange($event)\"\n />\n <span></span>\n <span translate>Enable cookie banner</span>\n </label>\n\n <div\n class=\"collapse\"\n [collapse]=\"formGroup.value.cookieBanner.cookieBannerDisabled\"\n [isAnimated]=\"true\"\n >\n <div\n class=\"row\"\n style=\"min-height: 227px\"\n >\n <ng-container *ngIf=\"formGroup.value.cookieBanner.cookieBannerDisabled !== true\">\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"cookieBannerTitle\"\n translate\n >\n Title\n </label>\n <input\n class=\"form-control\"\n id=\"cookieBannerTitle\"\n name=\"cookieBannerTitle\"\n type=\"text\"\n formControlName=\"cookieBannerTitle\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"policyUrl\"\n translate\n >\n Link to privacy policy\n </label>\n <input\n class=\"form-control\"\n id=\"policyUrl\"\n name=\"policyUrl\"\n type=\"text\"\n formControlName=\"policyUrl\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"policyVersion\"\n translate\n >\n Version of privacy policy\n </label>\n <input\n class=\"form-control\"\n id=\"policyVersion\"\n name=\"policyVersion\"\n type=\"text\"\n formControlName=\"policyVersion\"\n />\n <c8y-messages\n [helpMessage]=\"\n 'Changing the version of the privacy policy invalidates already existing cookie consents.'\n | translate\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"cookieBannerText\"\n translate\n >\n Text\n </label>\n <textarea\n class=\"form-control\"\n id=\"cookieBannerText\"\n name=\"cookieBannerText\"\n rows=\"8\"\n formControlName=\"cookieBannerText\"\n ></textarea>\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n </div>\n </ng-container>\n </div>\n </div>\n </fieldset>\n </div>\n </div>\n </div>\n <!-- Message banner -->\n <div class=\"card-block separator-top\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Message banner\n </h4>\n </div>\n\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'messageBanner'\"\n >\n <legend translate>Message banner</legend>\n\n <label class=\"c8y-switch\">\n <input\n class=\"form-control\"\n name=\"messageBannerEnabled\"\n type=\"checkbox\"\n formControlName=\"messageBannerEnabled\"\n />\n <span></span>\n <span translate>Enable message banner</span>\n </label>\n <div\n class=\"collapse\"\n [collapse]=\"!formGroup.value.messageBanner.messageBannerEnabled\"\n [isAnimated]=\"true\"\n >\n <div class=\"d-flex a-i-center gap-8 p-t-16 p-b-16\">\n <fieldset class=\"c8y-fieldset p-16\">\n <legend>{{ 'Message type' | translate }}</legend>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Info' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"info\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-info icon-16 m-r-4\"\n c8yIcon=\"info-circle\"\n ></i>\n Info\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Warning' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"warning\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-warning icon-16 m-r-4\"\n c8yIcon=\"warning\"\n ></i>\n {{ 'Warning' | translate }}\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Danger' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"danger\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-danger icon-16 m-r-4\"\n c8yIcon=\"exclamation-circle\"\n ></i>\n {{ 'Danger' | translate }}\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Success' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"success\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-success icon-16 m-r-4\"\n c8yIcon=\"check-circle\"\n ></i>\n {{ 'Success' | translate }}\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'System' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"system\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span>\n <i\n class=\"text-primary icon-16 m-r4\"\n c8yIcon=\"wrench\"\n ></i>\n {{ 'System' | translate }}\n </span>\n </label>\n </fieldset>\n </div>\n\n <c8y-form-group\n class=\"m-b-32 p-b-32\"\n [style]=\"{ height: '300px' }\"\n *ngIf=\"formGroup.value.messageBanner.messageBannerEnabled\"\n >\n <label\n for=\"messageBannerContent\"\n translate\n >\n Message content\n </label>\n <c8y-editor\n class=\"flex-grow form-control\"\n style=\"height: 100%\"\n formControlName=\"messageBannerContent\"\n monacoEditorMarkerValidator\n ></c8y-editor>\n <c8y-messages\n [helpMessage]=\"messageBannerHelp | translate: messageBannerHelpParams\"\n ></c8y-messages>\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n\n <button\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"previewBanner()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"eye\"\n ></i>\n <span translate>Preview banner</span>\n </button>\n </div>\n </fieldset>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: i2.MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage"] }, { kind: "directive", type: i2.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CollapseModule }, { kind: "directive", type: i4.CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "component", type: StaticAssetsFilePickerComponent, selector: "c8y-static-assets-file-picker", inputs: ["isCSSURL", "staticAssetType", "supportedFileExtensions", "layout", "size"] }, { kind: "component", type: EditorComponent, selector: "c8y-editor", inputs: ["editorOptions"], outputs: ["editorInit"] }] }); }
97
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BrandingFormComponent, isStandalone: true, selector: "c8y-branding-form", host: { classAttribute: "d-contents" }, ngImport: i0, template: "<div\n class=\"inner-scroll\"\n [formGroup]=\"formGroup\"\n>\n <!-- Title & Favicon-->\n <div class=\"card-block\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4 class=\"text-normal text-right text-left-xs m-b-16\">\n {{ 'Title & favicon' | translate }}\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <div\n class=\"row p-t-16 p-b-16\"\n [formGroupName]=\"'genericApplicationOptions'\"\n >\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"globalTitle\"\n translate\n >\n Title\n </label>\n <input\n class=\"form-control\"\n id=\"globalTitle\"\n name=\"globalTitle\"\n type=\"text\"\n formControlName=\"globalTitle\"\n />\n <c8y-messages\n [helpMessage]=\"'Title to display in the browser tab' | translate\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n <div class=\"col-md-6\">\n <c8y-form-group>\n <label translate>Favicon</label>\n <c8y-static-assets-file-picker\n name=\"faviconUrl\"\n [supportedFileExtensions]=\"['ico']\"\n [isCSSURL]=\"false\"\n formControlName=\"faviconUrl\"\n ></c8y-static-assets-file-picker>\n <c8y-messages [helpMessage]=\"'Supported files: *.ico'\"></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"card-block separator-top\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Dark theme\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <c8y-form-group class=\"m-b-32 p-t-8 m-t-4\">\n <label class=\"c8y-switch\">\n <input\n class=\"form-control\"\n name=\"darkThemeAvailable\"\n type=\"checkbox\"\n formControlName=\"darkThemeAvailable\"\n />\n <span></span>\n <span translate>Enable dark theme support</span>\n </label>\n </c8y-form-group>\n </div>\n </div>\n <!-- Typography -->\n <div class=\"card-block separator-top\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Typography\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <div class=\"row\">\n <div class=\"col-md-6\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'baseTypography'\"\n >\n <legend translate>Base typography</legend>\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"font-url\"\n translate\n >\n Fonts URL\n </label>\n <input\n class=\"form-control\"\n id=\"font-url\"\n placeholder=\"{{\n 'e.g. {{ example }}' | translate : { example: 'https://fonts.googleapis.com/css?family=Roboto:400,500,700' }\n }}\"\n type=\"text\"\n formControlName=\"font-url\"\n />\n <c8y-messages [helpMessage]=\"'The Google fonts URL' | translate\"></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n title=\"font-family-base\"\n for=\"font-family-base\"\n translate\n >\n Base font stack\n </label>\n <input\n class=\"form-control\"\n id=\"font-family-base\"\n placeholder=\"{{ 'e.g. {{ example }}' | translate : {example: '&quot;Roboto&quot;, Arial, sans-serif'} }}\"\n name=\"font-family-base\"\n type=\"text\"\n formControlName=\"font-family-base\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n </fieldset>\n </div>\n <div class=\"col-md-6\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'headingsAndNavigatorTypography'\"\n >\n <legend>{{ 'Headings & navigator' | translate }}</legend>\n <c8y-form-group class=\"m-b-32\">\n <label\n title=\"font-family-headings\"\n for=\"font-family-headings\"\n translate\n >\n Headings font stack\n </label>\n <input\n class=\"form-control\"\n id=\"font-family-headings\"\n placeholder=\"{{ 'e.g. {{ example }}' | translate : {example: '&quot;Roboto&quot;, Arial, sans-serif'} }}\"\n type=\"text\"\n formControlName=\"font-family-headings\"\n />\n <c8y-messages\n [helpMessage]=\"\n 'Leave empty to use the same font as the base font stack' | translate\n \"\n ></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n title=\"navigator-font-family\"\n translate\n >\n Navigator font stack\n </label>\n <div class=\"form-control-static\">\n <label class=\"c8y-radio radio-inline\">\n <input\n name=\"navigator-font-family\"\n type=\"radio\"\n formControlName=\"navigator-font-family\"\n [value]=\"'var(--font-family-base)'\"\n />\n <span></span>\n <span translate>Match base font stack</span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"Radio Two\"\n >\n <input\n name=\"navigator-font-family\"\n type=\"radio\"\n formControlName=\"navigator-font-family\"\n [value]=\"'var(--font-family-headings)'\"\n />\n <span></span>\n <span translate>Match headings font stack</span>\n </label>\n </div>\n </c8y-form-group>\n </fieldset>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Cookie banner -->\n <div class=\"card-block separator-top\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Cookie banner\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'cookieBanner'\"\n >\n <legend translate>Cookie banner</legend>\n <label class=\"c8y-switch\">\n <input\n class=\"form-control\"\n name=\"cookieBannerEnabled\"\n type=\"checkbox\"\n [ngModelOptions]=\"{ standalone: true }\"\n [ngModel]=\"!formGroup.value.cookieBanner.cookieBannerDisabled\"\n (ngModelChange)=\"cockieBannerChange($event)\"\n />\n <span></span>\n <span translate>Enable cookie banner</span>\n </label>\n\n <div\n class=\"collapse\"\n [collapse]=\"formGroup.value.cookieBanner.cookieBannerDisabled\"\n [isAnimated]=\"true\"\n >\n <div\n class=\"row\"\n style=\"min-height: 227px\"\n >\n <ng-container *ngIf=\"formGroup.value.cookieBanner.cookieBannerDisabled !== true\">\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"cookieBannerTitle\"\n translate\n >\n Title\n </label>\n <input\n class=\"form-control\"\n id=\"cookieBannerTitle\"\n name=\"cookieBannerTitle\"\n type=\"text\"\n formControlName=\"cookieBannerTitle\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"policyUrl\"\n translate\n >\n Link to privacy policy\n </label>\n <input\n class=\"form-control\"\n id=\"policyUrl\"\n name=\"policyUrl\"\n type=\"text\"\n formControlName=\"policyUrl\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"policyVersion\"\n translate\n >\n Version of privacy policy\n </label>\n <input\n class=\"form-control\"\n id=\"policyVersion\"\n name=\"policyVersion\"\n type=\"text\"\n formControlName=\"policyVersion\"\n />\n <c8y-messages\n [helpMessage]=\"\n 'Changing the version of the privacy policy invalidates already existing cookie consents.'\n | translate\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"cookieBannerText\"\n translate\n >\n Text\n </label>\n <textarea\n class=\"form-control\"\n id=\"cookieBannerText\"\n name=\"cookieBannerText\"\n rows=\"8\"\n formControlName=\"cookieBannerText\"\n ></textarea>\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n </div>\n </ng-container>\n </div>\n </div>\n </fieldset>\n </div>\n </div>\n </div>\n <!-- Message banner -->\n <div class=\"card-block separator-top\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Message banner\n </h4>\n </div>\n\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'messageBanner'\"\n >\n <legend translate>Message banner</legend>\n\n <label class=\"c8y-switch\">\n <input\n class=\"form-control\"\n name=\"messageBannerEnabled\"\n type=\"checkbox\"\n formControlName=\"messageBannerEnabled\"\n />\n <span></span>\n <span translate>Enable message banner</span>\n </label>\n <div\n class=\"collapse\"\n [collapse]=\"!formGroup.value.messageBanner.messageBannerEnabled\"\n [isAnimated]=\"true\"\n >\n <div class=\"d-flex a-i-center gap-8 p-t-16 p-b-16\">\n <fieldset class=\"c8y-fieldset p-16\">\n <legend>{{ 'Message type' | translate }}</legend>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Info' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"info\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-info icon-16 m-r-4\"\n c8yIcon=\"info-circle\"\n ></i>\n Info\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Warning' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"warning\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-warning icon-16 m-r-4\"\n c8yIcon=\"warning\"\n ></i>\n {{ 'Warning' | translate }}\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Danger' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"danger\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-danger icon-16 m-r-4\"\n c8yIcon=\"exclamation-circle\"\n ></i>\n {{ 'Danger' | translate }}\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Success' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"success\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-success icon-16 m-r-4\"\n c8yIcon=\"check-circle\"\n ></i>\n {{ 'Success' | translate }}\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'System' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"system\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span>\n <i\n class=\"text-primary icon-16 m-r4\"\n c8yIcon=\"wrench\"\n ></i>\n {{ 'System' | translate }}\n </span>\n </label>\n </fieldset>\n </div>\n\n <c8y-form-group\n class=\"m-b-32 p-b-32\"\n [style]=\"{ height: '300px' }\"\n *ngIf=\"formGroup.value.messageBanner.messageBannerEnabled\"\n >\n <label\n for=\"messageBannerContent\"\n translate\n >\n Message content\n </label>\n <c8y-editor\n class=\"flex-grow form-control\"\n style=\"height: 100%\"\n formControlName=\"messageBannerContent\"\n [editorOptions]=\"{language: 'markdown'}\"\n monacoEditorMarkerValidator\n ></c8y-editor>\n <c8y-messages\n [helpMessage]=\"messageBannerHelp | translate: messageBannerHelpParams\"\n ></c8y-messages>\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n\n <button\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"previewBanner()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"eye\"\n ></i>\n <span translate>Preview banner</span>\n </button>\n </div>\n </fieldset>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: i2.MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage"] }, { kind: "directive", type: i2.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CollapseModule }, { kind: "directive", type: i4.CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "component", type: StaticAssetsFilePickerComponent, selector: "c8y-static-assets-file-picker", inputs: ["isCSSURL", "staticAssetType", "supportedFileExtensions", "layout", "size"] }, { kind: "component", type: EditorComponent, selector: "c8y-editor", inputs: ["editorOptions"], outputs: ["editorInit"] }] }); }
98
98
  }
99
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BrandingFormComponent, decorators: [{
100
100
  type: Component,
@@ -104,6 +104,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
104
104
  CollapseModule,
105
105
  StaticAssetsFilePickerComponent,
106
106
  EditorComponent
107
- ], template: "<div\n class=\"inner-scroll\"\n [formGroup]=\"formGroup\"\n>\n <!-- Title & Favicon-->\n <div class=\"card-block\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4 class=\"text-normal text-right text-left-xs m-b-16\">\n {{ 'Title & favicon' | translate }}\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <div\n class=\"row p-t-16 p-b-16\"\n [formGroupName]=\"'genericApplicationOptions'\"\n >\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"globalTitle\"\n translate\n >\n Title\n </label>\n <input\n class=\"form-control\"\n id=\"globalTitle\"\n name=\"globalTitle\"\n type=\"text\"\n formControlName=\"globalTitle\"\n />\n <c8y-messages\n [helpMessage]=\"'Title to display in the browser tab' | translate\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n <div class=\"col-md-6\">\n <c8y-form-group>\n <label translate>Favicon</label>\n <c8y-static-assets-file-picker\n name=\"faviconUrl\"\n [supportedFileExtensions]=\"['ico']\"\n [isCSSURL]=\"false\"\n formControlName=\"faviconUrl\"\n ></c8y-static-assets-file-picker>\n <c8y-messages [helpMessage]=\"'Supported files: *.ico'\"></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"card-block separator-top\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Dark theme\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <c8y-form-group class=\"m-b-32 p-t-8 m-t-4\">\n <label class=\"c8y-switch\">\n <input\n class=\"form-control\"\n name=\"darkThemeAvailable\"\n type=\"checkbox\"\n formControlName=\"darkThemeAvailable\"\n />\n <span></span>\n <span translate>Enable dark theme support</span>\n </label>\n </c8y-form-group>\n </div>\n </div>\n <!-- Typography -->\n <div class=\"card-block separator-top\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Typography\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <div class=\"row\">\n <div class=\"col-md-6\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'baseTypography'\"\n >\n <legend translate>Base typography</legend>\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"font-url\"\n translate\n >\n Fonts URL\n </label>\n <input\n class=\"form-control\"\n id=\"font-url\"\n placeholder=\"{{\n 'e.g. {{ example }}' | translate : { example: 'https://fonts.googleapis.com/css?family=Roboto:400,500,700' }\n }}\"\n type=\"text\"\n formControlName=\"font-url\"\n />\n <c8y-messages [helpMessage]=\"'The Google fonts URL' | translate\"></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n title=\"font-family-base\"\n for=\"font-family-base\"\n translate\n >\n Base font stack\n </label>\n <input\n class=\"form-control\"\n id=\"font-family-base\"\n placeholder=\"{{ 'e.g. {{ example }}' | translate : {example: '&quot;Roboto&quot;, Arial, sans-serif'} }}\"\n name=\"font-family-base\"\n type=\"text\"\n formControlName=\"font-family-base\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n </fieldset>\n </div>\n <div class=\"col-md-6\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'headingsAndNavigatorTypography'\"\n >\n <legend>{{ 'Headings & navigator' | translate }}</legend>\n <c8y-form-group class=\"m-b-32\">\n <label\n title=\"font-family-headings\"\n for=\"font-family-headings\"\n translate\n >\n Headings font stack\n </label>\n <input\n class=\"form-control\"\n id=\"font-family-headings\"\n placeholder=\"{{ 'e.g. {{ example }}' | translate : {example: '&quot;Roboto&quot;, Arial, sans-serif'} }}\"\n type=\"text\"\n formControlName=\"font-family-headings\"\n />\n <c8y-messages\n [helpMessage]=\"\n 'Leave empty to use the same font as the base font stack' | translate\n \"\n ></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n title=\"navigator-font-family\"\n translate\n >\n Navigator font stack\n </label>\n <div class=\"form-control-static\">\n <label class=\"c8y-radio radio-inline\">\n <input\n name=\"navigator-font-family\"\n type=\"radio\"\n formControlName=\"navigator-font-family\"\n [value]=\"'var(--font-family-base)'\"\n />\n <span></span>\n <span translate>Match base font stack</span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"Radio Two\"\n >\n <input\n name=\"navigator-font-family\"\n type=\"radio\"\n formControlName=\"navigator-font-family\"\n [value]=\"'var(--font-family-headings)'\"\n />\n <span></span>\n <span translate>Match headings font stack</span>\n </label>\n </div>\n </c8y-form-group>\n </fieldset>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Cookie banner -->\n <div class=\"card-block separator-top\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Cookie banner\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'cookieBanner'\"\n >\n <legend translate>Cookie banner</legend>\n <label class=\"c8y-switch\">\n <input\n class=\"form-control\"\n name=\"cookieBannerEnabled\"\n type=\"checkbox\"\n [ngModelOptions]=\"{ standalone: true }\"\n [ngModel]=\"!formGroup.value.cookieBanner.cookieBannerDisabled\"\n (ngModelChange)=\"cockieBannerChange($event)\"\n />\n <span></span>\n <span translate>Enable cookie banner</span>\n </label>\n\n <div\n class=\"collapse\"\n [collapse]=\"formGroup.value.cookieBanner.cookieBannerDisabled\"\n [isAnimated]=\"true\"\n >\n <div\n class=\"row\"\n style=\"min-height: 227px\"\n >\n <ng-container *ngIf=\"formGroup.value.cookieBanner.cookieBannerDisabled !== true\">\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"cookieBannerTitle\"\n translate\n >\n Title\n </label>\n <input\n class=\"form-control\"\n id=\"cookieBannerTitle\"\n name=\"cookieBannerTitle\"\n type=\"text\"\n formControlName=\"cookieBannerTitle\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"policyUrl\"\n translate\n >\n Link to privacy policy\n </label>\n <input\n class=\"form-control\"\n id=\"policyUrl\"\n name=\"policyUrl\"\n type=\"text\"\n formControlName=\"policyUrl\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"policyVersion\"\n translate\n >\n Version of privacy policy\n </label>\n <input\n class=\"form-control\"\n id=\"policyVersion\"\n name=\"policyVersion\"\n type=\"text\"\n formControlName=\"policyVersion\"\n />\n <c8y-messages\n [helpMessage]=\"\n 'Changing the version of the privacy policy invalidates already existing cookie consents.'\n | translate\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"cookieBannerText\"\n translate\n >\n Text\n </label>\n <textarea\n class=\"form-control\"\n id=\"cookieBannerText\"\n name=\"cookieBannerText\"\n rows=\"8\"\n formControlName=\"cookieBannerText\"\n ></textarea>\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n </div>\n </ng-container>\n </div>\n </div>\n </fieldset>\n </div>\n </div>\n </div>\n <!-- Message banner -->\n <div class=\"card-block separator-top\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Message banner\n </h4>\n </div>\n\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'messageBanner'\"\n >\n <legend translate>Message banner</legend>\n\n <label class=\"c8y-switch\">\n <input\n class=\"form-control\"\n name=\"messageBannerEnabled\"\n type=\"checkbox\"\n formControlName=\"messageBannerEnabled\"\n />\n <span></span>\n <span translate>Enable message banner</span>\n </label>\n <div\n class=\"collapse\"\n [collapse]=\"!formGroup.value.messageBanner.messageBannerEnabled\"\n [isAnimated]=\"true\"\n >\n <div class=\"d-flex a-i-center gap-8 p-t-16 p-b-16\">\n <fieldset class=\"c8y-fieldset p-16\">\n <legend>{{ 'Message type' | translate }}</legend>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Info' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"info\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-info icon-16 m-r-4\"\n c8yIcon=\"info-circle\"\n ></i>\n Info\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Warning' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"warning\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-warning icon-16 m-r-4\"\n c8yIcon=\"warning\"\n ></i>\n {{ 'Warning' | translate }}\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Danger' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"danger\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-danger icon-16 m-r-4\"\n c8yIcon=\"exclamation-circle\"\n ></i>\n {{ 'Danger' | translate }}\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Success' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"success\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-success icon-16 m-r-4\"\n c8yIcon=\"check-circle\"\n ></i>\n {{ 'Success' | translate }}\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'System' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"system\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span>\n <i\n class=\"text-primary icon-16 m-r4\"\n c8yIcon=\"wrench\"\n ></i>\n {{ 'System' | translate }}\n </span>\n </label>\n </fieldset>\n </div>\n\n <c8y-form-group\n class=\"m-b-32 p-b-32\"\n [style]=\"{ height: '300px' }\"\n *ngIf=\"formGroup.value.messageBanner.messageBannerEnabled\"\n >\n <label\n for=\"messageBannerContent\"\n translate\n >\n Message content\n </label>\n <c8y-editor\n class=\"flex-grow form-control\"\n style=\"height: 100%\"\n formControlName=\"messageBannerContent\"\n monacoEditorMarkerValidator\n ></c8y-editor>\n <c8y-messages\n [helpMessage]=\"messageBannerHelp | translate: messageBannerHelpParams\"\n ></c8y-messages>\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n\n <button\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"previewBanner()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"eye\"\n ></i>\n <span translate>Preview banner</span>\n </button>\n </div>\n </fieldset>\n </div>\n </div>\n </div>\n</div>\n" }]
107
+ ], template: "<div\n class=\"inner-scroll\"\n [formGroup]=\"formGroup\"\n>\n <!-- Title & Favicon-->\n <div class=\"card-block\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4 class=\"text-normal text-right text-left-xs m-b-16\">\n {{ 'Title & favicon' | translate }}\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <div\n class=\"row p-t-16 p-b-16\"\n [formGroupName]=\"'genericApplicationOptions'\"\n >\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"globalTitle\"\n translate\n >\n Title\n </label>\n <input\n class=\"form-control\"\n id=\"globalTitle\"\n name=\"globalTitle\"\n type=\"text\"\n formControlName=\"globalTitle\"\n />\n <c8y-messages\n [helpMessage]=\"'Title to display in the browser tab' | translate\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n <div class=\"col-md-6\">\n <c8y-form-group>\n <label translate>Favicon</label>\n <c8y-static-assets-file-picker\n name=\"faviconUrl\"\n [supportedFileExtensions]=\"['ico']\"\n [isCSSURL]=\"false\"\n formControlName=\"faviconUrl\"\n ></c8y-static-assets-file-picker>\n <c8y-messages [helpMessage]=\"'Supported files: *.ico'\"></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"card-block separator-top\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Dark theme\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <c8y-form-group class=\"m-b-32 p-t-8 m-t-4\">\n <label class=\"c8y-switch\">\n <input\n class=\"form-control\"\n name=\"darkThemeAvailable\"\n type=\"checkbox\"\n formControlName=\"darkThemeAvailable\"\n />\n <span></span>\n <span translate>Enable dark theme support</span>\n </label>\n </c8y-form-group>\n </div>\n </div>\n <!-- Typography -->\n <div class=\"card-block separator-top\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Typography\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <div class=\"row\">\n <div class=\"col-md-6\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'baseTypography'\"\n >\n <legend translate>Base typography</legend>\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"font-url\"\n translate\n >\n Fonts URL\n </label>\n <input\n class=\"form-control\"\n id=\"font-url\"\n placeholder=\"{{\n 'e.g. {{ example }}' | translate : { example: 'https://fonts.googleapis.com/css?family=Roboto:400,500,700' }\n }}\"\n type=\"text\"\n formControlName=\"font-url\"\n />\n <c8y-messages [helpMessage]=\"'The Google fonts URL' | translate\"></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n title=\"font-family-base\"\n for=\"font-family-base\"\n translate\n >\n Base font stack\n </label>\n <input\n class=\"form-control\"\n id=\"font-family-base\"\n placeholder=\"{{ 'e.g. {{ example }}' | translate : {example: '&quot;Roboto&quot;, Arial, sans-serif'} }}\"\n name=\"font-family-base\"\n type=\"text\"\n formControlName=\"font-family-base\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n </fieldset>\n </div>\n <div class=\"col-md-6\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'headingsAndNavigatorTypography'\"\n >\n <legend>{{ 'Headings & navigator' | translate }}</legend>\n <c8y-form-group class=\"m-b-32\">\n <label\n title=\"font-family-headings\"\n for=\"font-family-headings\"\n translate\n >\n Headings font stack\n </label>\n <input\n class=\"form-control\"\n id=\"font-family-headings\"\n placeholder=\"{{ 'e.g. {{ example }}' | translate : {example: '&quot;Roboto&quot;, Arial, sans-serif'} }}\"\n type=\"text\"\n formControlName=\"font-family-headings\"\n />\n <c8y-messages\n [helpMessage]=\"\n 'Leave empty to use the same font as the base font stack' | translate\n \"\n ></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n title=\"navigator-font-family\"\n translate\n >\n Navigator font stack\n </label>\n <div class=\"form-control-static\">\n <label class=\"c8y-radio radio-inline\">\n <input\n name=\"navigator-font-family\"\n type=\"radio\"\n formControlName=\"navigator-font-family\"\n [value]=\"'var(--font-family-base)'\"\n />\n <span></span>\n <span translate>Match base font stack</span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"Radio Two\"\n >\n <input\n name=\"navigator-font-family\"\n type=\"radio\"\n formControlName=\"navigator-font-family\"\n [value]=\"'var(--font-family-headings)'\"\n />\n <span></span>\n <span translate>Match headings font stack</span>\n </label>\n </div>\n </c8y-form-group>\n </fieldset>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Cookie banner -->\n <div class=\"card-block separator-top\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Cookie banner\n </h4>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'cookieBanner'\"\n >\n <legend translate>Cookie banner</legend>\n <label class=\"c8y-switch\">\n <input\n class=\"form-control\"\n name=\"cookieBannerEnabled\"\n type=\"checkbox\"\n [ngModelOptions]=\"{ standalone: true }\"\n [ngModel]=\"!formGroup.value.cookieBanner.cookieBannerDisabled\"\n (ngModelChange)=\"cockieBannerChange($event)\"\n />\n <span></span>\n <span translate>Enable cookie banner</span>\n </label>\n\n <div\n class=\"collapse\"\n [collapse]=\"formGroup.value.cookieBanner.cookieBannerDisabled\"\n [isAnimated]=\"true\"\n >\n <div\n class=\"row\"\n style=\"min-height: 227px\"\n >\n <ng-container *ngIf=\"formGroup.value.cookieBanner.cookieBannerDisabled !== true\">\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"cookieBannerTitle\"\n translate\n >\n Title\n </label>\n <input\n class=\"form-control\"\n id=\"cookieBannerTitle\"\n name=\"cookieBannerTitle\"\n type=\"text\"\n formControlName=\"cookieBannerTitle\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"policyUrl\"\n translate\n >\n Link to privacy policy\n </label>\n <input\n class=\"form-control\"\n id=\"policyUrl\"\n name=\"policyUrl\"\n type=\"text\"\n formControlName=\"policyUrl\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"policyVersion\"\n translate\n >\n Version of privacy policy\n </label>\n <input\n class=\"form-control\"\n id=\"policyVersion\"\n name=\"policyVersion\"\n type=\"text\"\n formControlName=\"policyVersion\"\n />\n <c8y-messages\n [helpMessage]=\"\n 'Changing the version of the privacy policy invalidates already existing cookie consents.'\n | translate\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-b-32\">\n <label\n for=\"cookieBannerText\"\n translate\n >\n Text\n </label>\n <textarea\n class=\"form-control\"\n id=\"cookieBannerText\"\n name=\"cookieBannerText\"\n rows=\"8\"\n formControlName=\"cookieBannerText\"\n ></textarea>\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n </div>\n </ng-container>\n </div>\n </div>\n </fieldset>\n </div>\n </div>\n </div>\n <!-- Message banner -->\n <div class=\"card-block separator-top\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 p-t-16\">\n <h4\n class=\"text-normal text-right text-left-xs m-b-16\"\n translate\n >\n Message banner\n </h4>\n </div>\n\n <div class=\"col-xs-12 col-sm-9 col-md-10\">\n <fieldset\n class=\"c8y-fieldset p-24\"\n [formGroupName]=\"'messageBanner'\"\n >\n <legend translate>Message banner</legend>\n\n <label class=\"c8y-switch\">\n <input\n class=\"form-control\"\n name=\"messageBannerEnabled\"\n type=\"checkbox\"\n formControlName=\"messageBannerEnabled\"\n />\n <span></span>\n <span translate>Enable message banner</span>\n </label>\n <div\n class=\"collapse\"\n [collapse]=\"!formGroup.value.messageBanner.messageBannerEnabled\"\n [isAnimated]=\"true\"\n >\n <div class=\"d-flex a-i-center gap-8 p-t-16 p-b-16\">\n <fieldset class=\"c8y-fieldset p-16\">\n <legend>{{ 'Message type' | translate }}</legend>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Info' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"info\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-info icon-16 m-r-4\"\n c8yIcon=\"info-circle\"\n ></i>\n Info\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Warning' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"warning\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-warning icon-16 m-r-4\"\n c8yIcon=\"warning\"\n ></i>\n {{ 'Warning' | translate }}\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Danger' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"danger\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-danger icon-16 m-r-4\"\n c8yIcon=\"exclamation-circle\"\n ></i>\n {{ 'Danger' | translate }}\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'Success' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"success\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span class=\"d-flex a-i-center\">\n <i\n class=\"text-success icon-16 m-r-4\"\n c8yIcon=\"check-circle\"\n ></i>\n {{ 'Success' | translate }}\n </span>\n </label>\n <label\n class=\"c8y-radio radio-inline\"\n title=\"{{ 'System' | translate }}\"\n >\n <input\n type=\"radio\"\n value=\"system\"\n formControlName=\"messageBannerType\"\n />\n <span></span>\n <span>\n <i\n class=\"text-primary icon-16 m-r4\"\n c8yIcon=\"wrench\"\n ></i>\n {{ 'System' | translate }}\n </span>\n </label>\n </fieldset>\n </div>\n\n <c8y-form-group\n class=\"m-b-32 p-b-32\"\n [style]=\"{ height: '300px' }\"\n *ngIf=\"formGroup.value.messageBanner.messageBannerEnabled\"\n >\n <label\n for=\"messageBannerContent\"\n translate\n >\n Message content\n </label>\n <c8y-editor\n class=\"flex-grow form-control\"\n style=\"height: 100%\"\n formControlName=\"messageBannerContent\"\n [editorOptions]=\"{language: 'markdown'}\"\n monacoEditorMarkerValidator\n ></c8y-editor>\n <c8y-messages\n [helpMessage]=\"messageBannerHelp | translate: messageBannerHelpParams\"\n ></c8y-messages>\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n\n <button\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"previewBanner()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"eye\"\n ></i>\n <span translate>Preview banner</span>\n </button>\n </div>\n </fieldset>\n </div>\n </div>\n </div>\n</div>\n" }]
108
108
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.MessageBannerService }] });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmRpbmctZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9icmFuZGluZy9zaGFyZWQvbGF6eS9icmFuZGluZy1mb3JtL2JyYW5kaW5nLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vYnJhbmRpbmcvc2hhcmVkL2xhenkvYnJhbmRpbmctZm9ybS9icmFuZGluZy1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUF3QixXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRixPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHdDQUF3QyxFQUV4Qyx5QkFBeUIsRUFFMUIsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQWU3RCxNQUFNLE9BQU8scUJBQXFCO0lBaUJoQyxZQUNVLFdBQXdCLEVBQ3hCLG9CQUEwQztRQUQxQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBakJwRCxzQkFBaUIsR0FBRyxPQUFPLENBQ3pCLG9LQUFvSyxDQUNySyxDQUFDO1FBQ0YsNEJBQXVCLEdBQUc7WUFD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QixDQUFDLENBQUM7UUFDNUUsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsaUJBQWlCLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekMsQ0FBQzs4R0FqR1UscUJBQXFCO2tHQUFyQixxQkFBcUIscUhDN0JsQyxtcGlCQTRlQSwyQ0R0ZEksVUFBVSxteEVBQ1YsV0FBVyw4QkFDWCxjQUFjLGdQQUNkLCtCQUErQixnS0FDL0IsZUFBZTs7MkZBR04scUJBQXFCO2tCQWJqQyxTQUFTOytCQUNFLG1CQUFtQixjQUVqQixJQUFJLFFBQ1YsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQ3BCO3dCQUNQLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLCtCQUErQjt3QkFDL0IsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb2xsYXBzZU1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvY29sbGFwc2UnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSwgZ2V0dGV4dCwgTWVzc2FnZUJhbm5lclNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTdGF0aWNBc3NldHNGaWxlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9zdGF0aWMtYXNzZXRzJztcbmltcG9ydCB7XG4gIGJyYW5kaW5nRm9ybUdyb3VwVG9wTGV2ZWxFbnRyaWVzLFxuICBicmFuZGluZ0Zvcm1Hcm91cFRvcExldmVsRW50cmllc1RvVW5wYWNrLFxuICBCcmFuZGluZ09wdGlvbnNKc29uLFxuICBjcmVhdGVHZW5lcmljQnJhbmRpbmdGb3JtLFxuICBUb3BMZXZlbFZhbHVlc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2JyYW5kaW5nL3NoYXJlZC9kYXRhJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEVkaXRvckNvbXBvbmVudCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZWRpdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWJyYW5kaW5nLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJhbmRpbmctZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdkLWNvbnRlbnRzJyB9LFxuICBpbXBvcnRzOiBbXG4gICAgQ29yZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb2xsYXBzZU1vZHVsZSxcbiAgICBTdGF0aWNBc3NldHNGaWxlUGlja2VyQ29tcG9uZW50LFxuICAgIEVkaXRvckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJyYW5kaW5nRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgZm9ybUdyb3VwOiBSZXR1cm5UeXBlPEJyYW5kaW5nRm9ybUNvbXBvbmVudFsnaW5pdEZvcm0nXT47XG4gIG1lc3NhZ2VCYW5uZXJIZWxwID0gZ2V0dGV4dChcbiAgICAnU3VwcG9ydHMgbWFya2Rvd24uIFVzZSB7eyBoZWFkZXJNYXJrIH19IGZvciBoZWFkZXJzLCB7eyBsaXN0TWFyayB9fSBmb3IgbGlzdHMsIHt7IGJvbGRNYXJrIH19IGZvciBib2xkLCB7eyBpdGFsaWNNYXJrIH19IGZvciBpdGFsaWMsIGFuZCB7eyBsaW5rTWFyayB9fSBmb3IgbGlua3MuJ1xuICApO1xuICBtZXNzYWdlQmFubmVySGVscFBhcmFtcyA9IHtcbiAgICBoZWFkZXJNYXJrOiAnYCNgJyxcbiAgICBsaXN0TWFyazogJ2AqYCcsXG4gICAgYm9sZE1hcms6ICdgKipgJyxcbiAgICBpdGFsaWNNYXJrOiAnYF9gJyxcbiAgICBsaW5rTWFyazogJ2BbXSgpYCdcbiAgfTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBleHRlcm5hbFZhbHVlOiBCcmFuZGluZ09wdGlvbnNKc29uID0ge307XG4gIHByaXZhdGUgZm9ybUdyb3VwVmFsdWVDaGFuZ2VzJDogQnJhbmRpbmdGb3JtQ29tcG9uZW50Wydmb3JtR3JvdXAnXVsndmFsdWVDaGFuZ2VzJ107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBtZXNzYWdlQmFubmVyU2VydmljZTogTWVzc2FnZUJhbm5lclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmluaXRGb3JtKCk7XG4gICAgdGhpcy5mb3JtR3JvdXBWYWx1ZUNoYW5nZXMkID0gdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWRPYmogPSBKU09OLnBhcnNlKG9iaik7XG4gICAgICB0aGlzLmV4dGVybmFsVmFsdWUgPSBwYXJzZWRPYmo7XG4gICAgICB0aGlzLmFwcGx5U3RhdGVUb0Zvcm0ocGFyc2VkT2JqKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBmYWlsZWQgdG8gcGFyc2VcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwVmFsdWVDaGFuZ2VzJC5zdWJzY3JpYmUodmFsdWUgPT4gZm4odGhpcy5jb252ZXJ0Rm9ybVRvU3RhdGUodmFsdWUpKSk7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBjb2NraWVCYW5uZXJDaGFuZ2UodG9nZ2xlU3RhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5jb29raWVCYW5uZXIucGF0Y2hWYWx1ZSh7IGNvb2tpZUJhbm5lckRpc2FibGVkOiAhdG9nZ2xlU3RhdGUgfSk7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHJldHVybiBjcmVhdGVHZW5lcmljQnJhbmRpbmdGb3JtKHRoaXMuZm9ybUJ1aWxkZXIpO1xuICB9XG5cbiAgYXBwbHlTdGF0ZVRvRm9ybShicmFuZGluZzogQnJhbmRpbmdPcHRpb25zSnNvbikge1xuICAgIGlmICghYnJhbmRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHRvQmVQYXRjaGVkID0gYnJhbmRpbmdGb3JtR3JvdXBUb3BMZXZlbEVudHJpZXMucmVkdWNlUmlnaHQoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgIGlmIChicmFuZGluZ0Zvcm1Hcm91cFRvcExldmVsRW50cmllc1RvVW5wYWNrLmluY2x1ZGVzKGN1cnIgYXMgYW55KSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihwcmV2LCB7IFtjdXJyXTogYnJhbmRpbmcgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihwcmV2LCB7IFtjdXJyXTogYnJhbmRpbmdbY3Vycl0gfSk7XG4gICAgfSwge30pO1xuXG4gICAgdG9CZVBhdGNoZWQgPSBPYmplY3Qua2V5cyh0aGlzLmZvcm1Hcm91cC5jb250cm9scylcbiAgICAgIC5maWx0ZXIoa2V5ID0+ICFicmFuZGluZ0Zvcm1Hcm91cFRvcExldmVsRW50cmllcy5pbmNsdWRlcyhrZXkgYXMgYW55KSlcbiAgICAgIC5yZWR1Y2VSaWdodCgocHJldiwgY3VycikgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihwcmV2LCB7IFtjdXJyXTogYnJhbmRpbmcuYnJhbmRpbmdDc3NWYXJzIHx8IHt9IH0pO1xuICAgICAgfSwgdG9CZVBhdGNoZWQpO1xuICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUodG9CZVBhdGNoZWQpO1xuICB9XG5cbiAgY29udmVydEZvcm1Ub1N0YXRlKHZhbHVlOiBCcmFuZGluZ0Zvcm1Db21wb25lbnRbJ2Zvcm1Hcm91cCddWyd2YWx1ZSddKTogc3RyaW5nIHtcbiAgICBjb25zdCB0b3BMZXZlbDogVG9wTGV2ZWxWYWx1ZXMgPSBicmFuZGluZ0Zvcm1Hcm91cFRvcExldmVsRW50cmllcy5yZWR1Y2VSaWdodCgocHJldiwgY3VycikgPT4ge1xuICAgICAgaWYgKGJyYW5kaW5nRm9ybUdyb3VwVG9wTGV2ZWxFbnRyaWVzVG9VbnBhY2suaW5jbHVkZXMoY3VyciBhcyBhbnkpKSB7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHByZXYsIHZhbHVlW2N1cnJdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHByZXYsIHsgW2N1cnJdOiB2YWx1ZVtjdXJyXSB9KTtcbiAgICB9LCB7fSk7XG4gICAgY29uc3QgbmV3QnJhbmRpbmdDc3NWYXJzID0gT2JqZWN0LmVudHJpZXModmFsdWUpLnJlZHVjZVJpZ2h0KChwcmV2LCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmIChicmFuZGluZ0Zvcm1Hcm91cFRvcExldmVsRW50cmllcy5pbmNsdWRlcyhrZXkgYXMgYW55KSkge1xuICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHByZXYsIHZhbHVlKTtcbiAgICB9LCB7fSk7XG4gICAgY29uc3QgZXh0ZXJuYWxWYWx1ZTogQnJhbmRpbmdPcHRpb25zSnNvbiA9IGNsb25lRGVlcCh0aGlzLmV4dGVybmFsVmFsdWUgfHwge30pO1xuICAgIE9iamVjdC5hc3NpZ24oZXh0ZXJuYWxWYWx1ZSwgdG9wTGV2ZWwpO1xuICAgIGNvbnN0IGN1cnJlbnRDU1NWYXJzID0gZXh0ZXJuYWxWYWx1ZVsnYnJhbmRpbmdDc3NWYXJzJ10gfHwge307XG4gICAgY29uc3QgYXNzaWduZWROZXdWYWx1ZXMgPSBPYmplY3QuYXNzaWduKGN1cnJlbnRDU1NWYXJzLCBuZXdCcmFuZGluZ0Nzc1ZhcnMpO1xuICAgIGV4dGVybmFsVmFsdWVbJ2JyYW5kaW5nQ3NzVmFycyddID0gYXNzaWduZWROZXdWYWx1ZXM7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGV4dGVybmFsVmFsdWUsIG51bGwsIDIpO1xuICB9XG5cbiAgcHJldmlld0Jhbm5lcigpOiB2b2lkIHtcbiAgICB0aGlzLm1lc3NhZ2VCYW5uZXJTZXJ2aWNlLnNob3dCYW5uZXIoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImlubmVyLXNjcm9sbFwiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbj5cbiAgPCEtLSAgVGl0bGUgJiBGYXZpY29uLS0+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBjb2wtbWQtMiBwLXQtMTZcIj5cbiAgICAgICAgPGg0IGNsYXNzPVwidGV4dC1ub3JtYWwgdGV4dC1yaWdodCB0ZXh0LWxlZnQteHMgbS1iLTE2XCI+XG4gICAgICAgICAge3sgJ1RpdGxlICYgZmF2aWNvbicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9oND5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tOSBjb2wtbWQtMTBcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwicm93IHAtdC0xNiBwLWItMTZcIlxuICAgICAgICAgIFtmb3JtR3JvdXBOYW1lXT1cIidnZW5lcmljQXBwbGljYXRpb25PcHRpb25zJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cIm0tYi0zMlwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBmb3I9XCJnbG9iYWxUaXRsZVwiXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBUaXRsZVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJnbG9iYWxUaXRsZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImdsb2JhbFRpdGxlXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZ2xvYmFsVGl0bGVcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgW2hlbHBNZXNzYWdlXT1cIidUaXRsZSB0byBkaXNwbGF5IGluIHRoZSBicm93c2VyIHRhYicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPkZhdmljb248L2xhYmVsPlxuICAgICAgICAgICAgICA8Yzh5LXN0YXRpYy1hc3NldHMtZmlsZS1waWNrZXJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZmF2aWNvblVybFwiXG4gICAgICAgICAgICAgICAgW3N1cHBvcnRlZEZpbGVFeHRlbnNpb25zXT1cIlsnaWNvJ11cIlxuICAgICAgICAgICAgICAgIFtpc0NTU1VSTF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZmF2aWNvblVybFwiXG4gICAgICAgICAgICAgID48L2M4eS1zdGF0aWMtYXNzZXRzLWZpbGUtcGlja2VyPlxuICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzIFtoZWxwTWVzc2FnZV09XCInU3VwcG9ydGVkIGZpbGVzOiAqLmljbydcIj48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIHNlcGFyYXRvci10b3BcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS0zIGNvbC1tZC0yIHAtdC0xNlwiPlxuICAgICAgPGg0XG4gICAgICAgIGNsYXNzPVwidGV4dC1ub3JtYWwgdGV4dC1yaWdodCB0ZXh0LWxlZnQteHMgbS1iLTE2XCJcbiAgICAgICAgdHJhbnNsYXRlXG4gICAgICA+XG4gICAgICAgIERhcmsgdGhlbWVcbiAgICAgIDwvaDQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tOSBjb2wtbWQtMTBcIj5cbiAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cIm0tYi0zMiBwLXQtOCBtLXQtNFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJjOHktc3dpdGNoXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBuYW1lPVwiZGFya1RoZW1lQXZhaWxhYmxlXCJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXJrVGhlbWVBdmFpbGFibGVcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5FbmFibGUgZGFyayB0aGVtZSBzdXBwb3J0PC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDwhLS0gVHlwb2dyYXBoeSAtLT5cbiAgPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgc2VwYXJhdG9yLXRvcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTMgY29sLW1kLTIgcC10LTE2XCI+XG4gICAgICAgIDxoNFxuICAgICAgICAgIGNsYXNzPVwidGV4dC1ub3JtYWwgdGV4dC1yaWdodCB0ZXh0LWxlZnQteHMgbS1iLTE2XCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgPlxuICAgICAgICAgIFR5cG9ncmFwaHlcbiAgICAgICAgPC9oND5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tOSBjb2wtbWQtMTBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgPGZpZWxkc2V0XG4gICAgICAgICAgICAgIGNsYXNzPVwiYzh5LWZpZWxkc2V0IHAtMjRcIlxuICAgICAgICAgICAgICBbZm9ybUdyb3VwTmFtZV09XCInYmFzZVR5cG9ncmFwaHknXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGxlZ2VuZCB0cmFuc2xhdGU+QmFzZSB0eXBvZ3JhcGh5PC9sZWdlbmQ+XG4gICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cIm0tYi0zMlwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgZm9yPVwiZm9udC11cmxcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgRm9udHMgVVJMXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwiZm9udC11cmxcIlxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e1xuICAgICAgICAgICAgICAgICAgICAnZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZSA6IHsgZXhhbXBsZTogJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG86NDAwLDUwMCw3MDAnIH1cbiAgICAgICAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImZvbnQtdXJsXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXMgW2hlbHBNZXNzYWdlXT1cIidUaGUgR29vZ2xlIGZvbnRzIFVSTCcgfCB0cmFuc2xhdGVcIj48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwibS1iLTMyXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICB0aXRsZT1cImZvbnQtZmFtaWx5LWJhc2VcIlxuICAgICAgICAgICAgICAgICAgZm9yPVwiZm9udC1mYW1pbHktYmFzZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBCYXNlIGZvbnQgc3RhY2tcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJmb250LWZhbWlseS1iYXNlXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGUgOiB7ZXhhbXBsZTogJyZxdW90O1JvYm90byZxdW90OywgQXJpYWwsIHNhbnMtc2VyaWYnfSB9fVwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiZm9udC1mYW1pbHktYmFzZVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmb250LWZhbWlseS1iYXNlXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXM+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgPGZpZWxkc2V0XG4gICAgICAgICAgICAgIGNsYXNzPVwiYzh5LWZpZWxkc2V0IHAtMjRcIlxuICAgICAgICAgICAgICBbZm9ybUdyb3VwTmFtZV09XCInaGVhZGluZ3NBbmROYXZpZ2F0b3JUeXBvZ3JhcGh5J1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxsZWdlbmQ+e3sgJ0hlYWRpbmdzICYgbmF2aWdhdG9yJyB8IHRyYW5zbGF0ZSB9fTwvbGVnZW5kPlxuICAgICAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXAgY2xhc3M9XCJtLWItMzJcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgIHRpdGxlPVwiZm9udC1mYW1pbHktaGVhZGluZ3NcIlxuICAgICAgICAgICAgICAgICAgZm9yPVwiZm9udC1mYW1pbHktaGVhZGluZ3NcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgSGVhZGluZ3MgZm9udCBzdGFja1xuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICBpZD1cImZvbnQtZmFtaWx5LWhlYWRpbmdzXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGUgOiB7ZXhhbXBsZTogJyZxdW90O1JvYm90byZxdW90OywgQXJpYWwsIHNhbnMtc2VyaWYnfSB9fVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmb250LWZhbWlseS1oZWFkaW5nc1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgICBbaGVscE1lc3NhZ2VdPVwiXG4gICAgICAgICAgICAgICAgICAgICdMZWF2ZSBlbXB0eSB0byB1c2UgdGhlIHNhbWUgZm9udCBhcyB0aGUgYmFzZSBmb250IHN0YWNrJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cIm0tYi0zMlwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgdGl0bGU9XCJuYXZpZ2F0b3ItZm9udC1mYW1pbHlcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgTmF2aWdhdG9yIGZvbnQgc3RhY2tcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtc3RhdGljXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjOHktcmFkaW8gcmFkaW8taW5saW5lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJuYXZpZ2F0b3ItZm9udC1mYW1pbHlcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmF2aWdhdG9yLWZvbnQtZmFtaWx5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiJ3ZhcigtLWZvbnQtZmFtaWx5LWJhc2UpJ1wiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPk1hdGNoIGJhc2UgZm9udCBzdGFjazwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjOHktcmFkaW8gcmFkaW8taW5saW5lXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJSYWRpbyBUd29cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwibmF2aWdhdG9yLWZvbnQtZmFtaWx5XCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hdmlnYXRvci1mb250LWZhbWlseVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIid2YXIoLS1mb250LWZhbWlseS1oZWFkaW5ncyknXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+TWF0Y2ggaGVhZGluZ3MgZm9udCBzdGFjazwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPCEtLSBDb29raWUgYmFubmVyIC0tPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ibG9jayBzZXBhcmF0b3ItdG9wXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBjb2wtbWQtMiBwLXQtMTZcIj5cbiAgICAgICAgPGg0XG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LW5vcm1hbCB0ZXh0LXJpZ2h0IHRleHQtbGVmdC14cyBtLWItMTZcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICA+XG4gICAgICAgICAgQ29va2llIGJhbm5lclxuICAgICAgICA8L2g0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS05IGNvbC1tZC0xMFwiPlxuICAgICAgICA8ZmllbGRzZXRcbiAgICAgICAgICBjbGFzcz1cImM4eS1maWVsZHNldCBwLTI0XCJcbiAgICAgICAgICBbZm9ybUdyb3VwTmFtZV09XCInY29va2llQmFubmVyJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8bGVnZW5kIHRyYW5zbGF0ZT5Db29raWUgYmFubmVyPC9sZWdlbmQ+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYzh5LXN3aXRjaFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbmFtZT1cImNvb2tpZUJhbm5lckVuYWJsZWRcIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCIhZm9ybUdyb3VwLnZhbHVlLmNvb2tpZUJhbm5lci5jb29raWVCYW5uZXJEaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvY2tpZUJhbm5lckNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+RW5hYmxlIGNvb2tpZSBiYW5uZXI8L3NwYW4+XG4gICAgICAgICAgPC9sYWJlbD5cblxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY29sbGFwc2VcIlxuICAgICAgICAgICAgW2NvbGxhcHNlXT1cImZvcm1Hcm91cC52YWx1ZS5jb29raWVCYW5uZXIuY29va2llQmFubmVyRGlzYWJsZWRcIlxuICAgICAgICAgICAgW2lzQW5pbWF0ZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInJvd1wiXG4gICAgICAgICAgICAgIHN0eWxlPVwibWluLWhlaWdodDogMjI3cHhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybUdyb3VwLnZhbHVlLmNvb2tpZUJhbm5lci5jb29raWVCYW5uZXJEaXNhYmxlZCAhPT0gdHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwibS1iLTMyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgIGZvcj1cImNvb2tpZUJhbm5lclRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIFRpdGxlXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICBpZD1cImNvb2tpZUJhbm5lclRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY29va2llQmFubmVyVGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb29raWVCYW5uZXJUaXRsZVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXM+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwibS1iLTMyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgIGZvcj1cInBvbGljeVVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICBMaW5rIHRvIHByaXZhY3kgcG9saWN5XG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICBpZD1cInBvbGljeVVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInBvbGljeVVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBvbGljeVVybFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXM+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwibS1iLTMyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgIGZvcj1cInBvbGljeVZlcnNpb25cIlxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiBvZiBwcml2YWN5IHBvbGljeVxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgaWQ9XCJwb2xpY3lWZXJzaW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwicG9saWN5VmVyc2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBvbGljeVZlcnNpb25cIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgICAgICAgW2hlbHBNZXNzYWdlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgJ0NoYW5naW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBwcml2YWN5IHBvbGljeSBpbnZhbGlkYXRlcyBhbHJlYWR5IGV4aXN0aW5nIGNvb2tpZSBjb25zZW50cy4nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwibS1iLTMyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgIGZvcj1cImNvb2tpZUJhbm5lclRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgVGV4dFxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjb29raWVCYW5uZXJUZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY29va2llQmFubmVyVGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgcm93cz1cIjhcIlxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvb2tpZUJhbm5lclRleHRcIlxuICAgICAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlcz48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDwhLS0gTWVzc2FnZSBiYW5uZXIgLS0+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIHNlcGFyYXRvci10b3BcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS0zIGNvbC1tZC0yIHAtdC0xNlwiPlxuICAgICAgICA8aDRcbiAgICAgICAgICBjbGFzcz1cInRleHQtbm9ybWFsIHRleHQtcmlnaHQgdGV4dC1sZWZ0LXhzIG0tYi0xNlwiXG4gICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgID5cbiAgICAgICAgICBNZXNzYWdlIGJhbm5lclxuICAgICAgICA8L2g0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTkgY29sLW1kLTEwXCI+XG4gICAgICAgIDxmaWVsZHNldFxuICAgICAgICAgIGNsYXNzPVwiYzh5LWZpZWxkc2V0IHAtMjRcIlxuICAgICAgICAgIFtmb3JtR3JvdXBOYW1lXT1cIidtZXNzYWdlQmFubmVyJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8bGVnZW5kIHRyYW5zbGF0ZT5NZXNzYWdlIGJhbm5lcjwvbGVnZW5kPlxuXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYzh5LXN3aXRjaFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbmFtZT1cIm1lc3NhZ2VCYW5uZXJFbmFibGVkXCJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWVzc2FnZUJhbm5lckVuYWJsZWRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5FbmFibGUgbWVzc2FnZSBiYW5uZXI8L3NwYW4+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNvbGxhcHNlXCJcbiAgICAgICAgICAgIFtjb2xsYXBzZV09XCIhZm9ybUdyb3VwLnZhbHVlLm1lc3NhZ2VCYW5uZXIubWVzc2FnZUJhbm5lckVuYWJsZWRcIlxuICAgICAgICAgICAgW2lzQW5pbWF0ZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhLWktY2VudGVyIGdhcC04IHAtdC0xNiBwLWItMTZcIj5cbiAgICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPVwiYzh5LWZpZWxkc2V0IHAtMTZcIj5cbiAgICAgICAgICAgICAgICA8bGVnZW5kPnt7ICdNZXNzYWdlIHR5cGUnIHwgdHJhbnNsYXRlIH19PC9sZWdlbmQ+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImM4eS1yYWRpbyByYWRpby1pbmxpbmVcIlxuICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnSW5mbycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cImluZm9cIlxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtZXNzYWdlQmFubmVyVHlwZVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1pbmZvIGljb24tMTYgbS1yLTRcIlxuICAgICAgICAgICAgICAgICAgICAgIGM4eUljb249XCJpbmZvLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgICAgICAgIEluZm9cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjOHktcmFkaW8gcmFkaW8taW5saW5lXCJcbiAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ1dhcm5pbmcnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJ3YXJuaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWVzc2FnZUJhbm5lclR5cGVcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGEtaS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtd2FybmluZyBpY29uLTE2IG0tci00XCJcbiAgICAgICAgICAgICAgICAgICAgICBjOHlJY29uPVwid2FybmluZ1wiXG4gICAgICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdXYXJuaW5nJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImM4eS1yYWRpbyByYWRpby1pbmxpbmVcIlxuICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnRGFuZ2VyJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWVzc2FnZUJhbm5lclR5cGVcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGEtaS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtZGFuZ2VyIGljb24tMTYgbS1yLTRcIlxuICAgICAgICAgICAgICAgICAgICAgIGM4eUljb249XCJleGNsYW1hdGlvbi1jaXJjbGVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICB7eyAnRGFuZ2VyJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImM4eS1yYWRpbyByYWRpby1pbmxpbmVcIlxuICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnU3VjY2VzcycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInN1Y2Nlc3NcIlxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtZXNzYWdlQmFubmVyVHlwZVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zdWNjZXNzIGljb24tMTYgbS1yLTRcIlxuICAgICAgICAgICAgICAgICAgICAgIGM4eUljb249XCJjaGVjay1jaXJjbGVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICB7eyAnU3VjY2VzcycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjOHktcmFkaW8gcmFkaW8taW5saW5lXCJcbiAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ1N5c3RlbScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInN5c3RlbVwiXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1lc3NhZ2VCYW5uZXJUeXBlXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtcHJpbWFyeSBpY29uLTE2IG0tcjRcIlxuICAgICAgICAgICAgICAgICAgICAgIGM4eUljb249XCJ3cmVuY2hcIlxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICB7eyAnU3lzdGVtJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwXG4gICAgICAgICAgICAgIGNsYXNzPVwibS1iLTMyIHAtYi0zMlwiXG4gICAgICAgICAgICAgIFtzdHlsZV09XCJ7IGhlaWdodDogJzMwMHB4JyB9XCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJmb3JtR3JvdXAudmFsdWUubWVzc2FnZUJhbm5lci5tZXNzYWdlQmFubmVyRW5hYmxlZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGZvcj1cIm1lc3NhZ2VCYW5uZXJDb250ZW50XCJcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIE1lc3NhZ2UgY29udGVudFxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8Yzh5LWVkaXRvclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleC1ncm93IGZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1lc3NhZ2VCYW5uZXJDb250ZW50XCJcbiAgICAgICAgICAgICAgICBtb25hY29FZGl0b3JNYXJrZXJWYWxpZGF0b3JcbiAgICAgICAgICAgICAgPjwvYzh5LWVkaXRvcj5cbiAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlc1xuICAgICAgICAgICAgICAgIFtoZWxwTWVzc2FnZV09XCJtZXNzYWdlQmFubmVySGVscCB8IHRyYW5zbGF0ZTogbWVzc2FnZUJhbm5lckhlbHBQYXJhbXNcIlxuICAgICAgICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgIDxjOHktbWVzc2FnZXM+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJwcmV2aWV3QmFubmVyKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgIGNsYXNzPVwibS1yLTRcIlxuICAgICAgICAgICAgICAgIGM4eUljb249XCJleWVcIlxuICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+UHJldmlldyBiYW5uZXI8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9maWVsZHNldD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmRpbmctZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9icmFuZGluZy9zaGFyZWQvbGF6eS9icmFuZGluZy1mb3JtL2JyYW5kaW5nLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vYnJhbmRpbmcvc2hhcmVkL2xhenkvYnJhbmRpbmctZm9ybS9icmFuZGluZy1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUF3QixXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRixPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHdDQUF3QyxFQUV4Qyx5QkFBeUIsRUFFMUIsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQWU3RCxNQUFNLE9BQU8scUJBQXFCO0lBaUJoQyxZQUNVLFdBQXdCLEVBQ3hCLG9CQUEwQztRQUQxQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBakJwRCxzQkFBaUIsR0FBRyxPQUFPLENBQ3pCLG9LQUFvSyxDQUNySyxDQUFDO1FBQ0YsNEJBQXVCLEdBQUc7WUFDeEIsVUFBVSxFQUFFLEtBQUs7WUFDakIsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsTUFBTTtZQUNoQixVQUFVLEVBQUUsS0FBSztZQUNqQixRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDO1FBR00sa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBTzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUM7WUFDSCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO1lBQy9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLGtCQUFrQjtRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQTJCO1FBQzFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsV0FBb0I7UUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8seUJBQXlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUE2QjtRQUM1QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksV0FBVyxHQUFHLGdDQUFnQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUM1RSxJQUFJLHdDQUF3QyxDQUFDLFFBQVEsQ0FBQyxJQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNuRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO2FBQy9DLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxDQUFDLEdBQVUsQ0FBQyxDQUFDO2FBQ3JFLFdBQVcsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUMxQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUMsZUFBZSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekUsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFrRDtRQUNuRSxNQUFNLFFBQVEsR0FBbUIsZ0NBQWdDLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzNGLElBQUksd0NBQXdDLENBQUMsUUFBUSxDQUFDLElBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25FLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDMUMsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ2xGLElBQUksZ0NBQWdDLENBQUMsUUFBUSxDQUFDLEdBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQzFELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxhQUFhLEdBQXdCLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5RCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDNUUsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsaUJBQWlCLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekMsQ0FBQzs4R0FqR1UscUJBQXFCO2tHQUFyQixxQkFBcUIscUhDN0JsQywrc2lCQTZlQSwyQ0R2ZEksVUFBVSxteEVBQ1YsV0FBVyw4QkFDWCxjQUFjLGdQQUNkLCtCQUErQixnS0FDL0IsZUFBZTs7MkZBR04scUJBQXFCO2tCQWJqQyxTQUFTOytCQUNFLG1CQUFtQixjQUVqQixJQUFJLFFBQ1YsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQ3BCO3dCQUNQLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLCtCQUErQjt3QkFDL0IsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb2xsYXBzZU1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvY29sbGFwc2UnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSwgZ2V0dGV4dCwgTWVzc2FnZUJhbm5lclNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTdGF0aWNBc3NldHNGaWxlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9zdGF0aWMtYXNzZXRzJztcbmltcG9ydCB7XG4gIGJyYW5kaW5nRm9ybUdyb3VwVG9wTGV2ZWxFbnRyaWVzLFxuICBicmFuZGluZ0Zvcm1Hcm91cFRvcExldmVsRW50cmllc1RvVW5wYWNrLFxuICBCcmFuZGluZ09wdGlvbnNKc29uLFxuICBjcmVhdGVHZW5lcmljQnJhbmRpbmdGb3JtLFxuICBUb3BMZXZlbFZhbHVlc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2JyYW5kaW5nL3NoYXJlZC9kYXRhJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEVkaXRvckNvbXBvbmVudCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZWRpdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWJyYW5kaW5nLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJhbmRpbmctZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdkLWNvbnRlbnRzJyB9LFxuICBpbXBvcnRzOiBbXG4gICAgQ29yZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb2xsYXBzZU1vZHVsZSxcbiAgICBTdGF0aWNBc3NldHNGaWxlUGlja2VyQ29tcG9uZW50LFxuICAgIEVkaXRvckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJyYW5kaW5nRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgZm9ybUdyb3VwOiBSZXR1cm5UeXBlPEJyYW5kaW5nRm9ybUNvbXBvbmVudFsnaW5pdEZvcm0nXT47XG4gIG1lc3NhZ2VCYW5uZXJIZWxwID0gZ2V0dGV4dChcbiAgICAnU3VwcG9ydHMgbWFya2Rvd24uIFVzZSB7eyBoZWFkZXJNYXJrIH19IGZvciBoZWFkZXJzLCB7eyBsaXN0TWFyayB9fSBmb3IgbGlzdHMsIHt7IGJvbGRNYXJrIH19IGZvciBib2xkLCB7eyBpdGFsaWNNYXJrIH19IGZvciBpdGFsaWMsIGFuZCB7eyBsaW5rTWFyayB9fSBmb3IgbGlua3MuJ1xuICApO1xuICBtZXNzYWdlQmFubmVySGVscFBhcmFtcyA9IHtcbiAgICBoZWFkZXJNYXJrOiAnYCNgJyxcbiAgICBsaXN0TWFyazogJ2AqYCcsXG4gICAgYm9sZE1hcms6ICdgKipgJyxcbiAgICBpdGFsaWNNYXJrOiAnYF9gJyxcbiAgICBsaW5rTWFyazogJ2BbXSgpYCdcbiAgfTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBleHRlcm5hbFZhbHVlOiBCcmFuZGluZ09wdGlvbnNKc29uID0ge307XG4gIHByaXZhdGUgZm9ybUdyb3VwVmFsdWVDaGFuZ2VzJDogQnJhbmRpbmdGb3JtQ29tcG9uZW50Wydmb3JtR3JvdXAnXVsndmFsdWVDaGFuZ2VzJ107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBtZXNzYWdlQmFubmVyU2VydmljZTogTWVzc2FnZUJhbm5lclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmluaXRGb3JtKCk7XG4gICAgdGhpcy5mb3JtR3JvdXBWYWx1ZUNoYW5nZXMkID0gdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWRPYmogPSBKU09OLnBhcnNlKG9iaik7XG4gICAgICB0aGlzLmV4dGVybmFsVmFsdWUgPSBwYXJzZWRPYmo7XG4gICAgICB0aGlzLmFwcGx5U3RhdGVUb0Zvcm0ocGFyc2VkT2JqKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBmYWlsZWQgdG8gcGFyc2VcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwVmFsdWVDaGFuZ2VzJC5zdWJzY3JpYmUodmFsdWUgPT4gZm4odGhpcy5jb252ZXJ0Rm9ybVRvU3RhdGUodmFsdWUpKSk7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBjb2NraWVCYW5uZXJDaGFuZ2UodG9nZ2xlU3RhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5jb29raWVCYW5uZXIucGF0Y2hWYWx1ZSh7IGNvb2tpZUJhbm5lckRpc2FibGVkOiAhdG9nZ2xlU3RhdGUgfSk7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHJldHVybiBjcmVhdGVHZW5lcmljQnJhbmRpbmdGb3JtKHRoaXMuZm9ybUJ1aWxkZXIpO1xuICB9XG5cbiAgYXBwbHlTdGF0ZVRvRm9ybShicmFuZGluZzogQnJhbmRpbmdPcHRpb25zSnNvbikge1xuICAgIGlmICghYnJhbmRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHRvQmVQYXRjaGVkID0gYnJhbmRpbmdGb3JtR3JvdXBUb3BMZXZlbEVudHJpZXMucmVkdWNlUmlnaHQoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgIGlmIChicmFuZGluZ0Zvcm1Hcm91cFRvcExldmVsRW50cmllc1RvVW5wYWNrLmluY2x1ZGVzKGN1cnIgYXMgYW55KSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihwcmV2LCB7IFtjdXJyXTogYnJhbmRpbmcgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihwcmV2LCB7IFtjdXJyXTogYnJhbmRpbmdbY3Vycl0gfSk7XG4gICAgfSwge30pO1xuXG4gICAgdG9CZVBhdGNoZWQgPSBPYmplY3Qua2V5cyh0aGlzLmZvcm1Hcm91cC5jb250cm9scylcbiAgICAgIC5maWx0ZXIoa2V5ID0+ICFicmFuZGluZ0Zvcm1Hcm91cFRvcExldmVsRW50cmllcy5pbmNsdWRlcyhrZXkgYXMgYW55KSlcbiAgICAgIC5yZWR1Y2VSaWdodCgocHJldiwgY3VycikgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihwcmV2LCB7IFtjdXJyXTogYnJhbmRpbmcuYnJhbmRpbmdDc3NWYXJzIHx8IHt9IH0pO1xuICAgICAgfSwgdG9CZVBhdGNoZWQpO1xuICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUodG9CZVBhdGNoZWQpO1xuICB9XG5cbiAgY29udmVydEZvcm1Ub1N0YXRlKHZhbHVlOiBCcmFuZGluZ0Zvcm1Db21wb25lbnRbJ2Zvcm1Hcm91cCddWyd2YWx1ZSddKTogc3RyaW5nIHtcbiAgICBjb25zdCB0b3BMZXZlbDogVG9wTGV2ZWxWYWx1ZXMgPSBicmFuZGluZ0Zvcm1Hcm91cFRvcExldmVsRW50cmllcy5yZWR1Y2VSaWdodCgocHJldiwgY3VycikgPT4ge1xuICAgICAgaWYgKGJyYW5kaW5nRm9ybUdyb3VwVG9wTGV2ZWxFbnRyaWVzVG9VbnBhY2suaW5jbHVkZXMoY3VyciBhcyBhbnkpKSB7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHByZXYsIHZhbHVlW2N1cnJdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHByZXYsIHsgW2N1cnJdOiB2YWx1ZVtjdXJyXSB9KTtcbiAgICB9LCB7fSk7XG4gICAgY29uc3QgbmV3QnJhbmRpbmdDc3NWYXJzID0gT2JqZWN0LmVudHJpZXModmFsdWUpLnJlZHVjZVJpZ2h0KChwcmV2LCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmIChicmFuZGluZ0Zvcm1Hcm91cFRvcExldmVsRW50cmllcy5pbmNsdWRlcyhrZXkgYXMgYW55KSkge1xuICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHByZXYsIHZhbHVlKTtcbiAgICB9LCB7fSk7XG4gICAgY29uc3QgZXh0ZXJuYWxWYWx1ZTogQnJhbmRpbmdPcHRpb25zSnNvbiA9IGNsb25lRGVlcCh0aGlzLmV4dGVybmFsVmFsdWUgfHwge30pO1xuICAgIE9iamVjdC5hc3NpZ24oZXh0ZXJuYWxWYWx1ZSwgdG9wTGV2ZWwpO1xuICAgIGNvbnN0IGN1cnJlbnRDU1NWYXJzID0gZXh0ZXJuYWxWYWx1ZVsnYnJhbmRpbmdDc3NWYXJzJ10gfHwge307XG4gICAgY29uc3QgYXNzaWduZWROZXdWYWx1ZXMgPSBPYmplY3QuYXNzaWduKGN1cnJlbnRDU1NWYXJzLCBuZXdCcmFuZGluZ0Nzc1ZhcnMpO1xuICAgIGV4dGVybmFsVmFsdWVbJ2JyYW5kaW5nQ3NzVmFycyddID0gYXNzaWduZWROZXdWYWx1ZXM7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGV4dGVybmFsVmFsdWUsIG51bGwsIDIpO1xuICB9XG5cbiAgcHJldmlld0Jhbm5lcigpOiB2b2lkIHtcbiAgICB0aGlzLm1lc3NhZ2VCYW5uZXJTZXJ2aWNlLnNob3dCYW5uZXIoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImlubmVyLXNjcm9sbFwiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbj5cbiAgPCEtLSAgVGl0bGUgJiBGYXZpY29uLS0+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBjb2wtbWQtMiBwLXQtMTZcIj5cbiAgICAgICAgPGg0IGNsYXNzPVwidGV4dC1ub3JtYWwgdGV4dC1yaWdodCB0ZXh0LWxlZnQteHMgbS1iLTE2XCI+XG4gICAgICAgICAge3sgJ1RpdGxlICYgZmF2aWNvbicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9oND5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tOSBjb2wtbWQtMTBcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwicm93IHAtdC0xNiBwLWItMTZcIlxuICAgICAgICAgIFtmb3JtR3JvdXBOYW1lXT1cIidnZW5lcmljQXBwbGljYXRpb25PcHRpb25zJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cIm0tYi0zMlwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBmb3I9XCJnbG9iYWxUaXRsZVwiXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBUaXRsZVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJnbG9iYWxUaXRsZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImdsb2JhbFRpdGxlXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZ2xvYmFsVGl0bGVcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgW2hlbHBNZXNzYWdlXT1cIidUaXRsZSB0byBkaXNwbGF5IGluIHRoZSBicm93c2VyIHRhYicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPkZhdmljb248L2xhYmVsPlxuICAgICAgICAgICAgICA8Yzh5LXN0YXRpYy1hc3NldHMtZmlsZS1waWNrZXJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZmF2aWNvblVybFwiXG4gICAgICAgICAgICAgICAgW3N1cHBvcnRlZEZpbGVFeHRlbnNpb25zXT1cIlsnaWNvJ11cIlxuICAgICAgICAgICAgICAgIFtpc0NTU1VSTF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZmF2aWNvblVybFwiXG4gICAgICAgICAgICAgID48L2M4eS1zdGF0aWMtYXNzZXRzLWZpbGUtcGlja2VyPlxuICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzIFtoZWxwTWVzc2FnZV09XCInU3VwcG9ydGVkIGZpbGVzOiAqLmljbydcIj48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIHNlcGFyYXRvci10b3BcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS0zIGNvbC1tZC0yIHAtdC0xNlwiPlxuICAgICAgPGg0XG4gICAgICAgIGNsYXNzPVwidGV4dC1ub3JtYWwgdGV4dC1yaWdodCB0ZXh0LWxlZnQteHMgbS1iLTE2XCJcbiAgICAgICAgdHJhbnNsYXRlXG4gICAgICA+XG4gICAgICAgIERhcmsgdGhlbWVcbiAgICAgIDwvaDQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tOSBjb2wtbWQtMTBcIj5cbiAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cIm0tYi0zMiBwLXQtOCBtLXQtNFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJjOHktc3dpdGNoXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBuYW1lPVwiZGFya1RoZW1lQXZhaWxhYmxlXCJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXJrVGhlbWVBdmFpbGFibGVcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5FbmFibGUgZGFyayB0aGVtZSBzdXBwb3J0PC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDwhLS0gVHlwb2dyYXBoeSAtLT5cbiAgPGRpdiBjbGFzcz1cImNhcmQtYmxvY2sgc2VwYXJhdG9yLXRvcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTMgY29sLW1kLTIgcC10LTE2XCI+XG4gICAgICAgIDxoNFxuICAgICAgICAgIGNsYXNzPVwidGV4dC1ub3JtYWwgdGV4dC1yaWdodCB0ZXh0LWxlZnQteHMgbS1iLTE2XCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgPlxuICAgICAgICAgIFR5cG9ncmFwaHlcbiAgICAgICAgPC9oND5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tOSBjb2wtbWQtMTBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgPGZpZWxkc2V0XG4gICAgICAgICAgICAgIGNsYXNzPVwiYzh5LWZpZWxkc2V0IHAtMjRcIlxuICAgICAgICAgICAgICBbZm9ybUdyb3VwTmFtZV09XCInYmFzZVR5cG9ncmFwaHknXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGxlZ2VuZCB0cmFuc2xhdGU+QmFzZSB0eXBvZ3JhcGh5PC9sZWdlbmQ+XG4gICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cIm0tYi0zMlwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgZm9yPVwiZm9udC11cmxcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgRm9udHMgVVJMXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwiZm9udC11cmxcIlxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e1xuICAgICAgICAgICAgICAgICAgICAnZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZSA6IHsgZXhhbXBsZTogJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG86NDAwLDUwMCw3MDAnIH1cbiAgICAgICAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImZvbnQtdXJsXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXMgW2hlbHBNZXNzYWdlXT1cIidUaGUgR29vZ2xlIGZvbnRzIFVSTCcgfCB0cmFuc2xhdGVcIj48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwibS1iLTMyXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICB0aXRsZT1cImZvbnQtZmFtaWx5LWJhc2VcIlxuICAgICAgICAgICAgICAgICAgZm9yPVwiZm9udC1mYW1pbHktYmFzZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBCYXNlIGZvbnQgc3RhY2tcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJmb250LWZhbWlseS1iYXNlXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGUgOiB7ZXhhbXBsZTogJyZxdW90O1JvYm90byZxdW90OywgQXJpYWwsIHNhbnMtc2VyaWYnfSB9fVwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiZm9udC1mYW1pbHktYmFzZVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmb250LWZhbWlseS1iYXNlXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXM+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgPGZpZWxkc2V0XG4gICAgICAgICAgICAgIGNsYXNzPVwiYzh5LWZpZWxkc2V0IHAtMjRcIlxuICAgICAgICAgICAgICBbZm9ybUdyb3VwTmFtZV09XCInaGVhZGluZ3NBbmROYXZpZ2F0b3JUeXBvZ3JhcGh5J1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxsZWdlbmQ+e3sgJ0hlYWRpbmdzICYgbmF2aWdhdG9yJyB8IHRyYW5zbGF0ZSB9fTwvbGVnZW5kPlxuICAgICAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXAgY2xhc3M9XCJtLWItMzJcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgIHRpdGxlPVwiZm9udC1mYW1pbHktaGVhZGluZ3NcIlxuICAgICAgICAgICAgICAgICAgZm9yPVwiZm9udC1mYW1pbHktaGVhZGluZ3NcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgSGVhZGluZ3MgZm9udCBzdGFja1xuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICBpZD1cImZvbnQtZmFtaWx5LWhlYWRpbmdzXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGUgOiB7ZXhhbXBsZTogJyZxdW90O1JvYm90byZxdW90OywgQXJpYWwsIHNhbnMtc2VyaWYnfSB9fVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmb250LWZhbWlseS1oZWFkaW5nc1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgICBbaGVscE1lc3NhZ2VdPVwiXG4gICAgICAgICAgICAgICAgICAgICdMZWF2ZSBlbXB0eSB0byB1c2UgdGhlIHNhbWUgZm9udCBhcyB0aGUgYmFzZSBmb250IHN0YWNrJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cIm0tYi0zMlwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgdGl0bGU9XCJuYXZpZ2F0b3ItZm9udC1mYW1pbHlcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgTmF2aWdhdG9yIGZvbnQgc3RhY2tcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtc3RhdGljXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjOHktcmFkaW8gcmFkaW8taW5saW5lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJuYXZpZ2F0b3ItZm9udC1mYW1pbHlcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmF2aWdhdG9yLWZvbnQtZmFtaWx5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiJ3ZhcigtLWZvbnQtZmFtaWx5LWJhc2UpJ1wiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPk1hdGNoIGJhc2UgZm9udCBzdGFjazwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjOHktcmFkaW8gcmFkaW8taW5saW5lXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJSYWRpbyBUd29cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwibmF2aWdhdG9yLWZvbnQtZmFtaWx5XCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hdmlnYXRvci1mb250LWZhbWlseVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIid2YXIoLS1mb250LWZhbWlseS1oZWFkaW5ncyknXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+TWF0Y2ggaGVhZGluZ3MgZm9udCBzdGFjazwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPCEtLSBDb29raWUgYmFubmVyIC0tPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ibG9jayBzZXBhcmF0b3ItdG9wXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBjb2wtbWQtMiBwLXQtMTZcIj5cbiAgICAgICAgPGg0XG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LW5vcm1hbCB0ZXh0LXJpZ2h0IHRleHQtbGVmdC14cyBtLWItMTZcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICA+XG4gICAgICAgICAgQ29va2llIGJhbm5lclxuICAgICAgICA8L2g0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS05IGNvbC1tZC0xMFwiPlxuICAgICAgICA8ZmllbGRzZXRcbiAgICAgICAgICBjbGFzcz1cImM4eS1maWVsZHNldCBwLTI0XCJcbiAgICAgICAgICBbZm9ybUdyb3VwTmFtZV09XCInY29va2llQmFubmVyJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8bGVnZW5kIHRyYW5zbGF0ZT5Db29raWUgYmFubmVyPC9sZWdlbmQ+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYzh5LXN3aXRjaFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbmFtZT1cImNvb2tpZUJhbm5lckVuYWJsZWRcIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCIhZm9ybUdyb3VwLnZhbHVlLmNvb2tpZUJhbm5lci5jb29raWVCYW5uZXJEaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvY2tpZUJhbm5lckNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+RW5hYmxlIGNvb2tpZSBiYW5uZXI8L3NwYW4+XG4gICAgICAgICAgPC9sYWJlbD5cblxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY29sbGFwc2VcIlxuICAgICAgICAgICAgW2NvbGxhcHNlXT1cImZvcm1Hcm91cC52YWx1ZS5jb29raWVCYW5uZXIuY29va2llQmFubmVyRGlzYWJsZWRcIlxuICAgICAgICAgICAgW2lzQW5pbWF0ZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInJvd1wiXG4gICAgICAgICAgICAgIHN0eWxlPVwibWluLWhlaWdodDogMjI3cHhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybUdyb3VwLnZhbHVlLmNvb2tpZUJhbm5lci5jb29raWVCYW5uZXJEaXNhYmxlZCAhPT0gdHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwibS1iLTMyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgIGZvcj1cImNvb2tpZUJhbm5lclRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIFRpdGxlXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICBpZD1cImNvb2tpZUJhbm5lclRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY29va2llQmFubmVyVGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb29raWVCYW5uZXJUaXRsZVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXM+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwibS1iLTMyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgIGZvcj1cInBvbGljeVVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICBMaW5rIHRvIHByaXZhY3kgcG9saWN5XG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICBpZD1cInBvbGljeVVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInBvbGljeVVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBvbGljeVVybFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXM+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwibS1iLTMyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgIGZvcj1cInBvbGljeVZlcnNpb25cIlxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiBvZiBwcml2YWN5IHBvbGljeVxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgaWQ9XCJwb2xpY3lWZXJzaW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwicG9saWN5VmVyc2lvblwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBvbGljeVZlcnNpb25cIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgICAgICAgW2hlbHBNZXNzYWdlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgJ0NoYW5naW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBwcml2YWN5IHBvbGljeSBpbnZhbGlkYXRlcyBhbHJlYWR5IGV4aXN0aW5nIGNvb2tpZSBjb25zZW50cy4nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwibS1iLTMyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgIGZvcj1cImNvb2tpZUJhbm5lclRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgVGV4dFxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjb29raWVCYW5uZXJUZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY29va2llQmFubmVyVGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgcm93cz1cIjhcIlxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvb2tpZUJhbm5lclRleHRcIlxuICAgICAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlcz48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDwhLS0gTWVzc2FnZSBiYW5uZXIgLS0+XG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIHNlcGFyYXRvci10b3BcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS0zIGNvbC1tZC0yIHAtdC0xNlwiPlxuICAgICAgICA8aDRcbiAgICAgICAgICBjbGFzcz1cInRleHQtbm9ybWFsIHRleHQtcmlnaHQgdGV4dC1sZWZ0LXhzIG0tYi0xNlwiXG4gICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgID5cbiAgICAgICAgICBNZXNzYWdlIGJhbm5lclxuICAgICAgICA8L2g0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTkgY29sLW1kLTEwXCI+XG4gICAgICAgIDxmaWVsZHNldFxuICAgICAgICAgIGNsYXNzPVwiYzh5LWZpZWxkc2V0IHAtMjRcIlxuICAgICAgICAgIFtmb3JtR3JvdXBOYW1lXT1cIidtZXNzYWdlQmFubmVyJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8bGVnZW5kIHRyYW5zbGF0ZT5NZXNzYWdlIGJhbm5lcjwvbGVnZW5kPlxuXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYzh5LXN3aXRjaFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbmFtZT1cIm1lc3NhZ2VCYW5uZXJFbmFibGVkXCJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWVzc2FnZUJhbm5lckVuYWJsZWRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5FbmFibGUgbWVzc2FnZSBiYW5uZXI8L3NwYW4+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNvbGxhcHNlXCJcbiAgICAgICAgICAgIFtjb2xsYXBzZV09XCIhZm9ybUdyb3VwLnZhbHVlLm1lc3NhZ2VCYW5uZXIubWVzc2FnZUJhbm5lckVuYWJsZWRcIlxuICAgICAgICAgICAgW2lzQW5pbWF0ZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhLWktY2VudGVyIGdhcC04IHAtdC0xNiBwLWItMTZcIj5cbiAgICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPVwiYzh5LWZpZWxkc2V0IHAtMTZcIj5cbiAgICAgICAgICAgICAgICA8bGVnZW5kPnt7ICdNZXNzYWdlIHR5cGUnIHwgdHJhbnNsYXRlIH19PC9sZWdlbmQ+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImM4eS1yYWRpbyByYWRpby1pbmxpbmVcIlxuICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnSW5mbycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cImluZm9cIlxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtZXNzYWdlQmFubmVyVHlwZVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1pbmZvIGljb24tMTYgbS1yLTRcIlxuICAgICAgICAgICAgICAgICAgICAgIGM4eUljb249XCJpbmZvLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgICAgICAgIEluZm9cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjOHktcmFkaW8gcmFkaW8taW5saW5lXCJcbiAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ1dhcm5pbmcnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJ3YXJuaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWVzc2FnZUJhbm5lclR5cGVcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGEtaS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtd2FybmluZyBpY29uLTE2IG0tci00XCJcbiAgICAgICAgICAgICAgICAgICAgICBjOHlJY29uPVwid2FybmluZ1wiXG4gICAgICAgICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdXYXJuaW5nJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImM4eS1yYWRpbyByYWRpby1pbmxpbmVcIlxuICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnRGFuZ2VyJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWVzc2FnZUJhbm5lclR5cGVcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGEtaS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtZGFuZ2VyIGljb24tMTYgbS1yLTRcIlxuICAgICAgICAgICAgICAgICAgICAgIGM4eUljb249XCJleGNsYW1hdGlvbi1jaXJjbGVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICB7eyAnRGFuZ2VyJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImM4eS1yYWRpbyByYWRpby1pbmxpbmVcIlxuICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnU3VjY2VzcycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInN1Y2Nlc3NcIlxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtZXNzYWdlQmFubmVyVHlwZVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zdWNjZXNzIGljb24tMTYgbS1yLTRcIlxuICAgICAgICAgICAgICAgICAgICAgIGM4eUljb249XCJjaGVjay1jaXJjbGVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICB7eyAnU3VjY2VzcycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjOHktcmFkaW8gcmFkaW8taW5saW5lXCJcbiAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ1N5c3RlbScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInN5c3RlbVwiXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1lc3NhZ2VCYW5uZXJUeXBlXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtcHJpbWFyeSBpY29uLTE2IG0tcjRcIlxuICAgICAgICAgICAgICAgICAgICAgIGM4eUljb249XCJ3cmVuY2hcIlxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICB7eyAnU3lzdGVtJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwXG4gICAgICAgICAgICAgIGNsYXNzPVwibS1iLTMyIHAtYi0zMlwiXG4gICAgICAgICAgICAgIFtzdHlsZV09XCJ7IGhlaWdodDogJzMwMHB4JyB9XCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJmb3JtR3JvdXAudmFsdWUubWVzc2FnZUJhbm5lci5tZXNzYWdlQmFubmVyRW5hYmxlZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGZvcj1cIm1lc3NhZ2VCYW5uZXJDb250ZW50XCJcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIE1lc3NhZ2UgY29udGVudFxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8Yzh5LWVkaXRvclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleC1ncm93IGZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1lc3NhZ2VCYW5uZXJDb250ZW50XCJcbiAgICAgICAgICAgICAgICBbZWRpdG9yT3B0aW9uc109XCJ7bGFuZ3VhZ2U6ICdtYXJrZG93bid9XCJcbiAgICAgICAgICAgICAgICBtb25hY29FZGl0b3JNYXJrZXJWYWxpZGF0b3JcbiAgICAgICAgICAgICAgPjwvYzh5LWVkaXRvcj5cbiAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlc1xuICAgICAgICAgICAgICAgIFtoZWxwTWVzc2FnZV09XCJtZXNzYWdlQmFubmVySGVscCB8IHRyYW5zbGF0ZTogbWVzc2FnZUJhbm5lckhlbHBQYXJhbXNcIlxuICAgICAgICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgIDxjOHktbWVzc2FnZXM+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJwcmV2aWV3QmFubmVyKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgIGNsYXNzPVwibS1yLTRcIlxuICAgICAgICAgICAgICAgIGM4eUljb249XCJleWVcIlxuICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+UHJldmlldyBiYW5uZXI8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9maWVsZHNldD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -33,4 +33,4 @@ export var PluginsExportScopes;
33
33
  */
34
34
  PluginsExportScopes["DEFAULT"] = "";
35
35
  })(PluginsExportScopes || (PluginsExportScopes = {}));
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBcVE5QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksbUJBa0JYO0FBbEJELFdBQVksbUJBQW1CO0lBQzdCOztPQUVHO0lBQ0gsb0NBQWEsQ0FBQTtJQUNiOzs7T0FHRztJQUNILHdDQUFpQixDQUFBO0lBQ2pCOztPQUVHO0lBQ0gsc0RBQStCLENBQUE7SUFDL0I7O09BRUc7SUFDSCxtQ0FBWSxDQUFBO0FBQ2QsQ0FBQyxFQWxCVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBa0I5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiwgVmVyc2lvbmluZ01hdHJpeCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB0eXBlIHtcbiAgQXBwbGljYXRpb25PcHRpb25zIGFzIEFwcE9wdGlvbnMsXG4gIEJyYW5kaW5nQ3NzVmFycyxcbiAgTGFuZ3VhZ2VzLFxuICBJMThuRXh0cmEsXG4gIERvY3MsXG4gIEljb24sXG4gIExvZ2luRXh0cmFMaW5rLFxuICBDb29raWVCYW5uZXJDb25maWd1cmF0aW9uLFxuICBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb24sXG4gIFJlbW90ZVBsdWdpbnMsXG4gIE1hcFRpbGVMYXllcixcbiAgTWFwRGVmYXVsdENvbmZpZyxcbiAgUGx1Z2luc0V4cG9ydHMsXG4gIE1lc3NhZ2VCYW5uZXJDb25maWd1cmF0aW9uXG59IGZyb20gJ0BjOHkvb3B0aW9ucyc7XG5cbi8qXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVdBUk5JTkctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgZmlsZSBpbXBsZW1lbnRzIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBvcmlnaW4gQXBwT3B0aW9uc1xuICogKipORVZFUioqIGNoYW5nZSB0aGlzIGZpbGUgZGlyZWN0bHkuIEluc3RlYWQgZG86XG4gKiAxLiBvcGVuIHBhY2thZ2VzL29wdGlvbnMvc3JjL0FwcGxpY2F0aW9uT3B0aW9ucy50cyBhbmQgYWRkIHlvdXIgcHJvcGVydHkgdGhlcmVcbiAqIDIuIGNoZWNrIGluIHRoaXMgZmlsZSBpZiBhbGwgb3B0aW9ucyBhcmUgaW1wbGVtZW50ZWQuXG4gKlxuICogVE9ETzogVGhpcyBmaWxlIHNob3VsZCB0aHJvdyB3aGVuIGEgcHJvcGVydHkgaXMgaW4gdGhlIEFwcE9wdGlvbnMgYnV0IG5vdCBpbXBsZW1lbnRlZCBoZXJlLlxuICogICAgICAgVGhpcyBzZWVtcyBub3QgdG8gd29yayBhdG0uIFdlIG5lZWQgdG8gY2hlY2sgd2h5LlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIGltcGxlbWVudHMgQXBwT3B0aW9ucyB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29udGV4dFBhdGg6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZztcbiAgd2ViU2RrVmVyc2lvbj86IHN0cmluZztcbiAgLyoqIFNldCB0byBgdHJ1ZWAgaWYgdGhlIGFwcGxpY2F0aW9uIGlzIGh5YnJpZCBhbmQgdXNlcyBBbmd1bGFyIGFuZCBBbmd1bGFySlMgc2ltdWx0YW5lb3VzbHkuICovXG4gIHVwZ3JhZGU/OiBib29sZWFuO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgYnJhbmRpbmcgZW50cnkgZmlsZS4gKFNldCBpdCB0byBmYWxzZSB0byBkaXNhYmxlIGFueSBzdHlsaW5nLiBZb3UgY2FuIGhhbmRsZSB0aGUgc3R5bGluZyB0aGVuIG9uIHlvdXIgb3duIGUuZy4gaW4gYW4gYW5ndWxhci5qc29uIGZpbGUgdXNpbmcgbmctY2xpKVxuICAgKiBAZGVwcmVjYXRlZCBBZGQgeW91ciBnbG9iYWwgc3R5bGVzIHZpYSB0aGUgYW5ndWxhci5qc29uIGZpbGUuXG4gICAqL1xuICBicmFuZGluZ0VudHJ5PzogZmFsc2U7XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLlxuICAgKiBJZiBzZXQgdG8gYHRydWVgIG9yIGxlZnQgdW5kZWZpbmVkLCBhbiBVUkwgd2lsbCBiZSB1c2VkIGJhc2VkIG9uIHRoZSBhcHBsaWNhdGlvbnMgY29udGV4dFBhdGguXG4gICAqIElmIHNldCB0byBgZmFsc2VgLCBubyBkeW5hbWljIG9wdGlvbnMgd2lsbCBiZSBmZXRjaGVkLlxuICAgKiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBVUkwgdG8gZmF2aWNvbi4gKi9cbiAgZmF2aWNvblVybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byAqLmNzcyBmaWxlIHdoaWNoIHdpbGwgcmVwbGFjZSBkZWZhdWx0IGJyYW5kaW5nLiAqL1xuICBicmFuZGluZ1VybD86IHN0cmluZztcbiAgLyoqIEVuYWJsZXMgdGhlIGJyYW5kaW5nIHByZXZpZXcgbW9kZS4gSWYgc2V0IHRvIHRydWUsIHRoZSBgZHluYW1pY09wdGlvbnNVcmxgIHdpbGwgYmUgcG9sbGVkIHJlZ3VsYXJseSBmb3IgY2hhbmdlcy4gSW4gY2FzZSB0aGUgYGxhc3RVcGRhdGVkYCBmaWVsZCBvZiB0aGUgZHluYW1pYyBvcHRpb25zIGNoYW5nZXMsIHRoZSBwYWdlIGlzIHJlbG9hZGVkIGluIG9yZGVyIHRvIGFwcGx5IHRoZSBuZXcgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nUHJldmlldz86IGJvb2xlYW47XG4gIC8qKiBPYmplY3Qgd2l0aCBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gQ1NTIGN1c3RvbSB2YXJpYWJsZXMuICovXG4gIGJyYW5kaW5nQ3NzVmFycz86IEJyYW5kaW5nQ3NzVmFycztcbiAgLyoqXG4gICAqIEFsbG93cyBmb3IgYWRkaW5nIG9yIG92ZXJyaWRpbmcgbGFuZ3VhZ2VzIGF2YWlsYWJsZSBpbiB0aGUgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEl0cyBrZXlzIGFyZSBsYW5ndWFnZSBjb2RlcyBhbmQgaXRzIHZhbHVlcyBhcmUgb2JqZWN0cyB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAgICpcbiAgICogLSBgbmFtZWA6IEVuZ2xpc2ggbmFtZSBvZiB0aGUgbGFuZ3VhZ2UsXG4gICAqIC0gYG5hdGl2ZU5hbWVgOiBuYXRpdmUgbmFtZSBvZiB0aGUgbGFuZ3VhZ2UsXG4gICAqIC0gYHVybGA6IGZ1bGwgVVJMIHRvIEpTT04gZmlsZSB3aXRoIGNvbXBpbGVkIHRyYW5zbGF0aW9ucztcbiAgICogICAgaWYgbm90IGRlZmluZWQsIHRyYW5zbGF0aW9ucyB3aWxsIGJlIGxvYWRlZCBmcm9tIGAke2xvY2FsZVBhdGh9LyR7bGFuZ0NvZGV9Lmpzb25gLlxuICAgKlxuICAgKiBFeGFtcGxlOlxuICAgKiBgYGBqc29uXG4gICAqIFwibGFuZ3VhZ2VzXCI6IHtcbiAgICogICBcImRlXCI6IHtcbiAgICogICAgIFwibmFtZVwiOiBcIkdlcm1hblwiLFxuICAgKiAgICAgXCJuYXRpdmVOYW1lXCI6IFwiRGV1dHNjaFwiLFxuICAgKiAgICAgXCJ1cmxcIjogXCIvYXBwcy9wdWJsaWMvdWktYXNzZXRzL2RlLmpzb25cIlxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGxhbmd1YWdlcz86IExhbmd1YWdlcztcbiAgLyoqXG4gICAqIEFsbG93cyB0byBhZGQgY3VzdG9tIHRyYW5zbGF0aW9ucy4gSXQgaXMgYW4gb3B0aW9uYWwgcHJvcGVydHkuXG4gICAqXG4gICAqIEl0cyBrZXlzIGFyZSBsYW5ndWFnZSBjb2RlcyAoaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMvdXNlcnMtZ3VpZGUvZ2V0dGluZy1zdGFydGVkLyNhLW5hbWUtbGFuZ3VhZ2VzLWEtYXZhaWxhYmxlLWxhbmd1YWdlcylcbiAgICogYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCBrZXktdmFsdWUgcGFpcnMsIHdoZXJlIHRoZSBrZXkgaXMgdGhlIG9yaWdpbmFsIHN0cmluZyBpbiBFbmdsaXNoIGFuZCB0aGUgdmFsdWUgLSBpdHMgdHJhbnNsYXRpb24uXG4gICAqXG4gICAqIC0gYEhvbWVgOiBcIlN0YXJ0c2VpdGVcIlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSB5b3UgY2FuIGFkZCB0aGUgdHJhbnNsYXRpb24gb2YgeW91ciBjdXN0b20gY29va2llIGJhbm5lciBjb25maWd1cmVkIGluIHRoZSBicmFuZGluZyBzZXR0aW5nczpcbiAgICogYGBganNvblxuICAgKiBcImkxOG5FeHRyYVwiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIkFib3V0IGNvb2tpZXMgb24gQ3VtdWxvY2l0eSBJb1RcIjogXCJJbmZvcm1hdGlvbmVuIHp1IENvb2tpZXMgaW4gQ3VtdWxvY2l0eSBJb1RcIixcbiAgICogICAgIFwiQ2xpY2sgQWdyZWUgYW5kIFByb2NlZWQgdG8gYWNjZXB0IGNvb2tpZXMgYW5kIGdvIGRpcmVjdGx5IHRvIHRoZSBwbGF0Zm9ybSBvciBjbGljayBvbiBQcml2YWN5IFBvbGljeSB0byBzZWUgZGV0YWlsZWQgZGVzY3JpcHRpb25zIG9mIHRoZSB1c2VkIGNvb2tpZXMuXCI6IFwiS2xpY2tlbiBTaWUgYXVmIFp1c3RpbW1lbiB1bmQgZm9ydGZhaHJlbiwgdW0gQ29va2llcyB6dSBha3plcHRpZXJlbiB1bmQgZGlyZWt0IHp1ciBQbGF0dGZvcm0genUgZ2VsYW5nZW4sIG9kZXIga2xpY2tlbiBTaWUgYXVmIERhdGVuc2NodXR6cmljaHRsaW5pZSwgdW0gZGV0YWlsbGllcnRlIEJlc2NocmVpYnVuZ2VuIGRlciB2ZXJ3ZW5kZXRlbiBDb29raWVzIGFuenV6ZWlnZW4uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBpMThuRXh0cmE/OiBJMThuRXh0cmE7XG4gIC8qKiBQYXRoIHRvIHRoZSBmb2xkZXIgZnJvbSB3aGljaCAqLnBvIGZpbGVzIHdpbGwgYmUgbG9hZGVkLiAqL1xuICBsb2NhbGVQYXRoPzogc3RyaW5nO1xuICAvKiogQXJyYXkgb2YgVVJMcyB0byBhZGRpdGlvbmFsICouY3NzIGZpbGVzIHRvIGJlIGxvYWRlZCBhdCBydW50aW1lLiAqL1xuICBleHRyYUNzc1VybHM/OiBzdHJpbmdbXTtcbiAgLyoqIFN0eWxlc2hlZXQgKENTUykgdGhhdCB3aWxsIGJlIGFkZGVkIGF0IHJ1bnRpbWUuIFRoZSBzdHJpbmcgc2hvdWxkIGFjdHVhbGx5IGNvbnRhaW4gdGhlIENTUyBub3QgYSBwYXRoIG9yIFVSTCB0byBpdC4gKi9cbiAgZXh0cmFDc3M/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uIGxpbmtzIHNldHRpbmdzLiAqL1xuICBkb2NzPzogRG9jcztcbiAgLyoqIEFwcGxpY2F0aW9uIGljb24gdG8gYmUgZGlzcGxheWVkIGluIGFwcCBzd2l0Y2hlciBhbmQgaGVhZGVyIGJhci4gKi9cbiAgaWNvbj86IEljb247XG5cbiAgLy8gVGhlc2UgYXJlIHRoZSBvbGQgb3B0aW9uc1xuICAvKiogSGlkZSBhcHBsaWNhdGlvbiBpbiBhcHAgc3dpdGNoZXIgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBub0FwcFN3aXRjaGVyPzogYm9vbGVhbjtcbiAgLyoqIEhUTUwgcGFnZSB0aXRsZS4gKi9cbiAgZ2xvYmFsVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBIaWRlIFwicG93ZXJlZCBieVwiIGFuZCB2ZXJzaW9uIGluZm8gYXQgdGhlIGJvdHRvbSBvZiB0aGUgbmF2aWdhdG9yIGFuZCBpbiB0aGUgcmlnaHQgZHJhd2VyLiAqL1xuICBoaWRlUG93ZXJlZD86IGJvb2xlYW47XG4gIC8qKiBIaWRlcyB0aGUgaGVhZGVyIGJhciAqL1xuICBoaWRlSGVhZGVyPzogYm9vbGVhbjtcbiAgLyoqIEhpZGVzIHRoZSBcIlBsYXRmb3JtIGluZm9ybWF0aW9uXCIgaW4gdGhlIHJpZ2h0IGRyYXdlciwgd2lsbCBvdmVycnVsZSB0aGUgXCJoaWRlUG93ZXJlZFwiIG9wdGlvbiAqL1xuICBoaWRlUGxhdGZvcm1JbmZvcm1hdGlvbj86IGJvb2xlYW47XG4gIC8qKiBVUkwgdG8gc3VwcG9ydCBwYWdlIChzZXQgdG8gYGZhbHNlYCB0byBoaWRlIHRoZSBsaW5rKS4gKi9cbiAgc3VwcG9ydFVybD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZXBsYWNlbWVudCBzdHJpbmcgZm9yIGB1c2VyYCBmaWVsZCBpbiBhdWRpdCBsb2dzIGZvciBhY3Rpb25zIHBlcmZvcm1lZCBieSBhIHN1cHBvcnQgdXNlclxuICAgKiAoYXZhaWxhYmxlIHBsYWNlaG9sZGVyczogYHt7c3VwcG9ydF91c2VyfX1gLCBge3tzdXBwb3J0ZWRfdXNlcn19YCkuXG4gICAqL1xuICBzdXBwb3J0VXNlclN0cmluZz86IHN0cmluZztcbiAgLyoqXG4gICAqIERpc2FibGVzIHJlYWx0aW1lIHVwZGF0ZXMgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFJlYWx0aW1lRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGFkanVzdCB0aGUgZGVmYXVsdCBwYWdlc2l6ZSBvZiAxMDAgaXRlbXMgb2YgdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFBhZ2VTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGhpZGUgdGhlIGhpbnQgdGhhdCB0aGVyZSBhcmUgbW9yZSBkZXZpY2VzIHdpdGggZ2VvIGNvb3JkaW5hdGVzIHRoZW4gZGlzcGxheWVkIG9uIHRoZSBtYXAgd2lkZ2V0IGFuZCBtYXBzIGluIGdlbmVyYWwuXG4gICAqL1xuICBtYXBXaWRnZXRIaWRlTWF4RGV2aWNlT25NYXBIaW50PzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHRoZSByaWdodCBkcmF3ZXIuICovXG4gIHJpZ2h0RHJhd2VyPzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIGJyZWFkY3J1bWJzIGluIHRoZSBoZWFkZXIgZm9yIGdyb3VwcyBhbmQgZGV2aWNlcyAoZGVmYXVsdDogZmFsc2UpLiAqL1xuICBicmVhZGNydW1icz86IGJvb2xlYW47XG4gIC8qKiBDb2xsYXBzZSBuYXZpZ2F0b3Igb24gaW5pdGlhbCBsb2FkLiAqL1xuICBoaWRlTmF2aWdhdG9yPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgdGFicyBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS4gKi9cbiAgdGFic0hvcml6b250YWw/OiBib29sZWFuO1xuICAvKiogQWRkaXRpb25hbCBsaW5rKHMpIHRvIGRpc3BsYXkgb24gbG9naW4gc2NyZWVuLiAqL1xuICBsb2dpbkV4dHJhTGluaz86IExvZ2luRXh0cmFMaW5rIHwgTG9naW5FeHRyYUxpbmtbXTtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHN0b3JhZ2UgbGltaXRhdGlvbiBmZWF0dXJlLiAqL1xuICBzdG9yYWdlTGltaXRhdGlvbkZlYXR1cmVFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIE5hbWUgb2YgY29tcGFueSBoYW5kbGluZyBzdXBwb3J0IHJlcXVlc3RzIGZyb20gYXBwIHVzZXJzIChkaXNwbGF5ZWQgaW4gbm90aWZpY2F0aW9uIG1lc3NhZ2UpLiAqL1xuICBjb21wYW55TmFtZT86IHN0cmluZztcbiAgLyoqIFVSTCB0ZW1wbGF0ZSBmb3IgZG9jdW1lbnRhdGlvbiBsaW5rcyAoZGVmYXVsdDogYCcke2RvY3NCYXNlVXJsfSR7cGFydGlhbFVybH0nYCkuICovXG4gIGd1aWRlSHJlZlRlbXBsYXRlPzogc3RyaW5nO1xuICAvKiogQmFzZSBVUkwgZm9yIGRvY3VtZW50YXRpb24gbGlua3MgKGluY2x1ZGUgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyLCBpZiB5b3Ugd2FudCB2ZXJzaW9uZWQgbGlua3MpLiAqL1xuICBkb2NzQmFzZVVybD86IHN0cmluZztcbiAgLyoqIENTUCBzdHJpbmcgdG8gYmUgYXBwbGllZCB0byBgaW5kZXguaHRtbGAgYnkgcmVwbGFjaW5nIGRlZmF1bHQgdmFsdWVzLiAqL1xuICBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBzdHJpbmc7XG4gIC8qKiBFbmFibGVzIGNsb3VkIHNlbnNvciB3aXphcmQgKi9cbiAgc2Vuc29yUGhvbmU/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIGEgbmV3c2xldHRlciBzdWJzY3JpcHRpb24gY2hlY2tib3ggaW4gZWRpdCB1c2VyIG1vZGFsLiAqL1xuICBuZXdzbGV0dGVyPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIHJvb3Qgbm9kZV9tb2R1bGVzIGRpciAodXNlZnVsIHdoZW4gd29ya2luZyBpbiBtb25vcmVwbyBzZXR1cCwgZS5nLiB5YXJuIHdvcmtzcGFjZXMpLiAqL1xuICByb290Tm9kZU1vZHVsZXNQYXRoPzogc3RyaW5nO1xuICAvKiogQ29va2llIEJhbm5lciBjb25maWd1cmF0aW9uICovXG4gIGNvb2tpZUJhbm5lcj86IENvb2tpZUJhbm5lckNvbmZpZ3VyYXRpb247XG4gIC8qKiBDb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbi4gSGVyZSB5b3UgY2FuIGVuYWJsZSBvciBkaXNhYmxlIGNvb2tpZSBjYXRlZ29yaWVzICovXG4gIGNvb2tpZVByZWZlcmVuY2VzPzogQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uO1xuICAvKiogTWVzc2FnZSBCYW5uZXIgY29uZmlndXJhdGlvbiAqL1xuICBtZXNzYWdlQmFubmVyPzogTWVzc2FnZUJhbm5lckNvbmZpZ3VyYXRpb247XG4gIC8qKiBBIGtleSBmb3IgdGhlIHByb2R1Y3QgZXhwZXJpZW5jZSBzb2Z0d2FyZSBHYWluc2lnaHQuICovXG4gIGdhaW5zaWdodEtleT86IHN0cmluZztcbiAgLyoqIERpc2FibGUgdXNlciB0cmFja2luZyAqL1xuICBkaXNhYmxlVHJhY2tpbmc/OiBib29sZWFuO1xuICAvKiogTmdNb2R1bGUgZXhwb3J0IGZvciBwbHVnaW5zLiAqL1xuICBleHBvcnRzPzogUGx1Z2luc0V4cG9ydHNbXTtcbiAgLyoqIExpc3Qgb2YgaW1wb3J0ZWQgcmVtb3RlIHBsdWdpbnMuICovXG4gIHJlbW90ZXM/OiBSZW1vdGVQbHVnaW5zO1xuICAvKiogSWYgc2V0IHRvIHRydWUsIG9ubHkgcmVtb3RlcyBkZWZpbmVkIGluIHRoZSBgcmVtb3Rlc2AgcXVlcnkgcGFyYW1ldGVyIHdpbGwgYmUgbG9hZGVkLiAqL1xuICBmb3JjZVVybFJlbW90ZXM/OiBib29sZWFuO1xuICAvKiogVGhlIHBhY2thZ2Ugc291cmNlIGEgYXBwbGljYXRpb24gb3JpZ2lucyBmcm9tIGFzIElBcHBsaWNhdGlvbiBvciBzaW1wbHkgdGhlIGlkIG9mIHRoZSBzb3VyY2UgKi9cbiAgc291cmNlPzogc3RyaW5nIHwgbnVtYmVyIHwgSUFwcGxpY2F0aW9uO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhc3NldHMgdG8gY29weSB0byB0aGUgYnVpbGQgb3V0cHV0LlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9jb3B5LXdlYnBhY2stcGx1Z2luIGZvciBtb3JlIGluZm9ybWF0aW9uXG4gICAqIGFib3V0IHRoZSBwYXR0ZXJucyB0byBhZGQgaGVyZS5cbiAgICovXG4gIGNvcHk/OiBbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBlbmFibGUgb3IgZGlzYWJsZSBjb250ZXh0IGhlbHAsIG9yIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJhc2UgVVJMIHVzZWQgdG8gbG9hZCBpdHMgY29udGVudHMuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBjb250ZXh0IGhlbHAgdXNlcyB0aGUgc2FtZSBiYXNlIFVSTCBhcyBkZWZpbmVkIGluIHRoZSBgZG9jc0Jhc2VVcmxgIG9wdGlvblxuICAgKiAoaWYgdGhpcyBvcHRpb24gaXMgdW5kZWZpbmVkLCB0aGVuIHRoZSBmb2xsb3dpbmcgdmFsdWUgd2lsbCBiZSB1c2VkOiBgaHR0cHM6Ly93d3cuY3VtdWxvY2l0eS5jb20vZ3VpZGVzL3t7dmVyc2lvbn19YCkuXG4gICAqIEFsdGVybmF0aXZlbHksIGlmIGEgc3RyaW5nIGlzIHByb3ZpZGVkIGhlcmUsIGl0J2xsIGJlIHVzZWQgYXMgdGhlIGJhc2UgVVJMXG4gICAqIGFuZCBhbnkgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgcmVsZXZhbnQgZG9jcyB2ZXJzaW9uLlxuICAgKi9cbiAgY29udGV4dEhlbHA/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgY29ja3BpdCBhbmQgZGV2aWNlbWFuYWdlbWVudCB1c2UgdGhlIG9ubHlSb290cyBxdWVyeSB0byByZXNvbHZlIHJvb3Qgbm9kZXMuIFRoaXNcbiAgICogY291bGQgbGVhZCB0byBwZXJmb3JtYW5jZSBpc3N1ZXMsIGlmIGEgY3VzdG9tZXIgaGFzIGEgbG90IG9mIHJvb3Qgbm9kZXMuIFRoZXJlZm9yZSB5b3UgY2FuIGRpc2FibGVcbiAgICogdGhlIHVzZSBvZiB0aGlzIHF1ZXJ5IHdpdGggdGhpcyBmbGFnLlxuICAgKi9cbiAgZGlzYWJsZU9ubHlSb290c1F1ZXJ5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBmb3JjZSBzaG93aW5nIHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBmb3JjZVNldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgYXBwbGljYXRpb24gbmVlZHMgdG8gc2hvdyB0aGUgc2V0dXAgd2l6YXJkLlxuICAgKi9cbiAgaXNTZXR1cD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGEgV2ViU0RLIGFwcCByZXF1aXJlcyB0aGUgdXNlciB0byBiZSBsb2dnZWQgaW4uXG4gICAqIEluIGNhc2UgeW91IHdvdWxkIGxpa2UgdG8gZGV2ZWxvcCBqdXN0IGEgc3RhdGljIGFwcGxpY2F0aW9uLCB0aGF0IGRvZXMgbm90IHJlcXVpcmUgYW55IGtpbmQgb2YgYWNjZXNzIHRvIHRoZSBiYWNrZW5kLFxuICAgKiB5b3UgY2FuIHVzZSB0aGlzIGZsYWcgdG8gZGlzYWJsZSB0aGUgbG9naW4gc2NyZWVuLlxuICAgKiBOT1RFOiBub3QgYWxsIFdlYlNESyBjb21wb25lbnRzIHN1cHBvcnQgdGhpcywgc29tZSBtaWdodCByZXF1aXJlIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbiBhbmQgd29uJ3Qgd29yay5cbiAgICovXG4gIG5vTG9naW4/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2Ygc3VwcG9ydGluZy9sb2FkaW5nIHBsdWdpbnMgZm9yIHRoaXMgYXBwbGljYXRpb24uXG4gICAqL1xuICBub1BsdWdpbnM/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2YgdGhlIHZlcnNpb24gd2FybmluZyB3aGljaCBpcyBzaG93biBpbiB0aGUgZGV2IHRvb2xzLlxuICAgKi9cbiAgbm9WZXJzaW9uV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gc2V0IHRoZSBtYXAgbGF5ZXJzLiBJZiBub3Qgc2V0LCBkZWZhdWx0cyB0byBvcGVuIHN0cmVldCBtYXAgbGF5ZXIuXG4gICAqL1xuICBtYXBMYXllcnM/OiBNYXBUaWxlTGF5ZXJbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzZXQgZGVmYXVsdCBjb25maWd1cmF0aW9ucyBvbiB0aGUgbWFwcy5cbiAgICovXG4gIG1hcENvbmZpZz86IE1hcERlZmF1bHRDb25maWc7XG4gIC8qKlxuICAgKiBUaGUgVVJMIHVzZWQgdG8gbG9va3VwIGdlbyBjb29yZGluYXRlcyBmb3IgYSB1c2VyIHByb3ZpZGVkIGFkZHJlc3MgdmlhIFtub21pbmF0aW0gQVBJXShodHRwczovL25vbWluYXRpbS5vcmcvcmVsZWFzZS1kb2NzL2RldmVsb3AvYXBpL1NlYXJjaC8pLlxuICAgKiBDYW4gYmUgc2V0IHRvIGVtcHR5IHRvIGRpc2FibGUgdGhlIGZpbmQgYWRkcmVzcyBmZWF0dXJlIG9uIHRoZSBsb2NhdGlvbiB0YWIuXG4gICAqIFVzZXM6IGBodHRwczovL25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZy9zZWFyY2g/Zm9ybWF0PWpzb24mcT17c2VhcmNoVGVybX1gIGlmIG5vdCBzZXQuXG4gICAqL1xuICBtYXBOb21pbmF0aW1Vcmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcm9vdCBlbGVtZW50LiBCeSBkZWZhdWx0IGM4eS1ib290c3RyYXAuXG4gICAqL1xuICByb290VGFnTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEhpZGVzIHBvc3NpYmlsaXR5IHRvIGNyZWF0ZSB0eXBlZCBkYXNoYm9hcmRzIGZvciBhc3NldHMgKGFuZCBncm91cHMpLiBJZiB0cnVlLCB0eXBlZCBkYXNoYm9hcmRzIGNhbiBiZSBjcmVhdGVkIG9ubHkgZm9yIGRldmljZXMuXG4gICAqIEl0IGlzIHRydWUgYnkgZGVmYXVsdC5cbiAgICovXG4gIGhpZGVUeXBlRGFzaGJvYXJkRm9yQXNzZXRzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEEgbWF0cml4IG9mIHZlcnNpb25zIGluZGljYXRpbmcgd2hpY2ggdmVyc2lvbnMgb2YgdGhlIGFwcGxpY2F0aW9uIChrZXkpIGFyZSBkZXBlbmRlbnQgb24gd2hpY2ggdmVyc2lvbiBvZiBhIGN1bXVsb2NpdHkgY29tcG9uZW50IChBUEkgdmVyc2lvbiBhbmQgV2ViIFNESyB2ZXJzaW9uIG9mIHRoZSBzaGVsbCBhcHBsaWNhdGlvbiBjdXJyZW50bHkgc3VwcG9ydGVkLCBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlKS5cbiAgICogVGhlIHZlcnNpb25zIG9mIHRoZSBkZXBlbmRlbnQgY29tcG9uZW50cyBjYW4gYmUgaW5kaWNhdGVkIGJ5IGEgc2VtdmVyIHJhbmdlLlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBqc29uXG4gICAqIHtcbiAgICogIFwiMS4wLjBcIjoge1xuICAgKiAgICBcInNka1wiOiBcIj49MTAxNi4wLjAgPDEwMTcuMC4wXCIsXG4gICAqICAgIFwiYXBpXCI6IFwiPj0xMDE2LjAuMCA8MTAxNy4wLjBcIlxuICAgKiAgfSxcbiAgICogIFwiMi4wLjBcIjoge1xuICAgKiAgICBcInNka1wiOiBcIn4xMDE3LjAuMFwiLFxuICAgKiAgICBcImFwaVwiOiBcIn4xMDE3LjAuMFwiXG4gICAqICB9LFxuICAgKiAgXCIzLjAuMFwiOiB7XG4gICAqICAgIFwic2RrXCI6IFwiPj0xMDE4LjAuMFwiLFxuICAgKiAgICBcImFwaVwiOiBcIj49MTAxOC4wLjBcIlxuICAgKiAgfSxcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIHZlcnNpb25pbmdNYXRyaXg/OiBWZXJzaW9uaW5nTWF0cml4O1xuICAvKipcbiAgICogSXMgdXNlZCBmb3IgcGx1Z2lucyB0byBpbmRpY2F0ZSB0aGVpciBvd25lci4gU29mdHdhcmUgQUcgcGx1Z2lucyBhcmUgbWFya2VkIHdpdGggT0ZGSUNJQUwgbGFiZWwuXG4gICAqIFlvdSBjYW4gdXNlIHRoZSBzcGVjaWFsIFwiQVJDSElWRURcIiBsYWJlbCB0byBtYXJrIHRoZW0gYXMgYXJjaGl2ZWQuXG4gICAqL1xuICBsYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIHR5cGUgb2YgcmVmcmVzaCBtZWNoYW5pc20gdXNlZCBmb3IgYWxhcm1zIGluIHRoZSBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICogLSAncmVhbHRpbWUnOiBVdGlsaXplcyBhIHJlYWx0aW1lIG1lY2hhbmlzbSBmb3IgdXBkYXRpbmcgYWxhcm1zLlxuICAgKiAtICdpbnRlcnZhbCc6IFV0aWxpemVzIEhUVFAgcG9sbGluZyBhdCByZWd1bGFyIGludGVydmFscyB0byByZWZyZXNoIHRoZSBhbGFybXMuXG4gICAqXG4gICAqIFRoaXMgc2V0dGluZyBhbGxvd3MgdG8gc3dpdGNoIGJldHdlZW4gcmVhbHRpbWUgYW5kIGludGVydmFsLWJhc2VkIHJlZnJlc2ggbWV0aG9kcy5cbiAgICovXG4gIGFsYXJtc1JlZnJlc2hUeXBlPzogJ2ludGVydmFsJyB8ICdyZWFsdGltZSc7XG59XG5cbi8qKlxuICogVGVsbHMgaG93IGEgcGx1Z2luIGlzIHNjb3BlZC5cbiAqL1xuZXhwb3J0IGVudW0gUGx1Z2luc0V4cG9ydFNjb3BlcyB7XG4gIC8qKlxuICAgKiBMaW1pdCB0aGUgcGx1Z2luIHRvIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uLiBJdCBpcyBpbXBvcnRlZCBieSBkZWZhdWx0LlxuICAgKi9cbiAgU0VMRiA9ICdzZWxmJyxcbiAgLyoqXG4gICAqIEFsbG93cyB0byBhZGQgdGhlIHBsdWdpbiB0byBhIGdsb2JhbCBzY29wZSwgbWVhbmluZyBpdCBpcyBpbXBvcnRlZCB0byBhbGwgYXBwbGljYXRpb25zIGF0IHRoZSBzYW1lIHRpbWUuXG4gICAqIFRoaXMgaXMgbm90IHVzZWQgYXQgdGhlIG1vbWVudCBidXQgcGxhbm5lZCB0byBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgbmV3IGJyYW5kaW5nIGVkaXRvci5cbiAgICovXG4gIEdMT0JBTCA9ICdnbG9iYWwnLFxuICAvKipcbiAgICogTGltaXQgdGhlIHBsdWdpbiB0byB0aGUgY3VycmVudCBhcHBsaWNhdGlvbi4gVGhlIHBsdWdpbiBpcyBub3QgaW1wb3J0ZWQgYnkgZGVmYXVsdC5cbiAgICovXG4gIFNFTEZfT1BUSU9OQUwgPSAnc2VsZi1vcHRpb25hbCcsXG4gIC8qKlxuICAgKiBMaWtlIHVuZGVmaW5lZCB0aGUgcGx1Z2luIGlzIGF2YWlsYWJsZSBmb3IgYW55IHByaXZhdGUgYXBwbGljYXRpb24uXG4gICAqL1xuICBERUZBVUxUID0gJydcbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBcVE5QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksbUJBa0JYO0FBbEJELFdBQVksbUJBQW1CO0lBQzdCOztPQUVHO0lBQ0gsb0NBQWEsQ0FBQTtJQUNiOzs7T0FHRztJQUNILHdDQUFpQixDQUFBO0lBQ2pCOztPQUVHO0lBQ0gsc0RBQStCLENBQUE7SUFDL0I7O09BRUc7SUFDSCxtQ0FBWSxDQUFBO0FBQ2QsQ0FBQyxFQWxCVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBa0I5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiwgVmVyc2lvbmluZ01hdHJpeCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB0eXBlIHtcbiAgQXBwbGljYXRpb25PcHRpb25zIGFzIEFwcE9wdGlvbnMsXG4gIEJyYW5kaW5nQ3NzVmFycyxcbiAgTGFuZ3VhZ2VzLFxuICBJMThuRXh0cmEsXG4gIERvY3MsXG4gIEljb24sXG4gIExvZ2luRXh0cmFMaW5rLFxuICBDb29raWVCYW5uZXJDb25maWd1cmF0aW9uLFxuICBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb24sXG4gIFJlbW90ZVBsdWdpbnMsXG4gIE1hcFRpbGVMYXllcixcbiAgTWFwRGVmYXVsdENvbmZpZyxcbiAgUGx1Z2luc0V4cG9ydHMsXG4gIE1lc3NhZ2VCYW5uZXJDb25maWd1cmF0aW9uXG59IGZyb20gJ0BjOHkvb3B0aW9ucyc7XG5cbi8qXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVdBUk5JTkctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgZmlsZSBpbXBsZW1lbnRzIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBvcmlnaW4gQXBwT3B0aW9uc1xuICogKipORVZFUioqIGNoYW5nZSB0aGlzIGZpbGUgZGlyZWN0bHkuIEluc3RlYWQgZG86XG4gKiAxLiBvcGVuIHBhY2thZ2VzL29wdGlvbnMvc3JjL0FwcGxpY2F0aW9uT3B0aW9ucy50cyBhbmQgYWRkIHlvdXIgcHJvcGVydHkgdGhlcmVcbiAqIDIuIGNoZWNrIGluIHRoaXMgZmlsZSBpZiBhbGwgb3B0aW9ucyBhcmUgaW1wbGVtZW50ZWQuXG4gKlxuICogVE9ETzogVGhpcyBmaWxlIHNob3VsZCB0aHJvdyB3aGVuIGEgcHJvcGVydHkgaXMgaW4gdGhlIEFwcE9wdGlvbnMgYnV0IG5vdCBpbXBsZW1lbnRlZCBoZXJlLlxuICogICAgICAgVGhpcyBzZWVtcyBub3QgdG8gd29yayBhdG0uIFdlIG5lZWQgdG8gY2hlY2sgd2h5LlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIGltcGxlbWVudHMgQXBwT3B0aW9ucyB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29udGV4dFBhdGg6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZztcbiAgd2ViU2RrVmVyc2lvbj86IHN0cmluZztcbiAgLyoqIFNldCB0byBgdHJ1ZWAgaWYgdGhlIGFwcGxpY2F0aW9uIGlzIGh5YnJpZCBhbmQgdXNlcyBBbmd1bGFyIGFuZCBBbmd1bGFySlMgc2ltdWx0YW5lb3VzbHkuICovXG4gIHVwZ3JhZGU/OiBib29sZWFuO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgYnJhbmRpbmcgZW50cnkgZmlsZS4gKFNldCBpdCB0byBmYWxzZSB0byBkaXNhYmxlIGFueSBzdHlsaW5nLiBZb3UgY2FuIGhhbmRsZSB0aGUgc3R5bGluZyB0aGVuIG9uIHlvdXIgb3duIGUuZy4gaW4gYW4gYW5ndWxhci5qc29uIGZpbGUgdXNpbmcgbmctY2xpKVxuICAgKiBAZGVwcmVjYXRlZCBBZGQgeW91ciBnbG9iYWwgc3R5bGVzIHZpYSB0aGUgYW5ndWxhci5qc29uIGZpbGUuXG4gICAqL1xuICBicmFuZGluZ0VudHJ5PzogZmFsc2U7XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLlxuICAgKiBJZiBzZXQgdG8gYHRydWVgIG9yIGxlZnQgdW5kZWZpbmVkLCBhbiBVUkwgd2lsbCBiZSB1c2VkIGJhc2VkIG9uIHRoZSBhcHBsaWNhdGlvbnMgY29udGV4dFBhdGguXG4gICAqIElmIHNldCB0byBgZmFsc2VgLCBubyBkeW5hbWljIG9wdGlvbnMgd2lsbCBiZSBmZXRjaGVkLlxuICAgKiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBVUkwgdG8gZmF2aWNvbi4gKi9cbiAgZmF2aWNvblVybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byAqLmNzcyBmaWxlIHdoaWNoIHdpbGwgcmVwbGFjZSBkZWZhdWx0IGJyYW5kaW5nLiAqL1xuICBicmFuZGluZ1VybD86IHN0cmluZztcbiAgLyoqIEVuYWJsZXMgdGhlIGJyYW5kaW5nIHByZXZpZXcgbW9kZS4gSWYgc2V0IHRvIHRydWUsIHRoZSBgZHluYW1pY09wdGlvbnNVcmxgIHdpbGwgYmUgcG9sbGVkIHJlZ3VsYXJseSBmb3IgY2hhbmdlcy4gSW4gY2FzZSB0aGUgYGxhc3RVcGRhdGVkYCBmaWVsZCBvZiB0aGUgZHluYW1pYyBvcHRpb25zIGNoYW5nZXMsIHRoZSBwYWdlIGlzIHJlbG9hZGVkIGluIG9yZGVyIHRvIGFwcGx5IHRoZSBuZXcgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nUHJldmlldz86IGJvb2xlYW47XG4gIC8qKiBPYmplY3Qgd2l0aCBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gQ1NTIGN1c3RvbSB2YXJpYWJsZXMuICovXG4gIGJyYW5kaW5nQ3NzVmFycz86IEJyYW5kaW5nQ3NzVmFycztcbiAgLyoqXG4gICAqIEFsbG93cyBmb3IgYWRkaW5nIG9yIG92ZXJyaWRpbmcgbGFuZ3VhZ2VzIGF2YWlsYWJsZSBpbiB0aGUgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEl0cyBrZXlzIGFyZSBsYW5ndWFnZSBjb2RlcyBhbmQgaXRzIHZhbHVlcyBhcmUgb2JqZWN0cyB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAgICpcbiAgICogLSBgbmFtZWA6IEVuZ2xpc2ggbmFtZSBvZiB0aGUgbGFuZ3VhZ2UsXG4gICAqIC0gYG5hdGl2ZU5hbWVgOiBuYXRpdmUgbmFtZSBvZiB0aGUgbGFuZ3VhZ2UsXG4gICAqIC0gYHVybGA6IGZ1bGwgVVJMIHRvIEpTT04gZmlsZSB3aXRoIGNvbXBpbGVkIHRyYW5zbGF0aW9ucztcbiAgICogICAgaWYgbm90IGRlZmluZWQsIHRyYW5zbGF0aW9ucyB3aWxsIGJlIGxvYWRlZCBmcm9tIGAke2xvY2FsZVBhdGh9LyR7bGFuZ0NvZGV9Lmpzb25gLlxuICAgKlxuICAgKiBFeGFtcGxlOlxuICAgKiBgYGBqc29uXG4gICAqIFwibGFuZ3VhZ2VzXCI6IHtcbiAgICogICBcImRlXCI6IHtcbiAgICogICAgIFwibmFtZVwiOiBcIkdlcm1hblwiLFxuICAgKiAgICAgXCJuYXRpdmVOYW1lXCI6IFwiRGV1dHNjaFwiLFxuICAgKiAgICAgXCJ1cmxcIjogXCIvYXBwcy9wdWJsaWMvdWktYXNzZXRzL2RlLmpzb25cIlxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGxhbmd1YWdlcz86IExhbmd1YWdlcztcbiAgLyoqXG4gICAqIEFsbG93cyB0byBhZGQgY3VzdG9tIHRyYW5zbGF0aW9ucy4gSXQgaXMgYW4gb3B0aW9uYWwgcHJvcGVydHkuXG4gICAqXG4gICAqIEl0cyBrZXlzIGFyZSBsYW5ndWFnZSBjb2RlcyAoaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMvdXNlcnMtZ3VpZGUvZ2V0dGluZy1zdGFydGVkLyNhLW5hbWUtbGFuZ3VhZ2VzLWEtYXZhaWxhYmxlLWxhbmd1YWdlcylcbiAgICogYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCBrZXktdmFsdWUgcGFpcnMsIHdoZXJlIHRoZSBrZXkgaXMgdGhlIG9yaWdpbmFsIHN0cmluZyBpbiBFbmdsaXNoIGFuZCB0aGUgdmFsdWUgLSBpdHMgdHJhbnNsYXRpb24uXG4gICAqXG4gICAqIC0gYEhvbWVgOiBcIlN0YXJ0c2VpdGVcIlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSB5b3UgY2FuIGFkZCB0aGUgdHJhbnNsYXRpb24gb2YgeW91ciBjdXN0b20gY29va2llIGJhbm5lciBjb25maWd1cmVkIGluIHRoZSBicmFuZGluZyBzZXR0aW5nczpcbiAgICogYGBganNvblxuICAgKiBcImkxOG5FeHRyYVwiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIkFib3V0IGNvb2tpZXMgb24gQ3VtdWxvY2l0eSBJb1RcIjogXCJJbmZvcm1hdGlvbmVuIHp1IENvb2tpZXMgaW4gQ3VtdWxvY2l0eSBJb1RcIixcbiAgICogICAgIFwiQ2xpY2sgQWdyZWUgYW5kIFByb2NlZWQgdG8gYWNjZXB0IGNvb2tpZXMgYW5kIGdvIGRpcmVjdGx5IHRvIHRoZSBwbGF0Zm9ybSBvciBjbGljayBvbiBQcml2YWN5IFBvbGljeSB0byBzZWUgZGV0YWlsZWQgZGVzY3JpcHRpb25zIG9mIHRoZSB1c2VkIGNvb2tpZXMuXCI6IFwiS2xpY2tlbiBTaWUgYXVmIFp1c3RpbW1lbiB1bmQgZm9ydGZhaHJlbiwgdW0gQ29va2llcyB6dSBha3plcHRpZXJlbiB1bmQgZGlyZWt0IHp1ciBQbGF0dGZvcm0genUgZ2VsYW5nZW4sIG9kZXIga2xpY2tlbiBTaWUgYXVmIERhdGVuc2NodXR6cmljaHRsaW5pZSwgdW0gZGV0YWlsbGllcnRlIEJlc2NocmVpYnVuZ2VuIGRlciB2ZXJ3ZW5kZXRlbiBDb29raWVzIGFuenV6ZWlnZW4uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBpMThuRXh0cmE/OiBJMThuRXh0cmE7XG4gIC8qKiBQYXRoIHRvIHRoZSBmb2xkZXIgZnJvbSB3aGljaCAqLnBvIGZpbGVzIHdpbGwgYmUgbG9hZGVkLiAqL1xuICBsb2NhbGVQYXRoPzogc3RyaW5nO1xuICAvKiogQXJyYXkgb2YgVVJMcyB0byBhZGRpdGlvbmFsICouY3NzIGZpbGVzIHRvIGJlIGxvYWRlZCBhdCBydW50aW1lLiAqL1xuICBleHRyYUNzc1VybHM/OiBzdHJpbmdbXTtcbiAgLyoqIFN0eWxlc2hlZXQgKENTUykgdGhhdCB3aWxsIGJlIGFkZGVkIGF0IHJ1bnRpbWUuIFRoZSBzdHJpbmcgc2hvdWxkIGFjdHVhbGx5IGNvbnRhaW4gdGhlIENTUyBub3QgYSBwYXRoIG9yIFVSTCB0byBpdC4gKi9cbiAgZXh0cmFDc3M/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uIGxpbmtzIHNldHRpbmdzLiAqL1xuICBkb2NzPzogRG9jcztcbiAgLyoqIEFwcGxpY2F0aW9uIGljb24gdG8gYmUgZGlzcGxheWVkIGluIGFwcCBzd2l0Y2hlciBhbmQgaGVhZGVyIGJhci4gKi9cbiAgaWNvbj86IEljb247XG5cbiAgLy8gVGhlc2UgYXJlIHRoZSBvbGQgb3B0aW9uc1xuICAvKiogSGlkZSBhcHBsaWNhdGlvbiBpbiBhcHAgc3dpdGNoZXIgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBub0FwcFN3aXRjaGVyPzogYm9vbGVhbjtcbiAgLyoqIEhUTUwgcGFnZSB0aXRsZS4gKi9cbiAgZ2xvYmFsVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBIaWRlIFwicG93ZXJlZCBieVwiIGFuZCB2ZXJzaW9uIGluZm8gYXQgdGhlIGJvdHRvbSBvZiB0aGUgbmF2aWdhdG9yIGFuZCBpbiB0aGUgcmlnaHQgZHJhd2VyLiAqL1xuICBoaWRlUG93ZXJlZD86IGJvb2xlYW47XG4gIC8qKiBIaWRlcyB0aGUgaGVhZGVyIGJhciAqL1xuICBoaWRlSGVhZGVyPzogYm9vbGVhbjtcbiAgLyoqIEhpZGVzIHRoZSBcIlBsYXRmb3JtIGluZm9ybWF0aW9uXCIgaW4gdGhlIHJpZ2h0IGRyYXdlciwgd2lsbCBvdmVycnVsZSB0aGUgXCJoaWRlUG93ZXJlZFwiIG9wdGlvbiAqL1xuICBoaWRlUGxhdGZvcm1JbmZvcm1hdGlvbj86IGJvb2xlYW47XG4gIC8qKiBVUkwgdG8gc3VwcG9ydCBwYWdlIChzZXQgdG8gYGZhbHNlYCB0byBoaWRlIHRoZSBsaW5rKS4gKi9cbiAgc3VwcG9ydFVybD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZXBsYWNlbWVudCBzdHJpbmcgZm9yIGB1c2VyYCBmaWVsZCBpbiBhdWRpdCBsb2dzIGZvciBhY3Rpb25zIHBlcmZvcm1lZCBieSBhIHN1cHBvcnQgdXNlclxuICAgKiAoYXZhaWxhYmxlIHBsYWNlaG9sZGVyczogYHt7c3VwcG9ydF91c2VyfX1gLCBge3tzdXBwb3J0ZWRfdXNlcn19YCkuXG4gICAqL1xuICBzdXBwb3J0VXNlclN0cmluZz86IHN0cmluZztcbiAgLyoqXG4gICAqIERpc2FibGVzIHJlYWx0aW1lIHVwZGF0ZXMgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFJlYWx0aW1lRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGFkanVzdCB0aGUgZGVmYXVsdCBwYWdlc2l6ZSBvZiAxMDAgaXRlbXMgb2YgdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldFBhZ2VTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGhpZGUgdGhlIGhpbnQgdGhhdCB0aGVyZSBhcmUgbW9yZSBkZXZpY2VzIHdpdGggZ2VvIGNvb3JkaW5hdGVzIHRoZW4gZGlzcGxheWVkIG9uIHRoZSBtYXAgd2lkZ2V0IGFuZCBtYXBzIGluIGdlbmVyYWwuXG4gICAqL1xuICBtYXBXaWRnZXRIaWRlTWF4RGV2aWNlT25NYXBIaW50PzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHRoZSByaWdodCBkcmF3ZXIuICovXG4gIHJpZ2h0RHJhd2VyPzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIGJyZWFkY3J1bWJzIGluIHRoZSBoZWFkZXIgZm9yIGdyb3VwcyBhbmQgZGV2aWNlcyAoZGVmYXVsdDogZmFsc2UpLiAqL1xuICBicmVhZGNydW1icz86IGJvb2xlYW47XG4gIC8qKiBDb2xsYXBzZSBuYXZpZ2F0b3Igb24gaW5pdGlhbCBsb2FkLiAqL1xuICBoaWRlTmF2aWdhdG9yPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgdGFicyBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS4gKi9cbiAgdGFic0hvcml6b250YWw/OiBib29sZWFuO1xuICAvKiogQWRkaXRpb25hbCBsaW5rKHMpIHRvIGRpc3BsYXkgb24gbG9naW4gc2NyZWVuLiAqL1xuICBsb2dpbkV4dHJhTGluaz86IExvZ2luRXh0cmFMaW5rIHwgTG9naW5FeHRyYUxpbmtbXTtcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHN0b3JhZ2UgbGltaXRhdGlvbiBmZWF0dXJlLiAqL1xuICBzdG9yYWdlTGltaXRhdGlvbkZlYXR1cmVFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIE5hbWUgb2YgY29tcGFueSBoYW5kbGluZyBzdXBwb3J0IHJlcXVlc3RzIGZyb20gYXBwIHVzZXJzIChkaXNwbGF5ZWQgaW4gbm90aWZpY2F0aW9uIG1lc3NhZ2UpLiAqL1xuICBjb21wYW55TmFtZT86IHN0cmluZztcbiAgLyoqIFVSTCB0ZW1wbGF0ZSBmb3IgZG9jdW1lbnRhdGlvbiBsaW5rcyAoZGVmYXVsdDogYCcke2RvY3NCYXNlVXJsfSR7cGFydGlhbFVybH0nYCkuICovXG4gIGd1aWRlSHJlZlRlbXBsYXRlPzogc3RyaW5nO1xuICAvKiogQmFzZSBVUkwgZm9yIGRvY3VtZW50YXRpb24gbGlua3MgKGluY2x1ZGUgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyLCBpZiB5b3Ugd2FudCB2ZXJzaW9uZWQgbGlua3MpLiAqL1xuICBkb2NzQmFzZVVybD86IHN0cmluZztcbiAgLyoqIENTUCBzdHJpbmcgdG8gYmUgYXBwbGllZCB0byBgaW5kZXguaHRtbGAgYnkgcmVwbGFjaW5nIGRlZmF1bHQgdmFsdWVzLiAqL1xuICBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBzdHJpbmc7XG4gIC8qKiBFbmFibGVzIGNsb3VkIHNlbnNvciB3aXphcmQgKi9cbiAgc2Vuc29yUGhvbmU/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIGEgbmV3c2xldHRlciBzdWJzY3JpcHRpb24gY2hlY2tib3ggaW4gZWRpdCB1c2VyIG1vZGFsLiAqL1xuICBuZXdzbGV0dGVyPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIHJvb3Qgbm9kZV9tb2R1bGVzIGRpciAodXNlZnVsIHdoZW4gd29ya2luZyBpbiBtb25vcmVwbyBzZXR1cCwgZS5nLiB5YXJuIHdvcmtzcGFjZXMpLiAqL1xuICByb290Tm9kZU1vZHVsZXNQYXRoPzogc3RyaW5nO1xuICAvKiogQ29va2llIEJhbm5lciBjb25maWd1cmF0aW9uICovXG4gIGNvb2tpZUJhbm5lcj86IENvb2tpZUJhbm5lckNvbmZpZ3VyYXRpb247XG4gIC8qKiBDb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbi4gSGVyZSB5b3UgY2FuIGVuYWJsZSBvciBkaXNhYmxlIGNvb2tpZSBjYXRlZ29yaWVzICovXG4gIGNvb2tpZVByZWZlcmVuY2VzPzogQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uO1xuICAvKiogTWVzc2FnZSBCYW5uZXIgY29uZmlndXJhdGlvbiAqL1xuICBtZXNzYWdlQmFubmVyPzogTWVzc2FnZUJhbm5lckNvbmZpZ3VyYXRpb247XG4gIC8qKiBBIGtleSBmb3IgdGhlIHByb2R1Y3QgZXhwZXJpZW5jZSBzb2Z0d2FyZSBHYWluc2lnaHQuICovXG4gIGdhaW5zaWdodEtleT86IHN0cmluZztcbiAgLyoqIERpc2FibGUgdXNlciB0cmFja2luZyAqL1xuICBkaXNhYmxlVHJhY2tpbmc/OiBib29sZWFuO1xuICAvKiogTmdNb2R1bGUgZXhwb3J0IGZvciBwbHVnaW5zLiAqL1xuICBleHBvcnRzPzogUGx1Z2luc0V4cG9ydHNbXTtcbiAgLyoqIExpc3Qgb2YgaW1wb3J0ZWQgcmVtb3RlIHBsdWdpbnMuICovXG4gIHJlbW90ZXM/OiBSZW1vdGVQbHVnaW5zO1xuICAvKiogSWYgc2V0IHRvIHRydWUsIG9ubHkgcmVtb3RlcyBkZWZpbmVkIGluIHRoZSBgcmVtb3Rlc2AgcXVlcnkgcGFyYW1ldGVyIHdpbGwgYmUgbG9hZGVkLiAqL1xuICBmb3JjZVVybFJlbW90ZXM/OiBib29sZWFuO1xuICAvKiogVGhlIHBhY2thZ2Ugc291cmNlIGEgYXBwbGljYXRpb24gb3JpZ2lucyBmcm9tIGFzIElBcHBsaWNhdGlvbiBvciBzaW1wbHkgdGhlIGlkIG9mIHRoZSBzb3VyY2UgKi9cbiAgc291cmNlPzogc3RyaW5nIHwgbnVtYmVyIHwgSUFwcGxpY2F0aW9uO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhc3NldHMgdG8gY29weSB0byB0aGUgYnVpbGQgb3V0cHV0LlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9jb3B5LXdlYnBhY2stcGx1Z2luIGZvciBtb3JlIGluZm9ybWF0aW9uXG4gICAqIGFib3V0IHRoZSBwYXR0ZXJucyB0byBhZGQgaGVyZS5cbiAgICovXG4gIGNvcHk/OiBbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBlbmFibGUgb3IgZGlzYWJsZSBjb250ZXh0IGhlbHAsIG9yIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJhc2UgVVJMIHVzZWQgdG8gbG9hZCBpdHMgY29udGVudHMuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBjb250ZXh0IGhlbHAgdXNlcyB0aGUgc2FtZSBiYXNlIFVSTCBhcyBkZWZpbmVkIGluIHRoZSBgZG9jc0Jhc2VVcmxgIG9wdGlvblxuICAgKiAoaWYgdGhpcyBvcHRpb24gaXMgdW5kZWZpbmVkLCB0aGVuIHRoZSBmb2xsb3dpbmcgdmFsdWUgd2lsbCBiZSB1c2VkOiBgaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMve3t2ZXJzaW9ufX1gKS5cbiAgICogQWx0ZXJuYXRpdmVseSwgaWYgYSBzdHJpbmcgaXMgcHJvdmlkZWQgaGVyZSwgaXQnbGwgYmUgdXNlZCBhcyB0aGUgYmFzZSBVUkxcbiAgICogYW5kIGFueSBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXIgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSByZWxldmFudCBkb2NzIHZlcnNpb24uXG4gICAqL1xuICBjb250ZXh0SGVscD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBjb2NrcGl0IGFuZCBkZXZpY2VtYW5hZ2VtZW50IHVzZSB0aGUgb25seVJvb3RzIHF1ZXJ5IHRvIHJlc29sdmUgcm9vdCBub2Rlcy4gVGhpc1xuICAgKiBjb3VsZCBsZWFkIHRvIHBlcmZvcm1hbmNlIGlzc3VlcywgaWYgYSBjdXN0b21lciBoYXMgYSBsb3Qgb2Ygcm9vdCBub2Rlcy4gVGhlcmVmb3JlIHlvdSBjYW4gZGlzYWJsZVxuICAgKiB0aGUgdXNlIG9mIHRoaXMgcXVlcnkgd2l0aCB0aGlzIGZsYWcuXG4gICAqL1xuICBkaXNhYmxlT25seVJvb3RzUXVlcnk/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGZvcmNlIHNob3dpbmcgdGhlIHNldHVwIHdpemFyZC5cbiAgICovXG4gIGZvcmNlU2V0dXA/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBhcHBsaWNhdGlvbiBuZWVkcyB0byBzaG93IHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBpc1NldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgYSBXZWJTREsgYXBwIHJlcXVpcmVzIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbi5cbiAgICogSW4gY2FzZSB5b3Ugd291bGQgbGlrZSB0byBkZXZlbG9wIGp1c3QgYSBzdGF0aWMgYXBwbGljYXRpb24sIHRoYXQgZG9lcyBub3QgcmVxdWlyZSBhbnkga2luZCBvZiBhY2Nlc3MgdG8gdGhlIGJhY2tlbmQsXG4gICAqIHlvdSBjYW4gdXNlIHRoaXMgZmxhZyB0byBkaXNhYmxlIHRoZSBsb2dpbiBzY3JlZW4uXG4gICAqIE5PVEU6IG5vdCBhbGwgV2ViU0RLIGNvbXBvbmVudHMgc3VwcG9ydCB0aGlzLCBzb21lIG1pZ2h0IHJlcXVpcmUgdGhlIHVzZXIgdG8gYmUgbG9nZ2VkIGluIGFuZCB3b24ndCB3b3JrLlxuICAgKi9cbiAgbm9Mb2dpbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gb3B0IG91dCBvZiBzdXBwb3J0aW5nL2xvYWRpbmcgcGx1Z2lucyBmb3IgdGhpcyBhcHBsaWNhdGlvbi5cbiAgICovXG4gIG5vUGx1Z2lucz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gb3B0IG91dCBvZiB0aGUgdmVyc2lvbiB3YXJuaW5nIHdoaWNoIGlzIHNob3duIGluIHRoZSBkZXYgdG9vbHMuXG4gICAqL1xuICBub1ZlcnNpb25XYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzZXQgdGhlIG1hcCBsYXllcnMuIElmIG5vdCBzZXQsIGRlZmF1bHRzIHRvIG9wZW4gc3RyZWV0IG1hcCBsYXllci5cbiAgICovXG4gIG1hcExheWVycz86IE1hcFRpbGVMYXllcltdO1xuICAvKipcbiAgICogQWxsb3dzIHRvIHNldCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zIG9uIHRoZSBtYXBzLlxuICAgKi9cbiAgbWFwQ29uZmlnPzogTWFwRGVmYXVsdENvbmZpZztcbiAgLyoqXG4gICAqIFRoZSBVUkwgdXNlZCB0byBsb29rdXAgZ2VvIGNvb3JkaW5hdGVzIGZvciBhIHVzZXIgcHJvdmlkZWQgYWRkcmVzcyB2aWEgW25vbWluYXRpbSBBUEldKGh0dHBzOi8vbm9taW5hdGltLm9yZy9yZWxlYXNlLWRvY3MvZGV2ZWxvcC9hcGkvU2VhcmNoLykuXG4gICAqIENhbiBiZSBzZXQgdG8gZW1wdHkgdG8gZGlzYWJsZSB0aGUgZmluZCBhZGRyZXNzIGZlYXR1cmUgb24gdGhlIGxvY2F0aW9uIHRhYi5cbiAgICogVXNlczogYGh0dHBzOi8vbm9taW5hdGltLm9wZW5zdHJlZXRtYXAub3JnL3NlYXJjaD9mb3JtYXQ9anNvbiZxPXtzZWFyY2hUZXJtfWAgaWYgbm90IHNldC5cbiAgICovXG4gIG1hcE5vbWluYXRpbVVybD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByb290IGVsZW1lbnQuIEJ5IGRlZmF1bHQgYzh5LWJvb3RzdHJhcC5cbiAgICovXG4gIHJvb3RUYWdOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogSGlkZXMgcG9zc2liaWxpdHkgdG8gY3JlYXRlIHR5cGVkIGRhc2hib2FyZHMgZm9yIGFzc2V0cyAoYW5kIGdyb3VwcykuIElmIHRydWUsIHR5cGVkIGRhc2hib2FyZHMgY2FuIGJlIGNyZWF0ZWQgb25seSBmb3IgZGV2aWNlcy5cbiAgICogSXQgaXMgdHJ1ZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgaGlkZVR5cGVEYXNoYm9hcmRGb3JBc3NldHM/OiBib29sZWFuO1xuICAvKipcbiAgICogQSBtYXRyaXggb2YgdmVyc2lvbnMgaW5kaWNhdGluZyB3aGljaCB2ZXJzaW9ucyBvZiB0aGUgYXBwbGljYXRpb24gKGtleSkgYXJlIGRlcGVuZGVudCBvbiB3aGljaCB2ZXJzaW9uIG9mIGEgY3VtdWxvY2l0eSBjb21wb25lbnQgKEFQSSB2ZXJzaW9uIGFuZCBXZWIgU0RLIHZlcnNpb24gb2YgdGhlIHNoZWxsIGFwcGxpY2F0aW9uIGN1cnJlbnRseSBzdXBwb3J0ZWQsIGluZGljYXRlZCBieSB0aGUgdmFsdWUpLlxuICAgKiBUaGUgdmVyc2lvbnMgb2YgdGhlIGRlcGVuZGVudCBjb21wb25lbnRzIGNhbiBiZSBpbmRpY2F0ZWQgYnkgYSBzZW12ZXIgcmFuZ2UuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGpzb25cbiAgICoge1xuICAgKiAgXCIxLjAuMFwiOiB7XG4gICAqICAgIFwic2RrXCI6IFwiPj0xMDE2LjAuMCA8MTAxNy4wLjBcIixcbiAgICogICAgXCJhcGlcIjogXCI+PTEwMTYuMC4wIDwxMDE3LjAuMFwiXG4gICAqICB9LFxuICAgKiAgXCIyLjAuMFwiOiB7XG4gICAqICAgIFwic2RrXCI6IFwifjEwMTcuMC4wXCIsXG4gICAqICAgIFwiYXBpXCI6IFwifjEwMTcuMC4wXCJcbiAgICogIH0sXG4gICAqICBcIjMuMC4wXCI6IHtcbiAgICogICAgXCJzZGtcIjogXCI+PTEwMTguMC4wXCIsXG4gICAqICAgIFwiYXBpXCI6IFwiPj0xMDE4LjAuMFwiXG4gICAqICB9LFxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgdmVyc2lvbmluZ01hdHJpeD86IFZlcnNpb25pbmdNYXRyaXg7XG4gIC8qKlxuICAgKiBJcyB1c2VkIGZvciBwbHVnaW5zIHRvIGluZGljYXRlIHRoZWlyIG93bmVyLiBTb2Z0d2FyZSBBRyBwbHVnaW5zIGFyZSBtYXJrZWQgd2l0aCBPRkZJQ0lBTCBsYWJlbC5cbiAgICogWW91IGNhbiB1c2UgdGhlIHNwZWNpYWwgXCJBUkNISVZFRFwiIGxhYmVsIHRvIG1hcmsgdGhlbSBhcyBhcmNoaXZlZC5cbiAgICovXG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgdHlwZSBvZiByZWZyZXNoIG1lY2hhbmlzbSB1c2VkIGZvciBhbGFybXMgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiAtICdyZWFsdGltZSc6IFV0aWxpemVzIGEgcmVhbHRpbWUgbWVjaGFuaXNtIGZvciB1cGRhdGluZyBhbGFybXMuXG4gICAqIC0gJ2ludGVydmFsJzogVXRpbGl6ZXMgSFRUUCBwb2xsaW5nIGF0IHJlZ3VsYXIgaW50ZXJ2YWxzIHRvIHJlZnJlc2ggdGhlIGFsYXJtcy5cbiAgICpcbiAgICogVGhpcyBzZXR0aW5nIGFsbG93cyB0byBzd2l0Y2ggYmV0d2VlbiByZWFsdGltZSBhbmQgaW50ZXJ2YWwtYmFzZWQgcmVmcmVzaCBtZXRob2RzLlxuICAgKi9cbiAgYWxhcm1zUmVmcmVzaFR5cGU/OiAnaW50ZXJ2YWwnIHwgJ3JlYWx0aW1lJztcbn1cblxuLyoqXG4gKiBUZWxscyBob3cgYSBwbHVnaW4gaXMgc2NvcGVkLlxuICovXG5leHBvcnQgZW51bSBQbHVnaW5zRXhwb3J0U2NvcGVzIHtcbiAgLyoqXG4gICAqIExpbWl0IHRoZSBwbHVnaW4gdG8gdGhlIGN1cnJlbnQgYXBwbGljYXRpb24uIEl0IGlzIGltcG9ydGVkIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBTRUxGID0gJ3NlbGYnLFxuICAvKipcbiAgICogQWxsb3dzIHRvIGFkZCB0aGUgcGx1Z2luIHRvIGEgZ2xvYmFsIHNjb3BlLCBtZWFuaW5nIGl0IGlzIGltcG9ydGVkIHRvIGFsbCBhcHBsaWNhdGlvbnMgYXQgdGhlIHNhbWUgdGltZS5cbiAgICogVGhpcyBpcyBub3QgdXNlZCBhdCB0aGUgbW9tZW50IGJ1dCBwbGFubmVkIHRvIGJlIGltcGxlbWVudGVkIGluIHRoZSBuZXcgYnJhbmRpbmcgZWRpdG9yLlxuICAgKi9cbiAgR0xPQkFMID0gJ2dsb2JhbCcsXG4gIC8qKlxuICAgKiBMaW1pdCB0aGUgcGx1Z2luIHRvIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uLiBUaGUgcGx1Z2luIGlzIG5vdCBpbXBvcnRlZCBieSBkZWZhdWx0LlxuICAgKi9cbiAgU0VMRl9PUFRJT05BTCA9ICdzZWxmLW9wdGlvbmFsJyxcbiAgLyoqXG4gICAqIExpa2UgdW5kZWZpbmVkIHRoZSBwbHVnaW4gaXMgYXZhaWxhYmxlIGZvciBhbnkgcHJpdmF0ZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIERFRkFVTFQgPSAnJ1xufVxuIl19
@@ -15,25 +15,25 @@ export const documentationItems = [
15
15
  {
16
16
  icon: 'c8y-user',
17
17
  label: gettext('Getting started`KEEP_ORIGINAL`'),
18
- url: '/docs/section/getting_started',
18
+ url: '/docs/sector/getting_started',
19
19
  type: 'doc'
20
20
  },
21
21
  {
22
22
  icon: 'c8y-administration',
23
23
  label: gettext('Platform administration`KEEP_ORIGINAL`'),
24
- url: '/docs/section/platform_administration',
24
+ url: '/docs/sector/platform_administration',
25
25
  type: 'doc'
26
26
  },
27
27
  {
28
28
  icon: 'c8y-device-management',
29
29
  label: gettext('Device Management'),
30
- url: '/docs/section/device_management',
30
+ url: '/docs/sector/device_management',
31
31
  type: 'doc'
32
32
  },
33
33
  {
34
34
  icon: 'c8y-cockpit',
35
35
  label: gettext('Application enablement`KEEP_ORIGINAL`'),
36
- url: '/docs/section/app_enablement',
36
+ url: '/docs/sector/app_enablement',
37
37
  type: 'doc'
38
38
  },
39
39
  {
@@ -56,4 +56,4 @@ export const documentationItems = [
56
56
  },
57
57
  legalNoticesItem
58
58
  ];
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuaXRlbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RvY3MvZGVmYXVsdHMuaXRlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzFDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFxQjtJQUNoRCxJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQy9CLEdBQUcsRUFBRSw0Q0FBNEM7SUFDakQsSUFBSSxFQUFFLEtBQUs7Q0FDWixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQXVCO0lBQ3BEO1FBQ0UsSUFBSSxFQUFFLGNBQWMsRUFBRSwwQkFBMEI7UUFDaEQsS0FBSyxFQUFFLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztRQUN6QyxHQUFHLEVBQUUsNkJBQTZCO1FBQ2xDLElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxPQUFPLENBQUMsZ0NBQWdDLENBQUM7UUFDaEQsR0FBRyxFQUFFLCtCQUErQjtRQUNwQyxJQUFJLEVBQUUsS0FBSztLQUNaO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLEtBQUssRUFBRSxPQUFPLENBQUMsd0NBQXdDLENBQUM7UUFDeEQsR0FBRyxFQUFFLHVDQUF1QztRQUM1QyxJQUFJLEVBQUUsS0FBSztLQUNaO0lBRUQ7UUFDRSxJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLEtBQUssRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUM7UUFDbkMsR0FBRyxFQUFFLGlDQUFpQztRQUN0QyxJQUFJLEVBQUUsS0FBSztLQUNaO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixLQUFLLEVBQUUsT0FBTyxDQUFDLHVDQUF1QyxDQUFDO1FBQ3ZELEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsSUFBSSxFQUFFLEtBQUs7S0FDWjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztRQUNwRCxHQUFHLEVBQUUsOEJBQThCO1FBQ25DLElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxtQkFBbUI7UUFDekIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztRQUNwRCxHQUFHLEVBQUUsOENBQThDO1FBQ25ELElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUM7UUFDdEQsR0FBRyxFQUFFLE1BQU07UUFDWCxJQUFJLEVBQUUsS0FBSztLQUNaO0lBQ0QsZ0JBQWdCO0NBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnLi4vaTE4bi9nZXR0ZXh0JztcbmltcG9ydCB7IERvY0xpbmtXaXRoTGFiZWwgfSBmcm9tICcuL2RvY3MubW9kZWxzJztcblxuZXhwb3J0IGNvbnN0IGxlZ2FsTm90aWNlc0l0ZW06IERvY0xpbmtXaXRoTGFiZWwgPSB7XG4gIGljb246ICdnYXZlbCcsXG4gIGxhYmVsOiBnZXR0ZXh0KCdMZWdhbCBub3RpY2VzJyksXG4gIHVybDogJ2h0dHBzOi8vY3VtdWxvY2l0eS5jb20vZG9jcy9sZWdhbC1ub3RpY2VzLycsXG4gIHR5cGU6ICdkb2MnXG59O1xuXG5leHBvcnQgY29uc3QgZG9jdW1lbnRhdGlvbkl0ZW1zOiBEb2NMaW5rV2l0aExhYmVsW10gPSBbXG4gIHtcbiAgICBpY29uOiAnYzh5LWM4eS1kYXRhJywgLy8gZG91YmxlIGM4eS0gaXMgY29ycmVjdCFcbiAgICBsYWJlbDogZ2V0dGV4dCgnQ29uY2VwdHNgS0VFUF9PUklHSU5BTGAnKSxcbiAgICB1cmw6ICcvZG9jcy9jb25jZXB0cy9pbnRyb2R1Y3Rpb24nLFxuICAgIHR5cGU6ICdkb2MnXG4gIH0sXG4gIHtcbiAgICBpY29uOiAnYzh5LXVzZXInLFxuICAgIGxhYmVsOiBnZXR0ZXh0KCdHZXR0aW5nIHN0YXJ0ZWRgS0VFUF9PUklHSU5BTGAnKSxcbiAgICB1cmw6ICcvZG9jcy9zZWN0aW9uL2dldHRpbmdfc3RhcnRlZCcsXG4gICAgdHlwZTogJ2RvYydcbiAgfSxcbiAge1xuICAgIGljb246ICdjOHktYWRtaW5pc3RyYXRpb24nLFxuICAgIGxhYmVsOiBnZXR0ZXh0KCdQbGF0Zm9ybSBhZG1pbmlzdHJhdGlvbmBLRUVQX09SSUdJTkFMYCcpLFxuICAgIHVybDogJy9kb2NzL3NlY3Rpb24vcGxhdGZvcm1fYWRtaW5pc3RyYXRpb24nLFxuICAgIHR5cGU6ICdkb2MnXG4gIH0sXG5cbiAge1xuICAgIGljb246ICdjOHktZGV2aWNlLW1hbmFnZW1lbnQnLFxuICAgIGxhYmVsOiBnZXR0ZXh0KCdEZXZpY2UgTWFuYWdlbWVudCcpLFxuICAgIHVybDogJy9kb2NzL3NlY3Rpb24vZGV2aWNlX21hbmFnZW1lbnQnLFxuICAgIHR5cGU6ICdkb2MnXG4gIH0sXG4gIHtcbiAgICBpY29uOiAnYzh5LWNvY2twaXQnLFxuICAgIGxhYmVsOiBnZXR0ZXh0KCdBcHBsaWNhdGlvbiBlbmFibGVtZW50YEtFRVBfT1JJR0lOQUxgJyksXG4gICAgdXJsOiAnL2RvY3Mvc2VjdGlvbi9hcHBfZW5hYmxlbWVudCcsXG4gICAgdHlwZTogJ2RvYydcbiAgfSxcbiAge1xuICAgIGljb246ICdjOHktYm9vaycsXG4gICAgbGFiZWw6IGdldHRleHQoJ0N1bXVsb2NpdHkgSW9UIEVkZ2VgS0VFUF9PUklHSU5BTGAnKSxcbiAgICB1cmw6ICcvZG9jcy9lZGdlL2VkZ2UtaW50cm9kdWN0aW9uJyxcbiAgICB0eXBlOiAnZG9jJ1xuICB9LFxuICB7XG4gICAgaWNvbjogJ2M4eS1kYXRhLWV4cGxvcmVyJyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnU3RyZWFtaW5nIGFuYWx5dGljc2BLRUVQX09SSUdJTkFMYCcpLFxuICAgIHVybDogJy9kb2NzL3N0cmVhbWluZy1hbmFseXRpY3Mvb3ZlcnZpZXctYW5hbHl0aWNzJyxcbiAgICB0eXBlOiAnZG9jJ1xuICB9LFxuICB7XG4gICAgaWNvbjogJ3Jlc3QtYXBpJyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnT3BlbkFQSSBzcGVjaWZpY2F0aW9uYEtFRVBfT1JJR0lOQUxgJyksXG4gICAgdXJsOiAnL2FwaScsXG4gICAgdHlwZTogJ2RvYydcbiAgfSxcbiAgbGVnYWxOb3RpY2VzSXRlbVxuXTtcbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuaXRlbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RvY3MvZGVmYXVsdHMuaXRlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzFDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFxQjtJQUNoRCxJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQy9CLEdBQUcsRUFBRSw0Q0FBNEM7SUFDakQsSUFBSSxFQUFFLEtBQUs7Q0FDWixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQXVCO0lBQ3BEO1FBQ0UsSUFBSSxFQUFFLGNBQWMsRUFBRSwwQkFBMEI7UUFDaEQsS0FBSyxFQUFFLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztRQUN6QyxHQUFHLEVBQUUsNkJBQTZCO1FBQ2xDLElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxPQUFPLENBQUMsZ0NBQWdDLENBQUM7UUFDaEQsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxJQUFJLEVBQUUsS0FBSztLQUNaO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLEtBQUssRUFBRSxPQUFPLENBQUMsd0NBQXdDLENBQUM7UUFDeEQsR0FBRyxFQUFFLHNDQUFzQztRQUMzQyxJQUFJLEVBQUUsS0FBSztLQUNaO0lBRUQ7UUFDRSxJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLEtBQUssRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUM7UUFDbkMsR0FBRyxFQUFFLGdDQUFnQztRQUNyQyxJQUFJLEVBQUUsS0FBSztLQUNaO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixLQUFLLEVBQUUsT0FBTyxDQUFDLHVDQUF1QyxDQUFDO1FBQ3ZELEdBQUcsRUFBRSw2QkFBNkI7UUFDbEMsSUFBSSxFQUFFLEtBQUs7S0FDWjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztRQUNwRCxHQUFHLEVBQUUsOEJBQThCO1FBQ25DLElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxtQkFBbUI7UUFDekIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztRQUNwRCxHQUFHLEVBQUUsOENBQThDO1FBQ25ELElBQUksRUFBRSxLQUFLO0tBQ1o7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUM7UUFDdEQsR0FBRyxFQUFFLE1BQU07UUFDWCxJQUFJLEVBQUUsS0FBSztLQUNaO0lBQ0QsZ0JBQWdCO0NBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnLi4vaTE4bi9nZXR0ZXh0JztcbmltcG9ydCB7IERvY0xpbmtXaXRoTGFiZWwgfSBmcm9tICcuL2RvY3MubW9kZWxzJztcblxuZXhwb3J0IGNvbnN0IGxlZ2FsTm90aWNlc0l0ZW06IERvY0xpbmtXaXRoTGFiZWwgPSB7XG4gIGljb246ICdnYXZlbCcsXG4gIGxhYmVsOiBnZXR0ZXh0KCdMZWdhbCBub3RpY2VzJyksXG4gIHVybDogJ2h0dHBzOi8vY3VtdWxvY2l0eS5jb20vZG9jcy9sZWdhbC1ub3RpY2VzLycsXG4gIHR5cGU6ICdkb2MnXG59O1xuXG5leHBvcnQgY29uc3QgZG9jdW1lbnRhdGlvbkl0ZW1zOiBEb2NMaW5rV2l0aExhYmVsW10gPSBbXG4gIHtcbiAgICBpY29uOiAnYzh5LWM4eS1kYXRhJywgLy8gZG91YmxlIGM4eS0gaXMgY29ycmVjdCFcbiAgICBsYWJlbDogZ2V0dGV4dCgnQ29uY2VwdHNgS0VFUF9PUklHSU5BTGAnKSxcbiAgICB1cmw6ICcvZG9jcy9jb25jZXB0cy9pbnRyb2R1Y3Rpb24nLFxuICAgIHR5cGU6ICdkb2MnXG4gIH0sXG4gIHtcbiAgICBpY29uOiAnYzh5LXVzZXInLFxuICAgIGxhYmVsOiBnZXR0ZXh0KCdHZXR0aW5nIHN0YXJ0ZWRgS0VFUF9PUklHSU5BTGAnKSxcbiAgICB1cmw6ICcvZG9jcy9zZWN0b3IvZ2V0dGluZ19zdGFydGVkJyxcbiAgICB0eXBlOiAnZG9jJ1xuICB9LFxuICB7XG4gICAgaWNvbjogJ2M4eS1hZG1pbmlzdHJhdGlvbicsXG4gICAgbGFiZWw6IGdldHRleHQoJ1BsYXRmb3JtIGFkbWluaXN0cmF0aW9uYEtFRVBfT1JJR0lOQUxgJyksXG4gICAgdXJsOiAnL2RvY3Mvc2VjdG9yL3BsYXRmb3JtX2FkbWluaXN0cmF0aW9uJyxcbiAgICB0eXBlOiAnZG9jJ1xuICB9LFxuXG4gIHtcbiAgICBpY29uOiAnYzh5LWRldmljZS1tYW5hZ2VtZW50JyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnRGV2aWNlIE1hbmFnZW1lbnQnKSxcbiAgICB1cmw6ICcvZG9jcy9zZWN0b3IvZGV2aWNlX21hbmFnZW1lbnQnLFxuICAgIHR5cGU6ICdkb2MnXG4gIH0sXG4gIHtcbiAgICBpY29uOiAnYzh5LWNvY2twaXQnLFxuICAgIGxhYmVsOiBnZXR0ZXh0KCdBcHBsaWNhdGlvbiBlbmFibGVtZW50YEtFRVBfT1JJR0lOQUxgJyksXG4gICAgdXJsOiAnL2RvY3Mvc2VjdG9yL2FwcF9lbmFibGVtZW50JyxcbiAgICB0eXBlOiAnZG9jJ1xuICB9LFxuICB7XG4gICAgaWNvbjogJ2M4eS1ib29rJyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnQ3VtdWxvY2l0eSBJb1QgRWRnZWBLRUVQX09SSUdJTkFMYCcpLFxuICAgIHVybDogJy9kb2NzL2VkZ2UvZWRnZS1pbnRyb2R1Y3Rpb24nLFxuICAgIHR5cGU6ICdkb2MnXG4gIH0sXG4gIHtcbiAgICBpY29uOiAnYzh5LWRhdGEtZXhwbG9yZXInLFxuICAgIGxhYmVsOiBnZXR0ZXh0KCdTdHJlYW1pbmcgYW5hbHl0aWNzYEtFRVBfT1JJR0lOQUxgJyksXG4gICAgdXJsOiAnL2RvY3Mvc3RyZWFtaW5nLWFuYWx5dGljcy9vdmVydmlldy1hbmFseXRpY3MnLFxuICAgIHR5cGU6ICdkb2MnXG4gIH0sXG4gIHtcbiAgICBpY29uOiAncmVzdC1hcGknLFxuICAgIGxhYmVsOiBnZXR0ZXh0KCdPcGVuQVBJIHNwZWNpZmljYXRpb25gS0VFUF9PUklHSU5BTGAnKSxcbiAgICB1cmw6ICcvYXBpJyxcbiAgICB0eXBlOiAnZG9jJ1xuICB9LFxuICBsZWdhbE5vdGljZXNJdGVtXG5dO1xuIl19