@progressio_resources/gravity-design-system 3.6.2 → 3.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/esm2022/lib/components/gravity-calendar-next/components/day-calendar/day-calendar.component.mjs +14 -56
  2. package/esm2022/lib/components/gravity-calendar-next/components/day-calendar/range-days-calendar.utils.mjs +37 -122
  3. package/esm2022/lib/components/gravity-calendar-next/components/dual-month-calendar/dual-month-calendar.component.mjs +6 -6
  4. package/esm2022/lib/components/gravity-calendar-next/shared/calendar.constants.mjs +3 -9
  5. package/esm2022/lib/components/gravity-calendar-next/shared/calendar.modal.mjs +1 -1
  6. package/esm2022/lib/components/gravity-calendar-next/shared/calendar.utils.mjs +1 -7
  7. package/esm2022/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.mjs +32 -2
  8. package/esm2022/lib/components/gravity-dropdown-list-display/gravity-dropdown-list-display.component.mjs +27 -4
  9. package/esm2022/lib/components/gravity-link/gravity-link.component.mjs +2 -2
  10. package/esm2022/lib/components/gravity-text-field/gravity-text-field.component.mjs +3 -3
  11. package/esm2022/lib/layout/gravity-menu/gravity-menu.component.mjs +5 -4
  12. package/fesm2022/progressio_resources-gravity-design-system.mjs +113 -197
  13. package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
  14. package/lib/components/gravity-calendar-next/components/day-calendar/day-calendar.component.d.ts +2 -17
  15. package/lib/components/gravity-calendar-next/components/day-calendar/range-days-calendar.utils.d.ts +1 -2
  16. package/lib/components/gravity-calendar-next/components/dual-month-calendar/dual-month-calendar.component.d.ts +3 -11
  17. package/lib/components/gravity-calendar-next/components/month-calendar/month-calendar.component.d.ts +0 -8
  18. package/lib/components/gravity-calendar-next/components/year-calendar/year-calendar.component.d.ts +0 -8
  19. package/lib/components/gravity-calendar-next/shared/calendar.constants.d.ts +0 -8
  20. package/lib/components/gravity-calendar-next/shared/calendar.modal.d.ts +1 -1
  21. package/lib/components/gravity-calendar-next/shared/calendar.utils.d.ts +0 -1
  22. package/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.d.ts +3 -0
  23. package/lib/components/gravity-dropdown-list-display/gravity-dropdown-list-display.component.d.ts +2 -0
  24. package/lib/layout/gravity-menu/gravity-menu.component.d.ts +2 -2
  25. package/package.json +1 -1
@@ -177,11 +177,11 @@ export class GravityTextFieldComponent {
177
177
  this.changeInputValue();
178
178
  }
179
179
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTextFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
180
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTextFieldComponent, selector: "gravity-text-field", inputs: { currentLang: "currentLang", customInputValue: "customInputValue", customState: "customState", cypressTag: "cypressTag", label: "label", prefix: "prefix", required: "required", supportText: "supportText", textFieldType: "textFieldType", clickOnLeftIcon: "clickOnLeftIcon", clickOnRightIcon: "clickOnRightIcon", iconColor: "iconColor", iconLeft: "iconLeft", iconRight: "iconRight", autocomplete: "autocomplete", inputContentType: "inputContentType", placeholder: "placeholder", validations: "validations", size: "size", width: "width" }, outputs: { leftIconResponse: "clickIconLeft", rightIconResponse: "clickIconRight", textFieldValueResponse: "response" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "textAreaElement", first: true, predicate: ["textAreaElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<label class=\"hr-label sm-bold {{getTextFieldStatus()}}\" [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"label\">\n {{label}} <span *ngIf=\"required || getTextFieldStatus() == 'typed-error'\">*</span>\n</label>\n<div class=\"gravity-input-field {{size}} {{width}}-width {{getTextFieldStatus()}}\">\n <ng-container *ngIf=\"iconLeft\">\n <ng-container [ngTemplateOutlet]=\"icons\" [ngTemplateOutletContext]=\"{iconPosition: 'left'}\"></ng-container>\n </ng-container>\n <span class=\"{{getTextFieldInputFontSize()}} prefix\">{{prefix}}</span>\n <input [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n [autocomplete]=\"autocomplete\"\n [maxLength]=\"inputContentType === 'date' ? 10 : (validations?.maxLength || 100)\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [type]=\"inputContentType === 'date' ? 'text' : (inputContentType !== 'number' ? inputContentType : 'text')\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (change)=\"changeInputValue()\"\n (focus)=\"focusInput = true\"\n (keydown)=\" onKeyDownEvent($event)\"\n (keyup)=\"inputContentType === 'date' ? formatDateInput($event) : changeInputValue()\"\n\n class=\"{{getTextFieldInputFontSize()}}\"\n\n\t\t\t\t #inputElement\n *ngIf=\"textFieldType == 'input'\">\n\n <textarea [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 200\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (change)=\"changeInputValue()\"\n (focus)=\"focusInput = true\"\n (keydown)=\"onKeyDownEvent($event)\"\n (keyup)=\"changeInputValue()\"\n\n class=\"{{getTextFieldInputFontSize()}}\"\n rows=\"1\"\n\n #textAreaElement\n\n *ngIf=\"textFieldType == 'textarea'\"></textarea>\n <ng-container *ngIf=\"iconRight\">\n <ng-container [ngTemplateOutlet]=\"icons\" [ngTemplateOutletContext]=\"{iconPosition: 'right'}\"></ng-container>\n </ng-container>\n</div>\n<p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}} {{size}}\"\n [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"getTextFieldStatus() == 'typed-error'\"\n [iconSize]=\"'md-16'\"></gravity-icon>\n {{supportText}}\n</p>\n<p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}} {{size}}\"\n [class.custom-label-size]=\"size == 'sm'\"\n *ngIf=\"!supportText && getTextFieldStatus() == 'active' && inputValue == '' && required\">\n {{currentLang == 'es' ? 'Requerido' : 'Required'}}\n</p>\n\n<ng-template #icons let-iconPosition=\"iconPosition\">\n <gravity-icon (click)=\"$event.stopPropagation(); handleIconClick(iconPosition)\" class=\"{{iconPosition}}\"\n [class.pointer]=\"(iconPosition == 'left' && clickOnLeftIcon) || (iconPosition == 'right' && clickOnRightIcon)\"\n [iconName]=\"iconPosition == 'left' ? iconLeft : iconRight\" [style.--icon-color]=\"iconColor\"\n [iconSize]=\"isNewIcon(iconPosition) ? 'md-16' : null\"></gravity-icon>\n</ng-template>\n", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.text-negative{color:var(--negative-primary)}.text-neutro{color:var(--text-primary)}.text-positive{color:var(--positive-primary)}.support-text{margin-left:0;margin-top:.3125rem;padding-inline:1rem}:host{display:block}label{color:var(--text-field-label-color);display:block;margin:0 12px 5px}label.active,label.hover,label.autofill{--text-field-label-color: var(--label-text-empty-enabled-primary)}label.typing{--text-field-label-color: var(--label-text-full-enabled-pressed-primary)}label.typed,label.typed-error{--text-field-label-color: var(--label-text-full-enabled-primary)}label.typed-error span{color:var(--negative-primary)}label.typed-positive{--text-field-label-color: var(--label-text-full-enabled-primary)}label.disabled{--text-field-label-color: var(--on-bg-disabled)}label.readonly{--text-field-label-color: var(--label-text-full-read-only-primary)}.hr-label.sm-bold.custom-label-size,.hr-label.sm-regular.custom-label-size{font-size:10px;letter-spacing:.25px}.gravity-input-field{align-items:center;background-color:var(--text-field-input-field-background-color);border:var(--text-field-input-field-border-width) solid var(--text-field-input-field-border-color);border-radius:.3125rem;color:var(--text-field-input-field-content-color);display:flex;height:var(--text-field-input-field-height);padding:10px 12px;--text-field-input-field-border-width: .5px;width:var(--text-field-input-field-width)}.gravity-input-field gravity-icon{--icon-color: var(--text-field-input-field-icon-color);--icon-height: var(--text-field-input-field-content);--icon-width: var(--text-field-input-field-content)}.gravity-input-field gravity-icon.pointer{cursor:pointer}.gravity-input-field gravity-icon.left{margin-right:5px}.gravity-input-field gravity-icon.right{margin-left:5px}.gravity-input-field .prefix{color:var(--text-field-input-field-content-color)}.gravity-input-field input,.gravity-input-field textarea{background-color:transparent;border:none;box-shadow:none;color:var(--text-field-input-field-content-color);height:var(--text-field-input-field-input);line-height:1;outline:none;padding:0;resize:none;width:100%}.gravity-input-field input::placeholder,.gravity-input-field textarea::placeholder{color:var(--text-field-input-field-placeholder-color)}.gravity-input-field input:-webkit-autofill,.gravity-input-field textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--bg-field-autofill) inset!important;-webkit-text-fill-color:var(--label-text-full-enabled-primary)!important}.gravity-input-field.sm{--text-field-input-field-height: 29px;--text-field-input-field-content: 9px;--text-field-input-field-input: 13px}.gravity-input-field.sm.short-width{--text-field-input-field-width: 195px}.gravity-input-field.sm.medium-width{--text-field-input-field-width: 276px}.gravity-input-field.sm.full-width,.gravity-input-field.sm.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.md{--text-field-input-field-height: 35px;--text-field-input-field-content: 15px;--text-field-input-field-input: 18px}.gravity-input-field.md.short-width{--text-field-input-field-width: 242px}.gravity-input-field.md.medium-width{--text-field-input-field-width: 329px}.gravity-input-field.md.full-width,.gravity-input-field.md.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.active{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.active:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.hover{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-border-width: 1px;--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.autofill{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.autofill:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.autofill input,.gravity-input-field.autofill textarea{background-color:var(--bg-field-autofill);color:var(--label-text-full-enabled-primary)}.gravity-input-field.typing{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-border-width: 1px;--text-field-input-field-content-color: var(--placeholder-full-enabled-pressed-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-pressed-primary);--text-field-input-field-placeholder-color: var(--placeholder-full-enabled-pressed-primary)}.gravity-input-field.typing:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.typed{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary);--text-field-input-field-placeholder-color: var(--label-text-full-enabled-primary)}.gravity-input-field.typed:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.typed-error{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--negative-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary);--text-field-input-field-placeholder-color: var(--label-text-full-enabled-primary)}.gravity-input-field.typed-error:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.typed-positive{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--positive-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary);--text-field-input-field-placeholder-color: var(--label-text-full-enabled-primary)}.gravity-input-field.typed-positive:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.disabled{--text-field-input-field-background-color: var(--bg-field-empty-disabled-primary);--text-field-input-field-border-color: var(--outline-disabled);--text-field-input-field-content-color: var(--on-bg-disabled);--text-field-input-field-icon-color: var(--on-bg-disabled);--text-field-input-field-placeholder-color: var(--on-bg-disabled)}.gravity-input-field.readonly{--text-field-input-field-background-color: var(--bg-field-full-read-only-primary);--text-field-input-field-border-color: var(--bg-field-full-read-only-primary);--text-field-input-field-content-color: var(--input-text-full-read-only-primary);--text-field-input-field-icon-color: var(--input-text-full-read-only-primary);--text-field-input-field-placeholder-color: var(--input-text-full-read-only-primary)}.supporting-text{align-items:center;color:var(--text-field-supporting-text-color);display:flex;margin:5px 12px 0}.supporting-text.active,.supporting-text.hover,.supporting-text.autofill{--text-field-supporting-text-color: var(--label-text-empty-enabled-primary)}.supporting-text.typing{--text-field-supporting-text-color: var(--label-text-full-enabled-pressed-primary)}.supporting-text.typed{--text-field-supporting-text-color: var(--label-text-full-enabled-primary)}.supporting-text.typed-error{--text-field-supporting-text-color: var(--negative-primary)}.supporting-text.typed-positive{--text-field-supporting-text-color: var(--positive-primary)}.supporting-text.disabled{--text-field-supporting-text-color: var(--on-bg-disabled)}.supporting-text.readonly{--text-field-supporting-text-color: var(--label-text-full-read-only-primary)}.supporting-text.sm{--text-field-supporting-text-icon-size: 9px}.supporting-text.md{--text-field-supporting-text-icon-size: 15px}.supporting-text gravity-icon{--icon-color: var(--negative-primary);--icon-height: var(--text-field-supporting-text-icon-size);--icon-width: var(--text-field-supporting-text-icon-size);margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }] }); }
180
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityTextFieldComponent, selector: "gravity-text-field", inputs: { currentLang: "currentLang", customInputValue: "customInputValue", customState: "customState", cypressTag: "cypressTag", label: "label", prefix: "prefix", required: "required", supportText: "supportText", textFieldType: "textFieldType", clickOnLeftIcon: "clickOnLeftIcon", clickOnRightIcon: "clickOnRightIcon", iconColor: "iconColor", iconLeft: "iconLeft", iconRight: "iconRight", autocomplete: "autocomplete", inputContentType: "inputContentType", placeholder: "placeholder", validations: "validations", size: "size", width: "width" }, outputs: { leftIconResponse: "clickIconLeft", rightIconResponse: "clickIconRight", textFieldValueResponse: "response" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "textAreaElement", first: true, predicate: ["textAreaElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<label class=\"hr-label sm-bold {{getTextFieldStatus()}}\" [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"label\">\n {{label}} <span *ngIf=\"required || getTextFieldStatus() == 'typed-error'\">*</span>\n</label>\n<div class=\"gravity-input-field {{size}} {{width}}-width {{getTextFieldStatus()}}\">\n <ng-container *ngIf=\"iconLeft\">\n <ng-container [ngTemplateOutlet]=\"icons\" [ngTemplateOutletContext]=\"{iconPosition: 'left'}\"></ng-container>\n </ng-container>\n <span class=\"{{getTextFieldInputFontSize()}} prefix\">{{prefix}}</span>\n <input [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n [autocomplete]=\"autocomplete\"\n [maxLength]=\"inputContentType === 'date' ? 10 : (validations?.maxLength || 100)\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [type]=\"inputContentType === 'date' ? 'text' : (inputContentType !== 'number' ? inputContentType : 'text')\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (change)=\"changeInputValue()\"\n (focus)=\"focusInput = true\"\n (keydown)=\" onKeyDownEvent($event)\"\n (keyup)=\"inputContentType === 'date' ?\n formatDateInput($event) : changeInputValue()\"\n\n class=\"{{getTextFieldInputFontSize()}}\"\n\t\t\t\t #inputElement\n *ngIf=\"textFieldType == 'input'\">\n\n <textarea [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 200\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (change)=\"changeInputValue()\"\n (focus)=\"focusInput = true\"\n (keydown)=\"onKeyDownEvent($event)\"\n (keyup)=\"changeInputValue()\"\n\n class=\"{{getTextFieldInputFontSize()}}\"\n rows=\"1\"\n\n #textAreaElement\n\n *ngIf=\"textFieldType == 'textarea'\"></textarea>\n <ng-container *ngIf=\"iconRight\">\n <ng-container [ngTemplateOutlet]=\"icons\" [ngTemplateOutletContext]=\"{iconPosition: 'right'}\"></ng-container>\n </ng-container>\n</div>\n<p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}} {{size}}\"\n [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"getTextFieldStatus() == 'typed-error'\"\n [iconSize]=\"'md-16'\"></gravity-icon>\n {{supportText}}\n</p>\n<p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}} {{size}}\"\n [class.custom-label-size]=\"size == 'sm'\"\n *ngIf=\"!supportText && getTextFieldStatus() == 'active' && inputValue == '' && required\">\n {{currentLang == 'es' ? 'Requerido' : 'Required'}}\n</p>\n\n<ng-template #icons let-iconPosition=\"iconPosition\">\n <gravity-icon (click)=\"$event.stopPropagation(); handleIconClick(iconPosition)\" class=\"{{iconPosition}}\"\n [class.pointer]=\"(iconPosition == 'left' && clickOnLeftIcon) || (iconPosition == 'right' && clickOnRightIcon)\"\n [iconName]=\"iconPosition == 'left' ? iconLeft : iconRight\" [style.--icon-color]=\"iconColor\"\n [iconSize]=\"isNewIcon(iconPosition) ? 'md-16' : null\"></gravity-icon>\n</ng-template>\n", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.text-negative{color:var(--negative-primary)}.text-neutro{color:var(--text-primary)}.text-positive{color:var(--positive-primary)}.support-text{margin-left:0;margin-top:.3125rem;padding-inline:1rem}:host{display:block}label{color:var(--text-field-label-color);display:block;margin:0 12px 5px}label.active,label.hover,label.autofill{--text-field-label-color: var(--label-text-empty-enabled-primary)}label.typing{--text-field-label-color: var(--label-text-full-enabled-pressed-primary)}label.typed,label.typed-error{--text-field-label-color: var(--label-text-full-enabled-primary)}label.typed-error span{color:var(--negative-primary)}label.typed-positive{--text-field-label-color: var(--label-text-full-enabled-primary)}label.disabled{--text-field-label-color: var(--on-bg-disabled)}label.readonly{--text-field-label-color: var(--label-text-full-read-only-primary)}.hr-label.sm-bold.custom-label-size,.hr-label.sm-regular.custom-label-size{font-size:10px;letter-spacing:.25px}.gravity-input-field{align-items:center;background-color:var(--text-field-input-field-background-color);border:var(--text-field-input-field-border-width) solid var(--text-field-input-field-border-color);border-radius:.3125rem;color:var(--text-field-input-field-content-color);display:flex;height:var(--text-field-input-field-height);padding:10px 12px;--text-field-input-field-border-width: .5px;width:var(--text-field-input-field-width)}.gravity-input-field gravity-icon{--icon-color: var(--text-field-input-field-icon-color);--icon-height: var(--text-field-input-field-content);--icon-width: var(--text-field-input-field-content)}.gravity-input-field gravity-icon.pointer{cursor:pointer}.gravity-input-field gravity-icon.left{margin-right:5px}.gravity-input-field gravity-icon.right{margin-left:5px}.gravity-input-field .prefix{color:var(--text-field-input-field-content-color)}.gravity-input-field input,.gravity-input-field textarea{background-color:transparent;border:none;box-shadow:none;color:var(--text-field-input-field-content-color);height:var(--text-field-input-field-input);line-height:1;outline:none;padding:0;resize:none;width:100%}.gravity-input-field input::placeholder,.gravity-input-field textarea::placeholder{color:var(--text-field-input-field-placeholder-color)}.gravity-input-field input:-webkit-autofill,.gravity-input-field textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--bg-field-autofill) inset!important;-webkit-text-fill-color:var(--label-text-full-enabled-primary)!important}.gravity-input-field.sm{--text-field-input-field-height: 29px;--text-field-input-field-content: 9px;--text-field-input-field-input: 13px}.gravity-input-field.sm.short-width{--text-field-input-field-width: 195px}.gravity-input-field.sm.medium-width{--text-field-input-field-width: 276px}.gravity-input-field.sm.full-width,.gravity-input-field.sm.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.md{--text-field-input-field-height: 35px;--text-field-input-field-content: 15px;--text-field-input-field-input: 18px}.gravity-input-field.md.short-width{--text-field-input-field-width: 242px}.gravity-input-field.md.medium-width{--text-field-input-field-width: 329px}.gravity-input-field.md.full-width,.gravity-input-field.md.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.active{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.active:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.hover{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-border-width: 1px;--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.autofill{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.autofill:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.autofill input,.gravity-input-field.autofill textarea{background-color:var(--bg-field-autofill);color:var(--label-text-full-enabled-primary)}.gravity-input-field.typing{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-border-width: 1px;--text-field-input-field-content-color: var(--placeholder-full-enabled-pressed-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-pressed-primary);--text-field-input-field-placeholder-color: var(--placeholder-full-enabled-pressed-primary)}.gravity-input-field.typing:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.typed{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary);--text-field-input-field-placeholder-color: var(--label-text-full-enabled-primary)}.gravity-input-field.typed:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.typed-error{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--negative-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary);--text-field-input-field-placeholder-color: var(--label-text-full-enabled-primary)}.gravity-input-field.typed-error:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.typed-positive{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--positive-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary);--text-field-input-field-placeholder-color: var(--label-text-full-enabled-primary)}.gravity-input-field.typed-positive:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.disabled{--text-field-input-field-background-color: var(--bg-field-empty-disabled-primary);--text-field-input-field-border-color: var(--outline-disabled);--text-field-input-field-content-color: var(--on-bg-disabled);--text-field-input-field-icon-color: var(--on-bg-disabled);--text-field-input-field-placeholder-color: var(--on-bg-disabled)}.gravity-input-field.readonly{--text-field-input-field-background-color: var(--bg-field-full-read-only-primary);--text-field-input-field-border-color: var(--bg-field-full-read-only-primary);--text-field-input-field-content-color: var(--input-text-full-read-only-primary);--text-field-input-field-icon-color: var(--input-text-full-read-only-primary);--text-field-input-field-placeholder-color: var(--input-text-full-read-only-primary)}.supporting-text{align-items:center;color:var(--text-field-supporting-text-color);display:flex;margin:5px 12px 0}.supporting-text.active,.supporting-text.hover,.supporting-text.autofill{--text-field-supporting-text-color: var(--label-text-empty-enabled-primary)}.supporting-text.typing{--text-field-supporting-text-color: var(--label-text-full-enabled-pressed-primary)}.supporting-text.typed{--text-field-supporting-text-color: var(--label-text-full-enabled-primary)}.supporting-text.typed-error{--text-field-supporting-text-color: var(--negative-primary)}.supporting-text.typed-positive{--text-field-supporting-text-color: var(--positive-primary)}.supporting-text.disabled{--text-field-supporting-text-color: var(--on-bg-disabled)}.supporting-text.readonly{--text-field-supporting-text-color: var(--label-text-full-read-only-primary)}.supporting-text.sm{--text-field-supporting-text-icon-size: 9px}.supporting-text.md{--text-field-supporting-text-icon-size: 15px}.supporting-text gravity-icon{--icon-color: var(--negative-primary);--icon-height: var(--text-field-supporting-text-icon-size);--icon-width: var(--text-field-supporting-text-icon-size);margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }] }); }
181
181
  }
182
182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityTextFieldComponent, decorators: [{
183
183
  type: Component,
184
- args: [{ selector: 'gravity-text-field', template: "<label class=\"hr-label sm-bold {{getTextFieldStatus()}}\" [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"label\">\n {{label}} <span *ngIf=\"required || getTextFieldStatus() == 'typed-error'\">*</span>\n</label>\n<div class=\"gravity-input-field {{size}} {{width}}-width {{getTextFieldStatus()}}\">\n <ng-container *ngIf=\"iconLeft\">\n <ng-container [ngTemplateOutlet]=\"icons\" [ngTemplateOutletContext]=\"{iconPosition: 'left'}\"></ng-container>\n </ng-container>\n <span class=\"{{getTextFieldInputFontSize()}} prefix\">{{prefix}}</span>\n <input [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n [autocomplete]=\"autocomplete\"\n [maxLength]=\"inputContentType === 'date' ? 10 : (validations?.maxLength || 100)\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [type]=\"inputContentType === 'date' ? 'text' : (inputContentType !== 'number' ? inputContentType : 'text')\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (change)=\"changeInputValue()\"\n (focus)=\"focusInput = true\"\n (keydown)=\" onKeyDownEvent($event)\"\n (keyup)=\"inputContentType === 'date' ? formatDateInput($event) : changeInputValue()\"\n\n class=\"{{getTextFieldInputFontSize()}}\"\n\n\t\t\t\t #inputElement\n *ngIf=\"textFieldType == 'input'\">\n\n <textarea [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 200\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (change)=\"changeInputValue()\"\n (focus)=\"focusInput = true\"\n (keydown)=\"onKeyDownEvent($event)\"\n (keyup)=\"changeInputValue()\"\n\n class=\"{{getTextFieldInputFontSize()}}\"\n rows=\"1\"\n\n #textAreaElement\n\n *ngIf=\"textFieldType == 'textarea'\"></textarea>\n <ng-container *ngIf=\"iconRight\">\n <ng-container [ngTemplateOutlet]=\"icons\" [ngTemplateOutletContext]=\"{iconPosition: 'right'}\"></ng-container>\n </ng-container>\n</div>\n<p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}} {{size}}\"\n [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"getTextFieldStatus() == 'typed-error'\"\n [iconSize]=\"'md-16'\"></gravity-icon>\n {{supportText}}\n</p>\n<p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}} {{size}}\"\n [class.custom-label-size]=\"size == 'sm'\"\n *ngIf=\"!supportText && getTextFieldStatus() == 'active' && inputValue == '' && required\">\n {{currentLang == 'es' ? 'Requerido' : 'Required'}}\n</p>\n\n<ng-template #icons let-iconPosition=\"iconPosition\">\n <gravity-icon (click)=\"$event.stopPropagation(); handleIconClick(iconPosition)\" class=\"{{iconPosition}}\"\n [class.pointer]=\"(iconPosition == 'left' && clickOnLeftIcon) || (iconPosition == 'right' && clickOnRightIcon)\"\n [iconName]=\"iconPosition == 'left' ? iconLeft : iconRight\" [style.--icon-color]=\"iconColor\"\n [iconSize]=\"isNewIcon(iconPosition) ? 'md-16' : null\"></gravity-icon>\n</ng-template>\n", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.text-negative{color:var(--negative-primary)}.text-neutro{color:var(--text-primary)}.text-positive{color:var(--positive-primary)}.support-text{margin-left:0;margin-top:.3125rem;padding-inline:1rem}:host{display:block}label{color:var(--text-field-label-color);display:block;margin:0 12px 5px}label.active,label.hover,label.autofill{--text-field-label-color: var(--label-text-empty-enabled-primary)}label.typing{--text-field-label-color: var(--label-text-full-enabled-pressed-primary)}label.typed,label.typed-error{--text-field-label-color: var(--label-text-full-enabled-primary)}label.typed-error span{color:var(--negative-primary)}label.typed-positive{--text-field-label-color: var(--label-text-full-enabled-primary)}label.disabled{--text-field-label-color: var(--on-bg-disabled)}label.readonly{--text-field-label-color: var(--label-text-full-read-only-primary)}.hr-label.sm-bold.custom-label-size,.hr-label.sm-regular.custom-label-size{font-size:10px;letter-spacing:.25px}.gravity-input-field{align-items:center;background-color:var(--text-field-input-field-background-color);border:var(--text-field-input-field-border-width) solid var(--text-field-input-field-border-color);border-radius:.3125rem;color:var(--text-field-input-field-content-color);display:flex;height:var(--text-field-input-field-height);padding:10px 12px;--text-field-input-field-border-width: .5px;width:var(--text-field-input-field-width)}.gravity-input-field gravity-icon{--icon-color: var(--text-field-input-field-icon-color);--icon-height: var(--text-field-input-field-content);--icon-width: var(--text-field-input-field-content)}.gravity-input-field gravity-icon.pointer{cursor:pointer}.gravity-input-field gravity-icon.left{margin-right:5px}.gravity-input-field gravity-icon.right{margin-left:5px}.gravity-input-field .prefix{color:var(--text-field-input-field-content-color)}.gravity-input-field input,.gravity-input-field textarea{background-color:transparent;border:none;box-shadow:none;color:var(--text-field-input-field-content-color);height:var(--text-field-input-field-input);line-height:1;outline:none;padding:0;resize:none;width:100%}.gravity-input-field input::placeholder,.gravity-input-field textarea::placeholder{color:var(--text-field-input-field-placeholder-color)}.gravity-input-field input:-webkit-autofill,.gravity-input-field textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--bg-field-autofill) inset!important;-webkit-text-fill-color:var(--label-text-full-enabled-primary)!important}.gravity-input-field.sm{--text-field-input-field-height: 29px;--text-field-input-field-content: 9px;--text-field-input-field-input: 13px}.gravity-input-field.sm.short-width{--text-field-input-field-width: 195px}.gravity-input-field.sm.medium-width{--text-field-input-field-width: 276px}.gravity-input-field.sm.full-width,.gravity-input-field.sm.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.md{--text-field-input-field-height: 35px;--text-field-input-field-content: 15px;--text-field-input-field-input: 18px}.gravity-input-field.md.short-width{--text-field-input-field-width: 242px}.gravity-input-field.md.medium-width{--text-field-input-field-width: 329px}.gravity-input-field.md.full-width,.gravity-input-field.md.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.active{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.active:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.hover{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-border-width: 1px;--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.autofill{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.autofill:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.autofill input,.gravity-input-field.autofill textarea{background-color:var(--bg-field-autofill);color:var(--label-text-full-enabled-primary)}.gravity-input-field.typing{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-border-width: 1px;--text-field-input-field-content-color: var(--placeholder-full-enabled-pressed-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-pressed-primary);--text-field-input-field-placeholder-color: var(--placeholder-full-enabled-pressed-primary)}.gravity-input-field.typing:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.typed{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary);--text-field-input-field-placeholder-color: var(--label-text-full-enabled-primary)}.gravity-input-field.typed:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.typed-error{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--negative-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary);--text-field-input-field-placeholder-color: var(--label-text-full-enabled-primary)}.gravity-input-field.typed-error:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.typed-positive{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--positive-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary);--text-field-input-field-placeholder-color: var(--label-text-full-enabled-primary)}.gravity-input-field.typed-positive:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.disabled{--text-field-input-field-background-color: var(--bg-field-empty-disabled-primary);--text-field-input-field-border-color: var(--outline-disabled);--text-field-input-field-content-color: var(--on-bg-disabled);--text-field-input-field-icon-color: var(--on-bg-disabled);--text-field-input-field-placeholder-color: var(--on-bg-disabled)}.gravity-input-field.readonly{--text-field-input-field-background-color: var(--bg-field-full-read-only-primary);--text-field-input-field-border-color: var(--bg-field-full-read-only-primary);--text-field-input-field-content-color: var(--input-text-full-read-only-primary);--text-field-input-field-icon-color: var(--input-text-full-read-only-primary);--text-field-input-field-placeholder-color: var(--input-text-full-read-only-primary)}.supporting-text{align-items:center;color:var(--text-field-supporting-text-color);display:flex;margin:5px 12px 0}.supporting-text.active,.supporting-text.hover,.supporting-text.autofill{--text-field-supporting-text-color: var(--label-text-empty-enabled-primary)}.supporting-text.typing{--text-field-supporting-text-color: var(--label-text-full-enabled-pressed-primary)}.supporting-text.typed{--text-field-supporting-text-color: var(--label-text-full-enabled-primary)}.supporting-text.typed-error{--text-field-supporting-text-color: var(--negative-primary)}.supporting-text.typed-positive{--text-field-supporting-text-color: var(--positive-primary)}.supporting-text.disabled{--text-field-supporting-text-color: var(--on-bg-disabled)}.supporting-text.readonly{--text-field-supporting-text-color: var(--label-text-full-read-only-primary)}.supporting-text.sm{--text-field-supporting-text-icon-size: 9px}.supporting-text.md{--text-field-supporting-text-icon-size: 15px}.supporting-text gravity-icon{--icon-color: var(--negative-primary);--icon-height: var(--text-field-supporting-text-icon-size);--icon-width: var(--text-field-supporting-text-icon-size);margin-right:5px}\n"] }]
184
+ args: [{ selector: 'gravity-text-field', template: "<label class=\"hr-label sm-bold {{getTextFieldStatus()}}\" [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"label\">\n {{label}} <span *ngIf=\"required || getTextFieldStatus() == 'typed-error'\">*</span>\n</label>\n<div class=\"gravity-input-field {{size}} {{width}}-width {{getTextFieldStatus()}}\">\n <ng-container *ngIf=\"iconLeft\">\n <ng-container [ngTemplateOutlet]=\"icons\" [ngTemplateOutletContext]=\"{iconPosition: 'left'}\"></ng-container>\n </ng-container>\n <span class=\"{{getTextFieldInputFontSize()}} prefix\">{{prefix}}</span>\n <input [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n [autocomplete]=\"autocomplete\"\n [maxLength]=\"inputContentType === 'date' ? 10 : (validations?.maxLength || 100)\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [type]=\"inputContentType === 'date' ? 'text' : (inputContentType !== 'number' ? inputContentType : 'text')\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (change)=\"changeInputValue()\"\n (focus)=\"focusInput = true\"\n (keydown)=\" onKeyDownEvent($event)\"\n (keyup)=\"inputContentType === 'date' ?\n formatDateInput($event) : changeInputValue()\"\n\n class=\"{{getTextFieldInputFontSize()}}\"\n\t\t\t\t #inputElement\n *ngIf=\"textFieldType == 'input'\">\n\n <textarea [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"customState == 'disabled' ? true : null\"\n [attr.readonly]=\"customState == 'readonly' ? true : null\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 200\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (change)=\"changeInputValue()\"\n (focus)=\"focusInput = true\"\n (keydown)=\"onKeyDownEvent($event)\"\n (keyup)=\"changeInputValue()\"\n\n class=\"{{getTextFieldInputFontSize()}}\"\n rows=\"1\"\n\n #textAreaElement\n\n *ngIf=\"textFieldType == 'textarea'\"></textarea>\n <ng-container *ngIf=\"iconRight\">\n <ng-container [ngTemplateOutlet]=\"icons\" [ngTemplateOutletContext]=\"{iconPosition: 'right'}\"></ng-container>\n </ng-container>\n</div>\n<p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}} {{size}}\"\n [class.custom-label-size]=\"size == 'sm'\" *ngIf=\"supportText\">\n <gravity-icon [iconName]=\"'question-circle'\" *ngIf=\"getTextFieldStatus() == 'typed-error'\"\n [iconSize]=\"'md-16'\"></gravity-icon>\n {{supportText}}\n</p>\n<p class=\"hr-label sm-regular supporting-text {{getTextFieldStatus()}} {{size}}\"\n [class.custom-label-size]=\"size == 'sm'\"\n *ngIf=\"!supportText && getTextFieldStatus() == 'active' && inputValue == '' && required\">\n {{currentLang == 'es' ? 'Requerido' : 'Required'}}\n</p>\n\n<ng-template #icons let-iconPosition=\"iconPosition\">\n <gravity-icon (click)=\"$event.stopPropagation(); handleIconClick(iconPosition)\" class=\"{{iconPosition}}\"\n [class.pointer]=\"(iconPosition == 'left' && clickOnLeftIcon) || (iconPosition == 'right' && clickOnRightIcon)\"\n [iconName]=\"iconPosition == 'left' ? iconLeft : iconRight\" [style.--icon-color]=\"iconColor\"\n [iconSize]=\"isNewIcon(iconPosition) ? 'md-16' : null\"></gravity-icon>\n</ng-template>\n", styles: [".border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.text-negative{color:var(--negative-primary)}.text-neutro{color:var(--text-primary)}.text-positive{color:var(--positive-primary)}.support-text{margin-left:0;margin-top:.3125rem;padding-inline:1rem}:host{display:block}label{color:var(--text-field-label-color);display:block;margin:0 12px 5px}label.active,label.hover,label.autofill{--text-field-label-color: var(--label-text-empty-enabled-primary)}label.typing{--text-field-label-color: var(--label-text-full-enabled-pressed-primary)}label.typed,label.typed-error{--text-field-label-color: var(--label-text-full-enabled-primary)}label.typed-error span{color:var(--negative-primary)}label.typed-positive{--text-field-label-color: var(--label-text-full-enabled-primary)}label.disabled{--text-field-label-color: var(--on-bg-disabled)}label.readonly{--text-field-label-color: var(--label-text-full-read-only-primary)}.hr-label.sm-bold.custom-label-size,.hr-label.sm-regular.custom-label-size{font-size:10px;letter-spacing:.25px}.gravity-input-field{align-items:center;background-color:var(--text-field-input-field-background-color);border:var(--text-field-input-field-border-width) solid var(--text-field-input-field-border-color);border-radius:.3125rem;color:var(--text-field-input-field-content-color);display:flex;height:var(--text-field-input-field-height);padding:10px 12px;--text-field-input-field-border-width: .5px;width:var(--text-field-input-field-width)}.gravity-input-field gravity-icon{--icon-color: var(--text-field-input-field-icon-color);--icon-height: var(--text-field-input-field-content);--icon-width: var(--text-field-input-field-content)}.gravity-input-field gravity-icon.pointer{cursor:pointer}.gravity-input-field gravity-icon.left{margin-right:5px}.gravity-input-field gravity-icon.right{margin-left:5px}.gravity-input-field .prefix{color:var(--text-field-input-field-content-color)}.gravity-input-field input,.gravity-input-field textarea{background-color:transparent;border:none;box-shadow:none;color:var(--text-field-input-field-content-color);height:var(--text-field-input-field-input);line-height:1;outline:none;padding:0;resize:none;width:100%}.gravity-input-field input::placeholder,.gravity-input-field textarea::placeholder{color:var(--text-field-input-field-placeholder-color)}.gravity-input-field input:-webkit-autofill,.gravity-input-field textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--bg-field-autofill) inset!important;-webkit-text-fill-color:var(--label-text-full-enabled-primary)!important}.gravity-input-field.sm{--text-field-input-field-height: 29px;--text-field-input-field-content: 9px;--text-field-input-field-input: 13px}.gravity-input-field.sm.short-width{--text-field-input-field-width: 195px}.gravity-input-field.sm.medium-width{--text-field-input-field-width: 276px}.gravity-input-field.sm.full-width,.gravity-input-field.sm.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.md{--text-field-input-field-height: 35px;--text-field-input-field-content: 15px;--text-field-input-field-input: 18px}.gravity-input-field.md.short-width{--text-field-input-field-width: 242px}.gravity-input-field.md.medium-width{--text-field-input-field-width: 329px}.gravity-input-field.md.full-width,.gravity-input-field.md.fit-width{--text-field-input-field-width: 100%}.gravity-input-field.active{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.active:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.hover{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-border-width: 1px;--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.autofill{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-empty-enabled-primary);--text-field-input-field-content-color: var(--placeholder-empty-enabled-primary);--text-field-input-field-icon-color: var(--label-text-empty-enabled-primary);--text-field-input-field-placeholder-color: var(--placeholder-empty-enabled-primary)}.gravity-input-field.autofill:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.autofill input,.gravity-input-field.autofill textarea{background-color:var(--bg-field-autofill);color:var(--label-text-full-enabled-primary)}.gravity-input-field.typing{--text-field-input-field-background-color: var(--bg-field-empty-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-border-width: 1px;--text-field-input-field-content-color: var(--placeholder-full-enabled-pressed-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-pressed-primary);--text-field-input-field-placeholder-color: var(--placeholder-full-enabled-pressed-primary)}.gravity-input-field.typing:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.typed{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--outline-field-full-enabled-pressed-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary);--text-field-input-field-placeholder-color: var(--label-text-full-enabled-primary)}.gravity-input-field.typed:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.typed-error{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--negative-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary);--text-field-input-field-placeholder-color: var(--label-text-full-enabled-primary)}.gravity-input-field.typed-error:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.typed-positive{--text-field-input-field-background-color: var(--bg-field-full-enabled-primary);--text-field-input-field-border-color: var(--positive-primary);--text-field-input-field-content-color: var(--label-text-full-enabled-primary);--text-field-input-field-icon-color: var(--label-text-full-enabled-primary);--text-field-input-field-placeholder-color: var(--label-text-full-enabled-primary)}.gravity-input-field.typed-positive:hover{--text-field-input-field-border-width: 1px}.gravity-input-field.disabled{--text-field-input-field-background-color: var(--bg-field-empty-disabled-primary);--text-field-input-field-border-color: var(--outline-disabled);--text-field-input-field-content-color: var(--on-bg-disabled);--text-field-input-field-icon-color: var(--on-bg-disabled);--text-field-input-field-placeholder-color: var(--on-bg-disabled)}.gravity-input-field.readonly{--text-field-input-field-background-color: var(--bg-field-full-read-only-primary);--text-field-input-field-border-color: var(--bg-field-full-read-only-primary);--text-field-input-field-content-color: var(--input-text-full-read-only-primary);--text-field-input-field-icon-color: var(--input-text-full-read-only-primary);--text-field-input-field-placeholder-color: var(--input-text-full-read-only-primary)}.supporting-text{align-items:center;color:var(--text-field-supporting-text-color);display:flex;margin:5px 12px 0}.supporting-text.active,.supporting-text.hover,.supporting-text.autofill{--text-field-supporting-text-color: var(--label-text-empty-enabled-primary)}.supporting-text.typing{--text-field-supporting-text-color: var(--label-text-full-enabled-pressed-primary)}.supporting-text.typed{--text-field-supporting-text-color: var(--label-text-full-enabled-primary)}.supporting-text.typed-error{--text-field-supporting-text-color: var(--negative-primary)}.supporting-text.typed-positive{--text-field-supporting-text-color: var(--positive-primary)}.supporting-text.disabled{--text-field-supporting-text-color: var(--on-bg-disabled)}.supporting-text.readonly{--text-field-supporting-text-color: var(--label-text-full-read-only-primary)}.supporting-text.sm{--text-field-supporting-text-icon-size: 9px}.supporting-text.md{--text-field-supporting-text-icon-size: 15px}.supporting-text gravity-icon{--icon-color: var(--negative-primary);--icon-height: var(--text-field-supporting-text-icon-size);--icon-width: var(--text-field-supporting-text-icon-size);margin-right:5px}\n"] }]
185
185
  }], propDecorators: { leftIconResponse: [{
186
186
  type: Output,
187
187
  args: ['clickIconLeft']
@@ -238,4 +238,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
238
238
  }], width: [{
239
239
  type: Input
240
240
  }] } });
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS10ZXh0LWZpZWxkL2dyYXZpdHktdGV4dC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGV4dC1maWVsZC9ncmF2aXR5LXRleHQtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQU9sSCxNQUFNLE9BQU8seUJBQXlCO0lBTHRDO1FBTWtDLHFCQUFnQixHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pELHNCQUFpQixHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pFLDJCQUFzQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSzlGLFlBQVk7UUFDSyxnQkFBVyxHQUFXLElBQUksQ0FBQztRQUUzQixnQkFBVyxHQUFrSSxTQUFTLENBQUM7UUFHdkosV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUdwQixrQkFBYSxHQUF5QixPQUFPLENBQUM7UUFFOUQsUUFBUTtRQUNRLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUtsRCxtQkFBbUI7UUFDSCxpQkFBWSxHQUFXLEtBQUssQ0FBQztRQUM3QixxQkFBZ0IsR0FBOEQsTUFBTSxDQUFDO1FBSXJHLFFBQVE7UUFDUSxTQUFJLEdB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Y2VzQ29udGVudCI6WyJpbXBvcnQge0dyYXZpdHlJY29uQ29tcG9uZW50fSBmcm9tIFwiLi4vZ3Jhdml0eS1pY29uL2dyYXZpdHktaWNvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmF2aXR5LXRleHQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3Jhdml0eVRleHRGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgnY2xpY2tJY29uTGVmdCcpIHB1YmxpYyBsZWZ0SWNvblJlc3BvbnNlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoJ2NsaWNrSWNvblJpZ2h0JykgcHVibGljIHJpZ2h0SWNvblJlc3BvbnNlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoJ3Jlc3BvbnNlJykgcHVibGljIHRleHRGaWVsZFZhbHVlUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcsIHtzdGF0aWM6IGZhbHNlfSkgcHJpdmF0ZSBpbnB1dEVsZW1lbnQ6IGFueTtcbiAgQFZpZXdDaGlsZCgndGV4dEFyZWFFbGVtZW50Jywge3N0YXRpYzogZmFsc2V9KSBwcml2YXRlIHRleHRBcmVhRWxlbWVudDogYW55O1xuXG5cdC8vIENvbXBvbmVudFxuICBASW5wdXQoKSBwdWJsaWMgY3VycmVudExhbmc6IHN0cmluZyA9ICdlbic7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21JbnB1dFZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21TdGF0ZTogJ2RlZmF1bHQnIHwgJ2FjdGl2ZScgfCAnaG92ZXInIHwgJ3R5cGluZycgfCAndHlwZWQnIHwgJ3R5cGVkLWVycm9yJyB8ICd0eXBlZC1wb3NpdGl2ZScgfCAnZGlzYWJsZWQnIHwgJ3JlYWRvbmx5JyB8ICdhdXRvZmlsbCcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjeXByZXNzVGFnOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcHJlZml4OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBzdXBwb3J0VGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgdGV4dEZpZWxkVHlwZTogJ2lucHV0JyB8ICd0ZXh0YXJlYScgPSBcImlucHV0XCI7XG5cbiAgLy8gSWNvbnNcbiAgQElucHV0KCkgcHVibGljIGNsaWNrT25MZWZ0SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgY2xpY2tPblJpZ2h0SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaWNvbkNvbG9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uTGVmdDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgaWNvblJpZ2h0OiBzdHJpbmc7XG5cbiAgLy8gSW5wdXQgfCBUZXh0YXJlYVxuICBASW5wdXQoKSBwdWJsaWMgYXV0b2NvbXBsZXRlOiBzdHJpbmcgPSAnb2ZmJztcbiAgQElucHV0KCkgcHVibGljIGlucHV0Q29udGVudFR5cGU6ICdlbWFpbCcgfCAnbnVtYmVyJyB8ICdwYXNzd29yZCcgfCAndGVsJyB8ICdkYXRlJyB8ICd0ZXh0JyA9IFwidGV4dFwiO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25zOiB7IG1heExlbmd0aD86IG51bWJlcjsgbWluTGVuZ3RoPzogbnVtYmVyIH07XG5cbiAgLy8gU2l6ZXNcbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdzbScgfCAnbWQnID0gJ21kJztcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiAnc2hvcnQnIHwgJ21lZGl1bScgfCAnZnVsbCcgfCAnZml0JyA9ICdzaG9ydCc7XG5cbiAgcHVibGljIGZvY3VzSW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlucHV0VmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuY3VzdG9tSW5wdXRWYWx1ZSA/IHRoaXMuY3VzdG9tSW5wdXRWYWx1ZSA6ICcnO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydjdXN0b21JbnB1dFZhbHVlJ10pIHtcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGNoYW5nZXNbJ2N1c3RvbUlucHV0VmFsdWUnXS5jdXJyZW50VmFsdWUgPyBjaGFuZ2VzWydjdXN0b21JbnB1dFZhbHVlJ10uY3VycmVudFZhbHVlIDogJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucGxhY2Vob2xkZXIgJiYgdGhpcy5wbGFjZWhvbGRlciAhPSAnJykge1xuICAgICAgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmxhYmVsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhcklucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlSW5wdXRWYWx1ZSh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VJbnB1dFZhbHVlKGNsZWFySW5wdXQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIGlmIChjbGVhcklucHV0KSB7XG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSAnJztcbiAgICB9IGVsc2UgaWYgKHRoaXMudGV4dEZpZWxkVHlwZSA9PSAnaW5wdXQnKSB7XG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLnRleHRBcmVhRWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlucHV0VmFsdWUgPT0gJycpIHtcbiAgICAgIHRoaXMudGV4dEZpZWxkVmFsdWVSZXNwb25zZS5lbWl0KCcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZXh0RmllbGRWYWx1ZVJlc3BvbnNlLmVtaXQodGhpcy5wcmVmaXggKyB0aGlzLmlucHV0VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVJY29uQ2xpY2soaWNvblBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnKTogdm9pZCB7XG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PSAnbGVmdCcgJiYgdGhpcy5jbGlja09uTGVmdEljb24pIHtcbiAgICAgIHRoaXMubGVmdEljb25SZXNwb25zZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PSAncmlnaHQnICYmIHRoaXMuY2xpY2tPblJpZ2h0SWNvbikge1xuICAgICAgdGhpcy5yaWdodEljb25SZXNwb25zZS5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRleHRGaWVsZFN0YXR1cygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmN1c3RvbVN0YXRlID09ICdkZWZhdWx0Jykge1xuICAgICAgaWYgKCF0aGlzLmZvY3VzSW5wdXQgJiYgIXRoaXMuaW5wdXRWYWx1ZSkge1xuICAgICAgICByZXR1cm4gJ2FjdGl2ZSc7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLmZvY3VzSW5wdXQgJiYgdGhpcy5pbnB1dFZhbHVlKSB7XG4gICAgICAgIHJldHVybiAndHlwZWQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICd0eXBpbmcnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXN0b21TdGF0ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VGV4dEZpZWxkSW5wdXRGb250U2l6ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnaHItbGFiZWwgJyArIHRoaXMuc2l6ZSArICctcmVndWxhcic7XG4gIH1cblxuICBwdWJsaWMgaXNOZXdJY29uKGljb25Qb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0Jyk6IGJvb2xlYW4ge1xuICAgIGlmIChpY29uUG9zaXRpb24gPT0gJ2xlZnQnKSB7XG4gICAgICByZXR1cm4gR3Jhdml0eUljb25Db21wb25lbnQuaXNOZXdJY29uKHRoaXMuaWNvbkxlZnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gR3Jhdml0eUljb25Db21wb25lbnQuaXNOZXdJY29uKHRoaXMuaWNvblJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25LZXlEb3duRXZlbnQoJGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5wdXRDb250ZW50VHlwZSA9PSAnbnVtYmVyJykge1xuICAgICAgbGV0IG5hdmlnYXRpb25LZXlzID0gWydCYWNrc3BhY2UnLCAnRGVsZXRlJywgJ1RhYicsICdFc2NhcGUnLCAnRW50ZXInLCAnSG9tZScsICdFbmQnLCAnQXJyb3dMZWZ0JywgJ0Fycm93UmlnaHQnLCAnQ2xlYXInLCAnQ29weScsICdQYXN0ZSddO1xuXG4gICAgICBpZiAoXG4gICAgICAgIG5hdmlnYXRpb25LZXlzLmluZGV4T2YoJGV2ZW50LmtleSkgPiAtMSB8fCAvLyBBbGxvdzogbmF2aWdhdGlvbiBrZXlzOiBiYWNrc3BhY2UsIGRlbGV0ZSwgYXJyb3dzIGV0Yy5cbiAgICAgICAgKCRldmVudC5rZXkgPT09ICdhJyAmJiAkZXZlbnQuY3RybEtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IEN0cmwrQVxuICAgICAgICAoJGV2ZW50LmtleSA9PT0gJ2MnICYmICRldmVudC5jdHJsS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ3RybCtDXG4gICAgICAgICgkZXZlbnQua2V5ID09PSAndicgJiYgJGV2ZW50LmN0cmxLZXkgPT09IHRydWUpIHx8IC8vIEFsbG93OiBDdHJsK1ZcbiAgICAgICAgKCRldmVudC5rZXkgPT09ICd4JyAmJiAkZXZlbnQuY3RybEtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IEN0cmwrWFxuICAgICAgICAoJGV2ZW50LmtleSA9PT0gJ2EnICYmICRldmVudC5tZXRhS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ21kK0EgKE1hYylcbiAgICAgICAgKCRldmVudC5rZXkgPT09ICdjJyAmJiAkZXZlbnQubWV0YUtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IENtZCtDIChNYWMpXG4gICAgICAgICgkZXZlbnQua2V5ID09PSAndicgJiYgJGV2ZW50Lm1ldGFLZXkgPT09IHRydWUpIHx8IC8vIEFsbG93OiBDbWQrViAoTWFjKVxuICAgICAgICAoJGV2ZW50LmtleSA9PT0gJ3gnICYmICRldmVudC5tZXRhS2V5ID09PSB0cnVlKSB8fC8vIEFsbG93OiBDbWQrWCAoTWFjKVxuICAgICAgICAoJGV2ZW50LmtleSA9PT0gJy4nKSB8fCAoJGV2ZW50LmtleSA9PT0gJywnKSAvLyBBbGxvdzogZG90IGFuZCBjb21tYSBmb3IgZGVjaW1hbFxuICAgICAgKSB7XG4gICAgICAgIC8vIGxldCBpdCBoYXBwZW4sIGRvbid0IGRvIGFueXRoaW5nXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gRW5zdXJlIHRoYXQgaXQgaXMgYSBudW1iZXIgYW5kIHN0b3AgdGhlIGtleXByZXNzXG4gICAgICBpZiAoXG4gICAgICAgICgkZXZlbnQuc2hpZnRLZXkgfHwgKCRldmVudC5rZXlDb2RlIDwgNDggfHwgJGV2ZW50LmtleUNvZGUgPiA1NykpICYmXG4gICAgICAgICgkZXZlbnQua2V5Q29kZSA8IDk2IHx8ICRldmVudC5rZXlDb2RlID4gMTA1KVxuICAgICAgKSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH1cblxuXHQgIGlmICh0aGlzLmlucHV0Q29udGVudFR5cGUgPT0gJ2RhdGUnKSB7XG5cdFx0ICBjb25zdCBhbGxvd2VkS2V5cyA9IFtcblx0XHRcdCAgJ0JhY2tzcGFjZScsICdEZWxldGUnLCAnVGFiJywgJ0VzY2FwZScsICdFbnRlcicsXG5cdFx0XHQgICdBcnJvd0xlZnQnLCAnQXJyb3dSaWdodCcsICdBcnJvd1VwJywgJ0Fycm93RG93bidcblx0XHQgIF07XG5cblx0XHQgIGlmIChhbGxvd2VkS2V5cy5pbmNsdWRlcygkZXZlbnQua2V5KSB8fCAkZXZlbnQubWV0YUtleSB8fCAkZXZlbnQuY3RybEtleSkge1xuXHRcdFx0ICByZXR1cm47XG5cdFx0ICB9XG5cblx0XHQgIGlmICgvXFxELy50ZXN0KCRldmVudC5rZXkpICYmICRldmVudC5rZXkgIT09ICcvJykge1xuXHRcdFx0ICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHQgIH1cblx0ICB9XG4gIH1cblxuXHRwdWJsaWMgZm9ybWF0RGF0ZUlucHV0KGV2ZW50OiBhbnkpOiB2b2lkIHtcblx0XHRjb25zdCBlbCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXHRcdGxldCB2YWx1ZSA9IGVsLnZhbHVlO1xuXHRcdGxldCBmb3JtYXR0ZWQgPSAnJztcblxuXHRcdGxldCBjdXJzb3JQb3NpdGlvbiA9IGVsLnNlbGVjdGlvblN0YXJ0IHx8IDA7XG5cdFx0Y29uc3QgaXNEZWxldGluZyA9IGV2ZW50LmlucHV0VHlwZSA9PT0gJ2RlbGV0ZUNvbnRlbnRCYWNrd2FyZCcgfHwgZXZlbnQuaW5wdXRUeXBlID09PSAnZGVsZXRlQ29udGVudEZvcndhcmQnO1xuXG5cdFx0aWYgKCh2YWx1ZS5sZW5ndGggPT09IDMgJiYgdmFsdWVbMl0gPT09ICcvJykgfHxcblx0XHRcdCAgKHZhbHVlLmxlbmd0aCA9PT0gNiAmJiB2YWx1ZVs1XSA9PT0gJy8nKSkge1xuXHRcdFx0Zm9ybWF0dGVkID0gdmFsdWU7XG5cdFx0fVxuXG5cdFx0ZWxzZSBpZiAoL1xcRC8udGVzdCh2YWx1ZVt2YWx1ZS5sZW5ndGggLSAxXSkpIHtcblx0XHRcdGZvcm1hdHRlZCA9IHZhbHVlLnNsaWNlKDAsIC0xKTtcblx0XHRcdGN1cnNvclBvc2l0aW9uID0gTWF0aC5tYXgoMCwgY3Vyc29yUG9zaXRpb24gLSAxKTtcblx0XHR9XG5cblx0XHRlbHNlIHtcblx0XHRcdGNvbnN0IG51bWJlcnMgPSB2YWx1ZS5yZXBsYWNlKC9cXC8vZywgJycpO1xuXG5cdFx0XHRsZXQgZGF5ID0gbnVtYmVycy5zbGljZSgwLCAyKTtcblx0XHRcdGxldCBtb250aCA9IG51bWJlcnMuc2xpY2UoMiwgNCk7XG5cdFx0XHRsZXQgeWVhciA9IG51bWJlcnMuc2xpY2UoNCwgOCk7XG5cblx0XHRcdGlmIChkYXkgJiYgTnVtYmVyKGRheSkgPiAzMSkgZGF5ID0gJzMxJztcblx0XHRcdGlmIChtb250aCAmJiBOdW1iZXIobW9udGgpID4gMTIpIG1vbnRoID0gJzEyJztcblxuXHRcdFx0aWYgKGRheS5sZW5ndGggPiAwKSBmb3JtYXR0ZWQgKz0gZGF5O1xuXHRcdFx0aWYgKGRheS5sZW5ndGggPT09IDIgJiYgbW9udGgubGVuZ3RoID4gMCkgZm9ybWF0dGVkICs9ICcvJztcblx0XHRcdGlmIChtb250aC5sZW5ndGggPiAwKSBmb3JtYXR0ZWQgKz0gbW9udGg7XG5cdFx0XHRpZiAobW9udGgubGVuZ3RoID09PSAyICYmIHllYXIubGVuZ3RoID4gMCkgZm9ybWF0dGVkICs9ICcvJztcblx0XHRcdGlmICh5ZWFyLmxlbmd0aCA+IDApIGZvcm1hdHRlZCArPSB5ZWFyO1xuXG5cdFx0XHRjb25zdCBjdXJyZW50TGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xuXHRcdFx0Y29uc3QgbmV3TGVuZ3RoID0gZm9ybWF0dGVkLmxlbmd0aDtcblxuXHRcdFx0aWYgKG5ld0xlbmd0aCA+IGN1cnJlbnRMZW5ndGggJiYgIWlzRGVsZXRpbmcpIHtcblx0XHRcdFx0Y3Vyc29yUG9zaXRpb24rKztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRlbC52YWx1ZSA9IGZvcm1hdHRlZDtcblx0XHR0aGlzLmlucHV0VmFsdWUgPSBmb3JtYXR0ZWQ7XG5cdFx0ZWwuc2V0U2VsZWN0aW9uUmFuZ2UoY3Vyc29yUG9zaXRpb24sIGN1cnNvclBvc2l0aW9uKTtcblxuXHRcdHRoaXMuY2hhbmdlSW5wdXRWYWx1ZSgpO1xuXHR9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJoci1sYWJlbCBzbS1ib2xkIHt7Z2V0VGV4dEZpZWxkU3RhdHVzKCl9fVwiIFtjbGFzcy5jdXN0b20tbGFiZWwtc2l6ZV09XCJzaXplID09ICdzbSdcIiAqbmdJZj1cImxhYmVsXCI+XG4gIHt7bGFiZWx9fSA8c3BhbiAqbmdJZj1cInJlcXVpcmVkIHx8IGdldFRleHRGaWVsZFN0YXR1cygpID09ICd0eXBlZC1lcnJvcidcIj4qPC9zcGFuPlxuPC9sYWJlbD5cbjxkaXYgY2xhc3M9XCJncmF2aXR5LWlucHV0LWZpZWxkIHt7c2l6ZX19IHt7d2lkdGh9fS13aWR0aCB7e2dldFRleHRGaWVsZFN0YXR1cygpfX1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImljb25MZWZ0XCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpY29uc1wiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aWNvblBvc2l0aW9uOiAnbGVmdCd9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8c3BhbiBjbGFzcz1cInt7Z2V0VGV4dEZpZWxkSW5wdXRGb250U2l6ZSgpfX0gcHJlZml4XCI+e3twcmVmaXh9fTwvc3Bhbj5cbiAgPGlucHV0IFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZ1wiXG4gICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJjdXN0b21TdGF0ZSA9PSAnZGlzYWJsZWQnID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwiY3VzdG9tU3RhdGUgPT0gJ3JlYWRvbmx5JyA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgIFttYXhMZW5ndGhdPVwiaW5wdXRDb250ZW50VHlwZSA9PT0gJ2RhdGUnID8gMTAgOiAodmFsaWRhdGlvbnM/Lm1heExlbmd0aCB8fCAxMDApXCJcbiAgICAgICAgIFttaW5MZW5ndGhdPVwidmFsaWRhdGlvbnM/Lm1pbkxlbmd0aCA/IHZhbGlkYXRpb25zPy5taW5MZW5ndGggOiAwXCJcbiAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgIFt0eXBlXT1cImlucHV0Q29udGVudFR5cGUgPT09ICdkYXRlJyA/ICd0ZXh0JyA6IChpbnB1dENvbnRlbnRUeXBlICE9PSAnbnVtYmVyJyA/IGlucHV0Q29udGVudFR5cGUgOiAndGV4dCcpXCJcbiAgICAgICAgIFt2YWx1ZV09XCJpbnB1dFZhbHVlXCJcblxuICAgICAgICAgKGJsdXIpPVwiZm9jdXNJbnB1dCA9IGZhbHNlXCJcbiAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlSW5wdXRWYWx1ZSgpXCJcbiAgICAgICAgIChmb2N1cyk9XCJmb2N1c0lucHV0ID0gdHJ1ZVwiXG4gICAgICAgICAoa2V5ZG93bik9XCIgb25LZXlEb3duRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAoa2V5dXApPVwiaW5wdXRDb250ZW50VHlwZSA9PT0gJ2RhdGUnID8gZm9ybWF0RGF0ZUlucHV0KCRldmVudCkgOiBjaGFuZ2VJbnB1dFZhbHVlKClcIlxuXG4gICAgICAgICBjbGFzcz1cInt7Z2V0VGV4dEZpZWxkSW5wdXRGb250U2l6ZSgpfX1cIlxuXG5cdFx0XHRcdCAjaW5wdXRFbGVtZW50XG4gICAgICAgICAqbmdJZj1cInRleHRGaWVsZFR5cGUgPT0gJ2lucHV0J1wiPlxuXG4gIDx0ZXh0YXJlYSBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWdcIlxuICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiY3VzdG9tU3RhdGUgPT0gJ2Rpc2FibGVkJyA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cImN1c3RvbVN0YXRlID09ICdyZWFkb25seScgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbbWF4TGVuZ3RoXT1cInZhbGlkYXRpb25zPy5tYXhMZW5ndGggPyB2YWxpZGF0aW9ucz8ubWF4TGVuZ3RoIDogMjAwXCJcbiAgICAgICAgICAgIFttaW5MZW5ndGhdPVwidmFsaWRhdGlvbnM/Lm1pbkxlbmd0aCA/IHZhbGlkYXRpb25zPy5taW5MZW5ndGggOiAwXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJpbnB1dFZhbHVlXCJcblxuICAgICAgICAgICAgKGJsdXIpPVwiZm9jdXNJbnB1dCA9IGZhbHNlXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlSW5wdXRWYWx1ZSgpXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJmb2N1c0lucHV0ID0gdHJ1ZVwiXG4gICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd25FdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXl1cCk9XCJjaGFuZ2VJbnB1dFZhbHVlKClcIlxuXG4gICAgICAgICAgICBjbGFzcz1cInt7Z2V0VGV4dEZpZWxkSW5wdXRGb250U2l6ZSgpfX1cIlxuICAgICAgICAgICAgcm93cz1cIjFcIlxuXG4gICAgICAgICAgICAjdGV4dEFyZWFFbGVtZW50XG5cbiAgICAgICAgICAgICpuZ0lmPVwidGV4dEZpZWxkVHlwZSA9PSAndGV4dGFyZWEnXCI+PC90ZXh0YXJlYT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImljb25SaWdodFwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvbnNcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2ljb25Qb3NpdGlvbjogJ3JpZ2h0J31cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjxwIGNsYXNzPVwiaHItbGFiZWwgc20tcmVndWxhciBzdXBwb3J0aW5nLXRleHQge3tnZXRUZXh0RmllbGRTdGF0dXMoKX19IHt7c2l6ZX19XCJcbiAgIFtjbGFzcy5jdXN0b20tbGFiZWwtc2l6ZV09XCJzaXplID09ICdzbSdcIiAqbmdJZj1cInN1cHBvcnRUZXh0XCI+XG4gIDxncmF2aXR5LWljb24gW2ljb25OYW1lXT1cIidxdWVzdGlvbi1jaXJjbGUnXCIgKm5nSWY9XCJnZXRUZXh0RmllbGRTdGF0dXMoKSA9PSAndHlwZWQtZXJyb3InXCJcbiAgICAgICAgICAgICAgICBbaWNvblNpemVdPVwiJ21kLTE2J1wiPjwvZ3Jhdml0eS1pY29uPlxuICB7e3N1cHBvcnRUZXh0fX1cbjwvcD5cbjxwIGNsYXNzPVwiaHItbGFiZWwgc20tcmVndWxhciBzdXBwb3J0aW5nLXRleHQge3tnZXRUZXh0RmllbGRTdGF0dXMoKX19IHt7c2l6ZX19XCJcbiAgIFtjbGFzcy5jdXN0b20tbGFiZWwtc2l6ZV09XCJzaXplID09ICdzbSdcIlxuICAgKm5nSWY9XCIhc3VwcG9ydFRleHQgJiYgZ2V0VGV4dEZpZWxkU3RhdHVzKCkgPT0gJ2FjdGl2ZScgJiYgaW5wdXRWYWx1ZSA9PSAnJyAmJiByZXF1aXJlZFwiPlxuICB7e2N1cnJlbnRMYW5nID09ICdlcycgPyAnUmVxdWVyaWRvJyA6ICdSZXF1aXJlZCd9fVxuPC9wPlxuXG48bmctdGVtcGxhdGUgI2ljb25zIGxldC1pY29uUG9zaXRpb249XCJpY29uUG9zaXRpb25cIj5cbiAgPGdyYXZpdHktaWNvbiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBoYW5kbGVJY29uQ2xpY2soaWNvblBvc2l0aW9uKVwiIGNsYXNzPVwie3tpY29uUG9zaXRpb259fVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnBvaW50ZXJdPVwiKGljb25Qb3NpdGlvbiA9PSAnbGVmdCcgJiYgY2xpY2tPbkxlZnRJY29uKSB8fCAoaWNvblBvc2l0aW9uID09ICdyaWdodCcgJiYgY2xpY2tPblJpZ2h0SWNvbilcIlxuICAgICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uUG9zaXRpb24gPT0gJ2xlZnQnID8gaWNvbkxlZnQgOiBpY29uUmlnaHRcIiBbc3R5bGUuLS1pY29uLWNvbG9yXT1cImljb25Db2xvclwiXG4gICAgICAgICAgICAgICAgW2ljb25TaXplXT1cImlzTmV3SWNvbihpY29uUG9zaXRpb24pID8gJ21kLTE2JyA6IG51bGxcIj48L2dyYXZpdHktaWNvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS10ZXh0LWZpZWxkL2dyYXZpdHktdGV4dC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktdGV4dC1maWVsZC9ncmF2aXR5LXRleHQtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQU9sSCxNQUFNLE9BQU8seUJBQXlCO0lBTHRDO1FBTWtDLHFCQUFnQixHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pELHNCQUFpQixHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pFLDJCQUFzQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSzlGLFlBQVk7UUFDSyxnQkFBVyxHQUFXLElBQUksQ0FBQztRQUUzQixnQkFBVyxHQUFrSSxTQUFTLENBQUM7UUFHdkosV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUdwQixrQkFBYSxHQUF5QixPQUFPLENBQUM7UUFFOUQsUUFBUTtRQUNRLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUtsRCxtQkFBbUI7UUFDSCxpQkFBWSxHQUFXLEtBQUssQ0FBQztRQUM3QixxQkFBZ0IsR0FBOEQsTUFBTSxDQUFDO1FBSXJHLFFBQVE7UUFDUSxTQUFJLEdB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Y2VzQ29udGVudCI6WyJpbXBvcnQge0dyYXZpdHlJY29uQ29tcG9uZW50fSBmcm9tIFwiLi4vZ3Jhdml0eS1pY29uL2dyYXZpdHktaWNvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmF2aXR5LXRleHQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3Jhdml0eVRleHRGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgnY2xpY2tJY29uTGVmdCcpIHB1YmxpYyBsZWZ0SWNvblJlc3BvbnNlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoJ2NsaWNrSWNvblJpZ2h0JykgcHVibGljIHJpZ2h0SWNvblJlc3BvbnNlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoJ3Jlc3BvbnNlJykgcHVibGljIHRleHRGaWVsZFZhbHVlUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcsIHtzdGF0aWM6IGZhbHNlfSkgcHJpdmF0ZSBpbnB1dEVsZW1lbnQ6IGFueTtcbiAgQFZpZXdDaGlsZCgndGV4dEFyZWFFbGVtZW50Jywge3N0YXRpYzogZmFsc2V9KSBwcml2YXRlIHRleHRBcmVhRWxlbWVudDogYW55O1xuXG5cdC8vIENvbXBvbmVudFxuICBASW5wdXQoKSBwdWJsaWMgY3VycmVudExhbmc6IHN0cmluZyA9ICdlbic7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21JbnB1dFZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21TdGF0ZTogJ2RlZmF1bHQnIHwgJ2FjdGl2ZScgfCAnaG92ZXInIHwgJ3R5cGluZycgfCAndHlwZWQnIHwgJ3R5cGVkLWVycm9yJyB8ICd0eXBlZC1wb3NpdGl2ZScgfCAnZGlzYWJsZWQnIHwgJ3JlYWRvbmx5JyB8ICdhdXRvZmlsbCcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjeXByZXNzVGFnOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcHJlZml4OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBzdXBwb3J0VGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgdGV4dEZpZWxkVHlwZTogJ2lucHV0JyB8ICd0ZXh0YXJlYScgPSBcImlucHV0XCI7XG5cbiAgLy8gSWNvbnNcbiAgQElucHV0KCkgcHVibGljIGNsaWNrT25MZWZ0SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgY2xpY2tPblJpZ2h0SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaWNvbkNvbG9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uTGVmdDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgaWNvblJpZ2h0OiBzdHJpbmc7XG5cbiAgLy8gSW5wdXQgfCBUZXh0YXJlYVxuICBASW5wdXQoKSBwdWJsaWMgYXV0b2NvbXBsZXRlOiBzdHJpbmcgPSAnb2ZmJztcbiAgQElucHV0KCkgcHVibGljIGlucHV0Q29udGVudFR5cGU6ICdlbWFpbCcgfCAnbnVtYmVyJyB8ICdwYXNzd29yZCcgfCAndGVsJyB8ICdkYXRlJyB8ICd0ZXh0JyA9IFwidGV4dFwiO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHZhbGlkYXRpb25zOiB7IG1heExlbmd0aD86IG51bWJlcjsgbWluTGVuZ3RoPzogbnVtYmVyIH07XG5cbiAgLy8gU2l6ZXNcbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdzbScgfCAnbWQnID0gJ21kJztcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiAnc2hvcnQnIHwgJ21lZGl1bScgfCAnZnVsbCcgfCAnZml0JyA9ICdzaG9ydCc7XG5cbiAgcHVibGljIGZvY3VzSW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlucHV0VmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuY3VzdG9tSW5wdXRWYWx1ZSA/IHRoaXMuY3VzdG9tSW5wdXRWYWx1ZSA6ICcnO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydjdXN0b21JbnB1dFZhbHVlJ10pIHtcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGNoYW5nZXNbJ2N1c3RvbUlucHV0VmFsdWUnXS5jdXJyZW50VmFsdWUgPyBjaGFuZ2VzWydjdXN0b21JbnB1dFZhbHVlJ10uY3VycmVudFZhbHVlIDogJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucGxhY2Vob2xkZXIgJiYgdGhpcy5wbGFjZWhvbGRlciAhPSAnJykge1xuICAgICAgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmxhYmVsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhcklucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlSW5wdXRWYWx1ZSh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VJbnB1dFZhbHVlKGNsZWFySW5wdXQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIGlmIChjbGVhcklucHV0KSB7XG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSAnJztcbiAgICB9IGVsc2UgaWYgKHRoaXMudGV4dEZpZWxkVHlwZSA9PSAnaW5wdXQnKSB7XG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLnRleHRBcmVhRWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlucHV0VmFsdWUgPT0gJycpIHtcbiAgICAgIHRoaXMudGV4dEZpZWxkVmFsdWVSZXNwb25zZS5lbWl0KCcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZXh0RmllbGRWYWx1ZVJlc3BvbnNlLmVtaXQodGhpcy5wcmVmaXggKyB0aGlzLmlucHV0VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVJY29uQ2xpY2soaWNvblBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnKTogdm9pZCB7XG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PSAnbGVmdCcgJiYgdGhpcy5jbGlja09uTGVmdEljb24pIHtcbiAgICAgIHRoaXMubGVmdEljb25SZXNwb25zZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PSAncmlnaHQnICYmIHRoaXMuY2xpY2tPblJpZ2h0SWNvbikge1xuICAgICAgdGhpcy5yaWdodEljb25SZXNwb25zZS5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRleHRGaWVsZFN0YXR1cygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmN1c3RvbVN0YXRlID09ICdkZWZhdWx0Jykge1xuICAgICAgaWYgKCF0aGlzLmZvY3VzSW5wdXQgJiYgIXRoaXMuaW5wdXRWYWx1ZSkge1xuICAgICAgICByZXR1cm4gJ2FjdGl2ZSc7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLmZvY3VzSW5wdXQgJiYgdGhpcy5pbnB1dFZhbHVlKSB7XG4gICAgICAgIHJldHVybiAndHlwZWQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICd0eXBpbmcnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXN0b21TdGF0ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VGV4dEZpZWxkSW5wdXRGb250U2l6ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnaHItbGFiZWwgJyArIHRoaXMuc2l6ZSArICctcmVndWxhcic7XG4gIH1cblxuICBwdWJsaWMgaXNOZXdJY29uKGljb25Qb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0Jyk6IGJvb2xlYW4ge1xuICAgIGlmIChpY29uUG9zaXRpb24gPT0gJ2xlZnQnKSB7XG4gICAgICByZXR1cm4gR3Jhdml0eUljb25Db21wb25lbnQuaXNOZXdJY29uKHRoaXMuaWNvbkxlZnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gR3Jhdml0eUljb25Db21wb25lbnQuaXNOZXdJY29uKHRoaXMuaWNvblJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25LZXlEb3duRXZlbnQoJGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5wdXRDb250ZW50VHlwZSA9PSAnbnVtYmVyJykge1xuICAgICAgbGV0IG5hdmlnYXRpb25LZXlzID0gWydCYWNrc3BhY2UnLCAnRGVsZXRlJywgJ1RhYicsICdFc2NhcGUnLCAnRW50ZXInLCAnSG9tZScsICdFbmQnLCAnQXJyb3dMZWZ0JywgJ0Fycm93UmlnaHQnLCAnQ2xlYXInLCAnQ29weScsICdQYXN0ZSddO1xuXG4gICAgICBpZiAoXG4gICAgICAgIG5hdmlnYXRpb25LZXlzLmluZGV4T2YoJGV2ZW50LmtleSkgPiAtMSB8fCAvLyBBbGxvdzogbmF2aWdhdGlvbiBrZXlzOiBiYWNrc3BhY2UsIGRlbGV0ZSwgYXJyb3dzIGV0Yy5cbiAgICAgICAgKCRldmVudC5rZXkgPT09ICdhJyAmJiAkZXZlbnQuY3RybEtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IEN0cmwrQVxuICAgICAgICAoJGV2ZW50LmtleSA9PT0gJ2MnICYmICRldmVudC5jdHJsS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ3RybCtDXG4gICAgICAgICgkZXZlbnQua2V5ID09PSAndicgJiYgJGV2ZW50LmN0cmxLZXkgPT09IHRydWUpIHx8IC8vIEFsbG93OiBDdHJsK1ZcbiAgICAgICAgKCRldmVudC5rZXkgPT09ICd4JyAmJiAkZXZlbnQuY3RybEtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IEN0cmwrWFxuICAgICAgICAoJGV2ZW50LmtleSA9PT0gJ2EnICYmICRldmVudC5tZXRhS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ21kK0EgKE1hYylcbiAgICAgICAgKCRldmVudC5rZXkgPT09ICdjJyAmJiAkZXZlbnQubWV0YUtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IENtZCtDIChNYWMpXG4gICAgICAgICgkZXZlbnQua2V5ID09PSAndicgJiYgJGV2ZW50Lm1ldGFLZXkgPT09IHRydWUpIHx8IC8vIEFsbG93OiBDbWQrViAoTWFjKVxuICAgICAgICAoJGV2ZW50LmtleSA9PT0gJ3gnICYmICRldmVudC5tZXRhS2V5ID09PSB0cnVlKSB8fC8vIEFsbG93OiBDbWQrWCAoTWFjKVxuICAgICAgICAoJGV2ZW50LmtleSA9PT0gJy4nKSB8fCAoJGV2ZW50LmtleSA9PT0gJywnKSAvLyBBbGxvdzogZG90IGFuZCBjb21tYSBmb3IgZGVjaW1hbFxuICAgICAgKSB7XG4gICAgICAgIC8vIGxldCBpdCBoYXBwZW4sIGRvbid0IGRvIGFueXRoaW5nXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gRW5zdXJlIHRoYXQgaXQgaXMgYSBudW1iZXIgYW5kIHN0b3AgdGhlIGtleXByZXNzXG4gICAgICBpZiAoXG4gICAgICAgICgkZXZlbnQuc2hpZnRLZXkgfHwgKCRldmVudC5rZXlDb2RlIDwgNDggfHwgJGV2ZW50LmtleUNvZGUgPiA1NykpICYmXG4gICAgICAgICgkZXZlbnQua2V5Q29kZSA8IDk2IHx8ICRldmVudC5rZXlDb2RlID4gMTA1KVxuICAgICAgKSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH1cblxuXHQgIGlmICh0aGlzLmlucHV0Q29udGVudFR5cGUgPT0gJ2RhdGUnKSB7XG5cdFx0ICBjb25zdCBhbGxvd2VkS2V5cyA9IFtcblx0XHRcdCAgJ0JhY2tzcGFjZScsICdEZWxldGUnLCAnVGFiJywgJ0VzY2FwZScsICdFbnRlcicsXG5cdFx0XHQgICdBcnJvd0xlZnQnLCAnQXJyb3dSaWdodCcsICdBcnJvd1VwJywgJ0Fycm93RG93bidcblx0XHQgIF07XG5cblx0XHQgIGlmIChhbGxvd2VkS2V5cy5pbmNsdWRlcygkZXZlbnQua2V5KSB8fCAkZXZlbnQubWV0YUtleSB8fCAkZXZlbnQuY3RybEtleSkge1xuXHRcdFx0ICByZXR1cm47XG5cdFx0ICB9XG5cblx0XHQgIGlmICgvXFxELy50ZXN0KCRldmVudC5rZXkpICYmICRldmVudC5rZXkgIT09ICcvJykge1xuXHRcdFx0ICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHQgIH1cblx0ICB9XG4gIH1cblxuXHRwdWJsaWMgZm9ybWF0RGF0ZUlucHV0KGV2ZW50OiBhbnkpOiB2b2lkIHtcblx0XHRjb25zdCBlbCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXHRcdGxldCB2YWx1ZSA9IGVsLnZhbHVlO1xuXHRcdGxldCBmb3JtYXR0ZWQgPSAnJztcblxuXHRcdGxldCBjdXJzb3JQb3NpdGlvbiA9IGVsLnNlbGVjdGlvblN0YXJ0IHx8IDA7XG5cdFx0Y29uc3QgaXNEZWxldGluZyA9IGV2ZW50LmlucHV0VHlwZSA9PT0gJ2RlbGV0ZUNvbnRlbnRCYWNrd2FyZCcgfHwgZXZlbnQuaW5wdXRUeXBlID09PSAnZGVsZXRlQ29udGVudEZvcndhcmQnO1xuXG5cdFx0aWYgKCh2YWx1ZS5sZW5ndGggPT09IDMgJiYgdmFsdWVbMl0gPT09ICcvJykgfHxcblx0XHRcdCAgKHZhbHVlLmxlbmd0aCA9PT0gNiAmJiB2YWx1ZVs1XSA9PT0gJy8nKSkge1xuXHRcdFx0Zm9ybWF0dGVkID0gdmFsdWU7XG5cdFx0fVxuXG5cdFx0ZWxzZSBpZiAoL1xcRC8udGVzdCh2YWx1ZVt2YWx1ZS5sZW5ndGggLSAxXSkpIHtcblx0XHRcdGZvcm1hdHRlZCA9IHZhbHVlLnNsaWNlKDAsIC0xKTtcblx0XHRcdGN1cnNvclBvc2l0aW9uID0gTWF0aC5tYXgoMCwgY3Vyc29yUG9zaXRpb24gLSAxKTtcblx0XHR9XG5cblx0XHRlbHNlIHtcblx0XHRcdGNvbnN0IG51bWJlcnMgPSB2YWx1ZS5yZXBsYWNlKC9cXC8vZywgJycpO1xuXG5cdFx0XHRsZXQgZGF5ID0gbnVtYmVycy5zbGljZSgwLCAyKTtcblx0XHRcdGxldCBtb250aCA9IG51bWJlcnMuc2xpY2UoMiwgNCk7XG5cdFx0XHRsZXQgeWVhciA9IG51bWJlcnMuc2xpY2UoNCwgOCk7XG5cblx0XHRcdGlmIChkYXkgJiYgTnVtYmVyKGRheSkgPiAzMSkgZGF5ID0gJzMxJztcblx0XHRcdGlmIChtb250aCAmJiBOdW1iZXIobW9udGgpID4gMTIpIG1vbnRoID0gJzEyJztcblxuXHRcdFx0aWYgKGRheS5sZW5ndGggPiAwKSBmb3JtYXR0ZWQgKz0gZGF5O1xuXHRcdFx0aWYgKGRheS5sZW5ndGggPT09IDIgJiYgbW9udGgubGVuZ3RoID4gMCkgZm9ybWF0dGVkICs9ICcvJztcblx0XHRcdGlmIChtb250aC5sZW5ndGggPiAwKSBmb3JtYXR0ZWQgKz0gbW9udGg7XG5cdFx0XHRpZiAobW9udGgubGVuZ3RoID09PSAyICYmIHllYXIubGVuZ3RoID4gMCkgZm9ybWF0dGVkICs9ICcvJztcblx0XHRcdGlmICh5ZWFyLmxlbmd0aCA+IDApIGZvcm1hdHRlZCArPSB5ZWFyO1xuXG5cdFx0XHRjb25zdCBjdXJyZW50TGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xuXHRcdFx0Y29uc3QgbmV3TGVuZ3RoID0gZm9ybWF0dGVkLmxlbmd0aDtcblxuXHRcdFx0aWYgKG5ld0xlbmd0aCA+IGN1cnJlbnRMZW5ndGggJiYgIWlzRGVsZXRpbmcpIHtcblx0XHRcdFx0Y3Vyc29yUG9zaXRpb24rKztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRlbC52YWx1ZSA9IGZvcm1hdHRlZDtcblx0XHR0aGlzLmlucHV0VmFsdWUgPSBmb3JtYXR0ZWQ7XG5cdFx0ZWwuc2V0U2VsZWN0aW9uUmFuZ2UoY3Vyc29yUG9zaXRpb24sIGN1cnNvclBvc2l0aW9uKTtcblxuXHRcdHRoaXMuY2hhbmdlSW5wdXRWYWx1ZSgpO1xuXHR9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJoci1sYWJlbCBzbS1ib2xkIHt7Z2V0VGV4dEZpZWxkU3RhdHVzKCl9fVwiIFtjbGFzcy5jdXN0b20tbGFiZWwtc2l6ZV09XCJzaXplID09ICdzbSdcIiAqbmdJZj1cImxhYmVsXCI+XG4gIHt7bGFiZWx9fSA8c3BhbiAqbmdJZj1cInJlcXVpcmVkIHx8IGdldFRleHRGaWVsZFN0YXR1cygpID09ICd0eXBlZC1lcnJvcidcIj4qPC9zcGFuPlxuPC9sYWJlbD5cbjxkaXYgY2xhc3M9XCJncmF2aXR5LWlucHV0LWZpZWxkIHt7c2l6ZX19IHt7d2lkdGh9fS13aWR0aCB7e2dldFRleHRGaWVsZFN0YXR1cygpfX1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImljb25MZWZ0XCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpY29uc1wiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aWNvblBvc2l0aW9uOiAnbGVmdCd9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8c3BhbiBjbGFzcz1cInt7Z2V0VGV4dEZpZWxkSW5wdXRGb250U2l6ZSgpfX0gcHJlZml4XCI+e3twcmVmaXh9fTwvc3Bhbj5cbiAgPGlucHV0IFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZ1wiXG4gICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJjdXN0b21TdGF0ZSA9PSAnZGlzYWJsZWQnID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwiY3VzdG9tU3RhdGUgPT0gJ3JlYWRvbmx5JyA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgIFttYXhMZW5ndGhdPVwiaW5wdXRDb250ZW50VHlwZSA9PT0gJ2RhdGUnID8gMTAgOiAodmFsaWRhdGlvbnM/Lm1heExlbmd0aCB8fCAxMDApXCJcbiAgICAgICAgIFttaW5MZW5ndGhdPVwidmFsaWRhdGlvbnM/Lm1pbkxlbmd0aCA/IHZhbGlkYXRpb25zPy5taW5MZW5ndGggOiAwXCJcbiAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgIFt0eXBlXT1cImlucHV0Q29udGVudFR5cGUgPT09ICdkYXRlJyA/ICd0ZXh0JyA6IChpbnB1dENvbnRlbnRUeXBlICE9PSAnbnVtYmVyJyA/IGlucHV0Q29udGVudFR5cGUgOiAndGV4dCcpXCJcbiAgICAgICAgIFt2YWx1ZV09XCJpbnB1dFZhbHVlXCJcblxuICAgICAgICAgKGJsdXIpPVwiZm9jdXNJbnB1dCA9IGZhbHNlXCJcbiAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlSW5wdXRWYWx1ZSgpXCJcbiAgICAgICAgIChmb2N1cyk9XCJmb2N1c0lucHV0ID0gdHJ1ZVwiXG4gICAgICAgICAoa2V5ZG93bik9XCIgb25LZXlEb3duRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAoa2V5dXApPVwiaW5wdXRDb250ZW50VHlwZSA9PT0gJ2RhdGUnID9cbiAgICAgICAgICBmb3JtYXREYXRlSW5wdXQoJGV2ZW50KSA6IGNoYW5nZUlucHV0VmFsdWUoKVwiXG5cbiAgICAgICAgIGNsYXNzPVwie3tnZXRUZXh0RmllbGRJbnB1dEZvbnRTaXplKCl9fVwiXG5cdFx0XHRcdCAjaW5wdXRFbGVtZW50XG4gICAgICAgICAqbmdJZj1cInRleHRGaWVsZFR5cGUgPT0gJ2lucHV0J1wiPlxuXG4gIDx0ZXh0YXJlYSBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWdcIlxuICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiY3VzdG9tU3RhdGUgPT0gJ2Rpc2FibGVkJyA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cImN1c3RvbVN0YXRlID09ICdyZWFkb25seScgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbbWF4TGVuZ3RoXT1cInZhbGlkYXRpb25zPy5tYXhMZW5ndGggPyB2YWxpZGF0aW9ucz8ubWF4TGVuZ3RoIDogMjAwXCJcbiAgICAgICAgICAgIFttaW5MZW5ndGhdPVwidmFsaWRhdGlvbnM/Lm1pbkxlbmd0aCA/IHZhbGlkYXRpb25zPy5taW5MZW5ndGggOiAwXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJpbnB1dFZhbHVlXCJcblxuICAgICAgICAgICAgKGJsdXIpPVwiZm9jdXNJbnB1dCA9IGZhbHNlXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlSW5wdXRWYWx1ZSgpXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJmb2N1c0lucHV0ID0gdHJ1ZVwiXG4gICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd25FdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXl1cCk9XCJjaGFuZ2VJbnB1dFZhbHVlKClcIlxuXG4gICAgICAgICAgICBjbGFzcz1cInt7Z2V0VGV4dEZpZWxkSW5wdXRGb250U2l6ZSgpfX1cIlxuICAgICAgICAgICAgcm93cz1cIjFcIlxuXG4gICAgICAgICAgICAjdGV4dEFyZWFFbGVtZW50XG5cbiAgICAgICAgICAgICpuZ0lmPVwidGV4dEZpZWxkVHlwZSA9PSAndGV4dGFyZWEnXCI+PC90ZXh0YXJlYT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImljb25SaWdodFwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvbnNcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2ljb25Qb3NpdGlvbjogJ3JpZ2h0J31cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjxwIGNsYXNzPVwiaHItbGFiZWwgc20tcmVndWxhciBzdXBwb3J0aW5nLXRleHQge3tnZXRUZXh0RmllbGRTdGF0dXMoKX19IHt7c2l6ZX19XCJcbiAgIFtjbGFzcy5jdXN0b20tbGFiZWwtc2l6ZV09XCJzaXplID09ICdzbSdcIiAqbmdJZj1cInN1cHBvcnRUZXh0XCI+XG4gIDxncmF2aXR5LWljb24gW2ljb25OYW1lXT1cIidxdWVzdGlvbi1jaXJjbGUnXCIgKm5nSWY9XCJnZXRUZXh0RmllbGRTdGF0dXMoKSA9PSAndHlwZWQtZXJyb3InXCJcbiAgICAgICAgICAgICAgICBbaWNvblNpemVdPVwiJ21kLTE2J1wiPjwvZ3Jhdml0eS1pY29uPlxuICB7e3N1cHBvcnRUZXh0fX1cbjwvcD5cbjxwIGNsYXNzPVwiaHItbGFiZWwgc20tcmVndWxhciBzdXBwb3J0aW5nLXRleHQge3tnZXRUZXh0RmllbGRTdGF0dXMoKX19IHt7c2l6ZX19XCJcbiAgIFtjbGFzcy5jdXN0b20tbGFiZWwtc2l6ZV09XCJzaXplID09ICdzbSdcIlxuICAgKm5nSWY9XCIhc3VwcG9ydFRleHQgJiYgZ2V0VGV4dEZpZWxkU3RhdHVzKCkgPT0gJ2FjdGl2ZScgJiYgaW5wdXRWYWx1ZSA9PSAnJyAmJiByZXF1aXJlZFwiPlxuICB7e2N1cnJlbnRMYW5nID09ICdlcycgPyAnUmVxdWVyaWRvJyA6ICdSZXF1aXJlZCd9fVxuPC9wPlxuXG48bmctdGVtcGxhdGUgI2ljb25zIGxldC1pY29uUG9zaXRpb249XCJpY29uUG9zaXRpb25cIj5cbiAgPGdyYXZpdHktaWNvbiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBoYW5kbGVJY29uQ2xpY2soaWNvblBvc2l0aW9uKVwiIGNsYXNzPVwie3tpY29uUG9zaXRpb259fVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnBvaW50ZXJdPVwiKGljb25Qb3NpdGlvbiA9PSAnbGVmdCcgJiYgY2xpY2tPbkxlZnRJY29uKSB8fCAoaWNvblBvc2l0aW9uID09ICdyaWdodCcgJiYgY2xpY2tPblJpZ2h0SWNvbilcIlxuICAgICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uUG9zaXRpb24gPT0gJ2xlZnQnID8gaWNvbkxlZnQgOiBpY29uUmlnaHRcIiBbc3R5bGUuLS1pY29uLWNvbG9yXT1cImljb25Db2xvclwiXG4gICAgICAgICAgICAgICAgW2ljb25TaXplXT1cImlzTmV3SWNvbihpY29uUG9zaXRpb24pID8gJ21kLTE2JyA6IG51bGxcIj48L2dyYXZpdHktaWNvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -8,6 +8,7 @@ import * as i5 from "../../components/gravity-icon/gravity-icon.component";
8
8
  import * as i6 from "../../components/gravity-card-button/gravity-card-button.component";
9
9
  export class GravityMenuComponent {
10
10
  constructor() {
11
+ this.items = [];
11
12
  this.maxCardButtonsPerRow = 3;
12
13
  this.size = 'xl';
13
14
  this.closeMenu = new EventEmitter();
@@ -49,17 +50,17 @@ export class GravityMenuComponent {
49
50
  return rows;
50
51
  }
51
52
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityMenuComponent, selector: "gravity-menu", inputs: { logoUrl: "logoUrl", items: "items", userInfo: "userInfo", cardButtons: "cardButtons", maxCardButtonsPerRow: "maxCardButtonsPerRow", secondaryActions: "secondaryActions", size: "size", mainFooterAction: "mainFooterAction" }, outputs: { closeMenu: "closeMenu" }, viewQueries: [{ propertyName: "menuBody", first: true, predicate: ["menuBody"], descendants: true }], ngImport: i0, template: "<div class=\"gravity-menu {{size}}\">\n <div class=\"menu-logo\">\n <svg-icon *ngIf=\"logoUrl\" [src]=\"logoUrl\" />\n <gravity-icon *ngIf=\"size === 'md' || size === 'sm'\" [iconSize]=\"'md-16'\" [iconName]=\"'unsuccess'\" (click)=\"closeMenu.emit()\"/>\n </div>\n\n <div class=\"menu-content\">\n <section #menuBody class=\"menu-body\">\n <div class=\"menu-section\">\n <div class=\"levels\" *ngFor=\"let header of items\">\n <section class=\"first-level\" [class.is-open]=\"!header.collapsed\"\n [routerLink]=\"header.link || undefined\" (click)=\"toggleHeader(header)\">\n <p class=\"hr-label sm-regular\">\n <gravity-icon *ngIf=\"header.icon !== ''\" [iconName]=\"header.icon\" [iconSize]=\"size === 'lg' ? 'sm-12' : 'md-16'\"/>\n {{header.text}}\n </p>\n\n <div class=\"toggle\">\n <span *ngIf=\"header.badged\" class=\"badge\"></span>\n <gravity-icon *ngIf=\"header.headerOptions?.length > 0\" [iconSize]=\"'sm-12'\"\n [iconName]=\"header.collapsed ? 'arrow-down' : 'arrow-up'\"/>\n </div>\n </section>\n\n <section *ngIf=\"!header.collapsed && header.headerOptions?.length > 0\" class=\"second-level\" [@fadeSlide]>\n <div class=\"options-list\">\n <ng-container *ngFor=\"let option of header.headerOptions\">\n <div class=\"option\" [attr.data-cy]=\"option.cypress_tag\" [class.selected]=\"option === selectedOption\">\n <div class=\"line\" [class.selected]=\"(size === 'xl' || size == 'lg') && option === selectedOption\"></div>\n <span class=\"hr-label sm-regular\" [class.disabled]=\"option.disabled\" [class.selected]=\"option === selectedOption\"\n [routerLink]=\"option.link || undefined\" (click)=\"selectOption(option)\">{{option.text}}</span>\n </div>\n </ng-container>\n </div>\n </section>\n </div>\n </div>\n </section>\n\n <section *ngIf=\"(secondaryActions || userInfo) && (size === 'xl' || size === 'lg')\" class=\"menu-footer elevation-xs\">\n <section class=\"footer-content\">\n <div *ngIf=\"secondaryActions\" class=\"secondary-actions\">\n <div class=\"action\" *ngFor=\"let action of secondaryActions\">\n <gravity-icon *ngIf=\"action.icon !== ''\" [iconName]=\"action.icon\" [iconSize]=\"'md-16'\"/>\n <span class=\"hr-label sm-regular\">{{action.text}}</span>\n </div>\n </div>\n\n <hr *ngIf=\"secondaryActions && userInfo\" class=\"separator-line\">\n\n <div *ngIf=\"userInfo\" class=\"user-info-list\">\n <div *ngFor=\"let userInfo of userInfo\" class=\"user-info\">\n <gravity-icon *ngIf=\"userInfo.icon !== ''\" [iconName]=\"userInfo.icon\" [iconSize]=\"'sm-12'\"/>\n <span class=\"hr-label sm-regular\">{{userInfo.info}}</span>\n </div>\n </div>\n </section>\n </section>\n\n <!-- - - - - - - - - - - Mobile Resolutions - - - - - - - - - - -->\n\n <section *ngIf=\"(cardButtons || userInfo) && (size === 'md' || size === 'sm')\" class=\"menu-footer-mobile\">\n <section class=\"footer-content\">\n <div *ngIf=\"cardButtons\" class=\"secondary-actions\">\n <div class=\"card-buttons\">\n <div class=\"card-buttons-row\" *ngFor=\"let row of getCardButtonsRows()\">\n <gravity-card-button *ngFor=\"let button of row\" [type]=\"'secondary'\"\n [orientation]=\"'vrt-center'\" [iconName]=\"button.icon\" [label]=\"button.text\"/>\n </div>\n </div>\n <gravity-button *ngIf=\"mainFooterAction\" [size]=\"'md'\" [type]=\"'tertiary'\" [iconName]=\"mainFooterAction.icon\"\n [iconPosition]=\"'left'\" (click)=\"mainFooterAction.callback()\"> {{mainFooterAction.text}} </gravity-button>\n </div>\n <div *ngIf=\"userInfo\" class=\"user-info-list\">\n <div *ngFor=\"let userInfo of userInfo\" class=\"user-info\">\n <gravity-icon [iconSize]=\"'sm-12'\" [iconName]=\"userInfo.icon\"/>\n <span class=\"hr-label sm-regular\">{{userInfo.info}}</span>\n </div>\n </div>\n </section>\n </section>\n </div>\n</div>\n\n", styles: [".scrollbar-sm::-webkit-scrollbar{width:4px;height:4px}.scrollbar-sm::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.scrollbar-md::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar{width:8px;height:8px}.scrollbar-md::-webkit-scrollbar-track,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb:hover,.gravity-menu .menu-content .menu-body.has-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-menu{height:100%;max-width:266px;-webkit-user-select:none;user-select:none;display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-md);margin-right:var(--gravity-spacing-xs)}.gravity-menu .menu-logo{width:100%;display:flex;align-items:center;padding:24px 22px 0 24px;justify-content:space-between}.gravity-menu .menu-logo gravity-icon{cursor:pointer}.gravity-menu .menu-logo svg{width:auto;height:24px}.gravity-menu .menu-content{width:100%;height:100%;display:flex;overflow:hidden;flex-direction:column;justify-content:space-between}.gravity-menu .menu-content .menu-body{display:flex;overflow-y:auto;flex-direction:column;align-items:flex-start;padding:0 18px 20px 24px}.gravity-menu .menu-content .menu-body:not(.has-scroll),.gravity-menu .menu-content .menu-body.has-scroll:not(:hover){margin-right:8px;scrollbar-width:none}.gravity-menu .menu-content .menu-body:not(.has-scroll)::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:not(:hover)::-webkit-scrollbar{width:0;height:0}.gravity-menu .menu-content .menu-body.has-scroll:hover{margin-right:0}.gravity-menu .menu-content .menu-body .menu-section{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels{width:100%}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level{width:100%;display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:var(--gravity-spacing-xs);height:var(--gravity-spacing-md);padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level.is-open p{text-decoration:underline}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level p,.gravity-menu .menu-content .menu-body .menu-section .levels .first-level .toggle{display:flex;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level .toggle .badge{width:var(--gravity-spacing-xs);height:var(--gravity-spacing-xs);border-radius:6.25rem;background-color:var(--bg-menu-badge-button)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level:not(.is-open):hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;padding-left:var(--gravity-spacing-xxs);transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list{flex:1 0 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line{height:100%;margin-left:var(--gravity-spacing-xs);border-left:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line.selected{margin:0 -1px 0 7px;border-left:3px solid var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option{width:100%;height:34px;display:flex;align-items:center;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option span{flex:1 0 0;height:24px;display:flex;cursor:pointer;align-items:center;padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option span:not(.disabled):not(.selected):hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-menu-button-disabled-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option span.selected{color:var(--on-bg-menu-button-pressed-primary);background-color:var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-footer{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:16px 22px 20px 24px;gap:var(--gravity-spacing-md);background-color:var(--bg-menu-primary)}.gravity-menu .menu-content .menu-footer .footer-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action{width:220px;height:24px;display:flex;align-items:center;gap:var(--gravity-spacing-xs);padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action:hover{cursor:pointer;color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-footer .footer-content hr{margin:0;width:100%;border:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list{display:grid;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list .user-info{display:flex;padding:1px 2px;align-items:center;gap:var(--gravity-spacing-xxs)}.gravity-menu.lg{max-width:246px}.gravity-menu.md,.gravity-menu.sm{min-width:577px;max-width:1099px;background-color:var(--bg-menu-mobile-primary)}.gravity-menu.md .menu-content .menu-body,.gravity-menu.sm .menu-content .menu-body{margin-bottom:20px;padding:0 18px 0 24px}.gravity-menu.md .menu-content .menu-body .menu-section .levels,.gravity-menu.sm .menu-content .menu-body .menu-section .levels{display:flex;flex-direction:column;gap:var(--gravity-spacing-sm);border-radius:.3125rem;padding:var(--gravity-spacing-sm);background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level{height:20px;border-radius:.3125rem;background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level:hover{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option{height:45px}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option span:hover,.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option span.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option span:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option span.selected{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected{background-color:var(--bg-menu-mobile-button-pressed-primary)}.gravity-menu.md .menu-content .menu-footer-mobile,.gravity-menu.sm .menu-content .menu-footer-mobile{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:flex-end;gap:var(--gravity-spacing-sm);padding:var(--gravity-spacing-md)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content{width:100%;display:flex;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-sm);padding:0 var(--gravity-spacing-lg)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .card-buttons,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .card-buttons{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .card-buttons .card-buttons-row,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .card-buttons .card-buttons-row{width:100%;display:flex;flex-direction:row;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions ::ng-deep gravity-card-button,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions ::ng-deep gravity-card-button{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions ::ng-deep gravity-card-button .card-button-container,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions ::ng-deep gravity-card-button .card-button-container{padding:0;width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list{gap:0;display:grid;border-top:1px solid var(--surface-secondary)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info{display:flex;flex-direction:row;align-items:center;align-self:stretch;justify-content:center;gap:var(--gravity-spacing-xs);padding-top:var(--gravity-spacing-sm)}.gravity-menu.sm{min-width:320px;max-width:576px}.gravity-menu.sm .menu-footer-mobile .footer-content .secondary-actions{padding:0!important}\n"], dependencies: [{ kind: "component", type: i1.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "iconName", "isLoading", "showContent", "size", "iconPosition", "customState", "type"] }, { kind: "component", type: i5.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i6.GravityCardButtonComponent, selector: "gravity-card-button", inputs: ["label", "iconName", "fullWidth", "type", "state", "orientation"], outputs: ["clicked"] }] }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GravityMenuComponent, selector: "gravity-menu", inputs: { logoUrl: "logoUrl", userInfo: "userInfo", items: "items", cardButtons: "cardButtons", maxCardButtonsPerRow: "maxCardButtonsPerRow", secondaryActions: "secondaryActions", size: "size", mainFooterAction: "mainFooterAction" }, outputs: { closeMenu: "closeMenu" }, viewQueries: [{ propertyName: "menuBody", first: true, predicate: ["menuBody"], descendants: true }], ngImport: i0, template: "<div class=\"gravity-menu {{size}}\">\n <div class=\"menu-logo\">\n <svg-icon *ngIf=\"logoUrl\" [src]=\"logoUrl\" />\n <gravity-icon *ngIf=\"size === 'md' || size === 'sm'\" [iconSize]=\"'md-16'\" [iconName]=\"'unsuccess'\" (click)=\"closeMenu.emit()\"/>\n </div>\n\n <div class=\"menu-content\">\n <section #menuBody class=\"menu-body\">\n <div class=\"menu-section\">\n <div class=\"levels\" *ngFor=\"let header of items\">\n <section class=\"first-level\" [class.is-open]=\"!header.collapsed\"\n [routerLink]=\"header.link || undefined\" (click)=\"toggleHeader(header)\">\n <p class=\"hr-label sm-regular\">\n <gravity-icon *ngIf=\"header.icon !== ''\" [iconName]=\"header.icon\" [iconSize]=\"size === 'lg' ? 'sm-12' : 'md-16'\"/>\n {{header.text}}\n </p>\n\n <div class=\"toggle\">\n <span *ngIf=\"header.badged\" class=\"badge\"></span>\n <gravity-icon *ngIf=\"header.headerOptions?.length > 0\" [iconSize]=\"'sm-12'\"\n [iconName]=\"header.collapsed ? 'arrow-down' : 'arrow-up'\"/>\n </div>\n </section>\n\n <section *ngIf=\"!header.collapsed && header.headerOptions?.length > 0\" class=\"second-level\" [@fadeSlide]>\n <div class=\"options-list\">\n <ng-container *ngFor=\"let option of header.headerOptions\">\n <div class=\"option\" [attr.data-cy]=\"option.cypress_tag\" [class.selected]=\"option === selectedOption\">\n <div class=\"line\" [class.selected]=\"(size === 'xl' || size == 'lg') && option === selectedOption\"></div>\n <span class=\"hr-label sm-regular\" [class.disabled]=\"option.disabled\" [class.selected]=\"option === selectedOption\"\n [routerLink]=\"option.link || undefined\" (click)=\"selectOption(option)\">{{option.text}}</span>\n </div>\n </ng-container>\n </div>\n </section>\n </div>\n </div>\n </section>\n\n <section *ngIf=\"(secondaryActions || userInfo) && (size === 'xl' || size === 'lg')\" class=\"menu-footer elevation-xs\">\n <section class=\"footer-content\">\n <div *ngIf=\"secondaryActions\" class=\"secondary-actions\">\n <div class=\"action\" *ngFor=\"let action of secondaryActions\">\n <gravity-icon *ngIf=\"action.icon !== ''\" [iconName]=\"action.icon\" [iconSize]=\"'md-16'\"/>\n <span class=\"hr-label sm-regular\">{{action.text}}</span>\n </div>\n </div>\n\n <hr *ngIf=\"secondaryActions && userInfo\" class=\"separator-line\">\n\n <div *ngIf=\"userInfo\" class=\"user-info-list\">\n <div *ngFor=\"let userInfo of userInfo\" class=\"user-info\">\n <gravity-icon *ngIf=\"userInfo.icon !== ''\" [iconName]=\"userInfo.icon\" [iconSize]=\"'sm-12'\"/>\n <span class=\"hr-label sm-regular\">{{userInfo.info}}</span>\n </div>\n </div>\n </section>\n </section>\n\n <!-- - - - - - - - - - - Mobile Resolutions - - - - - - - - - - -->\n\n <section *ngIf=\"(cardButtons || userInfo) && (size === 'md' || size === 'sm')\" class=\"menu-footer-mobile\">\n <section class=\"footer-content\">\n <div *ngIf=\"cardButtons\" class=\"secondary-actions\">\n <div class=\"card-buttons\">\n <div class=\"card-buttons-row\" *ngFor=\"let row of getCardButtonsRows()\">\n <gravity-card-button *ngFor=\"let button of row\" [type]=\"'secondary'\"\n [orientation]=\"'vrt-center'\" [iconName]=\"button.icon\" [label]=\"button.text\"/>\n </div>\n </div>\n <gravity-button *ngIf=\"mainFooterAction\" [size]=\"'md'\" [type]=\"'tertiary'\" [iconName]=\"mainFooterAction.icon\"\n [iconPosition]=\"'left'\" (click)=\"mainFooterAction.callback()\"> {{mainFooterAction.text}} </gravity-button>\n </div>\n <div *ngIf=\"userInfo\" class=\"user-info-list\">\n <div *ngFor=\"let userInfo of userInfo\" class=\"user-info\">\n <gravity-icon [iconSize]=\"'sm-12'\" [iconName]=\"userInfo.icon\"/>\n <span class=\"hr-label sm-regular\">{{userInfo.info}}</span>\n </div>\n </div>\n </section>\n </section>\n </div>\n</div>\n\n", styles: [".scrollbar-sm::-webkit-scrollbar{width:4px;height:4px}.scrollbar-sm::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.scrollbar-md::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar{width:8px;height:8px}.scrollbar-md::-webkit-scrollbar-track,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb:hover,.gravity-menu .menu-content .menu-body.has-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-menu{height:100%;max-width:266px;-webkit-user-select:none;user-select:none;display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-md);margin-right:var(--gravity-spacing-xs)}.gravity-menu .menu-logo{width:100%;display:flex;align-items:center;padding:24px 22px 0 24px;justify-content:space-between}.gravity-menu .menu-logo gravity-icon{cursor:pointer}.gravity-menu .menu-logo svg{width:auto;height:24px}.gravity-menu .menu-content{width:100%;height:100%;display:flex;overflow:hidden;flex-direction:column;justify-content:space-between}.gravity-menu .menu-content .menu-body{display:flex;overflow-y:auto;flex-direction:column;align-items:flex-start;padding:0 18px 20px 24px}.gravity-menu .menu-content .menu-body:not(.has-scroll),.gravity-menu .menu-content .menu-body.has-scroll:not(:hover){margin-right:8px;scrollbar-width:none}.gravity-menu .menu-content .menu-body:not(.has-scroll)::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:not(:hover)::-webkit-scrollbar{width:0;height:0}.gravity-menu .menu-content .menu-body.has-scroll:hover{margin-right:0}.gravity-menu .menu-content .menu-body .menu-section{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels{width:100%}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level{width:100%;display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:var(--gravity-spacing-xs);height:var(--gravity-spacing-md);padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level.is-open p{text-decoration:underline}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level p,.gravity-menu .menu-content .menu-body .menu-section .levels .first-level .toggle{display:flex;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level .toggle .badge{width:var(--gravity-spacing-xs);height:var(--gravity-spacing-xs);border-radius:6.25rem;background-color:var(--bg-menu-badge-button)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level:not(.is-open):hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;padding-left:var(--gravity-spacing-xxs);transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list{flex:1 0 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line{height:100%;margin-left:var(--gravity-spacing-xs);border-left:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line.selected{margin:0 -1px 0 7px;border-left:3px solid var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option{width:100%;height:34px;display:flex;align-items:center;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option span{flex:1 0 0;height:24px;display:flex;cursor:pointer;align-items:center;padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option span:not(.disabled):not(.selected):hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-menu-button-disabled-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option span.selected{color:var(--on-bg-menu-button-pressed-primary);background-color:var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-footer{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:16px 22px 20px 24px;gap:var(--gravity-spacing-md);background-color:var(--bg-menu-primary)}.gravity-menu .menu-content .menu-footer .footer-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action{width:220px;height:24px;display:flex;align-items:center;gap:var(--gravity-spacing-xs);padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action:hover{cursor:pointer;color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-footer .footer-content hr{margin:0;width:100%;border:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list{display:grid;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list .user-info{display:flex;padding:1px 2px;align-items:center;gap:var(--gravity-spacing-xxs)}.gravity-menu.lg{max-width:246px}.gravity-menu.md,.gravity-menu.sm{min-width:577px;max-width:1099px;background-color:var(--bg-menu-mobile-primary)}.gravity-menu.md .menu-content .menu-body,.gravity-menu.sm .menu-content .menu-body{margin-bottom:20px;padding:0 18px 0 24px}.gravity-menu.md .menu-content .menu-body .menu-section .levels,.gravity-menu.sm .menu-content .menu-body .menu-section .levels{display:flex;flex-direction:column;gap:var(--gravity-spacing-sm);border-radius:.3125rem;padding:var(--gravity-spacing-sm);background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level{height:20px;border-radius:.3125rem;background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level:hover{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option{height:45px}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option span:hover,.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option span.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option span:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option span.selected{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected{background-color:var(--bg-menu-mobile-button-pressed-primary)}.gravity-menu.md .menu-content .menu-footer-mobile,.gravity-menu.sm .menu-content .menu-footer-mobile{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:flex-end;gap:var(--gravity-spacing-sm);padding:var(--gravity-spacing-md)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content{width:100%;display:flex;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-sm);padding:0 var(--gravity-spacing-lg)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .card-buttons,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .card-buttons{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .card-buttons .card-buttons-row,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .card-buttons .card-buttons-row{width:100%;display:flex;flex-direction:row;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions ::ng-deep gravity-card-button,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions ::ng-deep gravity-card-button{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions ::ng-deep gravity-card-button .card-button-container,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions ::ng-deep gravity-card-button .card-button-container{padding:0;width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list{gap:0;display:grid;border-top:1px solid var(--surface-secondary)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info{display:flex;flex-direction:row;align-items:center;align-self:stretch;justify-content:center;gap:var(--gravity-spacing-xs);padding-top:var(--gravity-spacing-sm)}.gravity-menu.sm{min-width:320px;max-width:576px}.gravity-menu.sm .menu-footer-mobile .footer-content .secondary-actions{padding:0!important}\n"], dependencies: [{ kind: "component", type: i1.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "iconName", "isLoading", "showContent", "size", "iconPosition", "customState", "type"] }, { kind: "component", type: i5.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i6.GravityCardButtonComponent, selector: "gravity-card-button", inputs: ["label", "iconName", "fullWidth", "type", "state", "orientation"], outputs: ["clicked"] }] }); }
53
54
  }
54
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GravityMenuComponent, decorators: [{
55
56
  type: Component,
56
57
  args: [{ selector: 'gravity-menu', template: "<div class=\"gravity-menu {{size}}\">\n <div class=\"menu-logo\">\n <svg-icon *ngIf=\"logoUrl\" [src]=\"logoUrl\" />\n <gravity-icon *ngIf=\"size === 'md' || size === 'sm'\" [iconSize]=\"'md-16'\" [iconName]=\"'unsuccess'\" (click)=\"closeMenu.emit()\"/>\n </div>\n\n <div class=\"menu-content\">\n <section #menuBody class=\"menu-body\">\n <div class=\"menu-section\">\n <div class=\"levels\" *ngFor=\"let header of items\">\n <section class=\"first-level\" [class.is-open]=\"!header.collapsed\"\n [routerLink]=\"header.link || undefined\" (click)=\"toggleHeader(header)\">\n <p class=\"hr-label sm-regular\">\n <gravity-icon *ngIf=\"header.icon !== ''\" [iconName]=\"header.icon\" [iconSize]=\"size === 'lg' ? 'sm-12' : 'md-16'\"/>\n {{header.text}}\n </p>\n\n <div class=\"toggle\">\n <span *ngIf=\"header.badged\" class=\"badge\"></span>\n <gravity-icon *ngIf=\"header.headerOptions?.length > 0\" [iconSize]=\"'sm-12'\"\n [iconName]=\"header.collapsed ? 'arrow-down' : 'arrow-up'\"/>\n </div>\n </section>\n\n <section *ngIf=\"!header.collapsed && header.headerOptions?.length > 0\" class=\"second-level\" [@fadeSlide]>\n <div class=\"options-list\">\n <ng-container *ngFor=\"let option of header.headerOptions\">\n <div class=\"option\" [attr.data-cy]=\"option.cypress_tag\" [class.selected]=\"option === selectedOption\">\n <div class=\"line\" [class.selected]=\"(size === 'xl' || size == 'lg') && option === selectedOption\"></div>\n <span class=\"hr-label sm-regular\" [class.disabled]=\"option.disabled\" [class.selected]=\"option === selectedOption\"\n [routerLink]=\"option.link || undefined\" (click)=\"selectOption(option)\">{{option.text}}</span>\n </div>\n </ng-container>\n </div>\n </section>\n </div>\n </div>\n </section>\n\n <section *ngIf=\"(secondaryActions || userInfo) && (size === 'xl' || size === 'lg')\" class=\"menu-footer elevation-xs\">\n <section class=\"footer-content\">\n <div *ngIf=\"secondaryActions\" class=\"secondary-actions\">\n <div class=\"action\" *ngFor=\"let action of secondaryActions\">\n <gravity-icon *ngIf=\"action.icon !== ''\" [iconName]=\"action.icon\" [iconSize]=\"'md-16'\"/>\n <span class=\"hr-label sm-regular\">{{action.text}}</span>\n </div>\n </div>\n\n <hr *ngIf=\"secondaryActions && userInfo\" class=\"separator-line\">\n\n <div *ngIf=\"userInfo\" class=\"user-info-list\">\n <div *ngFor=\"let userInfo of userInfo\" class=\"user-info\">\n <gravity-icon *ngIf=\"userInfo.icon !== ''\" [iconName]=\"userInfo.icon\" [iconSize]=\"'sm-12'\"/>\n <span class=\"hr-label sm-regular\">{{userInfo.info}}</span>\n </div>\n </div>\n </section>\n </section>\n\n <!-- - - - - - - - - - - Mobile Resolutions - - - - - - - - - - -->\n\n <section *ngIf=\"(cardButtons || userInfo) && (size === 'md' || size === 'sm')\" class=\"menu-footer-mobile\">\n <section class=\"footer-content\">\n <div *ngIf=\"cardButtons\" class=\"secondary-actions\">\n <div class=\"card-buttons\">\n <div class=\"card-buttons-row\" *ngFor=\"let row of getCardButtonsRows()\">\n <gravity-card-button *ngFor=\"let button of row\" [type]=\"'secondary'\"\n [orientation]=\"'vrt-center'\" [iconName]=\"button.icon\" [label]=\"button.text\"/>\n </div>\n </div>\n <gravity-button *ngIf=\"mainFooterAction\" [size]=\"'md'\" [type]=\"'tertiary'\" [iconName]=\"mainFooterAction.icon\"\n [iconPosition]=\"'left'\" (click)=\"mainFooterAction.callback()\"> {{mainFooterAction.text}} </gravity-button>\n </div>\n <div *ngIf=\"userInfo\" class=\"user-info-list\">\n <div *ngFor=\"let userInfo of userInfo\" class=\"user-info\">\n <gravity-icon [iconSize]=\"'sm-12'\" [iconName]=\"userInfo.icon\"/>\n <span class=\"hr-label sm-regular\">{{userInfo.info}}</span>\n </div>\n </div>\n </section>\n </section>\n </div>\n</div>\n\n", styles: [".scrollbar-sm::-webkit-scrollbar{width:4px;height:4px}.scrollbar-sm::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.scrollbar-md::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar{width:8px;height:8px}.scrollbar-md::-webkit-scrollbar-track,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb:hover,.gravity-menu .menu-content .menu-body.has-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-menu{height:100%;max-width:266px;-webkit-user-select:none;user-select:none;display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-md);margin-right:var(--gravity-spacing-xs)}.gravity-menu .menu-logo{width:100%;display:flex;align-items:center;padding:24px 22px 0 24px;justify-content:space-between}.gravity-menu .menu-logo gravity-icon{cursor:pointer}.gravity-menu .menu-logo svg{width:auto;height:24px}.gravity-menu .menu-content{width:100%;height:100%;display:flex;overflow:hidden;flex-direction:column;justify-content:space-between}.gravity-menu .menu-content .menu-body{display:flex;overflow-y:auto;flex-direction:column;align-items:flex-start;padding:0 18px 20px 24px}.gravity-menu .menu-content .menu-body:not(.has-scroll),.gravity-menu .menu-content .menu-body.has-scroll:not(:hover){margin-right:8px;scrollbar-width:none}.gravity-menu .menu-content .menu-body:not(.has-scroll)::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:not(:hover)::-webkit-scrollbar{width:0;height:0}.gravity-menu .menu-content .menu-body.has-scroll:hover{margin-right:0}.gravity-menu .menu-content .menu-body .menu-section{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels{width:100%}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level{width:100%;display:flex;cursor:pointer;align-items:center;justify-content:space-between;gap:var(--gravity-spacing-xs);height:var(--gravity-spacing-md);padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level.is-open p{text-decoration:underline}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level p,.gravity-menu .menu-content .menu-body .menu-section .levels .first-level .toggle{display:flex;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level .toggle .badge{width:var(--gravity-spacing-xs);height:var(--gravity-spacing-xs);border-radius:6.25rem;background-color:var(--bg-menu-badge-button)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level:not(.is-open):hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;padding-left:var(--gravity-spacing-xxs);transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list{flex:1 0 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line{height:100%;margin-left:var(--gravity-spacing-xs);border-left:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line.selected{margin:0 -1px 0 7px;border-left:3px solid var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option{width:100%;height:34px;display:flex;align-items:center;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option span{flex:1 0 0;height:24px;display:flex;cursor:pointer;align-items:center;padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option span:not(.disabled):not(.selected):hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-menu-button-disabled-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option span.selected{color:var(--on-bg-menu-button-pressed-primary);background-color:var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-footer{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:16px 22px 20px 24px;gap:var(--gravity-spacing-md);background-color:var(--bg-menu-primary)}.gravity-menu .menu-content .menu-footer .footer-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action{width:220px;height:24px;display:flex;align-items:center;gap:var(--gravity-spacing-xs);padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action:hover{cursor:pointer;color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-footer .footer-content hr{margin:0;width:100%;border:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list{display:grid;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list .user-info{display:flex;padding:1px 2px;align-items:center;gap:var(--gravity-spacing-xxs)}.gravity-menu.lg{max-width:246px}.gravity-menu.md,.gravity-menu.sm{min-width:577px;max-width:1099px;background-color:var(--bg-menu-mobile-primary)}.gravity-menu.md .menu-content .menu-body,.gravity-menu.sm .menu-content .menu-body{margin-bottom:20px;padding:0 18px 0 24px}.gravity-menu.md .menu-content .menu-body .menu-section .levels,.gravity-menu.sm .menu-content .menu-body .menu-section .levels{display:flex;flex-direction:column;gap:var(--gravity-spacing-sm);border-radius:.3125rem;padding:var(--gravity-spacing-sm);background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level{height:20px;border-radius:.3125rem;background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level:hover{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option{height:45px}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option span:hover,.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option span.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option span:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option span.selected{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected{background-color:var(--bg-menu-mobile-button-pressed-primary)}.gravity-menu.md .menu-content .menu-footer-mobile,.gravity-menu.sm .menu-content .menu-footer-mobile{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:flex-end;gap:var(--gravity-spacing-sm);padding:var(--gravity-spacing-md)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content{width:100%;display:flex;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-sm);padding:0 var(--gravity-spacing-lg)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .card-buttons,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .card-buttons{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .card-buttons .card-buttons-row,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .card-buttons .card-buttons-row{width:100%;display:flex;flex-direction:row;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions ::ng-deep gravity-card-button,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions ::ng-deep gravity-card-button{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions ::ng-deep gravity-card-button .card-button-container,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions ::ng-deep gravity-card-button .card-button-container{padding:0;width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list{gap:0;display:grid;border-top:1px solid var(--surface-secondary)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info{display:flex;flex-direction:row;align-items:center;align-self:stretch;justify-content:center;gap:var(--gravity-spacing-xs);padding-top:var(--gravity-spacing-sm)}.gravity-menu.sm{min-width:320px;max-width:576px}.gravity-menu.sm .menu-footer-mobile .footer-content .secondary-actions{padding:0!important}\n"] }]
57
58
  }], propDecorators: { logoUrl: [{
58
59
  type: Input
59
- }], items: [{
60
- type: Input
61
60
  }], userInfo: [{
62
61
  type: Input
62
+ }], items: [{
63
+ type: Input
63
64
  }], cardButtons: [{
64
65
  type: Input
65
66
  }], maxCardButtonsPerRow: [{
@@ -76,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
76
77
  type: ViewChild,
77
78
  args: ['menuBody']
78
79
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2xheW91dC9ncmF2aXR5LW1lbnUvZ3Jhdml0eS1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2xheW91dC9ncmF2aXR5LW1lbnUvZ3Jhdml0eS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFReEgsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQVVpQix5QkFBb0IsR0FBVyxDQUFDLENBQUM7UUFFakMsU0FBSSxHQUE4QixJQUFJLENBQUM7UUFHdEMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0FtRGhEO0lBM0NBLGVBQWU7UUFDZCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUV2QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRTtZQUM3QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNqQztJQUNGLENBQUM7SUFFTSxZQUFZLENBQUMsTUFBa0I7UUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUVNLFlBQVksQ0FBQyxNQUFrQjtRQUNyQyxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNyQyxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNyQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzNDO0lBQ0YsQ0FBQztJQUVPLGNBQWM7UUFDckIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDdkMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO1FBQ3BELEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQjtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQy9ELE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztTQUNwRTtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQzsrR0E1RFcsb0JBQW9CO21HQUFwQixvQkFBb0IseWFDUmpDLHUxSUFvRkE7OzRGRDVFYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0MsY0FBYzs4QkFLUixPQUFPO3NCQUF0QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLG9CQUFvQjtzQkFBbkMsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBRVcsU0FBUztzQkFBekIsTUFBTTtnQkFFZ0IsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01lbnVIZWFkZXIsIE1lbnVPcHRpb24sIFNlY29uZGFyeUFjdGlvbnMsIFVzZXJJbmZvfSBmcm9tIFwiLi4vLi4vbW9kZWwvZ3Jhdml0eS1tZW51LWl0ZW1zLm1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2dyYXZpdHktbWVudScsXG5cdHRlbXBsYXRlVXJsOiAnLi9ncmF2aXR5LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9ncmF2aXR5LW1lbnUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHcmF2aXR5TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cdEBJbnB1dCgpIHB1YmxpYyBsb2dvVXJsOiBzdHJpbmc7XG5cdEBJbnB1dCgpIHB1YmxpYyBpdGVtczogTWVudUhlYWRlcltdO1xuXHRASW5wdXQoKSBwdWJsaWMgdXNlckluZm86IFVzZXJJbmZvW107XG5cdEBJbnB1dCgpIHB1YmxpYyBjYXJkQnV0dG9uczogU2Vjb25kYXJ5QWN0aW9uc1tdO1xuXHRASW5wdXQoKSBwdWJsaWMgbWF4Q2FyZEJ1dHRvbnNQZXJSb3c6IG51bWJlciA9IDM7XG5cdEBJbnB1dCgpIHB1YmxpYyBzZWNvbmRhcnlBY3Rpb25zOiBTZWNvbmRhcnlBY3Rpb25zW107XG5cdEBJbnB1dCgpIHB1YmxpYyBzaXplOiAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnID0gJ3hsJztcblx0QElucHV0KCkgcHVibGljIG1haW5Gb290ZXJBY3Rpb246IHtpY29uOiBzdHJpbmc7IHRleHQ6IHN0cmluZzsgY2FsbGJhY2s/OiAoKSA9PiB2b2lkfTtcblxuXHRAT3V0cHV0KCkgcHVibGljIGNsb3NlTWVudSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXHRAVmlld0NoaWxkKCdtZW51Qm9keScpIG1lbnVCb2R5ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cblx0cHVibGljIHNlbGVjdGVkT3B0aW9uOiBNZW51T3B0aW9uO1xuXG5cdHByaXZhdGUgcmVzaXplT2JzZXJ2ZXIhOiBSZXNpemVPYnNlcnZlcjtcblxuXHRuZ0FmdGVyVmlld0luaXQoKSB7XG5cdFx0Y29uc3QgZWwgPSB0aGlzLm1lbnVCb2R5Lm5hdGl2ZUVsZW1lbnQ7XG5cblx0XHR0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcblx0XHRcdHRoaXMudXBkYXRlT3ZlcmZsb3coKTtcblx0XHR9KTtcblxuXHRcdHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShlbCk7XG5cdFx0dGhpcy51cGRhdGVPdmVyZmxvdygpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0aWYgKHRoaXMucmVzaXplT2JzZXJ2ZXIpIHtcblx0XHRcdHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBzZWxlY3RPcHRpb24ob3B0aW9uOiBNZW51T3B0aW9uKSB7XG5cdFx0dGhpcy5zZWxlY3RlZE9wdGlvbiA9IG9wdGlvbjtcblx0fVxuXG5cdHB1YmxpYyB0b2dnbGVIZWFkZXIoaGVhZGVyOiBNZW51SGVhZGVyKSB7XG5cdFx0aWYgKGhlYWRlci5oZWFkZXJPcHRpb25zPy5sZW5ndGggPiAwKSB7XG5cdFx0XHRoZWFkZXIuY29sbGFwc2VkID0gIWhlYWRlci5jb2xsYXBzZWQ7XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlT3ZlcmZsb3coKSwgMCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSB1cGRhdGVPdmVyZmxvdygpOiB2b2lkIHtcblx0XHRjb25zdCBlbCA9IHRoaXMubWVudUJvZHkubmF0aXZlRWxlbWVudDtcblx0XHRjb25zdCBoYXNTY3JvbGwgPSBlbC5zY3JvbGxIZWlnaHQgPiBlbC5jbGllbnRIZWlnaHQ7XG5cdFx0ZWwuY2xhc3NMaXN0LnRvZ2dsZSgnaGFzLXNjcm9sbCcsIGhhc1Njcm9sbCk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0Q2FyZEJ1dHRvbnNSb3dzKCk6IGFueVtdW10ge1xuXHRcdGlmICghdGhpcy5jYXJkQnV0dG9ucyB8fCAhdGhpcy5tYXhDYXJkQnV0dG9uc1BlclJvdykgcmV0dXJuIFtdO1xuXHRcdGNvbnN0IHJvd3MgPSBbXTtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY2FyZEJ1dHRvbnMubGVuZ3RoOyBpICs9IHRoaXMubWF4Q2FyZEJ1dHRvbnNQZXJSb3cpIHtcblx0XHRcdHJvd3MucHVzaCh0aGlzLmNhcmRCdXR0b25zLnNsaWNlKGksIGkgKyB0aGlzLm1heENhcmRCdXR0b25zUGVyUm93KSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJvd3M7XG5cdH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJncmF2aXR5LW1lbnUge3tzaXplfX1cIj5cbiAgPGRpdiBjbGFzcz1cIm1lbnUtbG9nb1wiPlxuICAgIDxzdmctaWNvbiAqbmdJZj1cImxvZ29VcmxcIiBbc3JjXT1cImxvZ29VcmxcIiAvPlxuICAgIDxncmF2aXR5LWljb24gKm5nSWY9XCJzaXplID09PSAnbWQnIHx8IHNpemUgPT09ICdzbSdcIiBbaWNvblNpemVdPVwiJ21kLTE2J1wiIFtpY29uTmFtZV09XCIndW5zdWNjZXNzJ1wiIChjbGljayk9XCJjbG9zZU1lbnUuZW1pdCgpXCIvPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibWVudS1jb250ZW50XCI+XG4gICAgPHNlY3Rpb24gI21lbnVCb2R5IGNsYXNzPVwibWVudS1ib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWVudS1zZWN0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZXZlbHNcIiAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJmaXJzdC1sZXZlbFwiIFtjbGFzcy5pcy1vcGVuXT1cIiFoZWFkZXIuY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJoZWFkZXIubGluayB8fCB1bmRlZmluZWRcIiAoY2xpY2spPVwidG9nZ2xlSGVhZGVyKGhlYWRlcilcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoci1sYWJlbCBzbS1yZWd1bGFyXCI+XG4gICAgICAgICAgICAgICAgPGdyYXZpdHktaWNvbiAqbmdJZj1cImhlYWRlci5pY29uICE9PSAnJ1wiIFtpY29uTmFtZV09XCJoZWFkZXIuaWNvblwiIFtpY29uU2l6ZV09XCJzaXplID09PSAnbGcnID8gJ3NtLTEyJyA6ICdtZC0xNidcIi8+XG4gICAgICAgICAgICAgICAge3toZWFkZXIudGV4dH19XG4gICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvZ2dsZVwiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhlYWRlci5iYWRnZWRcIiBjbGFzcz1cImJhZGdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8Z3Jhdml0eS1pY29uICpuZ0lmPVwiaGVhZGVyLmhlYWRlck9wdGlvbnM/Lmxlbmd0aCA+IDBcIiBbaWNvblNpemVdPVwiJ3NtLTEyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cImhlYWRlci5jb2xsYXBzZWQgPyAnYXJyb3ctZG93bicgOiAnYXJyb3ctdXAnXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCIhaGVhZGVyLmNvbGxhcHNlZCAmJiBoZWFkZXIuaGVhZGVyT3B0aW9ucz8ubGVuZ3RoID4gMFwiIGNsYXNzPVwic2Vjb25kLWxldmVsXCIgW0BmYWRlU2xpZGVdPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbnMtbGlzdFwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgaGVhZGVyLmhlYWRlck9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uXCIgW2F0dHIuZGF0YS1jeV09XCJvcHRpb24uY3lwcmVzc190YWdcIiBbY2xhc3Muc2VsZWN0ZWRdPVwib3B0aW9uID09PSBzZWxlY3RlZE9wdGlvblwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmVcIiBbY2xhc3Muc2VsZWN0ZWRdPVwiKHNpemUgPT09ICd4bCcgfHwgc2l6ZSA9PSAnbGcnKSAmJiAgb3B0aW9uID09PSBzZWxlY3RlZE9wdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoci1sYWJlbCBzbS1yZWd1bGFyXCIgW2NsYXNzLmRpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiIFtjbGFzcy5zZWxlY3RlZF09XCJvcHRpb24gPT09IHNlbGVjdGVkT3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIm9wdGlvbi5saW5rIHx8IHVuZGVmaW5lZFwiIChjbGljayk9XCJzZWxlY3RPcHRpb24ob3B0aW9uKVwiPnt7b3B0aW9uLnRleHR9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPHNlY3Rpb24gKm5nSWY9XCIoc2Vjb25kYXJ5QWN0aW9ucyB8fCB1c2VySW5mbykgJiYgKHNpemUgPT09ICd4bCcgfHwgc2l6ZSA9PT0gJ2xnJylcIiBjbGFzcz1cIm1lbnUtZm9vdGVyIGVsZXZhdGlvbi14c1wiPlxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJmb290ZXItY29udGVudFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2Vjb25kYXJ5QWN0aW9uc1wiIGNsYXNzPVwic2Vjb25kYXJ5LWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uXCIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBzZWNvbmRhcnlBY3Rpb25zXCI+XG4gICAgICAgICAgICA8Z3Jhdml0eS1pY29uICpuZ0lmPVwiYWN0aW9uLmljb24gIT09ICcnXCIgW2ljb25OYW1lXT1cImFjdGlvbi5pY29uXCIgW2ljb25TaXplXT1cIidtZC0xNidcIi8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWxhYmVsIHNtLXJlZ3VsYXJcIj57e2FjdGlvbi50ZXh0fX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxociAqbmdJZj1cInNlY29uZGFyeUFjdGlvbnMgJiYgdXNlckluZm9cIiBjbGFzcz1cInNlcGFyYXRvci1saW5lXCI+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJJbmZvXCIgY2xhc3M9XCJ1c2VyLWluZm8tbGlzdFwiPlxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHVzZXJJbmZvIG9mIHVzZXJJbmZvXCIgY2xhc3M9XCJ1c2VyLWluZm9cIj5cbiAgICAgICAgICAgIDxncmF2aXR5LWljb24gKm5nSWY9XCJ1c2VySW5mby5pY29uICE9PSAnJ1wiIFtpY29uTmFtZV09XCJ1c2VySW5mby5pY29uXCIgW2ljb25TaXplXT1cIidzbS0xMidcIi8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWxhYmVsIHNtLXJlZ3VsYXJcIj57e3VzZXJJbmZvLmluZm99fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgICA8IS0tIC0gLSAtIC0gLSAtIC0gLSAtIC0gIE1vYmlsZSBSZXNvbHV0aW9ucyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0tPlxuXG4gICAgPHNlY3Rpb24gKm5nSWY9XCIoY2FyZEJ1dHRvbnMgfHwgdXNlckluZm8pICYmIChzaXplID09PSAnbWQnIHx8IHNpemUgPT09ICdzbScpXCIgY2xhc3M9XCJtZW51LWZvb3Rlci1tb2JpbGVcIj5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZm9vdGVyLWNvbnRlbnRcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImNhcmRCdXR0b25zXCIgY2xhc3M9XCJzZWNvbmRhcnktYWN0aW9uc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJ1dHRvbnMtcm93XCIgKm5nRm9yPVwibGV0IHJvdyBvZiBnZXRDYXJkQnV0dG9uc1Jvd3MoKVwiPlxuICAgICAgICAgICAgICA8Z3Jhdml0eS1jYXJkLWJ1dHRvbiAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIHJvd1wiIFt0eXBlXT1cIidzZWNvbmRhcnknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29yaWVudGF0aW9uXT1cIid2cnQtY2VudGVyJ1wiIFtpY29uTmFtZV09XCJidXR0b24uaWNvblwiIFtsYWJlbF09XCJidXR0b24udGV4dFwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxncmF2aXR5LWJ1dHRvbiAqbmdJZj1cIm1haW5Gb290ZXJBY3Rpb25cIiBbc2l6ZV09XCInbWQnXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtpY29uTmFtZV09XCJtYWluRm9vdGVyQWN0aW9uLmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvblBvc2l0aW9uXT1cIidsZWZ0J1wiIChjbGljayk9XCJtYWluRm9vdGVyQWN0aW9uLmNhbGxiYWNrKClcIj4ge3ttYWluRm9vdGVyQWN0aW9uLnRleHR9fSA8L2dyYXZpdHktYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJJbmZvXCIgY2xhc3M9XCJ1c2VyLWluZm8tbGlzdFwiPlxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHVzZXJJbmZvIG9mIHVzZXJJbmZvXCIgY2xhc3M9XCJ1c2VyLWluZm9cIj5cbiAgICAgICAgICAgIDxncmF2aXR5LWljb24gW2ljb25TaXplXT1cIidzbS0xMidcIiBbaWNvbk5hbWVdPVwidXNlckluZm8uaWNvblwiLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaHItbGFiZWwgc20tcmVndWxhclwiPnt7dXNlckluZm8uaW5mb319PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2xheW91dC9ncmF2aXR5LW1lbnUvZ3Jhdml0eS1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2xheW91dC9ncmF2aXR5LW1lbnUvZ3Jhdml0eS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFReEgsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQVFpQixVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQUU5Qix5QkFBb0IsR0FBVyxDQUFDLENBQUM7UUFFakMsU0FBSSxHQUE4QixJQUFJLENBQUM7UUFHdEMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0FtRGhEO0lBM0NBLGVBQWU7UUFDZCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUV2QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRTtZQUM3QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNqQztJQUNGLENBQUM7SUFFTSxZQUFZLENBQUMsTUFBa0I7UUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUVNLFlBQVksQ0FBQyxNQUFrQjtRQUNyQyxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNyQyxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNyQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzNDO0lBQ0YsQ0FBQztJQUVPLGNBQWM7UUFDckIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDdkMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO1FBQ3BELEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQjtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQy9ELE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztTQUNwRTtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQzsrR0E1RFcsb0JBQW9CO21HQUFwQixvQkFBb0IseWFDUmpDLHUxSUFvRkE7OzRGRDVFYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0MsY0FBYzs4QkFLUixPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLG9CQUFvQjtzQkFBbkMsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBRVcsU0FBUztzQkFBekIsTUFBTTtnQkFFZ0IsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01lbnVIZWFkZXIsIE1lbnVPcHRpb24sIFNlY29uZGFyeUFjdGlvbnMsIFVzZXJJbmZvfSBmcm9tIFwiLi4vLi4vbW9kZWwvZ3Jhdml0eS1tZW51LWl0ZW1zLm1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2dyYXZpdHktbWVudScsXG5cdHRlbXBsYXRlVXJsOiAnLi9ncmF2aXR5LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9ncmF2aXR5LW1lbnUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHcmF2aXR5TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cdEBJbnB1dCgpIHB1YmxpYyBsb2dvVXJsOiBzdHJpbmc7XG5cdEBJbnB1dCgpIHB1YmxpYyB1c2VySW5mbzogVXNlckluZm9bXTtcblx0QElucHV0KCkgcHVibGljIGl0ZW1zOiBBcnJheTxNZW51SGVhZGVyPiA9IFtdO1xuXHRASW5wdXQoKSBwdWJsaWMgY2FyZEJ1dHRvbnM6IFNlY29uZGFyeUFjdGlvbnNbXTtcblx0QElucHV0KCkgcHVibGljIG1heENhcmRCdXR0b25zUGVyUm93OiBudW1iZXIgPSAzO1xuXHRASW5wdXQoKSBwdWJsaWMgc2Vjb25kYXJ5QWN0aW9uczogU2Vjb25kYXJ5QWN0aW9uc1tdO1xuXHRASW5wdXQoKSBwdWJsaWMgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJyA9ICd4bCc7XG5cdEBJbnB1dCgpIHB1YmxpYyBtYWluRm9vdGVyQWN0aW9uOiB7aWNvbjogc3RyaW5nOyB0ZXh0OiBzdHJpbmc7IGNhbGxiYWNrPzogKCkgPT4gdm9pZH07XG5cblx0QE91dHB1dCgpIHB1YmxpYyBjbG9zZU1lbnUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cblx0QFZpZXdDaGlsZCgnbWVudUJvZHknKSBtZW51Qm9keSE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG5cdHB1YmxpYyBzZWxlY3RlZE9wdGlvbjogTWVudU9wdGlvbjtcblxuXHRwcml2YXRlIHJlc2l6ZU9ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XG5cblx0bmdBZnRlclZpZXdJbml0KCkge1xuXHRcdGNvbnN0IGVsID0gdGhpcy5tZW51Qm9keS5uYXRpdmVFbGVtZW50O1xuXG5cdFx0dGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG5cdFx0XHR0aGlzLnVwZGF0ZU92ZXJmbG93KCk7XG5cdFx0fSk7XG5cblx0XHR0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZWwpO1xuXHRcdHRoaXMudXBkYXRlT3ZlcmZsb3coKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyKSB7XG5cdFx0XHR0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgc2VsZWN0T3B0aW9uKG9wdGlvbjogTWVudU9wdGlvbikge1xuXHRcdHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvcHRpb247XG5cdH1cblxuXHRwdWJsaWMgdG9nZ2xlSGVhZGVyKGhlYWRlcjogTWVudUhlYWRlcikge1xuXHRcdGlmIChoZWFkZXIuaGVhZGVyT3B0aW9ucz8ubGVuZ3RoID4gMCkge1xuXHRcdFx0aGVhZGVyLmNvbGxhcHNlZCA9ICFoZWFkZXIuY29sbGFwc2VkO1xuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZU92ZXJmbG93KCksIDApO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgdXBkYXRlT3ZlcmZsb3coKTogdm9pZCB7XG5cdFx0Y29uc3QgZWwgPSB0aGlzLm1lbnVCb2R5Lm5hdGl2ZUVsZW1lbnQ7XG5cdFx0Y29uc3QgaGFzU2Nyb2xsID0gZWwuc2Nyb2xsSGVpZ2h0ID4gZWwuY2xpZW50SGVpZ2h0O1xuXHRcdGVsLmNsYXNzTGlzdC50b2dnbGUoJ2hhcy1zY3JvbGwnLCBoYXNTY3JvbGwpO1xuXHR9XG5cblx0cHVibGljIGdldENhcmRCdXR0b25zUm93cygpOiBhbnlbXVtdIHtcblx0XHRpZiAoIXRoaXMuY2FyZEJ1dHRvbnMgfHwgIXRoaXMubWF4Q2FyZEJ1dHRvbnNQZXJSb3cpIHJldHVybiBbXTtcblx0XHRjb25zdCByb3dzID0gW107XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNhcmRCdXR0b25zLmxlbmd0aDsgaSArPSB0aGlzLm1heENhcmRCdXR0b25zUGVyUm93KSB7XG5cdFx0XHRyb3dzLnB1c2godGhpcy5jYXJkQnV0dG9ucy5zbGljZShpLCBpICsgdGhpcy5tYXhDYXJkQnV0dG9uc1BlclJvdykpO1xuXHRcdH1cblxuXHRcdHJldHVybiByb3dzO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ3Jhdml0eS1tZW51IHt7c2l6ZX19XCI+XG4gIDxkaXYgY2xhc3M9XCJtZW51LWxvZ29cIj5cbiAgICA8c3ZnLWljb24gKm5nSWY9XCJsb2dvVXJsXCIgW3NyY109XCJsb2dvVXJsXCIgLz5cbiAgICA8Z3Jhdml0eS1pY29uICpuZ0lmPVwic2l6ZSA9PT0gJ21kJyB8fCBzaXplID09PSAnc20nXCIgW2ljb25TaXplXT1cIidtZC0xNidcIiBbaWNvbk5hbWVdPVwiJ3Vuc3VjY2VzcydcIiAoY2xpY2spPVwiY2xvc2VNZW51LmVtaXQoKVwiLz5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1lbnUtY29udGVudFwiPlxuICAgIDxzZWN0aW9uICNtZW51Qm9keSBjbGFzcz1cIm1lbnUtYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtc2VjdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGV2ZWxzXCIgKm5nRm9yPVwibGV0IGhlYWRlciBvZiBpdGVtc1wiPlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZmlyc3QtbGV2ZWxcIiBbY2xhc3MuaXMtb3Blbl09XCIhaGVhZGVyLmNvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaGVhZGVyLmxpbmsgfHwgdW5kZWZpbmVkXCIgKGNsaWNrKT1cInRvZ2dsZUhlYWRlcihoZWFkZXIpXCI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiaHItbGFiZWwgc20tcmVndWxhclwiPlxuICAgICAgICAgICAgICAgIDxncmF2aXR5LWljb24gKm5nSWY9XCJoZWFkZXIuaWNvbiAhPT0gJydcIiBbaWNvbk5hbWVdPVwiaGVhZGVyLmljb25cIiBbaWNvblNpemVdPVwic2l6ZSA9PT0gJ2xnJyA/ICdzbS0xMicgOiAnbWQtMTYnXCIvPlxuICAgICAgICAgICAgICAgIHt7aGVhZGVyLnRleHR9fVxuICAgICAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2dnbGVcIj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJoZWFkZXIuYmFkZ2VkXCIgY2xhc3M9XCJiYWRnZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPGdyYXZpdHktaWNvbiAqbmdJZj1cImhlYWRlci5oZWFkZXJPcHRpb25zPy5sZW5ndGggPiAwXCIgW2ljb25TaXplXT1cIidzbS0xMidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uTmFtZV09XCJoZWFkZXIuY29sbGFwc2VkID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXVwJ1wiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwiIWhlYWRlci5jb2xsYXBzZWQgJiYgaGVhZGVyLmhlYWRlck9wdGlvbnM/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cInNlY29uZC1sZXZlbFwiIFtAZmFkZVNsaWRlXT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb25zLWxpc3RcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGhlYWRlci5oZWFkZXJPcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvblwiIFthdHRyLmRhdGEtY3ldPVwib3B0aW9uLmN5cHJlc3NfdGFnXCIgW2NsYXNzLnNlbGVjdGVkXT1cIm9wdGlvbiA9PT0gc2VsZWN0ZWRPcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lXCIgW2NsYXNzLnNlbGVjdGVkXT1cIihzaXplID09PSAneGwnIHx8IHNpemUgPT0gJ2xnJykgJiYgIG9wdGlvbiA9PT0gc2VsZWN0ZWRPcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaHItbGFiZWwgc20tcmVndWxhclwiIFtjbGFzcy5kaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWRcIiBbY2xhc3Muc2VsZWN0ZWRdPVwib3B0aW9uID09PSBzZWxlY3RlZE9wdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJvcHRpb24ubGluayB8fCB1bmRlZmluZWRcIiAoY2xpY2spPVwic2VsZWN0T3B0aW9uKG9wdGlvbilcIj57e29wdGlvbi50ZXh0fX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cblxuICAgIDxzZWN0aW9uICpuZ0lmPVwiKHNlY29uZGFyeUFjdGlvbnMgfHwgdXNlckluZm8pICYmIChzaXplID09PSAneGwnIHx8IHNpemUgPT09ICdsZycpXCIgY2xhc3M9XCJtZW51LWZvb3RlciBlbGV2YXRpb24teHNcIj5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZm9vdGVyLWNvbnRlbnRcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInNlY29uZGFyeUFjdGlvbnNcIiBjbGFzcz1cInNlY29uZGFyeS1hY3Rpb25zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvblwiICpuZ0Zvcj1cImxldCBhY3Rpb24gb2Ygc2Vjb25kYXJ5QWN0aW9uc1wiPlxuICAgICAgICAgICAgPGdyYXZpdHktaWNvbiAqbmdJZj1cImFjdGlvbi5pY29uICE9PSAnJ1wiIFtpY29uTmFtZV09XCJhY3Rpb24uaWNvblwiIFtpY29uU2l6ZV09XCInbWQtMTYnXCIvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoci1sYWJlbCBzbS1yZWd1bGFyXCI+e3thY3Rpb24udGV4dH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8aHIgKm5nSWY9XCJzZWNvbmRhcnlBY3Rpb25zICYmIHVzZXJJbmZvXCIgY2xhc3M9XCJzZXBhcmF0b3ItbGluZVwiPlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VySW5mb1wiIGNsYXNzPVwidXNlci1pbmZvLWxpc3RcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB1c2VySW5mbyBvZiB1c2VySW5mb1wiIGNsYXNzPVwidXNlci1pbmZvXCI+XG4gICAgICAgICAgICA8Z3Jhdml0eS1pY29uICpuZ0lmPVwidXNlckluZm8uaWNvbiAhPT0gJydcIiBbaWNvbk5hbWVdPVwidXNlckluZm8uaWNvblwiIFtpY29uU2l6ZV09XCInc20tMTInXCIvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoci1sYWJlbCBzbS1yZWd1bGFyXCI+e3t1c2VySW5mby5pbmZvfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvc2VjdGlvbj5cblxuICAgICAgPCEtLSAtIC0gLSAtIC0gLSAtIC0gLSAtICBNb2JpbGUgUmVzb2x1dGlvbnMgLSAtIC0gLSAtIC0gLSAtIC0gLSAtLT5cblxuICAgIDxzZWN0aW9uICpuZ0lmPVwiKGNhcmRCdXR0b25zIHx8IHVzZXJJbmZvKSAmJiAoc2l6ZSA9PT0gJ21kJyB8fCBzaXplID09PSAnc20nKVwiIGNsYXNzPVwibWVudS1mb290ZXItbW9iaWxlXCI+XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cImZvb3Rlci1jb250ZW50XCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJjYXJkQnV0dG9uc1wiIGNsYXNzPVwic2Vjb25kYXJ5LWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1idXR0b25zXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1idXR0b25zLXJvd1wiICpuZ0Zvcj1cImxldCByb3cgb2YgZ2V0Q2FyZEJ1dHRvbnNSb3dzKClcIj5cbiAgICAgICAgICAgICAgPGdyYXZpdHktY2FyZC1idXR0b24gKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiByb3dcIiBbdHlwZV09XCInc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvcmllbnRhdGlvbl09XCIndnJ0LWNlbnRlcidcIiBbaWNvbk5hbWVdPVwiYnV0dG9uLmljb25cIiBbbGFiZWxdPVwiYnV0dG9uLnRleHRcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8Z3Jhdml0eS1idXR0b24gKm5nSWY9XCJtYWluRm9vdGVyQWN0aW9uXCIgW3NpemVdPVwiJ21kJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIiBbaWNvbk5hbWVdPVwibWFpbkZvb3RlckFjdGlvbi5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25Qb3NpdGlvbl09XCInbGVmdCdcIiAoY2xpY2spPVwibWFpbkZvb3RlckFjdGlvbi5jYWxsYmFjaygpXCI+IHt7bWFpbkZvb3RlckFjdGlvbi50ZXh0fX0gPC9ncmF2aXR5LWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VySW5mb1wiIGNsYXNzPVwidXNlci1pbmZvLWxpc3RcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB1c2VySW5mbyBvZiB1c2VySW5mb1wiIGNsYXNzPVwidXNlci1pbmZvXCI+XG4gICAgICAgICAgICA8Z3Jhdml0eS1pY29uIFtpY29uU2l6ZV09XCInc20tMTInXCIgW2ljb25OYW1lXT1cInVzZXJJbmZvLmljb25cIi8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWxhYmVsIHNtLXJlZ3VsYXJcIj57e3VzZXJJbmZvLmluZm99fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC9zZWN0aW9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=