@agorapulse/ui-components 0.0.1 → 2.5.1

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 (26) hide show
  1. package/agorapulse-ui-components-2.5.1.tgz +0 -0
  2. package/agorapulse-ui-components.d.ts +4 -3
  3. package/agorapulse-ui-components.metadata.json +1 -1
  4. package/assets/{lib-ui/icons → icons}/facebook-icon.png +0 -0
  5. package/assets/{lib-ui/icons → icons}/google-icon.png +0 -0
  6. package/assets/{lib-ui/icons → icons}/instagram-icon.png +0 -0
  7. package/assets/{lib-ui/icons → icons}/linkedin-icon.png +0 -0
  8. package/assets/{lib-ui/icons → icons}/pinterest-icon.png +0 -0
  9. package/assets/{lib-ui/icons → icons}/twitter-icon.png +0 -0
  10. package/assets/{lib-ui/icons → icons}/youtube-icon.png +0 -0
  11. package/assets/{lib-ui/img → img}/default-avatar-organization.png +0 -0
  12. package/assets/{lib-ui/img → img}/default-avatar-user.png +0 -0
  13. package/assets/{lib-ui/img → img}/default-avatar.png +0 -0
  14. package/assets/{lib-ui/img → img}/spinner_animation.gif +0 -0
  15. package/bundles/agorapulse-ui-components.umd.js +386 -9
  16. package/bundles/agorapulse-ui-components.umd.js.map +1 -1
  17. package/esm2015/agorapulse-ui-components.js +5 -4
  18. package/esm2015/src/lib/agorapulse-ui-components.module.js +7 -1
  19. package/esm2015/src/lib/directives/default-image.directive.js +2 -2
  20. package/esm2015/src/lib/edit-tag-modal/edit-tags-modal.component.js +2 -2
  21. package/esm2015/src/lib/neo-timepicker/neo-timepicker.component.js +371 -0
  22. package/fesm2015/agorapulse-ui-components.js +375 -4
  23. package/fesm2015/agorapulse-ui-components.js.map +1 -1
  24. package/package.json +8 -6
  25. package/src/lib/neo-timepicker/neo-timepicker.component.d.ts +129 -0
  26. package/agorapulse-ui-components-0.0.1.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"agorapulse-ui-components.umd.js","sources":["../../../libs/ui-components/src/lib/add-comment/add-comment.component.ts","../../../libs/ui-components/src/lib/avatar/avatar.component.ts","../../../node_modules/tslib/tslib.es6.js","../../../libs/ui-components/src/lib/modal/modal.component.ts","../../../libs/ui-components/src/lib/confirm-modal/confirm-modal.component.ts","../../../libs/ui-components/src/lib/datepicker/datepicker.component.ts","../../../libs/ui-components/src/lib/dots-stepper/dots-stepper.component.ts","../../../libs/ui-components/src/lib/edit-tag-modal/edit-tags-modal.component.ts","../../../libs/ui-components/src/lib/image-carousel/image-carousel.component.ts","../../../libs/ui-components/src/lib/feature-onboarding/feature-onboarding.component.ts","../../../libs/ui-components/src/lib/lead-modal/lead-modal.component.ts","../../../libs/ui-components/src/lib/media-display-overlay/media-display-overlay-dialog.component.ts","../../../libs/ui-components/src/lib/overlay/overlay-dialog.component.ts","../../../libs/ui-components/src/lib/overlay-in-div/overlay-in-div.component.ts","../../../libs/ui-components/src/lib/places/place.component.ts","../../../libs/ui-components/src/lib/places/place-list.component.ts","../../../libs/ui-components/src/lib/popmenu/options.ts","../../../libs/ui-components/src/lib/popmenu/popmenu-options.service.ts","../../../libs/ui-components/src/lib/popmenu/popmenu.component.ts","../../../libs/ui-components/src/lib/popmenu/popmenu.directive.ts","../../../libs/ui-components/src/lib/popmenu/popmenu.module.ts","../../../libs/ui-components/src/lib/splashscreen/splashscreen.component.ts","../../../libs/ui-components/src/lib/tags/tag.component.ts","../../../libs/ui-components/src/lib/tags/tag-list.component.ts","../../../libs/ui-components/src/lib/try-popup/try-popup.component.ts","../../../libs/ui-components/src/lib/tags-selector/tags-selector.component.ts","../../../libs/ui-components/src/lib/timepicker/timepicker.component.ts","../../../libs/ui-components/src/lib/notification/notification.component.ts","../../../libs/ui-components/src/lib/stepper/stepper.component.ts","../../../libs/ui-components/src/lib/snackbar/snackbar.component.ts","../../../libs/ui-components/src/lib/paginator/paginator.component.ts","../../../libs/ui-components/src/lib/paginator/paginator-button/paginator-button.component.ts","../../../libs/ui-components/src/lib/phone-number-input/phone-number-input.component.ts","../../../libs/ui-components/src/lib/slide-toggle/slide-toggle.component.ts","../../../libs/ui-components/src/lib/password-strength-bar/password-strength-bar.component.ts","../../../libs/ui-components/src/lib/password-strength-display-bar/password-strength-display-bar.component.ts","../../../libs/ui-components/src/lib/snackbars-thread/service/snackbars-thread.service.ts","../../../libs/ui-components/src/lib/snackbars-thread/utils/const/snackbars-thread.const.ts","../../../libs/ui-components/src/lib/snackbars-thread/component/snackbars-thread.component.ts","../../../libs/ui-components/src/lib/star-rating/star-rating.component.ts","../../../libs/ui-components/src/lib/directives/autosize-textarea.directive.ts","../../../libs/ui-components/src/lib/directives/default-image.directive.ts","../../../libs/ui-components/src/lib/directives/ellipsis.directive.ts","../../../libs/ui-components/src/lib/directives/frozen-gif.directive.ts","../../../libs/ui-components/src/lib/directives/equal-validator.directive.ts","../../../libs/ui-components/src/lib/directives/multi-style-text.directive.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.const.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.service.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.component.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.directive.ts","../../../libs/ui-components/src/lib/directives/truncate-tooltip.directive.ts","../../../libs/ui-components/src/lib/password-input/password-input.component.ts","../../../libs/ui-components/src/lib/agorapulse-ui-components.module.ts","../../../libs/ui-components/src/lib/overlay/overlay-dialog-service.component.ts","../../../libs/ui-components/src/lib/snackbars-thread/model/snackbars-thread.model.ts","../../../libs/ui-components/index.ts","../../../libs/ui-components/agorapulse-ui-components.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component, EventEmitter, forwardRef,\n Input, Output, TemplateRef,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-add-comment',\n templateUrl: './add-comment.component.html',\n styleUrls: ['./add-comment.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AddCommentComponent),\n multi: true\n }]\n})\nexport class AddCommentComponent implements ControlValueAccessor {\n\n @Input() placeholder: string = 'Add a comment';\n @Input() customTemplate: TemplateRef<any>;\n @Input() disable: boolean = false;\n\n @Output() action: EventEmitter<string> = new EventEmitter();\n\n _commentValue: string = '';\n public get commentValue(): string {\n return this._commentValue;\n }\n\n public set commentValue(value: string) {\n this._commentValue = value;\n this.propagateChange(value);\n }\n\n propagateChange: any = () => {};\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void { }\n\n setDisabledState(isDisabled: boolean): void {\n this.disable = isDisabled;\n }\n\n writeValue(obj: any): void {\n this._commentValue = obj != undefined ? obj : '';\n this.propagateChange(this._commentValue);\n }\n\n onChange(event) {\n const value = event.target.value;\n this._commentValue = value != undefined ? value : '';\n this.propagateChange(value);\n }\n}\n","import {ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\nimport {customSvgsSymbolIds, flagSymbolIds, officialSymbolIds, symbolIds, SymbolType} from \"@agorapulse/ui-symbol\";\n\nconst SizeMap: {[key: string]: string} = {\n 'large': '64',\n 'normal': '48',\n 'medium': '40',\n 'medium-sm': '36',\n 'small': '32',\n 'mini': '24',\n 'mini-sm': '16',\n 'micro': '12',\n 'facebook': '40',\n 'linkedin': '40',\n 'instagram': '40',\n 'youtube': '40',\n 'google': '40',\n 'twitter': '48'\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-avatar',\n styleUrls: ['./avatar.component.scss'],\n templateUrl: './avatar.component.html'\n})\nexport class AvatarComponent implements OnInit, OnChanges {\n\n @Input() border = '';\n @Input() defaultImageEnabled = true; // DEPRECATED default avatar if we don't have username\n @Input() fallbackSymbolId: SymbolType<typeof symbolIds> | SymbolType<typeof officialSymbolIds> |\n SymbolType<typeof customSvgsSymbolIds> | SymbolType<typeof flagSymbolIds> = 'single-neutral';\n @Input() fallbackSymbolSize: string | 'none' | 'pico' | 'nano' | 'micro' | 'mini' | 'small' | 'medium' | 'normal' | 'large' = 'mini';\n @Input() imageUrl: string;\n @Input() loading: 'auto' | 'lazy' | 'eager' = 'auto';\n @Input() outerBorderHidden = false;\n @Input() size:\n 'large' | 'normal'| 'medium' | 'medium-sm' | 'small' | 'mini' | 'mini-sm' | 'micro' |\n 'facebook' | 'twitter' | 'linkedin' | 'instagram' | 'youtube' | 'google' = 'medium';\n @Input() social: 'facebook' | 'instagram' | 'linkedin' | 'twitter' | 'youtube' | 'google';\n @Input() username: string; // used to display initials\n @Input() rounded = false;\n @Input() online = false;\n\n socialSize: string;\n sizeMap = SizeMap;\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.social?.currentValue || changes.size?.currentValue) {\n if (this.social === 'google') {\n switch (this.size) {\n case 'medium-sm':\n this.socialSize = '14';\n break;\n case 'mini':\n this.socialSize = '15';\n break;\n default:\n this.socialSize = '19';\n }\n } else {\n this.socialSize = this.size === 'mini' || this.size === 'medium-sm' ? '12' : '16';\n }\n }\n if (changes.defaultImageEnabled && changes.defaultImageEnabled.currentValue) {\n console.warn(\"'defaultImageEnabled' attribute is deprecated.\")\n }\n }\n\n\n onError(): void {\n this.imageUrl = null;\n }\n\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {MatDialogConfig} from '@angular/material/dialog';\nimport {ComponentType} from '@angular/cdk/portal';\n\nexport interface ModalConfig extends ModalConfigBase {\n closable?: boolean;\n headerBottomBorderEnabled?: boolean;\n}\n\nexport interface ModalConfigBase {\n backdropCloseEnable?: boolean;\n matDialogConfig?: MatDialogConfig;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-modal',\n templateUrl: 'modal.component.html',\n styleUrls: ['modal.component.scss']\n})\nexport class ModalComponent {\n\n static readonly PANEL_CLASS = 'modal-container';\n\n constructor(\n public dialogRef: MatDialogRef<ComponentType<any>>) {\n dialogRef.disableClose = true;\n }\n\n @Input() closable: boolean;\n @Input() headerBottomBorderEnabled: boolean;\n @Input() footerTemplate: TemplateRef<any>;\n @Input() footerVisible = true;\n @Input() headerTemplate: TemplateRef<any>;\n @Input() headerVisible = true;\n @Input() mainTemplate: TemplateRef<any>;\n @Input() config: MatDialogConfig;\n @Input() containerStyle: {[arg: string]: string} = {};\n @Input() headerStyle: {[arg: string]: string} = {};\n @Input() contentStyle: {[arg: string]: string} = {};\n @Input() footerStyle: {[arg: string]: string} = {};\n @Input() defaultLayout = true;\n\n /**\n * Use it to open a modal containing the {@link componentType} component, with the right configuration.\n */\n static openWithComponent<T>(\n matDialog: MatDialog,\n config: ModalConfigBase,\n componentType: ComponentType<T>): MatDialogRef<T> {\n let matDialogConfig: MatDialogConfig;\n if (config) {\n matDialogConfig = config.matDialogConfig;\n if (matDialogConfig) {\n matDialogConfig.panelClass = Array.isArray(config.matDialogConfig.panelClass)\n ? [ ...config.matDialogConfig.panelClass, ModalComponent.PANEL_CLASS ] // in case where the panelClass is an array\n : [ config.matDialogConfig.panelClass , ModalComponent.PANEL_CLASS]; // in the other case, it's a String\n } else {\n matDialogConfig = { panelClass: ModalComponent.PANEL_CLASS };\n }\n } else {\n matDialogConfig = {\n panelClass: ModalComponent.PANEL_CLASS\n };\n }\n matDialogConfig.autoFocus = false; // Prevent first button to be focused\n\n const dialogRef = matDialog.open(componentType, matDialogConfig);\n if (config.backdropCloseEnable === true) {\n dialogRef.disableClose = false;\n }\n return dialogRef;\n }\n\n /**\n * Use it to open a modal containing the provided templates, with the right configuration.\n */\n static openWithTemplates(\n matDialog: MatDialog,\n headerTemplate: TemplateRef<any>,\n mainTemplate: TemplateRef<any>,\n footerTemplate?: TemplateRef<any>,\n config?: ModalConfig): MatDialogRef<ModalComponent> {\n const dialogRef = ModalComponent.openWithComponent(matDialog, config, ModalComponent);\n dialogRef.componentInstance.closable = (config && config.closable) ? config.closable : false;\n dialogRef.componentInstance.headerBottomBorderEnabled = (config && config.headerBottomBorderEnabled) ? config.headerBottomBorderEnabled : false;\n dialogRef.componentInstance.headerTemplate = headerTemplate;\n dialogRef.componentInstance.mainTemplate = mainTemplate;\n dialogRef.componentInstance.footerTemplate = footerTemplate;\n return dialogRef;\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {ComponentType} from '@angular/cdk/portal';\nimport {MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {ModalComponent, ModalConfig} from '../modal/modal.component';\nimport {ConfirmModalTexts} from './confirm-modal-texts.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-confirm-modal',\n templateUrl: 'confirm-modal.component.html',\n})\nexport class ConfirmModalComponent {\n\n @Input() contentText: string = '';\n @Input() footerCancelButtonId: string = 'cancel';\n @Input() footerCancelButtonLabel: string = '';\n @Input() footerConfirmButtonId: string = 'confirm';\n @Input() footerConfirmButtonLabel: string = '';\n @Input() headerTitle: string = '';\n\n constructor(\n public dialogRef: MatDialogRef<ComponentType<any>>) {\n dialogRef.disableClose = true;\n }\n\n onCancel() {\n this.dialogRef.close(false);\n }\n\n onConfirm() {\n this.dialogRef.close(true);\n }\n\n static open(dialog: MatDialog, confirmModalTexts: ConfirmModalTexts, modalConfig: ModalConfig = null) {\n if (!modalConfig) {\n modalConfig = {};\n }\n if (!modalConfig.matDialogConfig) {\n modalConfig.matDialogConfig = {\n width: '550px'\n };\n }\n const confirmModal = ModalComponent.openWithComponent(dialog, modalConfig, ConfirmModalComponent);\n confirmModal.componentInstance.contentText = confirmModalTexts.contentText;\n confirmModal.componentInstance.footerConfirmButtonId = confirmModalTexts.footerConfirmButtonId;\n confirmModal.componentInstance.footerConfirmButtonLabel = confirmModalTexts.footerConfirmButtonLabel;\n confirmModal.componentInstance.footerCancelButtonId = confirmModalTexts.footerCancelButtonId;\n confirmModal.componentInstance.footerCancelButtonLabel = confirmModalTexts.footerCancelButtonLabel;\n confirmModal.componentInstance.headerTitle = confirmModalTexts.headerTitle;\n return confirmModal;\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport {DaterangepickerComponent} from \"ngx-daterangepicker-material\";\nimport moment from 'moment';\nimport {Moment} from 'moment';\n\nexport enum DatepickerMode {\n Single = 'Single',\n Multiple = 'Multiple',\n Range = 'Range'\n}\n\nexport interface Period {\n startDate: Moment;\n endDate: Moment;\n}\n\nexport interface I18nDatePicker {\n ranges: {\n yesterday: string;\n lastWeek: string;\n last30Days: string;\n lastMonth: string;\n thisMonth: string;\n }\n}\n\nenum SideEnum {\n left = \"left\",\n right = \"right\"\n}\n\n// TODO fix css for range mode (more lateral padding)\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss']\n})\nexport class DatepickerComponent implements OnInit, OnChanges, AfterViewInit {\n @ViewChild('datepickerRef') datepickerRef: DaterangepickerComponent;\n\n @Input() firstDayOfWeek: string;\n @Input() i18n: I18nDatePicker = {\n ranges: {\n yesterday: 'Yesterday',\n lastWeek: 'Last Week',\n last30Days: 'Last 30 days',\n lastMonth: 'Previous month',\n thisMonth: 'This Month',\n }\n };\n @Input() locale;\n @Input() maxDate: Moment;\n @Input() minDate: Moment;\n @Input() mode: DatepickerMode;\n @Input() selectedDate: Moment;\n @Input() selectedDates: Moment[] = [];\n @Input() selectedPeriod: Period = {startDate: null, endDate: null};\n @Input() showRanges: boolean;\n\n @Output() dateSelected = new EventEmitter<any>();\n @Output() periodSelected = new EventEmitter<Period>();\n\n DatepickerMode = DatepickerMode;\n doubleCalendarWidth = 528; // 231px calendar table * 2 = 462 (+ 16px x-padding * 4 = 64)\n localeConfig: {\n customRangeLabel: string;\n daysOfWeek: string[];\n monthNames: string[];\n firstDay: number;\n };\n ranges: {[period: string]: [Moment, Moment]} = {};\n rangePickerWidth = 150;\n width: number;\n pageSet = false;\n\n constructor(public changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n this.initRanges();\n this.initDatePickerLocale();\n }\n\n ngOnChanges(changes) {\n this.setWidth();\n if (this.datepickerRef) {\n setTimeout(() => {\n this.datepickerRef.updateCalendars();\n this.changeDetectorRef.detectChanges();\n }, 100);\n }\n if (changes.selectedPeriod?.currentValue && this.datepickerRef) {\n if (this.selectedPeriod.startDate === null && this.selectedPeriod.endDate === null) {\n this.datepickerRef.clear();\n } else {\n this.datepickerRef.setStartDate(this.selectedPeriod.startDate);\n this.datepickerRef.setEndDate(this.selectedPeriod.endDate);\n }\n }\n if (changes.mode?.currentValue === DatepickerMode.Single && this.datepickerRef) {\n this.setCalendarCurrentPage();\n }\n }\n ngAfterViewInit(): void {\n if (this.datepickerRef) {\n setTimeout(() => {\n this.datepickerRef.updateCalendars();\n this.setCalendarCurrentPage();\n }, 100);\n }\n }\n\n initDatePickerLocale() {\n if (this.locale) {\n moment.locale(this.locale);\n }\n let firstDayOfWeekIndex: number;\n if (this.firstDayOfWeek === \"sunday\") {\n firstDayOfWeekIndex = 0;\n } else if (this.firstDayOfWeek === \"monday\") {\n firstDayOfWeekIndex = 1;\n } else {\n firstDayOfWeekIndex = moment.localeData().firstDayOfWeek();\n }\n this.localeConfig = {\n customRangeLabel: 'custom',\n daysOfWeek: moment.weekdaysMin(),\n monthNames: moment.months(),\n firstDay: firstDayOfWeekIndex\n };\n }\n\n initRanges() {\n this.ranges[this.i18n.ranges.yesterday] = [moment().subtract(1, 'days'), moment().subtract(1, 'days')];\n this.ranges[this.i18n.ranges.lastWeek] = [moment().subtract(7, 'days'), moment().subtract(1, 'days')];\n this.ranges[this.i18n.ranges.last30Days] = [moment().subtract(30, 'days'), moment().subtract(1, 'days')];\n this.ranges[this.i18n.ranges.lastMonth] = [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')];\n this.ranges[this.i18n.ranges.thisMonth] = [moment().startOf('month'), moment().endOf('month')];\n }\n\n isCustomDate = (date: any) => {\n const classes: string[] = [];\n if (this.mode === DatepickerMode.Multiple) {\n classes.push(this.isSelected(date) ? 'active' : 'force-inactive');\n } else if (this.mode === DatepickerMode.Single) {\n classes.push(this.selectedDate && this.selectedDate.isSame(date, 'day') ? 'active' : 'force-inactive');\n } else if (this.mode === DatepickerMode.Range) {\n classes.push('range-picker-mode');\n // Workaround to fix the auto-active today date when no date is selected\n if (moment().isSame(date, 'day')\n && !this.selectedPeriod?.startDate\n && !this.selectedPeriod?.endDate) {\n classes.push('force-inactive');\n }\n }\n return classes;\n }\n\n private isSelected(date: any) {\n return this.selectedDates && this.selectedDates.some(selectedDate => selectedDate.isSame(date, 'day'));\n }\n\n onStartDateChanged(event: any) {\n const date = event.startDate;\n if (this.mode !== DatepickerMode.Range) {\n this.selectedDate = date;\n this.datepickerRef.setEndDate(date);\n if (this.pageSet) {\n this.pageSet = false;\n } else {\n this.dateSelected.emit(date.clone());\n if (this.mode === DatepickerMode.Multiple) {\n this.selectedDates.push(date);\n }\n }\n if (this.datepickerRef) {\n this.datepickerRef.updateCalendars();\n }\n }\n }\n\n onDatesUpdated(event: any) {\n if (this.mode === DatepickerMode.Range) {\n this.periodSelected.emit({\n startDate: event.startDate?.clone(),\n endDate: event.endDate?.clone()\n });\n }\n if (this.datepickerRef) {\n this.datepickerRef.updateCalendars();\n }\n }\n\n onNextMonth() {\n this.datepickerRef.leftCalendar.month = this.datepickerRef.leftCalendar.month.add(1, 'months').clone();\n this.datepickerRef.rightCalendar.month = this.datepickerRef.rightCalendar.month.add(1, 'months').clone();\n this.datepickerRef.clickNext(SideEnum.left);\n this.datepickerRef.clickNext(SideEnum.right);\n }\n\n onPreviousMonth() {\n this.datepickerRef.leftCalendar.month = this.datepickerRef.leftCalendar.month.subtract(1, 'months').clone();\n this.datepickerRef.rightCalendar.month = this.datepickerRef.rightCalendar.month.subtract(1, 'months').clone();\n this.datepickerRef.clickPrev(SideEnum.left);\n this.datepickerRef.clickPrev(SideEnum.right);\n }\n\n /**\n * Ugly hack used here to open the calendar on the right day if they are selected dates\n * * https://github.com/fetrarij/ngx-daterangepicker-material/issues/139\n */\n setCalendarCurrentPage(): void {\n const selectedFirstDate = this.selectedDates.length > 0 ? this.selectedDates[0] : this.selectedDate;\n if (selectedFirstDate && selectedFirstDate.isValid() && this.mode !== DatepickerMode.Range) {\n const endDate = selectedFirstDate.clone();\n endDate.add(1, 'month');\n this.pageSet = true;\n this.datepickerRef.setStartDate(selectedFirstDate);\n this.datepickerRef.setEndDate(endDate);\n this.datepickerRef.updateView();\n }\n this.changeDetectorRef.detectChanges();\n }\n\n\n setWidth() {\n this.width = this.showRanges && this.mode === DatepickerMode.Range ? this.doubleCalendarWidth + this.rangePickerWidth : this.doubleCalendarWidth;\n }\n\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-dots-stepper',\n templateUrl: './dots-stepper.component.html',\n styleUrls: ['./dots-stepper.component.scss']\n})\nexport class DotsStepperComponent implements OnChanges {\n\n @Input() disabled: boolean = false;\n @Input() forwardAllowed: boolean = true;\n @Input() index: number;\n @Input() items: any[] = [];\n @Input() size: string = '';\n\n @Output() dotClick: EventEmitter<number> = new EventEmitter<number>();\n\n currentItem: any;\n\n constructor() {\n }\n\n ngOnChanges() {\n this.currentItem = this.items[this.index];\n }\n\n onDotClick(event, item, index) {\n event.stopPropagation();\n if (this.disabled || (!this.forwardAllowed && index > this.index)) {\n return;\n }\n this.currentItem = item;\n this.index = index;\n this.dotClick.emit(this.index);\n }\n}\n","import {animate, style, transition, trigger} from '@angular/animations';\nimport {Component, ElementRef, EventEmitter, Inject, OnDestroy, ViewChild} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {EditTagsModalData} from './model/edit-tags-modal.model';\n\n@Component({\n templateUrl: './edit-tags-modal.component.html',\n styleUrls: ['./edit-tags-modal.component.scss'],\n animations: [\n trigger('tagSaved', [\n transition('void => *', [\n style({opacity: 1}),\n style({width: 'fit-content'}),\n style({display: 'flex'}),\n animate('6000ms', style({opacity: 0})),\n ]),\n ]),\n trigger('tagRemoved', [\n transition('valid => deleted', [\n style({opacity: 1}),\n animate('1000ms 1000ms', style({opacity: 0})),\n ]),\n ])\n ]\n})\nexport class EditTagsModalComponent implements OnDestroy {\n\n deletedTags: string[] = [];\n editTag: EventEmitter<Map<string, string>> = new EventEmitter<Map<string, string>>();\n filteredTags: string[];\n savingTags: string[] = [];\n tagEditedIndex: number = null;\n tags: string[];\n updatedTags: Map<string, string> = new Map<string, string>();\n updateStatusByTags: Map<string, boolean> = new Map<string, boolean>();\n\n @ViewChild('tagInput') tagInput: ElementRef;\n\n private readonly destroy$: Subject<void> = new Subject<void>();\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: EditTagsModalData,\n public dialogRef: MatDialogRef<EditTagsModalComponent>,\n public dialog: MatDialog\n ) {\n data.tags$.pipe(takeUntil(this.destroy$)).subscribe(tags => {\n if (tags) {\n this.tags = [...tags];\n this.filteredTags = [...tags];\n tags.forEach(tag => this.updatedTags.set(tag, tag));\n }\n });\n\n data.updateStatusByTag$.pipe(takeUntil(this.destroy$)).subscribe(\n (updateStatusByTag) => {\n if (updateStatusByTag) {\n const updateStatusByTagMap = new Map<string, boolean>();\n updateStatusByTag.forEach(value => {\n updateStatusByTagMap.set(value.tag, value.loading);\n if (value.loading === false) {\n this.updateTagSuccess(value.tag);\n }\n });\n this.updateStatusByTags = updateStatusByTagMap;\n }\n }\n );\n }\n\n cancelEdit(): void {\n this.tagEditedIndex = null;\n }\n\n onDone(): void {\n this.dialogRef.close();\n }\n\n onEdit(index: number): void {\n this.tagEditedIndex = index;\n }\n\n onRemove(tag: string): void {\n this.updatedTags.set(tag, null);\n const updatedTag = new Map<string, string>();\n updatedTag.set(tag, null);\n this.editTag.emit(updatedTag);\n this.tagEditedIndex = null;\n }\n\n onValidateInput(index: number): void {\n this.onValidate(this.tagInput.nativeElement.value, index);\n }\n\n onValidate(value: string, index: number): void {\n if (value) {\n const entry = Array.from(this.updatedTags.entries()).find(((keyValue) => keyValue[1] === this.tags[index]));\n this.updatedTags.set(entry[0], value);\n const updatedTag = new Map<string, string>();\n updatedTag.set(entry[0], value);\n this.tags[index] = value;\n this.filteredTags[index] = value;\n this.editTag.emit(updatedTag);\n this.savingTags.push(value);\n this.tagEditedIndex = null;\n }\n }\n\n onValidateEnter(event: any, index: number): void {\n if (event.key === 'Enter') {\n this.onValidate(event.target.value, index);\n }\n }\n\n onSearch(tag: string): void {\n this.filteredTags = Array.from(this.updatedTags.values()).filter((item) => item?.toLowerCase().includes(tag.toLowerCase()));\n }\n\n updateTagSuccess(tag: string): void {\n if (this.updatedTags.get(tag) === null) {\n this.deletedTags.push(tag);\n setTimeout(() => {\n this.tags = this.tags.filter(tagToFilter => tagToFilter !== tag);\n this.filteredTags = this.filteredTags.filter(tagToFilter => tagToFilter !== tag);\n this.deletedTags = this.deletedTags.filter(tagToFilter => tagToFilter !== tag);\n }, 2000);\n } else {\n setTimeout(() => {\n this.savingTags = this.savingTags.filter(tagToFilter => tagToFilter !== tag);\n }, 6000);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n ViewChild\n} from '@angular/core';\nimport {animate, AnimationBuilder, style} from '@angular/animations';\n\nexport enum InstagramCarouselItemType {\n IMAGE = 'photo',\n VIDEO = 'video'\n}\n\nexport interface InstagramCarouselItem {\n type: InstagramCarouselItemType;\n url: string;\n thumbnailUrl?: string;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-image-carousel',\n templateUrl: './image-carousel.component.html',\n styleUrls: ['./image-carousel.component.scss']\n})\nexport class ImageCarouselComponent {\n\n public InstagramCarouselItemType = InstagramCarouselItemType;\n\n @ViewChild('carousel') private carousel: ElementRef;\n\n @Input() items: InstagramCarouselItem[] = [];\n @Input() dotsInside = false;\n @Input() soundEnabled = false;\n @Input() supportGif = true;\n @Input() tinyMode = false;\n\n @Output() currentImageChanged: EventEmitter<InstagramCarouselItem> = new EventEmitter<InstagramCarouselItem>();\n\n private _selectedIndex = 0;\n public carouselOffset = 0;\n public isPlaying: boolean;\n private mouseOver: boolean;\n public videoPlayers: HTMLVideoElement[] = [];\n\n constructor(private animationBuilder: AnimationBuilder) {\n }\n\n public get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n public set selectedIndex(value: number) {\n this.videoPause(this.selectedIndex);\n if (value < 0) {\n value = 0;\n }\n if (value > this.items.length - 1) {\n value = this.items.length - 1;\n }\n this._selectedIndex = value;\n this.move();\n if (this.tinyMode && this.mouseOver) {\n this.videoPlay(this.selectedIndex);\n }\n }\n\n isPrevButtonEnabled(): boolean {\n return this.selectedIndex > 0;\n }\n\n isNextButtonEnabled(): boolean {\n if (this.items && this.items[this.selectedIndex]) {\n return this.selectedIndex < this.items.length - 1;\n }\n return false;\n }\n\n isVideo(): boolean {\n if (this.items && this.items[this.selectedIndex]) {\n return this.items[this.selectedIndex].type === InstagramCarouselItemType.VIDEO;\n }\n return false;\n }\n\n dotsDisplayed(): boolean {\n if (this.items && this.items[this.selectedIndex]) {\n return this.items.length > 1;\n }\n return false;\n }\n\n prev(): void {\n this.selectedIndex -= 1;\n this.currentImageChanged.emit(this.items[this.selectedIndex]);\n }\n\n next(): void {\n this.selectedIndex += 1;\n this.currentImageChanged.emit(this.items[this.selectedIndex]);\n }\n\n play(event, index: number): void {\n if (!this.tinyMode) {\n const videoPlayer: HTMLVideoElement = this.videoPlayers[index];\n if (videoPlayer) {\n videoPlayer.paused ? this.videoPlay(index) : this.videoPause(index);\n }\n event.stopPropagation();\n }\n }\n\n move(instantaneous: boolean = false): void {\n this.carouselOffset = -this.carousel.nativeElement.offsetWidth * this.selectedIndex;\n this.animationBuilder.build(\n animate(instantaneous ? '1ms' : '250ms ease-in', style({transform: `translateX(${this.carouselOffset}px)`}))\n ).create(this.carousel.nativeElement).play();\n }\n\n onMouseEntersVideo(event, index) {\n this.mouseOver = true;\n if (this.tinyMode) {\n this.videoPlay(index);\n }\n }\n\n onMouseLeavesVideo(event, index) {\n this.mouseOver = false;\n if (this.tinyMode) {\n this.videoPause(index);\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.move(true);\n }\n\n public registerVideoPlayer(event, index: number) {\n this.videoPlayers[index] = event.target;\n event.target.muted = !this.soundEnabled;\n }\n\n private videoPause(index: number) {\n const videoPlayer: HTMLVideoElement = this.videoPlayers[index];\n if (videoPlayer) {\n videoPlayer.pause();\n this.isPlaying = false;\n }\n }\n\n private videoPlay(index: number) {\n const videoPlayer: HTMLVideoElement = this.videoPlayers[index];\n if (videoPlayer) {\n videoPlayer.play();\n this.isPlaying = true;\n }\n }\n\n public switchSound() {\n this.soundEnabled = !this.soundEnabled;\n for (const player of this.videoPlayers) {\n player.muted = !this.soundEnabled;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component\n} from '@angular/core';\nimport {MatDialogRef} from \"@angular/material/dialog\";\nimport {ComponentType} from \"@angular/cdk/overlay\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-feature-onboarding',\n templateUrl: './feature-onboarding.component.html',\n styleUrls: ['./feature-onboarding.component.scss']\n})\nexport class FeatureOnboardingComponent {\n\n // translations\n backButtonLabel: string = '';\n finishButtonLabel: string = '';\n nextButtonLabel: string = '';\n\n arrowsDisplayed: boolean = false; // To display arrows to switch element on carousel\n templates: any[]; // One template represent one element of the carousel\n slideDisplayedIndex: number = 0; // The current element displayed\n\n constructor(public dialogRef: MatDialogRef<ComponentType<any>>) {\n }\n\n onClickNext() {\n this.slideDisplayedIndex !== this.templates.length - 1 ? this.slideDisplayedIndex = this.slideDisplayedIndex + 1 : this.onCloseCarousel();\n }\n\n onClickPrevious() {\n this.slideDisplayedIndex = this.slideDisplayedIndex - 1;\n }\n\n onCloseCarousel() {\n this.dialogRef.close(true);\n }\n\n}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {LeadInfo} from './lead-info.model';\n\nexport interface TranslatedStrings {\n agencyFieldLabel: string;\n agencyNoLabel: string;\n agencyYesLabel: string;\n profileFieldLabel: string;\n teamFieldLabel: string;\n teamMeLabel: string;\n title: string;\n validateButtonLabel: string;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-lead-modal',\n templateUrl: 'lead-modal.component.html',\n})\nexport class LeadModalComponent {\n\n constructor(\n public dialogRef: MatDialogRef<LeadModalComponent>,\n @Inject(MAT_DIALOG_DATA) public translatedStrings: TranslatedStrings) {\n dialogRef.disableClose = true;\n }\n\n plans = {\n PRO: 'pro',\n PREMIUM: 'premium',\n PREMIUM_PLUS: 'premium+',\n ENTERPRISE: 'enterprise',\n };\n\n orderedPlans = [\n this.plans.PRO,\n this.plans.PREMIUM,\n this.plans.PREMIUM_PLUS,\n this.plans.ENTERPRISE,\n ];\n\n qualifiedProfilePlan: string;\n qualifiedTeamPlan: string;\n profileType: string;\n\n onValidate(qualifiedProfilePlan: string, qualifiedTeamPlan: string, profileType: string): LeadInfo {\n const qualifiedPlan: string = this.orderedPlans.indexOf(qualifiedProfilePlan) > this.orderedPlans.indexOf(qualifiedTeamPlan)\n ? qualifiedProfilePlan\n : qualifiedTeamPlan;\n\n return {\n language: window.navigator && window.navigator.language ? window.navigator.language : '',\n qualifiedPlan: qualifiedPlan,\n qualifiedProfilePlan: qualifiedProfilePlan,\n qualifiedTeamPlan: qualifiedTeamPlan,\n profileType: profileType\n };\n }\n\n}\n","import {ChangeDetectionStrategy, Component, HostListener, Inject, OnInit} from '@angular/core';\nimport {MatDialogConfig, MatDialogRef} from '@angular/material/dialog';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\n\nexport interface MediaDisplayData {\n urls: string[];\n url: string;\n mediaType: string;\n supportGif: boolean;\n}\n\nexport enum KEY_CODE {\n RIGHT_ARROW = 39,\n LEFT_ARROW = 37\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-media-display-overlay',\n styleUrls: ['./media-display-overlay-dialog.component.scss'],\n templateUrl: './media-display-overlay-dialog.component.html'\n})\nexport class MediaDisplayOverlayDialogComponent implements OnInit {\n\n static config: MatDialogConfig = {\n position: {\n top: '10px',\n right: '10px',\n left: '10px'\n },\n height: '100%',\n width: '100%',\n maxWidth: 'none',\n panelClass: 'full-screen-modal',\n backdropClass: 'dark-backdrop'\n };\n\n currentUrlIndex = 1;\n urls: string[] = []; // all urls\n url: string; // current displayed url\n mediaType = 'image'; // 'image', 'video'\n supportGif = true;\n\n constructor(public dialogRef: MatDialogRef<MediaDisplayOverlayDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: MediaDisplayData) {\n }\n\n ngOnInit(): void {\n // const data = ModalService.getModal('media-display-overlay') || {};\n if (this.data) {\n if (this.data.urls && this.data.urls.length > 0) {\n this.urls = this.data.urls;\n }\n if (this.data.url) {\n if (this.urls.length === 0) {\n this.urls = [this.data.url];\n }\n this.url = this.data.url;\n this.currentUrlIndex = this.urls.indexOf(this.data.url) + 1;\n }\n }\n }\n\n onClose() {\n this.dialogRef.close();\n }\n\n onNext($event: UIEvent) {\n if (this.currentUrlIndex < this.urls.length) {\n this.currentUrlIndex += 1;\n this.url = this.urls[this.currentUrlIndex - 1];\n }\n $event.stopPropagation();\n }\n\n onPrevious($event: UIEvent) {\n if (this.currentUrlIndex > 1) {\n this.currentUrlIndex -= 1;\n this.url = this.urls[this.currentUrlIndex - 1];\n }\n $event.stopPropagation();\n }\n\n @HostListener('window:keyup', ['$event'])\n keyEvent(event: KeyboardEvent) {\n\n if (event.keyCode === KEY_CODE.RIGHT_ARROW) {\n this.onNext(event);\n }\n\n if (event.keyCode === KEY_CODE.LEFT_ARROW) {\n this.onPrevious(event);\n }\n }\n}\n","import {Component, Inject} from '@angular/core';\nimport {OverlayRef} from '@angular/cdk/overlay';\nimport {InjectionToken} from '@angular/core';\n\nexport interface OverlayData {\n template: string;\n}\n\nexport class OverlayDialogRef {\n\n constructor(private overlayRef: OverlayRef) {\n }\n\n close(): void {\n this.overlayRef.dispose();\n }\n}\n\nexport const OVERLAY_DATA = new InjectionToken<OverlayData>('OVERLAY_DATA');\n\n@Component({\n selector: 'ap-overlay',\n styleUrls: ['./overlay-dialog.component.scss'],\n templateUrl: './overlay-dialog.component.html'\n})\nexport class OverlayDialogComponent {\n\n constructor(\n public dialogRef: OverlayDialogRef,\n @Inject(OVERLAY_DATA) public data: any) {\n }\n\n close() {\n this.dialogRef.close();\n }\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-overlay-in-div',\n templateUrl: './overlay-in-div.component.html',\n styleUrls: ['./overlay-in-div.component.scss']\n})\nexport class OverlayInDivComponent {\n\n @Input() title: string;\n @Input() subtitle: string;\n @Input() imgPath: string;\n @Input() closable = true;\n\n @Output() close: EventEmitter<any> = new EventEmitter<any>();\n\n\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-place',\n templateUrl: './place.component.html',\n styleUrls: ['./place.component.scss']\n})\nexport class PlaceComponent {\n\n @Input() service: string;\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-place-list',\n templateUrl: './place-list.component.html',\n styleUrls: ['./place-list.component.scss']\n})\nexport class PlaceListComponent {\n\n}\n","export const defaultOptions = {\n 'apPopmenuBorder': true,\n 'apPopmenuDisabled': false,\n 'apPopmenuBackground': true,\n 'hasBackdrop': true,\n\t'placement': 'top',\n 'rounded' : true,\n\t'showDelay': 0,\n\t'hideDelay': 10,\n\t'hideDelayMobile': 0,\n\t'shadow': true,\n\t'theme': 'dark',\n\t'offset': 8,\n\t'maxWidth': '600',\n};\n","import {InjectionToken} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const PopmenuOptionsService = new InjectionToken<PopmenuOptions>('PopmenuOptions');\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n ViewChild\n} from '@angular/core';\nimport {MatMenuTrigger} from '@angular/material/menu';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-popmenu',\n templateUrl: './popmenu.component.html',\n styleUrls: ['./popmenu.component.scss']\n})\nexport class PopmenuComponent implements AfterViewInit {\n\n @Input() data: any;\n events = new EventEmitter();\n arrowTopPosition = '50%';\n arrowBottomPosition = '50%';\n arrowLeftPosition: string;\n arrowRightPosition: string;\n arrowClass: string;\n below;\n before;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;\n @HostBinding('style.top') hostStyleTop: string;\n @HostBinding('style.border-radius') hostStyleBorderRadius: string;\n @HostBinding('style.left') hostStyleLeft: string;\n @HostBinding('style.z-index') hostStyleZIndex: number;\n @HostBinding('style.transition') hostStyleTransition: string;\n @HostBinding('style.width') hostStyleWidth: string;\n @HostBinding('style.max-width') hostStyleMaxWidth: string;\n @HostBinding('style.pointer-events') hostStylePointerEvents: string;\n @HostBinding('class.tooltip-show') hostClassShow: boolean;\n @HostBinding('class.tooltip-shadow') hostClassShadow: boolean;\n @HostBinding('class.tooltip-light') hostClassLight: boolean;\n viewInit = false;\n\n _show = false;\n\n get show(): boolean {\n return this._show;\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = value;\n }\n\n @Input() set close(value: boolean) {\n if (value) {\n this.trigger.closeMenu();\n }\n }\n get arrow() {\n return this.data.options.arrow && this.border;\n }\n\n get arrowOffset() {\n return this.data.options.arrowOffset;\n }\n\n get arrowPosition() {\n return this.data.options.arrowPosition;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get background() {\n return this.data.options.apPopmenuBackground;\n }\n\n get border() {\n return this.data.options.apPopmenuBorder;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get hasBackdrop() {\n return this.data.options.hasBackdrop;\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n get options() {\n return this.data.options;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get rounded() {\n return this.data.options.rounded;\n }\n\n get shadow() {\n return this.data.options.shadow;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get value() {\n return this.data.value;\n }\n\n constructor(public renderer: Renderer2,\n public elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef) {\n }\n\n ngAfterViewInit() {\n this.viewInit = true;\n }\n\n onMenuClosed() {\n // we set a timeout to wait for the menu to be really closed\n setTimeout(() => this.menuClosed.emit(), 200);\n }\n\n onMenuOpened() {\n // we set a timeout to wait for the menu to be really opened\n setTimeout(() => this.menuOpened.emit(), 100);\n }\n\n setHostStyle(placement: string): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.x;\n\n let elementHeight = !this.element.offsetHeight ? this.element.getBoundingClientRect().height : this.element.offsetHeight;\n let elementWidth = !this.element.offsetWidth ? this.element.getBoundingClientRect().width : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n let topStyle;\n let leftStyle;\n\n if (isCustomPosition) {\n if (placement && placement.split(' ')[0] === 'top') {\n this.below = false;\n }\n if (placement && placement.split(' ')[0] === 'bottom') {\n this.below = true;\n }\n elementHeight = 0;\n elementWidth = 0;\n topStyle = this.elementPosition.top;\n leftStyle = this.elementPosition.left;\n if (this.arrow && this.arrowPosition) {\n this.arrowClass = 'arrow-' + this.arrowPosition;\n switch (this.arrowPosition) {\n case 'left':\n case 'right':\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset + '%';\n break;\n case 'top':\n case 'bottom':\n this.arrowLeftPosition = this.arrowOffset + '%';\n this.arrowRightPosition = 'auto';\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n break;\n }\n }\n } else {\n\n if (placement.split(' ')[0] === 'top') {\n this.below = false;\n topStyle = this.elementPosition.top - this.tooltipOffset;\n topStyle += 8;\n }\n\n if (placement.split(' ')[0] === 'bottom') {\n this.below = true;\n topStyle = this.elementPosition.bottom + this.tooltipOffset;\n // We remove 8px due to the margin-top we put to display the arrow.\n topStyle -= 8;\n }\n\n if (placement.split(' ')[0] === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset;\n }\n\n if (placement.split(' ')[0] === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset;\n }\n\n if (placement.split(' ')[0] === 'left' || placement.split(' ')[0] === 'right') {\n topStyle = (this.elementPosition.top + scrollY) + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n if (placement === 'right bottom') {\n this.below = true;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = (this.elementPosition.top + scrollY);\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? (this.arrowOffset + '%') : (elementHeight / 2 + 'px');\n }\n\n if (placement === 'left bottom') {\n this.below = true;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = (this.elementPosition.top + scrollY);\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? (this.arrowOffset + '%') : (elementHeight / 2 + 'px');\n }\n\n if (placement === 'right top') {\n this.below = false;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = (this.elementPosition.top + elementHeight + scrollY);\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset ? (this.arrowOffset + '%') : (-(tooltip.clientHeight - elementHeight / 2) + 'px');\n }\n\n if (placement === 'left top') {\n this.below = false;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = (this.elementPosition.top + elementHeight + scrollY);\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset ? (this.arrowOffset + '%') : (-(tooltip.clientHeight - elementHeight / 2) + 'px');\n }\n\n if (placement === 'bottom right') {\n this.before = false;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.left;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 4.5) + 'px');\n }\n\n if (placement === 'bottom left') {\n this.before = true;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.right;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 2.5) + 'px');\n }\n\n if (placement === 'top right') {\n this.before = false;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.left;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 4.5) + 'px');\n }\n\n if (placement === 'top left') {\n this.before = true;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.right;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 2.5) + 'px');\n }\n }\n\n // This line is PURE MAGIC and super important. It allows to force mat-menu\n // to reposition the menu with the new xPosition / yPosition.\n this.changeDetectorRef.detectChanges();\n\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n\n if ((topEdge < 0 || bottomEdge > document.body.clientHeight ||\n leftEdge < 0 || rightEdge > document.body.clientWidth) && this.autoPlacement) {\n return false;\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setPlacementClass(placement ?: string): void {\n this.renderer.addClass(this.elementRef.nativeElement, 'tooltip-' + (placement ? placement.split(' ')[0] : placement));\n this.renderer.addClass(this.elementRef.nativeElement, 'yPosition-' +\n (placement && placement.split(' ').length === 2 ? placement.split(' ')[1] : 'center'));\n\n if (this.elementRef.nativeElement.children && this.elementRef.nativeElement.children.length > 1) {\n const tooltipArrow = Array.from(this.elementRef.nativeElement.children).filter((\n child: HTMLElement) => child.getAttribute('id') === 'tooltipArrow');\n if (tooltipArrow && tooltipArrow.length === 1) {\n if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'bottom') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowTopPosition);\n } else if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'top') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowBottomPosition);\n }\n }\n }\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n if (this.viewInit) {\n // We did this in order to reset overlayRef (multi web component needed with matmenu and cdk overlay)\n if (this.trigger[\"_overlayRef\"]) {\n this.trigger[\"_overlayRef\"].dispose();\n this.trigger[\"_overlayRef\"] = null;\n }\n this.trigger.openMenu();\n }\n return;\n } else {\n const placements = ['top', 'right', 'bottom', 'left'];\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n if (this.viewInit) {\n this.trigger.openMenu();\n }\n return;\n }\n }\n }\n\n }\n\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n Renderer2, TemplateRef\n} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {defaultOptions} from './options';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n menuClosed: any;\n menuOpened: any;\n}\n\n@Directive({\n selector: '[apPopmenu]'\n})\n\nexport class PopmenuDirective implements OnChanges, OnInit {\n\n hideTimeoutId: number;\n destroyTimeoutId: number;\n createTimeoutId: number;\n showTimeoutId: number;\n componentRef: any;\n elementPosition: any;\n componentSubscribe: any;\n _defaultOptions: any;\n @Input() apPopmenuBorder: boolean;\n @Input() apPopmenuDisabled: boolean;\n @Input() apPopmenuBackground: boolean = true;\n @Input() arrow: boolean;\n @Input() arrowOffset: number;\n @Input() arrowPosition: string;\n @Input() close = false;\n @Input() hasBackdrop: boolean = true;\n @Input() offset: number;\n @Input() placement: string;\n @Input() pointer = true;\n @Input('apPopmenu') popMenuValue: TemplateRef<any>;\n @Input() position: { top: number, left: number };\n @Input() rounded: boolean;\n @Input() shadow: boolean;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n\n _options: any = {};\n\n get options() {\n return this._options;\n }\n\n @Input('options') set options(value: PopmenuOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get destroyDelay() {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n\n get isDisplayOnHover(): boolean {\n if (this.options['display'] === false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] === false) {\n return false;\n }\n\n if (this.options['trigger'] !== 'hover') {\n return false;\n }\n\n return true;\n }\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get tooltipPosition() {\n if (this.options['position']) {\n return this.options['position'];\n } else {\n return this.elementPosition;\n }\n }\n\n constructor(\n @Optional() @Inject(PopmenuOptionsService) private initOptions,\n public renderer: Renderer2,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n appendComponentToBody(component: any, data: any = {}): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.appRef.attachView(this.componentRef.hostView);\n const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuClosed.subscribe((event: any) => {\n this.handleClose(event);\n });\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuOpened.subscribe((event: any) => {\n this.handleOpen(event);\n });\n }\n\n handleClose(event: any) {\n this.menuClosed.emit();\n }\n\n handleOpen(event: any) {\n this.menuOpened.emit();\n }\n\n applyOptionsDefault(defaultOptions, options): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, options);\n }\n\n clearTimeouts(): void {\n if (this.createTimeoutId) {\n clearTimeout(this.createTimeoutId);\n }\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n if (this.destroyTimeoutId) {\n clearTimeout(this.destroyTimeoutId);\n }\n }\n\n createPopMenu(): void {\n this.clearTimeouts();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(PopmenuComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n getHideDelay() {\n return this.options['hideDelay'];\n }\n\n getProperties(changes) {\n let properties = {};\n\n for (const prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n properties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n properties = changes[prop].currentValue;\n }\n }\n return properties;\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n ngOnChanges(changes) {\n if (changes.pointer) {\n if (!this.pointer) {\n this.renderer.removeStyle(this.elementRef.nativeElement, 'cursor');\n } else {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n if (changes.close && changes.close.currentValue) {\n this.hideTooltipElem();\n }\n const changedOptions = this.getProperties(changes);\n this.applyOptionsDefault(this.options && Object.keys(this.options).length > 0 ? this.options : defaultOptions, changedOptions);\n }\n\n ngOnInit(): void {\n if (this.pointer) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n\n @HostListener('click')\n onClick() {\n if (this.apPopmenuDisabled) {\n return;\n }\n this.show();\n this.close = false;\n }\n\n public show() {\n this.getElementPosition();\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createPopMenu();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n showTooltipElem(): void {\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n }\n\n hideTooltipElem(): void {\n if (this.componentRef) {\n (<AdComponent>this.componentRef.instance).close = true;\n }\n }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PopmenuDirective} from './popmenu.directive';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\nimport {MatMenuModule} from '@angular/material/menu';\n\n@NgModule({\n declarations: [\n PopmenuDirective,\n PopmenuComponent\n ],\n imports: [\n CommonModule,\n MatMenuModule,\n ],\n entryComponents: [\n PopmenuComponent\n ],\n exports: [\n PopmenuDirective\n ]\n})\nexport class PopmenuModule {\n\n static forRoot(initOptions: PopmenuOptions): ModuleWithProviders<PopmenuModule> {\n return {\n ngModule: PopmenuModule,\n providers: [\n {\n provide: PopmenuOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-splashscreen',\n templateUrl: './splashscreen.component.html',\n styleUrls: ['./splashscreen.component.scss']\n})\nexport class SplashscreenComponent {\n @Input() cardLabels: string[] = [];\n @Input() cardDirection: 'vertical' | 'horizontal' = 'horizontal';\n @Input() disposition = 'row';\n @Input() imgHeight = 150;\n @Input() imgPaths: string[] = [];\n @Input() imgWidth = 150;\n @Input() title = '';\n /**\n * The container and the cards width. All:\n * - 100% of parent width\n * - default: 750px for the container and 50% of the container for each card\n */\n @Input() width: 'all' | 'default' = 'default';\n}\n","import {ChangeDetectionStrategy, Component, Input, SimpleChanges} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss']\n})\nexport class TagComponent {\n\n @Input() color: string | 'blue' | 'red' | 'purple' | 'orange' | 'yellow' | 'green' = '';\n @Input() onlyText: boolean = false;\n\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-tag-list',\n templateUrl: './tag-list.component.html',\n styleUrls: ['./tag-list.component.scss']\n})\nexport class TagListComponent {\n\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {TryPopupTexts} from './try-popup-texts.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-try-popup',\n templateUrl: 'try-popup.component.html',\n styleUrls: ['try-popup.component.scss']\n})\n\nexport class TryPopupComponent {\n\n @Input() texts: TryPopupTexts;\n @Input() trialUrl: string;\n\n @Output() trialClicked: EventEmitter<any> = new EventEmitter<any>();\n @Output() closeClicked: EventEmitter<any> = new EventEmitter<any>();\n\n tryAgorapulsePopupVisible: boolean = true;\n logoUrl: string = 'assets/img/style/logos/logo-blue.svg';\n\n onClose() {\n this.tryAgorapulsePopupVisible = false;\n this.closeClicked.emit();\n }\n\n onButtonClick() {\n this.trialClicked.emit();\n this.onClose();\n window.open(this.trialUrl, '_blank');\n }\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input, OnChanges,\n OnInit,\n Output, SimpleChanges,\n} from '@angular/core';\nimport {Observable, of, Subject} from \"rxjs\";\nimport {catchError, debounceTime, distinctUntilChanged, map, switchMap, tap} from \"rxjs/operators\";\n\nexport interface TagsSelectorLabels {\n placeholder: string;\n createTag: string;\n}\n\n@Component({\n selector: 'ap-tags-selector',\n templateUrl: './tags-selector.component.html',\n styleUrls: ['./tags-selector.component.scss']\n})\nexport class TagsSelectorComponent implements OnInit, OnChanges {\n\n readonly INFINITY = Number.MAX_SAFE_INTEGER;\n\n @Input() addTagEnabled: boolean = true;\n @Input() disabled: boolean = false;\n @Input() initialTags: string[] = [];\n @Input() labels: TagsSelectorLabels;\n @Input() loadingOnSearch: boolean = true;\n @Input() multipleEnabled: boolean = true;\n @Input() searchTagsFunction: (string) => Observable<string[]>;\n\n @Output() selectTags = new EventEmitter<string[]>();\n @Output() searchErrorMessage = new EventEmitter<string>();\n\n tags: string[] = [];\n tagsInput$: Subject<string> = new Subject<string>();\n tags$: Observable<string[]>;\n tagsLoading = false;\n\n constructor() { }\n\n ngOnInit(): void {\n this.tags = this.initialTags;\n this.setSearchFunction();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.initialTags?.currentValue) {\n this.tags = this.initialTags;\n }\n }\n\n onAdd(): void {\n this.tags$ = of([]);\n this.setSearchFunction();\n }\n\n onOpen(): void {\n this.tagsInput$.next('');\n }\n\n onTagsChange(): void {\n this.selectTags.emit(this.tags);\n }\n\n setSearchFunction(): void {\n this.tags$ = this.tagsInput$.pipe(\n debounceTime(this.loadingOnSearch ? 400 : 0),\n distinctUntilChanged(),\n tap(() => {\n this.tagsLoading = true;\n }),\n switchMap((term: string) => this.searchTagsFunction(term).pipe(\n catchError((response) => {\n this.searchErrorMessage.emit(response.error ? response.error.message: 'Error');\n return [];\n }),\n map(response => {\n this.tagsLoading = false;\n if (!response || Object.keys(response).length == 0) {\n return [];\n }\n return response;\n })\n )));\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n ViewChild\n} from '@angular/core';\nimport {OverlayContainer} from \"@angular/cdk/overlay\";\nimport moment from 'moment';\nimport {CdkVirtualScrollViewport} from \"@angular/cdk/scrolling\";\n\n/**\n * Time in 24h format\n */\nexport interface Time {\n hours: number;\n minutes: number;\n best?: boolean;\n}\n\nexport enum TimeFormat {\n Meridian = 'Meridian',\n Default = 'Default'\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-timepicker',\n templateUrl: './timepicker.component.html',\n styleUrls: ['./timepicker.component.scss']\n})\nexport class TimepickerComponent implements OnInit, OnChanges {\n @ViewChild('inputBox') inputBox: ElementRef;\n @ViewChild('inputTime') inputTime: ElementRef;\n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n\n @Input() disabled: boolean = false;\n @Input() format: TimeFormat = TimeFormat.Default;\n @Input() invalid: boolean = false;\n @Input() invalidationMessage: string;\n @Input() period: number = 15;\n @Input() placement: string = 'bottom';\n @Input() timeModel: string;\n @Output() timeModelChange: EventEmitter<Time> = new EventEmitter<Time>();\n\n closeMenu: boolean = false;\n openedMenu: boolean = false;\n position: {top: number, left: number} = null;\n previousTime: string = null;\n timeActive;\n TimeFormat = TimeFormat;\n timeFormat12 = /(^[01]?\\d)(:)([0-5]\\d)(am|pm)+?$/i;\n timeFormat12anySeparator = /(^[01]?\\d)([^0-9])([0-5]\\d)(am|pm)+?$/i;\n timeFormat12WithoutMinute = /(^[01]?\\d)(am|pm)+?$/i;\n timeFormat24 = /^([01]?[0-9]|2[0-3]):[0-5][0-9]$/;\n timeFormat24anySeparator = /^([01]?[0-9]|2[0-3])([^0-9])([0-5][0-9])$/;\n times: string[] = [];\n validated = false;\n listFocus = false;\n validationStarted = false;\n\n constructor(public changeDetectorRef: ChangeDetectorRef, private overlayContainer: OverlayContainer, private renderer: Renderer2) {\n const disableAnimations: boolean = true;\n // get overlay container to set property that disables animations\n const overlayContainerElement: HTMLElement = this.overlayContainer.getContainerElement();\n // angular animations renderer hooks up the logic to disable animations into setProperty\n this.renderer.setProperty( overlayContainerElement, \"@.disabled\", disableAnimations );\n }\n\n ngOnInit(): void {\n this.generateTimeSlots();\n }\n\n ngOnChanges(changes: any): void {\n this.generateTimeSlots();\n if (changes.placement && changes.placement.currentValue) {\n if (changes.placement.currentValue === 'top') {\n this.position = {\n top: 179, // height of picker\n left: this.inputBox.nativeElement.getBoundingClientRect().left\n };\n } else {\n this.position = { top: this.inputBox.nativeElement.getBoundingClientRect().top +\n this.inputBox.nativeElement.getBoundingClientRect().height ,\n left: this.inputBox.nativeElement.getBoundingClientRect().left};\n }\n setTimeout(() => {\n this.changeDetectorRef.markForCheck();\n }, 200);\n }\n }\n\n emitChanges(): void {\n const time24Format = this.format === TimeFormat.Default ? this.timeModel : TimepickerComponent.convert12To24(this.timeModel);\n const time: Time = {\n hours: this.getHoursFrom24(time24Format),\n minutes: this.getMinutesFrom24(time24Format),\n best: false,\n };\n this.timeModelChange.emit(time);\n this.closeMenu = true;\n this.changeDetectorRef.detectChanges();\n this.inputBox.nativeElement.focus();\n }\n\n getHoursFrom24(time24Format: string): number {\n return +(time24Format.split(':')[0]);\n }\n\n getMinutesFrom24(time24Format: string): number {\n return +(time24Format.split(':')[1]);\n }\n\n generateTimeSlots(): void {\n this.changeDetectorRef.detectChanges();\n this.times = Object.assign([], []);\n if (!this.timeModel) {\n this.timeModel = moment().format('HH:mm');\n }\n if (this.format === TimeFormat.Meridian) {\n if (!this.timeModel.includes('am') && !this.timeModel.includes('pm')) {\n this.timeModel = TimepickerComponent.convert24To12(this.timeModel);\n }\n } else {\n if (this.timeModel.includes('am') || this.timeModel.includes('pm')) {\n this.timeModel = TimepickerComponent.convert12To24(this.timeModel);\n }\n }\n for (let i = 0; i < 24; i++) {\n let hour = i;\n let meridian = '';\n if (this.format === TimeFormat.Meridian) {\n meridian = 'am';\n if (hour >= 12) {\n meridian = 'pm';\n if (hour > 12) {\n hour = hour - 12;\n }\n }\n if (hour === 0) {\n hour = 12;\n }\n }\n for (let j = 0; j < 60; j += this.period) {\n const time = hour + ':' + TimepickerComponent.toFixed(j, 10) + meridian;\n this.times = [...this.times, time];\n }\n }\n\n if (!this.timeModel) {\n this.timeModel = moment().format('HH:mm');\n if (this.format === TimeFormat.Meridian) {\n this.timeModel = moment().format('hh:mma');\n }\n }\n this.changeDetectorRef.detectChanges();\n }\n\n focusOnList(focusEnabled: boolean): void {\n this.listFocus = focusEnabled;\n\n }\n\n onMenuClosed(): void {\n this.closeMenu = true;\n this.openedMenu = false;\n this.listFocus = false;\n if (!this.validationStarted) {\n this.validate(this.timeModel);\n }\n this.viewPort.setRenderedContentOffset(0);\n this.viewPort.scrollToIndex(0);\n this.validated = false;\n this.validationStarted = false;\n }\n\n onModelChange(time): void {\n this.timeActive = null;\n if (!this.validated) {\n for (let i = 0; i < this.times.length; i++) {\n const checkTime = this.checkTime(time, this.times[i]);\n if (checkTime.match) {\n this.scrollToIndex(i);\n if (checkTime.exactMatch) {\n this.timeActive = i;\n }\n break;\n\n }\n }\n }\n this.validated = false;\n\n }\n\n openTimePicker() {\n this.previousTime = this.timeModel;\n this.closeMenu = false;\n if (this.placement === 'top') {\n this.position = {\n top: 179, // height of picker\n left: this.inputBox.nativeElement.getBoundingClientRect().left\n };\n } else {\n this.position = { top: (this.inputBox.nativeElement.getBoundingClientRect().top - 1) ,\n left: this.inputBox.nativeElement.getBoundingClientRect().left };\n }\n if (!this.openedMenu && !this.validated) {\n this.openedMenu = true;\n setTimeout(() => {\n this.onModelChange(this.timeModel);\n this.inputTime?.nativeElement.focus();\n this.inputTime?.nativeElement.select();\n }, 50);\n }\n this.validated = false;\n\n return false;\n }\n\n\n selectTime(time) {\n this.timeModel = time;\n this.emitChanges();\n }\n\n validate(time) {\n this.validationStarted = true;\n if (!this.listFocus) {\n if (this.timeFormat24anySeparator.test(time)) {\n time = time.replace(this.timeFormat24anySeparator, '$1:$3');\n } else if (this.timeFormat12anySeparator.test(time)) {\n time = time.replace(this.timeFormat12anySeparator, '$1:$3$4');\n }\n this.validated = true;\n let timeFound = false;\n for (let i = 0; i < this.times.length; i++) {\n const checkTime = this.checkTime(time, this.times[i]);\n if (checkTime.match && checkTime.exactMatch) {\n this.selectTime(this.times[i]);\n timeFound = true;\n break;\n }\n }\n if (!timeFound) {\n let validTime: boolean;\n if (this.format === TimeFormat.Meridian) {\n validTime = this.timeFormat12.test(time);\n if (!validTime) {\n validTime = this.timeFormat24.test(time);\n if (validTime) {\n time = TimepickerComponent.convert24To12(time)\n } else {\n validTime = this.timeFormat12WithoutMinute.test(time);\n if (validTime) {\n time = time.replace(this.timeFormat12WithoutMinute, '$1:00$2');\n }\n }\n }\n } else {\n validTime = this.timeFormat24.test(time);\n if (!validTime) {\n validTime = this.timeFormat12.test(time);\n if (validTime) {\n time = TimepickerComponent.convert12To24(time)\n }\n }\n }\n if (validTime) {\n this.selectTime(time);\n } else {\n this.selectTime(this.previousTime);\n }\n }\n }\n }\n\n scrollToIndex(i: number): void {\n this.viewPort.scrollToIndex( i, 'smooth');\n }\n\n static formatTime(time: Time, format: TimeFormat): string {\n let timeString = `${time.hours}` + ':' + `${time.minutes}`.padStart(2, '0');\n if (format === TimeFormat.Meridian) {\n timeString = TimepickerComponent.convert24To12(timeString);\n }\n return timeString;\n }\n\n private checkTime(term: string, termToMatch: string): { match: boolean, exactMatch: boolean } {\n let exactMatch = true;\n if (this.timeFormat24anySeparator.test(term)) {\n term = term.replace(this.timeFormat24anySeparator, '$1:$3');\n } else if (this.timeFormat12anySeparator.test(term)) {\n term = term.replace(this.timeFormat12anySeparator, '$1:$3$4');\n }\n if (term === '') {\n return { match: false, exactMatch: false };\n }\n const terms = term.split(':');\n if ((!isNaN(parseInt(terms[0]))) && terms[1]?.length >= 2 && !isNaN(parseInt(terms[1].substring(0, 2)))) {\n const hour = parseInt(terms[0]);\n let newHour = hour;\n let newMinutes = terms[1].substring(0, 2);\n const minutes = parseInt(newMinutes);\n if (minutes !== 0) {\n if (minutes <= 15) {\n newMinutes = '15';\n } else if (minutes <= 30) {\n newMinutes = '30';\n } else if (minutes <= 45) {\n newMinutes = '45';\n } else {\n newHour += 1;\n newMinutes = '00';\n }\n }\n if (parseInt(newMinutes) !== minutes || newHour !== hour) {\n exactMatch = false;\n }\n term = newHour + ':' + newMinutes + terms[1].substring(2, terms[1].length);\n }\n let meridian = '';\n if (this.format === TimeFormat.Meridian) {\n if (terms[0]) {\n if (!isNaN(parseInt(terms[0]))) {\n let hour = parseInt(terms[0]);\n if (hour > 12) {\n hour = hour - 12;\n term = hour + ':' + (terms[1] ? terms[1].substring(0, 2) : '00');\n meridian = 'pm';\n }\n if (!term.endsWith('am') && !term.endsWith('pm')) {\n term += meridian;\n }\n }\n }\n if (this.timeFormat12WithoutMinute.test(term)){\n term = term.substring(0, term.length - 2) + ':00' + term.substring(term.length - 2, term.length);\n }\n }\n return {match : termToMatch.startsWith(term), exactMatch};\n }\n\n private static convert12To24(time): string {\n const terms = time.split(':');\n const minutes = terms[1].substring(0, 2);\n const meridian = terms[1].substring(2, 4);\n let hour = parseInt(terms[0]);\n if (!isNaN(parseInt(terms[0]))) {\n if (meridian === 'pm' && hour < 12) {\n hour = hour + 12;\n }\n if (meridian === 'am' && hour === 12) {\n hour = 0;\n }\n }\n return hour + ':' + minutes;\n }\n\n private static convert24To12(time): string {\n const terms = time.split(':');\n let meridian = 'am';\n let hour = parseInt(terms[0]);\n if (!isNaN(parseInt(terms[0]))) {\n if (hour >= 12) {\n meridian = 'pm';\n if (hour > 12) {\n hour = hour - 12;\n }\n }\n if (hour === 0) {\n hour = 12;\n }\n }\n return hour + ':' + terms[1] + meridian\n }\n\n private static toFixed(num, fix): string {\n let fixedNum: string = num;\n if (num < fix) {\n fixedNum = '0' + fixedNum;\n }\n return fixedNum;\n }\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n selector: 'ap-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NotificationComponent {\n\n @Input() type: 'info'|'warning'|'error'|'success' = 'info';\n}\n","import {\n Component,\n Input,\n Output,\n OnChanges,\n SimpleChanges,\n EventEmitter,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport {Step} from './step.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss']\n})\nexport class StepperComponent implements OnChanges {\n\n @Input() currentStep: Step;\n @Input() steps: Step[] = []; // Immutable after init.\n @Output() stepClicked: EventEmitter<Step> = new EventEmitter<Step>();\n\n stepTexts: { [index: number]: string } = {};\n currentIndex = 0;\n\n constructor() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.steps?.length > 0 && this.currentStep) {\n this.currentIndex = this.steps.findIndex(step => step.id === this.currentStep.id);\n } else {\n this.currentIndex = 0;\n }\n }\n\n clickCurrentStep(step: Step): void {\n this.stepClicked.emit(step);\n }\n}\n\n\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {MAT_SNACK_BAR_DATA, MatSnackBarRef} from \"@angular/material/snack-bar\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-snackbar',\n templateUrl: 'snackbar.component.html',\n styleUrls: ['snackbar.component.scss']\n})\nexport class SnackBarComponent {\n constructor(public snackBarRef: MatSnackBarRef<SnackBarComponent>,\n @Inject(MAT_SNACK_BAR_DATA) public data: any) {\n\n }\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'ap-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PaginatorComponent implements OnChanges {\n\n @Input() itemCount = 0;\n @Input() itemCountPerPage = 10;\n @Input() edgeSize = 5;\n @Input() middleSize = 3;\n\n @Input() currentPageIndex = 0;\n @Output() currentPageIndexChange = new EventEmitter<number>();\n\n public pageCount = 0;\n public firstPageDisplayed = true;\n public lastPageDisplayed = true;\n\n ngOnChanges(changes: SimpleChanges) {\n // make sure middle size is an odd number\n if (changes.middleSize && this.middleSize % 2 === 0) {\n this.middleSize++;\n }\n if (this.itemCountPerPage && (changes.itemCount || changes.itemCountPerPage) || changes.currentPageIndex) {\n this.pageCount = Math.ceil(this.itemCount / this.itemCountPerPage);\n // make sure page index is between min and max page index\n this.currentPageIndex = Math.max(0, Math.min(this.pageCount - 1, this.currentPageIndex));\n this.firstPageDisplayed = this.currentPageIndex === 0;\n this.lastPageDisplayed = this.currentPageIndex === this.pageCount - 1;\n }\n }\n\n onSelectPage(pageIndex: number): void {\n this.currentPageIndexChange.emit(pageIndex);\n }\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'ap-paginator-button',\n templateUrl: './paginator-button.component.html',\n styleUrls: ['./paginator-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PaginatorButtonComponent {\n\n @Input() pageIndex = 0\n @Input() selectedPageIndex = 0;\n\n @Output() selectPage = new EventEmitter<number>();\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator\n} from '@angular/forms';\n\nexport interface PhoneNumberInfo {\n countryCode: string;\n countryName: string;\n phoneNumberCode: string;\n}\n\nexport interface Phone {\n phoneNumber: string;\n phoneNumberCode: string;\n}\n\n@Component({\n selector: 'ap-phone-number-input',\n templateUrl: 'phone-number-input.component.html',\n styleUrls: ['phone-number-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PhoneNumberInputComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PhoneNumberInputComponent),\n multi: true\n }\n ]\n})\nexport class PhoneNumberInputComponent implements OnInit, OnChanges, ControlValueAccessor, Validator {\n\n @Input() flagsBucketUrl: string;\n @Input() phoneNumberInfos: PhoneNumberInfo[];\n @Input() set phoneNumber(phoneNumber: string) {\n this.updatePhone(undefined, phoneNumber, false);\n }\n @Input() set phoneNumberCode(phoneNumberCode: string) {\n this.updatePhone(phoneNumberCode, undefined, false);\n }\n @Input() required: boolean;\n @Input() requiredLabel: string;\n @Input() submitted: boolean;\n @Input() statusOk: boolean;\n\n @Output() changePhoneNumber: EventEmitter<string> = new EventEmitter<string>();\n @Output() changePhoneNumberCode: EventEmitter<string> = new EventEmitter<string>();\n\n currentPhoneNumberCode = '';\n currentPhoneNumber = '';\n\n codeValid = false;\n numberValid = false;\n valid = false;\n\n public onTouched: () => void = () => {};\n\n public onChanged: (value: any) => void = () => {};\n\n ngOnChanges(changes: SimpleChanges): void {\n this.checkValidation();\n }\n\n ngOnInit(): void {\n this.checkValidation();\n }\n\n filterChars(event: Event): void {\n const pattern = /[0-9]/;\n const inputChar = String.fromCharCode((event as KeyboardEvent).charCode);\n if (!pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n onChangePhoneNumberCode(code: string): void {\n this.updatePhone(code, undefined);\n }\n\n onChangePhoneNumber(phoneNumber: string): void {\n this.updatePhone(undefined, phoneNumber);\n }\n\n private updatePhone(code: string, phoneNumber: string, emitOnChange: boolean = true): void {\n let updated = false;\n if (code !== undefined && code !== this.currentPhoneNumberCode) {\n this.currentPhoneNumberCode = code;\n this.changePhoneNumberCode.emit(code);\n updated = true;\n }\n if (phoneNumber !== undefined && phoneNumber !== this.currentPhoneNumber) {\n this.currentPhoneNumber = phoneNumber;\n this.changePhoneNumber.emit(phoneNumber);\n updated = true;\n }\n\n if (updated) {\n this.checkValidation();\n\n if (emitOnChange) {\n this.onChanged({\n phoneNumber: this.currentPhoneNumber,\n phoneNumberCode: this.currentPhoneNumberCode\n });\n }\n }\n }\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChanged = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n return (!this.required || this.valid) ? null : {phoneNumber: 'invalid'};\n }\n\n writeValue(phone: Phone | null): void {\n if (!phone) {\n this.updatePhone('', '', false);\n } else if ('phoneNumber' in phone && 'phoneNumberCode' in phone) {\n this.updatePhone(phone.phoneNumberCode, phone.phoneNumber, false);\n } else {\n console.error('Phone number input ignored, wrong format: ' + JSON.stringify(phone));\n }\n }\n\n phoneNumberCodeSearchFn(term: string, item: any): boolean {\n term = term.toLocaleLowerCase();\n return item.countryName.toLocaleLowerCase().indexOf(term) > -1 || item.phoneNumberCode.toLocaleLowerCase().indexOf(term) > -1;\n }\n\n private checkValidation(): void {\n this.codeValid = !this.required || (this.currentPhoneNumberCode && this.currentPhoneNumberCode.length > 0);\n this.numberValid = !this.required || (this.currentPhoneNumber && this.currentPhoneNumber.length > 0);\n this.valid = this.codeValid && this.numberValid;\n }\n}\n","import {Component, EventEmitter, forwardRef, Input, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'ap-slide-toggle',\n templateUrl: './slide-toggle.component.html',\n styleUrls: ['./slide-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SlideToggleComponent),\n multi: true\n }\n ]\n})\nexport class SlideToggleComponent implements ControlValueAccessor {\n\n private _checked = false;\n\n @Input() set checked(status: boolean) {\n this._checked = status;\n this.onChanged(status);\n }\n\n get checked(): boolean {\n return this._checked;\n }\n\n @Input() disabled = false;\n\n @Output() checkedChange = new EventEmitter<boolean>();\n\n checkManuallyChange(checked: boolean): void {\n if (this._checked !== checked) {\n this.checkedChange.emit(checked);\n }\n }\n\n onClick(): void {\n if (!this.disabled) {\n this.checkedChange.emit(!this.checked);\n }\n }\n\n public onTouched: () => void = () => {\n }\n public onChanged: (checked: boolean) => void = () => {\n }\n\n registerOnChange(fn: any): void {\n this.onChanged = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(status: boolean): void {\n this.checked = status;\n }\n}\n","import {ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChange} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-password-strength-bar',\n styleUrls: ['./password-strength-bar.component.scss'],\n templateUrl: './password-strength-bar.component.html'\n})\nexport class PasswordStrengthBarComponent implements OnChanges, OnInit {\n\n @Input() passwordToCheck: string;\n\n @Input() labelWeak: string;\n @Input() labelFair: string;\n @Input() labelGood: string;\n @Input() labelStrong: string;\n @Input() labelExcellent: string;\n\n label: string;\n passwordStrength: string;\n private defaultStrength = ['weak', 'fair', 'good', 'strong', 'excellent'];\n\n private labels: Array<string>;\n\n constructor() {\n this.labels = ['Weak', 'Fair', 'Good', 'Strong', 'Excellent'];\n }\n\n getStrengthIndexAndColor(password: string): number {\n return this.getColor(PasswordStrengthBarComponent.measureStrength(password));\n }\n\n ngOnChanges(changes: { [propName: string]: SimpleChange }): void {\n const password = changes.passwordToCheck?.currentValue;\n if (password) {\n const idx = this.getStrengthIndexAndColor(password);\n this.passwordStrength = this.defaultStrength[idx - 1];\n this.label = this.labels[idx - 1];\n }\n }\n\n ngOnInit(): void {\n this.labels = [this.labelWeak, this.labelFair, this.labelGood, this.labelStrong, this.labelExcellent];\n }\n\n private static measureStrength(p: string): number {\n let force = 0;\n const regex = /[$-/:-?{-~!\"^_`\\[\\]]/g; // \"\n const lowerLetters = /[a-z]+/.test(p);\n const upperLetters = /[A-Z]+/.test(p);\n const numbers = /[0-9]+/.test(p);\n const symbols = regex.test(p);\n\n const flags = [lowerLetters, upperLetters, numbers, symbols];\n\n let passedMatches = 0;\n for (let flag of flags) {\n passedMatches += flag === true ? 1 : 0;\n }\n\n force += 2 * p.length + ((p.length >= 10) ? 1 : 0);\n force += passedMatches * 10;\n\n // penality (short password)\n force = (p.length <= 5) ? Math.min(force, 10) : force;\n\n // penality (poor variety of characters)\n force = (passedMatches === 1) ? Math.min(force, 10) : force;\n force = (passedMatches === 2) ? Math.min(force, 20) : force;\n force = (passedMatches === 3) ? Math.min(force, 40) : force;\n\n return force;\n\n }\n\n private getColor(strength: number) {\n let idx = 0;\n if (strength <= 10) {\n idx = 0;\n }\n else if (strength <= 20) {\n idx = 1;\n }\n else if (strength <= 30) {\n idx = 2;\n }\n else if (strength <= 40) {\n idx = 3;\n }\n else {\n idx = 4;\n }\n return idx + 1;\n }\n\n}\n","import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-password-strength-display-bar',\n styleUrls: ['./password-strength-display-bar.component.scss'],\n templateUrl: './password-strength-display-bar.component.html'\n})\nexport class PasswordStrengthDisplayBarComponent implements OnInit {\n\n @Input() labelWeak: string;\n @Input() labelFair: string;\n @Input() labelGood: string;\n @Input() labelStrong: string;\n @Input() labelExcellent: string;\n\n @Input() set strength(strength: number) {\n if (strength === null) {\n this.passwordStrength = null;\n return;\n }\n try {\n this.passwordStrength = this.defaultLabels[strength];\n this.label = this.labels[strength];\n } catch (e) {\n this.passwordStrength = null;\n console.error(\"PasswordStrengthBar - Invalid strength value min0/max4 got \"+strength);\n }\n }\n\n ngOnInit(): void {\n this.labels = [this.labelWeak, this.labelFair, this.labelGood, this.labelStrong, this.labelExcellent];\n }\n\n public passwordStrength: string;\n public label: string;\n\n private readonly defaultLabels = ['weak', 'fair', 'good', 'strong', 'excellent'];\n private labels: Array<string> = this.defaultLabels;\n\n}\n","import {Injectable} from \"@angular/core\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport {BehaviorSubject} from \"rxjs\";\nimport {\n SnackbarsThreadBase,\n SnackbarsThreadComplete\n} from \"../model/snackbars-thread.model\";\n\n@Injectable({\n providedIn: \"root\"\n})\n\nexport class SnackbarsThreadService {\n\n private _list = [];\n snackbarList = new BehaviorSubject<SnackbarsThreadComplete[]>([]);\n\n constructor(\n private domSanitizer: DomSanitizer\n ) {\n }\n\n private _emit() {\n this.snackbarList.next(this._list);\n }\n\n add(elem: SnackbarsThreadBase): void {\n const notification: SnackbarsThreadComplete = {\n id: Math.random().toString(36).substring(7) + Date.now().toString(),\n snackbarType: elem.snackbarType,\n snackbarText: this.domSanitizer.bypassSecurityTrustHtml(elem.snackbarText as string)\n };\n this._list.unshift(notification);\n while (this._list.length > 3) {\n this.remove(this._list.slice(-1).pop().id);\n }\n this._emit();\n setTimeout(() => this.remove(notification.id), 5000);\n }\n\n remove(id: string): void {\n const index = this._list.findIndex(el => el.id === id);\n index > -1 && this._list.splice(index, 1);\n this._emit();\n }\n}\n","export const snackbarTypesMap = {\n 0: \"info\",\n 1: \"success\",\n 2: \"warning\",\n 3: \"error\"\n};\n\nexport const snackbarIconsMap = {\n 0: \"messages-bubble-dot\",\n 1: \"check-circle\",\n 2: \"alert-circle\",\n 3: \"remove-circle\"\n};\n","import {Component} from \"@angular/core\";\nimport {animate, style, transition, trigger} from \"@angular/animations\";\nimport {SnackbarsThreadService} from \"../service/snackbars-thread.service\";\nimport {snackbarIconsMap, snackbarTypesMap} from \"../utils/const/snackbars-thread.const\";\n\n@Component({\n selector: \"app-snackbars-thread\",\n templateUrl: \"./snackbars-thread.component.html\",\n styleUrls: [\"./snackbars-thread.component.scss\"],\n animations: [\n trigger(\"fadeAnimation\", [\n transition(\":enter\", [\n style({\n height: 0,\n minHeight: 0,\n opacity: 0,\n transform: \"translateY(-5%)\",\n padding: 0\n }),\n // padding and min-height should be the same as in scss file\n animate(\n \"300ms ease-in\",\n style({height: \"*\", minHeight: \"72px\", padding: \"7px 3px 7px 7px\"})\n ),\n animate(\n \"200ms ease-in\",\n style({opacity: 0.5, transform: \"translateY(0%)\"})\n ),\n animate(\"200ms ease-in\", style({opacity: 1}))\n ]),\n transition(\":leave\", [\n animate(\n \"300ms ease-out\",\n style({\n opacity: 0,\n transform: \"translateY(-5%)\"\n })\n ),\n animate(\"300ms ease-out\", style({height: 0, minHeight: 0}))\n ])\n ])\n ]\n})\nexport class SnackbarsThreadComponent {\n\n SnackbarTypesMap = snackbarTypesMap;\n SnackbarIconsMap = snackbarIconsMap;\n\n constructor(\n public snackbarsThreadService: SnackbarsThreadService\n ) {\n }\n\n remove(id: string): void {\n this.snackbarsThreadService.remove(id);\n }\n}\n","import {Component, Input, OnChanges, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'ap-star-rating',\n templateUrl: './star-rating.component.html',\n styleUrls: ['./star-rating.component.scss']\n})\nexport class StarRatingComponent implements OnChanges {\n\n @Input() score: number = 0;\n @Input() maxScore: number = 5;\n @Input() size: 'medium' | 'small' | 'mini' | 'micro' | 'nano' = 'nano';\n @Input() colorOn: string = '#FBBC04';\n @Input() colorOff: string = '#DADCE0';\n\n filledStars: boolean[] = [];\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.score) {\n if (this.score >= 0) {\n for (let i = 0; i < this.maxScore; i++) {\n this.filledStars[i] = i < this.score;\n }\n } else {\n this.filledStars.length = 0;\n }\n }\n }\n}\n","import { AfterContentChecked, Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: 'textarea[ap-autosize]'\n})\n/**\n * expand textarea to fit content. Doesn't shrink.\n */\nexport class AutosizeTextareaDirective implements AfterContentChecked {\n\n static maxHeight: number = 200;\n\n constructor(public element: ElementRef) {}\n\n @HostListener('input')\n public onInput() {\n this.resize();\n }\n\n public ngAfterContentChecked() {\n this.resize();\n }\n\n public resize() {\n const style = this.element.nativeElement.style;\n const scrollHeight = this.element.nativeElement.scrollHeight;\n const actualHeight = this.element.nativeElement.offsetHeight;\n if (AutosizeTextareaDirective.maxHeight < scrollHeight) {\n // we arrived at the max\n style.overflow = 'auto';\n style.height = `${AutosizeTextareaDirective.maxHeight}px`;\n } else if (actualHeight < scrollHeight) {\n style.overflow = 'hidden';\n style.height = `${scrollHeight}px`;\n }\n }\n\n}\n","import {Directive, Input} from '@angular/core';\n\n@Directive({\n selector: 'img[default]',\n host: {\n '(error)': 'updateUrl()',\n '[src]': 'src'\n }\n})\nexport class DefaultImageDirective {\n @Input() src: string;\n @Input() default: string;\n\n updateUrl() {\n if (this.default) {\n this.src = this.default;\n } else {\n this.src = 'assets/lib-ui/img/default-avatar.png';\n }\n }\n}\n","import {AfterContentChecked, Directive, ElementRef, EventEmitter, Input, Output,} from '@angular/core';\n\n/**\n * Removes excess text from element until it fits in elements\n * and appends a ellipsis symbol to end of text. This requires that\n * the elements height be fixed\n *\n * @example\n * ```html\n * <p apEllipsis>Ullamco esse laborum</p>\n * ```\n *\n */\n@Directive({\n selector: '[apEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentChecked {\n\n @Input() apEllipsisSeparator: string;\n @Input() apEllipsisClip: boolean = false;\n @Input() apEllipsisIndex: number;\n @Input() apEllipsisChar: string = '...';\n @Input() apEllipsisClickable: boolean = false;\n\n @Output() apEllipsisRemovedElementsCount = new EventEmitter<number>();\n @Output() apEllipsisRemovedText = new EventEmitter<string>();\n\n private get hasOverflow(): boolean {\n const el: HTMLElement = this.el.nativeElement;\n return (el.scrollHeight > el.offsetHeight) || (el.scrollWidth > el.offsetWidth);\n }\n\n constructor(private el: ElementRef) { }\n\n ngAfterContentChecked() {\n this.clipText();\n }\n\n private clipText(): void {\n const el: HTMLElement = this.el.nativeElement;\n let text = el.innerText;\n let removedText = '';\n if (this.apEllipsisIndex > -1) {\n removedText = text.substring(this.apEllipsisIndex, text.length - 1) + removedText;\n text = text.substring(0, this.apEllipsisIndex);\n el.innerText = `${text}${this.apEllipsisChar}`;\n\n if (this.apEllipsisClickable) {\n el.addEventListener('click', () => {\n el.innerText = `${text}${removedText}`;\n });\n }\n } else {\n while (this.hasOverflow && text.length > 0) {\n removedText = text[text.length - 1] + removedText;\n text = text.substring(0, text.length - 1);\n el.innerText = `${text}${this.apEllipsisChar}`;\n }\n }\n\n if (this.apEllipsisSeparator) {\n const removedElementsCount = removedText.split(this.apEllipsisSeparator)\n .filter(element => !!element && element.length > 0).length;\n if (removedElementsCount > 0) {\n this.apEllipsisRemovedElementsCount.emit(removedElementsCount);\n }\n }\n if (removedText && removedText.length > 0) {\n this.apEllipsisRemovedText.emit(removedText);\n }\n }\n\n private handleReadmore(): void {\n\n }\n}\n","import {Directive, ElementRef, Input, OnChanges} from '@angular/core';\n\nexport class GifService {\n static isGif(src: String) {\n return src && src.split('?')[0].endsWith('.gif');\n }\n}\n\n/**\n * If the image is a GIF then replace the img element by a canvas containing a frozen gif.\n * Note 1: if the image is displayed under a condition, the condition must be applied on the parent of the image, so the\n * new canvas element will have the same condition.\n * Note 2: the image must not have the properties \"display\" and \"visibility\" in its style. Since they are used to frozen\n * the GIF. You need to apply this properties on the parent element.\n * Note 3: If the GIF is frozen, all the event are propagated to the image. However, all events are dispatched\n * with an Event instance. Ex: click event is not dispatched with a MouseEvent instance.\n */\n\n@Directive({\n selector: 'img[apFrozenGif]',\n host: {\n '[src]': 'src'\n }\n})\nexport class FrozenGifDirective implements OnChanges {\n @Input() src: string;\n @Input('apFrozen') frozen = true;\n // Add all the events that need to be propagated.\n @Input('apGifEvents') events: string[] = ['click'];\n\n private readonly element: HTMLImageElement;\n private canvas: HTMLCanvasElement;\n\n constructor(private elementRef: ElementRef) {\n const element = this.elementRef.nativeElement;\n if (!(element instanceof HTMLImageElement)) {\n return;\n }\n\n this.element = element;\n }\n\n ngOnChanges(changes: any): void {\n let freeze = false;\n if (changes.src) {\n freeze = true;\n }\n if (changes.frozen) {\n if (changes.frozen.currentValue) {\n freeze = true;\n } else {\n this.unfreeze();\n }\n }\n\n if (freeze) {\n this.freeze();\n }\n\n }\n\n private freeze() {\n if (!GifService.isGif(this.src) || !this.frozen) {\n this.unfreeze();\n return;\n }\n\n // hack to avoid displaying the GIF before replacing it by the canvas\n this.element.style.visibility = 'hidden';\n this.element.addEventListener('load', () => this.addCanvas());\n }\n\n private addCanvas() {\n if (this.canvas) {\n this.canvas.remove();\n }\n\n this.canvas = document.createElement('canvas');\n this.canvas.width = this.element.width;\n this.canvas.height = this.element.height;\n this.canvas.getContext('2d').drawImage(this.element, 0, 0, this.canvas.width, this.canvas.height);\n for (let i = 0; i < this.element.attributes.length; i++) {\n const attr = this.element.attributes[i];\n if (attr.name === 'id') { // avoid two elements with the same id\n this.canvas.setAttribute('id', attr.value + '_frozenGif');\n } else if (attr.name === 'style' && attr.value.includes('visibility: hidden;') || attr.value.includes('display: none;')) {\n // remove the added 'visibility: hidden' and 'display: none'\n const styleValue = attr.value;\n this.canvas.setAttribute('style', styleValue.replace('visibility: hidden;', '').replace('display: none;', ''));\n } else if (attr.name !== '\"') { // test for invalid attributes\n this.canvas.setAttribute(attr.name, attr.value);\n }\n }\n\n this.addEvents();\n\n this.element.parentNode.insertBefore(this.canvas, this.element);\n this.element.style.display = 'none';\n }\n\n private addEvents() {\n this.events.forEach((eventName: string) => {\n this.canvas.addEventListener(eventName, (ev: Event) => this.element.dispatchEvent(\n // wm: find a way to dispatch the right event type\n new Event(ev.type, ev)\n ));\n });\n }\n\n private unfreeze() {\n if (this.canvas) {\n this.canvas.remove();\n this.canvas = null;\n }\n this.element.style.visibility = 'inherit';\n this.element.style.display = 'inherit';\n }\n}\n","// Based on https://scotch.io/tutorials/how-to-implement-a-custom-validator-directive-confirm-password-in-angular-2\nimport { Directive, forwardRef, Attribute } from '@angular/core';\nimport { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';\n\n@Directive({\n selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => EqualValidatorDirective),\n multi: true\n }\n ]\n})\nexport class EqualValidatorDirective implements Validator {\n\n constructor(@Attribute('validateEqual') public validateEqual: string,\n @Attribute('validateEqualReference') public validateEqualReference: string) {}\n\n validate(self: AbstractControl): { [key: string]: any } {\n let other = self.root.get(this.validateEqual);\n if (other) {\n if (this.isReference()) {\n if (self.value === other.value) {\n delete other.errors['validateEqual'];\n if (!Object.keys(other.errors).length) {\n other.setErrors(null);\n }\n } else {\n other.setErrors({ validateEqual: false });\n }\n } else if (self.value !== other.value) {\n return { validateEqual: false };\n }\n }\n return null;\n }\n\n private isReference(): boolean {\n if (!this.validateEqualReference) {\n return false;\n }\n return this.validateEqualReference === 'true';\n }\n\n}\n","import {Directive, Input, Renderer2, ElementRef} from '@angular/core';\n\nconst PART_START = '<ng-container data-mst=\"';\nconst PARSE_MIDDLE = '\">';\nconst PARSE_END = '</ng-container>';\nconst CLASS_SEPARATOR = ',';\n\ninterface Part {\n content: string;\n clazz?: string[];\n}\n\n/**\n * This directive aims to parse simple string to extract some specific tags and to turn them into SPAN with styling classes attributes.\n * The specific tags must this schema: <ng-container data-mst=\"STYLING-CLASSES>TEXT</ng-container>.\n * Example: 'Lorem <ng-container data-mst=\"my-style\">ipsum</ng-container> dolor sit amet'.\n */\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[multiStyleText]'\n})\nexport class MultiStyleTextDirective {\n\n private childrenCreated: any[] = [];\n\n @Input() set multiStyleText(fullText: string) {\n // First remove previously added children (on update).\n for (const child of this.childrenCreated) {\n this.renderer.removeChild(this.elRef.nativeElement, child);\n }\n\n const parts = MultiStyleTextDirective.parse(fullText);\n\n for (const part of parts) {\n if (part.clazz) {\n const span = this.renderer.createElement('span');\n const text = this.renderer.createText(part.content);\n this.renderer.appendChild(span, text);\n part.clazz.forEach(clazz => this.renderer.addClass(span, clazz));\n this.renderer.appendChild(this.elRef.nativeElement, span);\n this.childrenCreated.push(span);\n } else {\n const text = this.renderer.createText(part.content);\n this.renderer.appendChild(this.elRef.nativeElement, text);\n this.childrenCreated.push(text);\n }\n }\n }\n\n public constructor(\n private elRef: ElementRef,\n private renderer: Renderer2\n ) {\n }\n\n private static parse(toParse: string): Part[] {\n const parts: Part[] = [];\n\n let startIndex = toParse.indexOf(PART_START);\n while (startIndex >= 0) {\n if (startIndex > 0) {\n // Optional start before parser start.\n parts.push({content: toParse.substr(0, startIndex)});\n }\n const elem = this.cutFirstGroup(toParse.substr(startIndex));\n if (elem === 'invalid') {\n return [];\n } else if (elem) {\n parts.push({content: elem.content, clazz: elem.classes});\n toParse = elem.rest;\n startIndex = toParse.indexOf(PART_START);\n } else {\n parts.push({content: toParse});\n }\n }\n // Very end\n if (toParse.length > 0) {\n parts.push({content: toParse});\n }\n return parts;\n }\n\n private static cutFirstGroup(toCut: string): {content: string, classes: string[], rest: string} | 'invalid' | null {\n if (!toCut.startsWith(PART_START)) {\n // String doesnt start with expected parser start.\n return null;\n }\n\n const afterParserStart = toCut.substr(PART_START.length);\n let index = afterParserStart.indexOf(PARSE_MIDDLE);\n if (index <= 0) {\n console.error('Not able to parse invalid string: ' + toCut);\n return 'invalid';\n }\n const classes = afterParserStart.substr(0, index);\n let rest = afterParserStart.substr(index + PARSE_MIDDLE.length);\n index = rest.indexOf(PARSE_END);\n if (index <= 0) {\n console.error('Not able to parse invalid string: ' + toCut);\n return 'invalid';\n }\n const content = rest.substr(0, index);\n rest = rest.substr(index + PARSE_END.length);\n\n return {content, classes: classes.split(CLASS_SEPARATOR), rest};\n }\n}\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\n\nconst topLeftPosition: ConnectionPositionPair = {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -12\n};\n\nconst topPosition: ConnectionPositionPair = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -12\n};\n\nconst topRightPosition: ConnectionPositionPair = {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -12\n};\n\nconst bottomLeftPosition: ConnectionPositionPair = {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 12\n};\n\nconst bottomPosition: ConnectionPositionPair = {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 12\n};\n\nconst bottomRightPosition: ConnectionPositionPair = {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: 12\n};\n\nconst leftPostion: ConnectionPositionPair = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -12\n};\n\nconst rightPosition: ConnectionPositionPair = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 12\n};\n\nexport const tooltipNeoPositions: { [key: string]: ConnectionPositionPair } = {\n topLeft: topLeftPosition,\n top: topPosition,\n topRight: topRightPosition,\n left: leftPostion,\n right: rightPosition,\n bottomLeft: bottomLeftPosition,\n bottom: bottomPosition,\n bottomRight: bottomRightPosition\n};\n","import {Injectable} from '@angular/core';\nimport {Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TooltipNeoService {\n public clickOutside$: Subject<void> = new Subject<void>();\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n HostListener,\n ElementRef,\n OnInit,\n} from '@angular/core';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { TooltipNeoParams } from './tooltip-neo.model';\nimport {TooltipNeoService} from \"./tooltip-neo.service\";\n\n@Component({\n selector: 'ap-tooltip-neo',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./tooltip-neo.component.scss'],\n templateUrl: './tooltip-neo.component.html',\n animations: [\n trigger('neoTooltip', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate(200, style({ opacity: 1 }))\n ]),\n transition(':leave', [animate(200, style({ opacity: 0 }))])\n ])\n ]\n})\nexport class TooltipNeoComponent implements OnInit {\n @Input() params: TooltipNeoParams;\n\n border: string;\n\n constructor(\n private _elementRef: ElementRef,\n private _tooltipNeoService: TooltipNeoService,\n ) {\n }\n\n ngOnInit() {\n this.params.borderColor\n ? this.border = `solid 1px ${this.params.borderColor}`\n : this.border = undefined;\n }\n\n @HostListener('document:click', ['$event'])\n onClickOutside(event) {\n if(!this._elementRef.nativeElement.contains(event.target)) {\n this._tooltipNeoService.clickOutside$.next();\n }\n }\n}\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n Input, OnChanges,\n OnDestroy,\n OnInit, SimpleChanges,\n TemplateRef,\n} from '@angular/core';\nimport {ComponentPortal} from \"@angular/cdk/portal\";\nimport {Overlay, OverlayPositionBuilder, OverlayRef} from \"@angular/cdk/overlay\";\nimport {fromEvent, merge, of, Subject, Subscription} from \"rxjs\";\nimport {delay, switchMap, takeUntil} from \"rxjs/operators\";\nimport {tooltipNeoPositions} from \"./tooltip-neo.const\";\nimport {TooltipNeoParams} from './tooltip-neo.model';\nimport {TooltipNeoService} from './tooltip-neo.service';\nimport {TooltipNeoComponent} from \"./tooltip-neo.component\";\n\n@Directive({selector: '[apTooltipNeo]'})\nexport class TooltipNeoDirective implements OnInit, OnDestroy, OnChanges {\n @Input() apTooltipNeo: string | TooltipNeoParams;\n\n private _allowDisplay: boolean;\n private _destroy$: Subject<void> = new Subject<void>();\n private _hide$: Subject<boolean> = new Subject<boolean>();\n private _mouseEntered = false;\n private _overlayRef: OverlayRef;\n private _params: TooltipNeoParams;\n private _show$: Subject<boolean> = new Subject<boolean>();\n private _elementRefMouseLeave$: Subscription;\n\n static enableTooltip(content: string | TemplateRef<any>, contentType: string, display: boolean): boolean {\n return !!content && !!contentType && !!display;\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _overlay: Overlay,\n private _overlayPositionBuilder: OverlayPositionBuilder,\n private _tooltipNeoService: TooltipNeoService,\n ) {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes?.apTooltipNeo?.currentValue?.display || changes?.apTooltipNeo?.currentValue?.position) && this._mouseEntered) {\n this._setSettings();\n this._allowDisplay ? this._show$.next(true) : this._hide$.next(false);\n }\n }\n\n ngOnInit(): void {\n this._initiateTooltip();\n }\n\n ngOnDestroy(): void {\n this._detach();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _setSettings() {\n if (typeof this.apTooltipNeo === 'object') {\n const {\n content = undefined,\n backgroundColor = '#ffffff',\n borderColor = undefined,\n contentType = 'text',\n display = true,\n displayArrow = true,\n maxWidth = 'full',\n position = 'top',\n title = ''\n } = this.apTooltipNeo as TooltipNeoParams;\n this._params = {content, backgroundColor, borderColor, contentType, display, displayArrow, maxWidth, position, title};\n this._allowDisplay = TooltipNeoDirective.enableTooltip(content, contentType, display);\n }\n if (typeof this.apTooltipNeo === 'string') {\n const\n content = this.apTooltipNeo as string,\n backgroundColor = '#ffffff',\n borderColor = undefined,\n contentType = 'text',\n display = true,\n displayArrow = true,\n maxWidth = 'full',\n position = 'top',\n title = '';\n this._params = {content, backgroundColor, borderColor, contentType, position, display, displayArrow, title, maxWidth};\n this._allowDisplay = TooltipNeoDirective.enableTooltip(content, contentType, display);\n }\n }\n\n private _initiateTooltip() {\n merge(this._hide$, this._show$)\n .pipe(\n switchMap(bool => {\n if (!bool) {\n return of(bool);\n }\n return of(bool).pipe(delay(200));\n }),\n takeUntil(this._destroy$)\n )\n .subscribe(bool => {\n if (bool) {\n this._elementRefMouseLeave$ = fromEvent(this._elementRef.nativeElement, 'mouseleave')\n .subscribe(() => this._detach());\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._elementRef)\n .withPositions([tooltipNeoPositions[this._params.position]]);\n const scrollStrategy = this._overlay.scrollStrategies.close();\n this._overlayRef = this._overlay.create({positionStrategy, scrollStrategy});\n const tooltipRef: ComponentRef<TooltipNeoComponent> = this._overlayRef.attach(new ComponentPortal(TooltipNeoComponent));\n tooltipRef.instance.params = this._params;\n } else {\n this._detach();\n }\n });\n this._tooltipNeoService.clickOutside$\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe(() => this._hide$.next());\n }\n\n private _detach() {\n this._overlayRef && this._overlayRef.hasAttached() && this._overlayRef.detach();\n this._elementRefMouseLeave$ && this._elementRefMouseLeave$.unsubscribe();\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n this._setSettings();\n this._mouseEntered = true;\n this._allowDisplay && this._params && this._show$.next(true);\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n this._mouseEntered = false;\n this._hide$.next(false);\n }\n}\n","// Agorapulse\nimport {TooltipNeoDirective} from '../tooltip-neo/tooltip-neo.directive';\nimport {TooltipNeoParams} from '../tooltip-neo/tooltip-neo.model';\n// Angular\nimport {Directive, ElementRef, Input, OnDestroy, OnInit} from '@angular/core';\n// Third-parties\nimport {fromEvent, Subscription} from \"rxjs\";\n\n@Directive({selector: '[apTooltipNeo][truncateTooltip]'})\nexport class TruncateTooltipDirective implements OnInit, OnDestroy {\n\n @Input() truncateTooltip: string | TooltipNeoParams;\n\n private elementRefMouseOver$: Subscription;\n\n constructor(\n private tooltipNeo: TooltipNeoDirective,\n private elementRef: ElementRef<HTMLElement>\n ) {\n }\n\n private updateTruncateState(): void {\n const element = this.elementRef.nativeElement;\n const truncated = element.scrollWidth > element.clientWidth;\n this.tooltipNeo.apTooltipNeo = truncated ? this.truncateTooltip : '';\n }\n\n ngOnInit(): void {\n this.elementRefMouseOver$ = fromEvent(this.elementRef.nativeElement, 'mouseover')\n .subscribe(() => this.updateTruncateState());\n }\n\n ngOnDestroy(): void {\n this.elementRefMouseOver$.unsubscribe();\n }\n}\n","import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n export const PASSWORD_CONTROL_VALUE_ACCESSOR: any = { \n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PasswordInputComponent),\n multi: true\n };\n\n@Component({\n selector: 'ap-password-input',\n templateUrl: './password-input.component.html',\n styleUrls: ['./password-input.component.scss'],\n providers: [PASSWORD_CONTROL_VALUE_ACCESSOR]\n})\nexport class PasswordInputComponent implements OnInit, ControlValueAccessor {\n \n static type = ['text', 'password'];\n inputType: typeof PasswordInputComponent.type[number] = PasswordInputComponent.type[1];\n\n @Input() name: string;\n @Input() placeholder: string;\n @Input() fullWidth: boolean = false;\n disabled: boolean = false;\n\n @ViewChild('passwordInput') passwordInput: ElementRef;\n\n controler: FormControl = new FormControl('');\n changes: Subscription;\n\n constructor() { }\n\n /**\n * Change between visible and hidden password\n */\n toggleInputType(): void {\n this.inputType = PasswordInputComponent.type[PasswordInputComponent.type.indexOf(this.inputType) == 0 ? 1 : 0];\n }\n\n onChange = (password: string) => {};\n\n onTouch = () => {};\n\n writeValue(obj: string): void {\n this.controler.setValue(obj);\n }\n\n registerOnChange(fn: (password: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnInit(): void {\n this.changes = this.controler.valueChanges.subscribe((val: string) => {\n if (this.onChange) {\n this.onChange(val);\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.changes) {\n this.changes.unsubscribe();\n }\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {FlexLayoutModule} from '@angular/flex-layout';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\n\nimport {RippleGlobalOptions} from '@angular/material/core';\nimport {MatBadgeModule} from '@angular/material/badge';\nimport {MatBottomSheetModule} from '@angular/material/bottom-sheet';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport {MatChipsModule} from '@angular/material/chips';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport {MatGridListModule} from '@angular/material/grid-list';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatListModule} from '@angular/material/list';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatSliderModule} from '@angular/material/slider';\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatStepperModule} from '@angular/material/stepper';\nimport {MatTableModule} from '@angular/material/table';\nimport {MAT_TABS_CONFIG, MatTabsModule} from '@angular/material/tabs';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {NgSelectModule} from '@ng-select/ng-select';\n\nimport {AddCommentComponent} from './add-comment/add-comment.component';\nimport {AvatarComponent} from './avatar/avatar.component';\nimport {ConfirmModalComponent} from './confirm-modal/confirm-modal.component';\nimport {DatepickerComponent} from './datepicker/datepicker.component';\nimport {DotsStepperComponent} from './dots-stepper/dots-stepper.component';\nimport {EditTagsModalComponent} from './edit-tag-modal/edit-tags-modal.component';\nimport {ImageCarouselComponent} from './image-carousel/image-carousel.component';\nimport {FeatureOnboardingComponent} from './feature-onboarding/feature-onboarding.component';\nimport {LeadModalComponent} from './lead-modal/lead-modal.component';\nimport {MediaDisplayOverlayDialogComponent} from './media-display-overlay/media-display-overlay-dialog.component';\nimport {ModalComponent} from './modal/modal.component';\nimport {OverlayDialogComponent} from './overlay/overlay-dialog.component';\nimport {OverlayInDivComponent} from './overlay-in-div/overlay-in-div.component';\nimport {PlaceComponent} from './places/place.component';\nimport {PlaceListComponent} from './places/place-list.component';\nimport {PopmenuModule} from './popmenu/popmenu.module';\nimport {SplashscreenComponent} from './splashscreen/splashscreen.component';\nimport {TagComponent} from './tags/tag.component';\nimport {TagListComponent} from './tags/tag-list.component';\nimport {TryPopupComponent} from './try-popup/try-popup.component';\nimport {TagsSelectorComponent} from './tags-selector/tags-selector.component';\nimport {TimepickerComponent} from './timepicker/timepicker.component';\nimport {NotificationComponent} from './notification/notification.component';\nimport {StepperComponent} from './stepper/stepper.component';\nimport {SnackBarComponent} from './snackbar/snackbar.component';\nimport {PaginatorComponent} from './paginator/paginator.component';\nimport {PaginatorButtonComponent} from './paginator/paginator-button/paginator-button.component';\nimport {PhoneNumberInputComponent} from './phone-number-input/phone-number-input.component';\nimport {SlideToggleComponent} from './slide-toggle/slide-toggle.component';\nimport {PasswordStrengthBarComponent} from './password-strength-bar/password-strength-bar.component';\nimport {PasswordStrengthDisplayBarComponent} from './password-strength-display-bar/password-strength-display-bar.component';\nimport {SnackbarsThreadComponent} from './snackbars-thread/component/snackbars-thread.component';\nimport {StarRatingComponent} from './star-rating/star-rating.component';\n\n// Directives\nimport {AutosizeTextareaDirective} from './directives/autosize-textarea.directive';\nimport {DefaultImageDirective} from './directives/default-image.directive';\nimport {EllipsisDirective} from './directives/ellipsis.directive';\nimport {FrozenGifDirective} from './directives/frozen-gif.directive';\nimport {EqualValidatorDirective} from './directives/equal-validator.directive';\nimport {MultiStyleTextDirective} from './directives/multi-style-text.directive';\nimport {TruncateTooltipDirective} from './directives/truncate-tooltip.directive';\n\n// Modules\nimport {NgxDaterangepickerMd} from 'ngx-daterangepicker-material';\nimport {TooltipNeoDirective} from './tooltip-neo/tooltip-neo.directive';\nimport {TooltipNeoComponent} from './tooltip-neo/tooltip-neo.component';\nimport {AgorapulseUiSymbolModule} from '@agorapulse/ui-symbol';\nimport { PasswordInputComponent } from './password-input/password-input.component';\n\nconst globalRippleConfig: RippleGlobalOptions = {disabled: true};\n\n@NgModule({\n declarations: [\n // Components\n AddCommentComponent,\n AvatarComponent,\n AutosizeTextareaDirective,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotsStepperComponent,\n EditTagsModalComponent,\n EllipsisDirective,\n ImageCarouselComponent,\n FeatureOnboardingComponent,\n LeadModalComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n OverlayDialogComponent,\n OverlayInDivComponent,\n PasswordInputComponent,\n PasswordStrengthBarComponent,\n PasswordStrengthDisplayBarComponent,\n PhoneNumberInputComponent,\n PlaceComponent,\n PlaceListComponent,\n SnackBarComponent,\n SplashscreenComponent,\n StarRatingComponent,\n TagComponent,\n TagListComponent,\n TagsSelectorComponent,\n TimepickerComponent,\n TryPopupComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n TooltipNeoComponent,\n\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n SlideToggleComponent,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n TooltipNeoDirective,\n ],\n imports: [\n AgorapulseUiSymbolModule,\n CommonModule,\n NgxDaterangepickerMd,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n PopmenuModule,\n OverlayModule,\n\n // Components\n MatBadgeModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatChipsModule,\n MatExpansionModule,\n // MatFormFieldModule,\n MatCheckboxModule,\n MatIconModule,\n // MatInputModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatSliderModule,\n MatSlideToggleModule,\n\n // Navigation\n MatMenuModule,\n MatSidenavModule,\n MatToolbarModule,\n\n // Layout\n MatCardModule,\n MatDividerModule,\n // MatExpansionModule,\n MatGridListModule,\n MatListModule,\n MatTabsModule,\n MatStepperModule,\n FlexLayoutModule,\n\n // Popups & Modals\n MatBottomSheetModule,\n MatDialogModule,\n MatSnackBarModule,\n\n // Table\n MatTableModule,\n ],\n exports: [\n FormsModule,\n ReactiveFormsModule,\n\n // Components\n AddCommentComponent,\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotsStepperComponent,\n EditTagsModalComponent,\n EllipsisDirective,\n ImageCarouselComponent,\n FeatureOnboardingComponent,\n LeadModalComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n OverlayDialogComponent,\n OverlayInDivComponent,\n PhoneNumberInputComponent,\n PasswordInputComponent,\n PasswordStrengthBarComponent,\n PasswordStrengthDisplayBarComponent,\n PlaceComponent,\n PlaceListComponent,\n SnackBarComponent,\n SplashscreenComponent,\n StarRatingComponent,\n TagComponent,\n TagListComponent,\n TagsSelectorComponent,\n TimepickerComponent,\n TryPopupComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n TooltipNeoDirective,\n\n // Modules\n NgSelectModule,\n PopmenuModule,\n\n // Components\n MatBadgeModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCheckboxModule,\n MatChipsModule,\n MatExpansionModule,\n // MatFormFieldModule,\n MatIconModule,\n // MatInputModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatSliderModule,\n MatSlideToggleModule,\n\n // Navigation\n MatMenuModule,\n MatSidenavModule,\n MatToolbarModule,\n\n // Layout\n MatCardModule,\n MatDividerModule,\n // MatExpansionModule,\n MatGridListModule,\n MatListModule,\n MatTabsModule,\n MatStepperModule,\n\n // Popups & Modals\n MatBottomSheetModule,\n MatDialogModule,\n MatSnackBarModule,\n\n // Table\n MatTableModule\n ],\n entryComponents: [\n ConfirmModalComponent,\n LeadModalComponent,\n TryPopupComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n FeatureOnboardingComponent,\n OverlayDialogComponent,\n SnackBarComponent\n ],\n providers: [\n // Disable ripple effect\n // {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: {disabled: true}},\n // Disable tabs animation\n {provide: MAT_TABS_CONFIG, useValue: {animationDuration: '0ms'}}\n ]\n})\nexport class AgorapulseUiComponentsModule {\n}\n","import {ComponentRef, Injectable, Injector} from '@angular/core';\nimport {Overlay, OverlayConfig, OverlayRef} from '@angular/cdk/overlay';\nimport {ComponentPortal, PortalInjector} from '@angular/cdk/portal';\nimport {\n OVERLAY_DATA,\n OverlayDialogComponent,\n OverlayDialogRef\n} from './overlay-dialog.component';\n\ninterface OverlaywDialogConfig {\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n template?: any;\n}\n\nconst DEFAULT_CONFIG: OverlaywDialogConfig = {\n hasBackdrop: true,\n backdropClass: 'dark-backdrop',\n panelClass: 'tm-file-preview-dialog-panel',\n template: null\n};\n\n@Injectable()\nexport class OverlayDialogService {\n\n constructor(\n private injector: Injector,\n private overlay: Overlay) { }\n\n open(config: OverlaywDialogConfig = {}) {\n const dialogConfig = { ...DEFAULT_CONFIG, ...config };\n const overlayRef = this.createOverlay(dialogConfig);\n const dialogRef = new OverlayDialogRef(overlayRef);\n const overlayComponent = this.attachDialogContainer(overlayRef, dialogConfig, dialogRef);\n\n return dialogRef;\n }\n\n private createOverlay(config: OverlaywDialogConfig) {\n const overlayConfig = this.getOverlayConfig(config);\n return this.overlay.create(overlayConfig);\n }\n\n private attachDialogContainer(overlayRef: OverlayRef, config: OverlaywDialogConfig, dialogRef: OverlayDialogRef) {\n const injector = this.createInjector(config, dialogRef);\n\n const containerPortal = new ComponentPortal(OverlayDialogComponent, null, injector);\n const containerRef: ComponentRef<OverlayDialogComponent> = overlayRef.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n private createInjector(config: OverlaywDialogConfig, dialogRef: OverlayDialogRef): PortalInjector {\n const injectionTokens = new WeakMap();\n\n injectionTokens.set(OverlayDialogRef, dialogRef);\n injectionTokens.set(OVERLAY_DATA, config.template);\n\n return new PortalInjector(this.injector, injectionTokens);\n }\n\n private getOverlayConfig(config: OverlaywDialogConfig): OverlayConfig {\n const positionStrategy = this.overlay.position()\n .global()\n .centerHorizontally()\n .centerVertically();\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: config.panelClass,\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy\n });\n\n return overlayConfig;\n }\n}\n","import {SafeHtml} from \"@angular/platform-browser\";\n\n/**\n * Info - 0\n * Success - 1\n * Warning - 2\n * Error - 3\n */\nexport type externalSnackbarTypeAllowed = 'info' | 'success' | 'warning' | 'error';\ntype internalSnackbarTypeAllowed = 0 | 1 | 2 | 3;\n\n/**\n * https://netbasal.com/a-smaller-bundle-with-const-enums-in-typescript-b7f786227e5e\n */\nexport const enum SnackbarTypeValues {\n INFO = 'info',\n SUCCESS = 'success',\n WARNING = 'warning',\n ERROR = 'error'\n}\n\nexport interface SnackbarsThreadBase {\n snackbarType: internalSnackbarTypeAllowed;\n snackbarText: string | SafeHtml;\n}\n\nexport interface SnackbarsThreadComplete extends SnackbarsThreadBase{\n id: string;\n}\n\nabstract class CodeStatus {\n protected constructor(\n public snackbarText: string,\n public snackbarType: internalSnackbarTypeAllowed\n ) {\n }\n}\n\nclass CodeStatusInfo extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 0);\n }\n}\n\nclass CodeStatusSuccess extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 1);\n }\n}\n\nclass CodeStatusWarning extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 2);\n }\n}\n\nclass CodeStatusError extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 3);\n }\n}\n\nexport function generateCodeStatus(text: string, type: externalSnackbarTypeAllowed): CodeStatus{\n switch (type) {\n case 'info':\n return new CodeStatusInfo(text);\n case 'success':\n return new CodeStatusSuccess(text);\n case 'warning':\n return new CodeStatusWarning(text);\n case 'error':\n return new CodeStatusError(text);\n default:\n return new CodeStatusInfo(text);\n }\n}\n","/*\n * Public API Surface of ui\n */\n\n// Module\nexport {AgorapulseUiComponentsModule} from './src/lib/agorapulse-ui-components.module';\n\n// Directive\nexport {AutosizeTextareaDirective} from './src/lib/directives/autosize-textarea.directive';\nexport {DefaultImageDirective} from './src/lib/directives/default-image.directive';\nexport {EllipsisDirective} from './src/lib/directives/ellipsis.directive';\nexport {FrozenGifDirective} from './src/lib/directives/frozen-gif.directive';\nexport {EqualValidatorDirective} from './src/lib/directives/equal-validator.directive';\nexport {MultiStyleTextDirective} from './src/lib/directives/multi-style-text.directive';\nexport {PopmenuDirective} from './src/lib/popmenu/popmenu.directive';\nexport {TruncateTooltipDirective} from './src/lib/directives/truncate-tooltip.directive';\nexport {TooltipNeoDirective} from './src/lib/tooltip-neo/tooltip-neo.directive'\n\n// Component\nexport {AddCommentComponent} from './src/lib/add-comment/add-comment.component';\nexport {AvatarComponent} from './src/lib/avatar/avatar.component';\nexport {StepperComponent} from './src/lib/stepper/stepper.component';\nexport {ConfirmModalComponent} from './src/lib/confirm-modal/confirm-modal.component';\nexport {DatepickerComponent, DatepickerMode, I18nDatePicker, Period} from './src/lib/datepicker/datepicker.component';\nexport {DotsStepperComponent} from './src/lib/dots-stepper/dots-stepper.component';\nexport {EditTagsModalComponent} from './src/lib/edit-tag-modal/edit-tags-modal.component';\nexport {ImageCarouselComponent, InstagramCarouselItemType} from './src/lib/image-carousel/image-carousel.component';\nexport {FeatureOnboardingComponent} from './src/lib/feature-onboarding/feature-onboarding.component';\nexport {LeadModalComponent} from './src/lib/lead-modal/lead-modal.component';\nexport {MediaDisplayOverlayDialogComponent} from './src/lib/media-display-overlay/media-display-overlay-dialog.component';\nexport {ModalComponent, ModalConfig} from './src/lib/modal/modal.component';\nexport {OverlayDialogComponent} from './src/lib/overlay/overlay-dialog.component';\nexport {OverlayInDivComponent} from './src/lib/overlay-in-div/overlay-in-div.component';\nexport {OverlayDialogService} from './src/lib/overlay/overlay-dialog-service.component';\nexport {PaginatorComponent} from './src/lib/paginator/paginator.component';\nexport {PasswordInputComponent} from './src/lib/password-input/password-input.component';\nexport {PhoneNumberInputComponent} from './src/lib/phone-number-input/phone-number-input.component';\nexport {PlaceComponent} from './src/lib/places/place.component';\nexport {PlaceListComponent} from './src/lib/places/place-list.component';\nexport {PopmenuComponent} from './src/lib/popmenu/popmenu.component';\nexport {PopmenuModule} from './src/lib/popmenu/popmenu.module';\nexport {SplashscreenComponent} from './src/lib/splashscreen/splashscreen.component';\nexport {SnackBarComponent} from './src/lib/snackbar/snackbar.component';\nexport {TagComponent} from './src/lib/tags/tag.component';\nexport {TagListComponent} from './src/lib/tags/tag-list.component';\nexport {TagsSelectorComponent} from './src/lib/tags-selector/tags-selector.component';\nexport {Time, TimeFormat} from './src/lib/timepicker/timepicker.component';\nexport {TryPopupComponent} from './src/lib/try-popup/try-popup.component';\nexport {NotificationComponent} from './src/lib/notification/notification.component';\nexport {PasswordStrengthBarComponent} from './src/lib/password-strength-bar/password-strength-bar.component';\nexport {PasswordStrengthDisplayBarComponent} from './src/lib/password-strength-display-bar/password-strength-display-bar.component';\nexport {TimepickerComponent} from './src/lib/timepicker/timepicker.component';\nexport {PaginatorButtonComponent} from './src/lib/paginator/paginator-button/paginator-button.component';\nexport {SlideToggleComponent} from './src/lib/slide-toggle/slide-toggle.component';\nexport {SnackbarsThreadComponent} from './src/lib/snackbars-thread/component/snackbars-thread.component';\nexport {StarRatingComponent} from './src/lib/star-rating/star-rating.component'\n\n// Service\nexport {SnackbarsThreadService} from './src/lib/snackbars-thread/service/snackbars-thread.service';\n\n// Model\nexport {Step} from './src/lib/stepper/step.model'\nexport {ConfirmModalTexts} from './src/lib/confirm-modal/confirm-modal-texts.model';\nexport {LeadInfo} from './src/lib/lead-modal/lead-info.model';\nexport {TryPopupTexts} from './src/lib/try-popup/try-popup-texts.model';\nexport {generateCodeStatus, SnackbarsThreadBase, SnackbarTypeValues, externalSnackbarTypeAllowed} from './src/lib/snackbars-thread/model/snackbars-thread.model';\nexport {EditTagsModalData, TagStatus, TranslatedStrings} from './src/lib/edit-tag-modal/model/edit-tags-modal.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {OVERLAY_DATA as ɵb,OverlayDialogRef as ɵa} from './src/lib/overlay/overlay-dialog.component';\nexport {PASSWORD_CONTROL_VALUE_ACCESSOR as ɵc} from './src/lib/password-input/password-input.component';\nexport {PopmenuOptionsService as ɵf} from './src/lib/popmenu/popmenu-options.service';\nexport {TooltipNeoComponent as ɵd} from './src/lib/tooltip-neo/tooltip-neo.component';\nexport {TooltipNeoService as ɵe} from './src/lib/tooltip-neo/tooltip-neo.service';"],"names":["EventEmitter","Component","ChangeDetectionStrategy","NG_VALUE_ACCESSOR","forwardRef","Input","Output","MatDialogRef","DatepickerMode","moment","ChangeDetectorRef","ViewChild","Subject","takeUntil","trigger","transition","style","animate","Inject","MAT_DIALOG_DATA","MatDialog","InstagramCarouselItemType","AnimationBuilder","HostListener","InjectionToken","Renderer2","ElementRef","MatMenuTrigger","HostBinding","Directive","Optional","ComponentFactoryResolver","ApplicationRef","Injector","NgModule","CommonModule","MatMenuModule","of","debounceTime","distinctUntilChanged","tap","switchMap","catchError","map","TimeFormat","OverlayContainer","CdkVirtualScrollViewport","MatSnackBarRef","MAT_SNACK_BAR_DATA","NG_VALIDATORS","BehaviorSubject","Injectable","DomSanitizer","Attribute","merge","delay","fromEvent","ComponentPortal","Overlay","OverlayPositionBuilder","FormControl","AgorapulseUiSymbolModule","NgxDaterangepickerMd","FormsModule","ReactiveFormsModule","NgSelectModule","OverlayModule","MatBadgeModule","MatButtonModule","MatButtonToggleModule","MatChipsModule","MatExpansionModule","MatCheckboxModule","MatIconModule","MatProgressBarModule","MatProgressSpinnerModule","MatRadioModule","MatSliderModule","MatSlideToggleModule","MatSidenavModule","MatToolbarModule","MatCardModule","MatDividerModule","MatGridListModule","MatListModule","MatTabsModule","MatStepperModule","FlexLayoutModule","MatBottomSheetModule","MatDialogModule","MatSnackBarModule","MatTableModule","MAT_TABS_CONFIG","PortalInjector","OverlayConfig"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAOA;YAaa,gBAAW,GAAW,eAAe,CAAC;YAEtC,YAAO,GAAY,KAAK,CAAC;YAExB,WAAM,GAAyB,IAAIA,eAAY,EAAE,CAAC;YAE5D,kBAAa,GAAW,EAAE,CAAC;YAU3B,oBAAe,GAAQ,eAAQ,CAAC;SAsBnC;QA/BG,sBAAW,6CAAY;iBAAvB;gBACI,OAAO,IAAI,CAAC,aAAa,CAAC;aAC7B;iBAED,UAAwB,KAAa;gBACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAC/B;;;WALA;QASD,8CAAgB,GAAhB,UAAiB,EAAO;YACpB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SAC7B;QAED,+CAAiB,GAAjB,UAAkB,EAAO,KAAW;QAEpC,8CAAgB,GAAhB,UAAiB,UAAmB;YAChC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;SAC7B;QAED,wCAAU,GAAV,UAAW,GAAQ;YACf,IAAI,CAAC,aAAa,GAAG,GAAG,IAAI,SAAS,GAAG,GAAG,GAAG,EAAE,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC5C;QAED,sCAAQ,GAAR,UAAS,KAAK;YACV,IAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,KAAK,IAAI,SAAS,GAAG,KAAK,GAAG,EAAE,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC/B;;;;gBAlDJC,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,gBAAgB;oBAC1B,4zBAA2C;oBAE3C,SAAS,EAAE,CAAC;4BACR,OAAO,EAAEC,uBAAiB;4BAC1B,WAAW,EAAEC,aAAU,CAAC,cAAM,OAAA,mBAAmB,GAAA,CAAC;4BAClD,KAAK,EAAE,IAAI;yBACd,CAAC;;iBACL;;;8BAGIC,QAAK;iCACLA,QAAK;0BACLA,QAAK;yBAELC,SAAM;;;ICrBX,IAAM,OAAO,GAA4B;QACrC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;KAClB,CAAC;;QAEF;YAQa,WAAM,GAAG,EAAE,CAAC;YACZ,wBAAmB,GAAG,IAAI,CAAC;YAC3B,qBAAgB,GACuD,gBAAgB,CAAC;YACxF,uBAAkB,GAAmG,MAAM,CAAC;YAE5H,YAAO,GAA8B,MAAM,CAAC;YAC5C,sBAAiB,GAAG,KAAK,CAAC;YAC1B,SAAI,GAEkE,QAAQ,CAAC;YAG/E,YAAO,GAAG,KAAK,CAAC;YAChB,WAAM,GAAG,KAAK,CAAC;YAGxB,YAAO,GAAG,OAAO,CAAC;SAgCrB;QA9BG,kCAAQ,GAAR;SACC;QAED,qCAAW,GAAX,UAAY,OAAsB;;YAC9B,IAAI,CAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,YAAY,MAAI,MAAA,OAAO,CAAC,IAAI,0CAAE,YAAY,CAAA,EAAE;gBAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;oBAC1B,QAAQ,IAAI,CAAC,IAAI;wBACb,KAAK,WAAW;4BACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;4BACvB,MAAM;wBACV,KAAK,MAAM;4BACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;4BACvB,MAAM;wBACV;4BACI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;qBAC9B;iBACJ;qBAAM;oBACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;iBACrF;aACJ;YACD,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE;gBACzE,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;aACjE;SACJ;QAGD,iCAAO,GAAP;YACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;;;;gBAvDJL,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,WAAW;oBAErB,mkDAAsC;;iBACzC;;;yBAGIG,QAAK;sCACLA,QAAK;mCACLA,QAAK;qCAELA,QAAK;2BACLA,QAAK;0BACLA,QAAK;oCACLA,QAAK;uBACLA,QAAK;yBAGLA,QAAK;2BACLA,QAAK;0BACLA,QAAK;yBACLA,QAAK;;;IC1CV;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;QCrNI,wBACW,SAA2C;YAA3C,cAAS,GAAT,SAAS,CAAkC;YAO7C,kBAAa,GAAG,IAAI,CAAC;YAErB,kBAAa,GAAG,IAAI,CAAC;YAGrB,mBAAc,GAA4B,EAAE,CAAC;YAC7C,gBAAW,GAA4B,EAAE,CAAC;YAC1C,iBAAY,GAA4B,EAAE,CAAC;YAC3C,gBAAW,GAA4B,EAAE,CAAC;YAC1C,kBAAa,GAAG,IAAI,CAAC;YAf1B,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC;SACjC;;;;QAmBM,gCAAiB,GAAxB,UACI,SAAoB,EACpB,MAAuB,EACvB,aAA+B;YAC/B,IAAI,eAAgC,CAAC;YACrC,IAAI,MAAM,EAAE;gBACR,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;gBACzC,IAAI,eAAe,EAAE;oBACjB,eAAe,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;iEAClE,MAAM,CAAC,eAAe,CAAC,UAAU,KAAE,cAAc,CAAC,WAAW,KAClE,CAAE,MAAM,CAAC,eAAe,CAAC,UAAU,EAAG,cAAc,CAAC,WAAW,CAAC,CAAC;iBAC3E;qBAAM;oBACH,eAAe,GAAG,EAAE,UAAU,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC;iBAChE;aACJ;iBAAM;gBACH,eAAe,GAAG;oBACd,UAAU,EAAE,cAAc,CAAC,WAAW;iBACzC,CAAC;aACL;YACD,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;YAElC,IAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACjE,IAAI,MAAM,CAAC,mBAAmB,KAAK,IAAI,EAAE;gBACrC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC;aAClC;YACD,OAAO,SAAS,CAAC;SACpB;;;;QAKM,gCAAiB,GAAxB,UACI,SAAoB,EACpB,cAAgC,EAChC,YAA8B,EAC9B,cAAiC,EACjC,MAAoB;YACpB,IAAM,SAAS,GAAG,cAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YACtF,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC7F,SAAS,CAAC,iBAAiB,CAAC,yBAAyB,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,yBAAyB,GAAG,KAAK,CAAC;YAChJ,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;YAC5D,SAAS,CAAC,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;YACxD,SAAS,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;YAC5D,OAAO,SAAS,CAAC;SACpB;QAED,8BAAK,GAAL;YACI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SAC1B;;;IAxEe,0BAAW,GAAG,iBAAiB,CAAC;;gBARnDJ,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,UAAU;oBACpB,kjCAAmC;;iBAEtC;;;;gBAnBkBK,mBAAY;;;2BA6B1BF,QAAK;4CACLA,QAAK;iCACLA,QAAK;gCACLA,QAAK;iCACLA,QAAK;gCACLA,QAAK;+BACLA,QAAK;yBACLA,QAAK;iCACLA,QAAK;8BACLA,QAAK;+BACLA,QAAK;8BACLA,QAAK;gCACLA,QAAK;;;;QCtBN,+BACW,SAA2C;YAA3C,cAAS,GAAT,SAAS,CAAkC;YAR7C,gBAAW,GAAW,EAAE,CAAC;YACzB,yBAAoB,GAAW,QAAQ,CAAC;YACxC,4BAAuB,GAAW,EAAE,CAAC;YACrC,0BAAqB,GAAW,SAAS,CAAC;YAC1C,6BAAwB,GAAW,EAAE,CAAC;YACtC,gBAAW,GAAW,EAAE,CAAC;YAI9B,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC;SACjC;QAED,wCAAQ,GAAR;YACI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC/B;QAED,yCAAS,GAAT;YACI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B;QAEM,0BAAI,GAAX,UAAY,MAAiB,EAAE,iBAAoC,EAAE,WAA+B;YAA/B,4BAAA,EAAA,kBAA+B;YAChG,IAAI,CAAC,WAAW,EAAE;gBACd,WAAW,GAAG,EAAE,CAAC;aACpB;YACD,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;gBAC9B,WAAW,CAAC,eAAe,GAAG;oBAC1B,KAAK,EAAE,OAAO;iBACjB,CAAC;aACL;YACD,IAAM,YAAY,GAAG,cAAc,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC;YAClG,YAAY,CAAC,iBAAiB,CAAC,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC;YAC3E,YAAY,CAAC,iBAAiB,CAAC,qBAAqB,GAAG,iBAAiB,CAAC,qBAAqB,CAAC;YAC/F,YAAY,CAAC,iBAAiB,CAAC,wBAAwB,GAAG,iBAAiB,CAAC,wBAAwB,CAAC;YACrG,YAAY,CAAC,iBAAiB,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;YAC7F,YAAY,CAAC,iBAAiB,CAAC,uBAAuB,GAAG,iBAAiB,CAAC,uBAAuB,CAAC;YACnG,YAAY,CAAC,iBAAiB,CAAC,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC;YAC3E,OAAO,YAAY,CAAC;SACvB;;;;gBA5CJJ,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,kBAAkB;oBAC5B,6sBAA2C;iBAC9C;;;;gBARkBK,mBAAY;;;8BAW1BF,QAAK;uCACLA,QAAK;0CACLA,QAAK;wCACLA,QAAK;2CACLA,QAAK;8BACLA,QAAK;;;ACFEG;IAAZ,WAAY,cAAc;QACtB,mCAAiB,CAAA;QACjB,uCAAqB,CAAA;QACrB,iCAAe,CAAA;IACnB,CAAC,EAJWA,sBAAc,KAAdA,sBAAc,QAIzB;IAiBD,IAAK,QAGJ;IAHD,WAAK,QAAQ;QACT,yBAAa,CAAA;QACb,2BAAe,CAAA;IACnB,CAAC,EAHI,QAAQ,KAAR,QAAQ,QAGZ;IAED;;QA6CI,6BAAmB,iBAAoC;YAAvD,iBAA2D;YAAxC,sBAAiB,GAAjB,iBAAiB,CAAmB;YAlC9C,SAAI,GAAmB;gBAC5B,MAAM,EAAE;oBACJ,SAAS,EAAE,WAAW;oBACtB,QAAQ,EAAE,WAAW;oBACrB,UAAU,EAAE,cAAc;oBAC1B,SAAS,EAAE,gBAAgB;oBAC3B,SAAS,EAAE,YAAY;iBAC1B;aACJ,CAAC;YAMO,kBAAa,GAAa,EAAE,CAAC;YAC7B,mBAAc,GAAW,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;YAGzD,iBAAY,GAAG,IAAIR,eAAY,EAAO,CAAC;YACvC,mBAAc,GAAG,IAAIA,eAAY,EAAU,CAAC;YAEtD,mBAAc,GAAGQ,sBAAc,CAAC;YAChC,wBAAmB,GAAG,GAAG,CAAC;YAO1B,WAAM,GAAyC,EAAE,CAAC;YAClD,qBAAgB,GAAG,GAAG,CAAC;YAEvB,YAAO,GAAG,KAAK,CAAC;YAkEhB,iBAAY,GAAG,UAAC,IAAS;;gBACrB,IAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,IAAI,KAAI,CAAC,IAAI,KAAKA,sBAAc,CAAC,QAAQ,EAAE;oBACvC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,gBAAgB,CAAC,CAAC;iBACrE;qBAAM,IAAI,KAAI,CAAC,IAAI,KAAKA,sBAAc,CAAC,MAAM,EAAE;oBAC5C,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,QAAQ,GAAG,gBAAgB,CAAC,CAAC;iBAC1G;qBAAM,IAAI,KAAI,CAAC,IAAI,KAAKA,sBAAc,CAAC,KAAK,EAAE;oBAC3C,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;;oBAElC,IAAIC,0BAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;2BACzB,EAAC,MAAA,KAAI,CAAC,cAAc,0CAAE,SAAS,CAAA;2BAC/B,EAAC,MAAA,KAAI,CAAC,cAAc,0CAAE,OAAO,CAAA,EAAE;wBAClC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;qBAClC;iBACJ;gBACD,OAAO,OAAO,CAAC;aAClB,CAAA;SAhF0D;QAE3D,sCAAQ,GAAR;YACI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B;QAED,yCAAW,GAAX,UAAY,OAAO;YAAnB,iBAmBC;;YAlBG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,UAAU,CAAC;oBACP,KAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;oBACrC,KAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;iBAC1C,EAAE,GAAG,CAAC,CAAC;aACX;YACD,IAAI,CAAA,MAAA,OAAO,CAAC,cAAc,0CAAE,YAAY,KAAI,IAAI,CAAC,aAAa,EAAE;gBAC5D,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,IAAI,EAAE;oBAChF,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;iBAC9B;qBAAM;oBACH,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;oBAC/D,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;iBAC9D;aACJ;YACD,IAAI,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,YAAY,MAAKD,sBAAc,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC5E,IAAI,CAAC,sBAAsB,EAAE,CAAC;aACjC;SACJ;QACD,6CAAe,GAAf;YAAA,iBAOC;YANG,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,UAAU,CAAC;oBACP,KAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;oBACrC,KAAI,CAAC,sBAAsB,EAAE,CAAC;iBACjC,EAAE,GAAG,CAAC,CAAC;aACX;SACJ;QAED,kDAAoB,GAApB;YACI,IAAI,IAAI,CAAC,MAAM,EAAE;gBACbC,0BAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC9B;YACD,IAAI,mBAA2B,CAAC;YAChC,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;gBAClC,mBAAmB,GAAG,CAAC,CAAC;aAC3B;iBAAM,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;gBACzC,mBAAmB,GAAG,CAAC,CAAC;aAC3B;iBAAM;gBACH,mBAAmB,GAAGA,0BAAM,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,CAAC;aAC9D;YACD,IAAI,CAAC,YAAY,GAAG;gBAChB,gBAAgB,EAAE,QAAQ;gBAC1B,UAAU,EAAEA,0BAAM,CAAC,WAAW,EAAE;gBAChC,UAAU,EAAEA,0BAAM,CAAC,MAAM,EAAE;gBAC3B,QAAQ,EAAE,mBAAmB;aAChC,CAAC;SACL;QAED,wCAAU,GAAV;YACI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAACA,0BAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAEA,0BAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACvG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAACA,0BAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAEA,0BAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAACA,0BAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAEA,0BAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACzG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAACA,0BAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAEA,0BAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACzI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAACA,0BAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAEA,0BAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SAClG;QAoBO,wCAAU,GAAV,UAAW,IAAS;YACxB,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAA,YAAY,IAAI,OAAA,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAA,CAAC,CAAC;SAC1G;QAED,gDAAkB,GAAlB,UAAmB,KAAU;YACzB,IAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;YAC7B,IAAI,IAAI,CAAC,IAAI,KAAKD,sBAAc,CAAC,KAAK,EAAE;gBACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,IAAI,CAAC,OAAO,EAAE;oBACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;iBACxB;qBAAM;oBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBACrC,IAAI,IAAI,CAAC,IAAI,KAAKA,sBAAc,CAAC,QAAQ,EAAE;wBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACjC;iBACJ;gBACD,IAAI,IAAI,CAAC,aAAa,EAAE;oBACpB,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;iBACxC;aACJ;SACJ;QAED,4CAAc,GAAd,UAAe,KAAU;;YACrB,IAAI,IAAI,CAAC,IAAI,KAAKA,sBAAc,CAAC,KAAK,EAAE;gBACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACrB,SAAS,EAAE,MAAA,KAAK,CAAC,SAAS,0CAAE,KAAK,EAAE;oBACnC,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,KAAK,EAAE;iBAClC,CAAC,CAAC;aACN;YACD,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;aACxC;SACJ;QAED,yCAAW,GAAX;YACI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YACvG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YACzG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAChD;QAED,6CAAe,GAAf;YACI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAC5G,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9G,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAChD;;;;;QAMD,oDAAsB,GAAtB;YACI,IAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;YACpG,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,KAAKA,sBAAc,CAAC,KAAK,EAAE;gBACxF,IAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBACnD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;aACnC;YACD,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;SAC1C;QAGD,sCAAQ,GAAR;YACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAKA,sBAAc,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC;SACpJ;;;;gBAnMJP,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,eAAe;oBACzB,o3DAA0C;;iBAE7C;;;;gBA7CGQ,oBAAiB;;;gCA+ChBC,YAAS,SAAC,eAAe;iCAEzBN,QAAK;uBACLA,QAAK;yBASLA,QAAK;0BACLA,QAAK;0BACLA,QAAK;uBACLA,QAAK;+BACLA,QAAK;gCACLA,QAAK;iCACLA,QAAK;6BACLA,QAAK;+BAELC,SAAM;iCACNA,SAAM;;;;QCpDP;YAVS,aAAQ,GAAY,KAAK,CAAC;YAC1B,mBAAc,GAAY,IAAI,CAAC;YAE/B,UAAK,GAAU,EAAE,CAAC;YAClB,SAAI,GAAW,EAAE,CAAC;YAEjB,aAAQ,GAAyB,IAAIN,eAAY,EAAU,CAAC;SAKrE;QAED,0CAAW,GAAX;YACI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7C;QAED,yCAAU,GAAV,UAAW,KAAK,EAAE,IAAI,EAAE,KAAK;YACzB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC/D,OAAO;aACV;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClC;;;;gBAjCJC,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,iBAAiB;oBAC3B,6VAA4C;;iBAE/C;;;;;2BAGIG,QAAK;iCACLA,QAAK;wBACLA,QAAK;wBACLA,QAAK;uBACLA,QAAK;2BAELC,SAAM;;;;QC0BP,gCAA4C,IAAuB,EAChD,SAA+C,EAC/C,MAAiB;YAFpC,iBA0BC;YA1B2C,SAAI,GAAJ,IAAI,CAAmB;YAChD,cAAS,GAAT,SAAS,CAAsC;YAC/C,WAAM,GAAN,MAAM,CAAW;YAfpC,gBAAW,GAAa,EAAE,CAAC;YAC3B,YAAO,GAAsC,IAAIN,eAAY,EAAuB,CAAC;YAErF,eAAU,GAAa,EAAE,CAAC;YAC1B,mBAAc,GAAW,IAAI,CAAC;YAE9B,gBAAW,GAAwB,IAAI,GAAG,EAAkB,CAAC;YAC7D,uBAAkB,GAA0B,IAAI,GAAG,EAAmB,CAAC;YAItD,aAAQ,GAAkB,IAAIY,YAAO,EAAQ,CAAC;YAM3D,IAAI,CAAC,KAAK,CAAC,IAAI,CAACC,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAA,IAAI;gBACpD,IAAI,IAAI,EAAE;oBACN,KAAI,CAAC,IAAI,4BAAO,IAAI,EAAC,CAAC;oBACtB,KAAI,CAAC,YAAY,4BAAO,IAAI,EAAC,CAAC;oBAC9B,IAAI,CAAC,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAA,CAAC,CAAC;iBACvD;aACJ,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAACA,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAC5D,UAAC,iBAAiB;gBACd,IAAI,iBAAiB,EAAE;oBACnB,IAAM,sBAAoB,GAAG,IAAI,GAAG,EAAmB,CAAC;oBACxD,iBAAiB,CAAC,OAAO,CAAC,UAAA,KAAK;wBAC3B,sBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBACnD,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;4BACzB,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;yBACpC;qBACJ,CAAC,CAAC;oBACH,KAAI,CAAC,kBAAkB,GAAG,sBAAoB,CAAC;iBAClD;aACJ,CACJ,CAAC;SACL;QAED,2CAAU,GAAV;YACI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;QAED,uCAAM,GAAN;YACI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SAC1B;QAED,uCAAM,GAAN,UAAO,KAAa;YAChB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC/B;QAED,yCAAQ,GAAR,UAAS,GAAW;YAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChC,IAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC7C,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;QAED,gDAAe,GAAf,UAAgB,KAAa;YACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAC7D;QAED,2CAAU,GAAV,UAAW,KAAa,EAAE,KAAa;YAAvC,iBAYC;YAXG,IAAI,KAAK,EAAE;gBACP,IAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAA,EAAE,CAAC;gBAC5G,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACtC,IAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;gBAC7C,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC9B;SACJ;QAED,gDAAe,GAAf,UAAgB,KAAU,EAAE,KAAa;YACrC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;gBACvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAC9C;SACJ;QAED,yCAAQ,GAAR,UAAS,GAAW;YAChB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAA,CAAC,CAAC;SAC/H;QAED,iDAAgB,GAAhB,UAAiB,GAAW;YAA5B,iBAaC;YAZG,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,UAAU,CAAC;oBACP,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAA,WAAW,IAAI,OAAA,WAAW,KAAK,GAAG,GAAA,CAAC,CAAC;oBACjE,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAA,WAAW,IAAI,OAAA,WAAW,KAAK,GAAG,GAAA,CAAC,CAAC;oBACjF,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAA,WAAW,IAAI,OAAA,WAAW,KAAK,GAAG,GAAA,CAAC,CAAC;iBAClF,EAAE,IAAI,CAAC,CAAC;aACZ;iBAAM;gBACH,UAAU,CAAC;oBACP,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAA,WAAW,IAAI,OAAA,WAAW,KAAK,GAAG,GAAA,CAAC,CAAC;iBAChF,EAAE,IAAI,CAAC,CAAC;aACZ;SACJ;QAED,4CAAW,GAAX;YACI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC5B;;;;gBAjIJZ,YAAS,SAAC;oBACP,o3JAA+C;oBAE/C,UAAU,EAAE;wBACRa,kBAAO,CAAC,UAAU,EAAE;4BAChBC,qBAAU,CAAC,WAAW,EAAE;gCACpBC,gBAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC;gCACnBA,gBAAK,CAAC,EAAC,KAAK,EAAE,aAAa,EAAC,CAAC;gCAC7BA,gBAAK,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC;gCACxBC,kBAAO,CAAC,QAAQ,EAAED,gBAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;6BACzC,CAAC;yBACL,CAAC;wBACFF,kBAAO,CAAC,YAAY,EAAE;4BAClBC,qBAAU,CAAC,kBAAkB,EAAE;gCAC3BC,gBAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC;gCACnBC,kBAAO,CAAC,eAAe,EAAED,gBAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;6BAChD,CAAC;yBACL,CAAC;qBACL;;iBACJ;;;;gDAgBgBE,SAAM,SAACC,sBAAe;gBAxCHZ,mBAAY;gBAAvBa,gBAAS;;;2BAoC7BT,YAAS,SAAC,UAAU;;;AC1BbU;IAAZ,WAAY,yBAAyB;QACjC,4CAAe,CAAA;QACf,4CAAe,CAAA;IACnB,CAAC,EAHWA,iCAAyB,KAAzBA,iCAAyB,QAGpC;;QAkCG,gCAAoB,gBAAkC;YAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;YAlB/C,8BAAyB,GAAGA,iCAAyB,CAAC;YAIpD,UAAK,GAA4B,EAAE,CAAC;YACpC,eAAU,GAAG,KAAK,CAAC;YACnB,iBAAY,GAAG,KAAK,CAAC;YACrB,eAAU,GAAG,IAAI,CAAC;YAClB,aAAQ,GAAG,KAAK,CAAC;YAEhB,wBAAmB,GAAwC,IAAIrB,eAAY,EAAyB,CAAC;YAEvG,mBAAc,GAAG,CAAC,CAAC;YACpB,mBAAc,GAAG,CAAC,CAAC;YAGnB,iBAAY,GAAuB,EAAE,CAAC;SAG5C;QAED,sBAAW,iDAAa;iBAAxB;gBACI,OAAO,IAAI,CAAC,cAAc,CAAC;aAC9B;iBAED,UAAyB,KAAa;gBAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACpC,IAAI,KAAK,GAAG,CAAC,EAAE;oBACX,KAAK,GAAG,CAAC,CAAC;iBACb;gBACD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;iBACjC;gBACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;oBACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBACtC;aACJ;;;WAfA;QAiBD,oDAAmB,GAAnB;YACI,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SACjC;QAED,oDAAmB,GAAnB;YACI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBAC9C,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aACrD;YACD,OAAO,KAAK,CAAC;SAChB;QAED,wCAAO,GAAP;YACI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,KAAKqB,iCAAyB,CAAC,KAAK,CAAC;aAClF;YACD,OAAO,KAAK,CAAC;SAChB;QAED,8CAAa,GAAb;YACI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aAChC;YACD,OAAO,KAAK,CAAC;SAChB;QAED,qCAAI,GAAJ;YACI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;SACjE;QAED,qCAAI,GAAJ;YACI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;SACjE;QAED,qCAAI,GAAJ,UAAK,KAAK,EAAE,KAAa;YACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAM,WAAW,GAAqB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/D,IAAI,WAAW,EAAE;oBACb,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;iBACvE;gBACD,KAAK,CAAC,eAAe,EAAE,CAAC;aAC3B;SACJ;QAED,qCAAI,GAAJ,UAAK,aAA8B;YAA9B,8BAAA,EAAA,qBAA8B;YAC/B,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;YACpF,IAAI,CAAC,gBAAgB,CAAC,KAAK,CACvBJ,kBAAO,CAAC,aAAa,GAAG,KAAK,GAAG,eAAe,EAAED,gBAAK,CAAC,EAAC,SAAS,EAAE,gBAAc,IAAI,CAAC,cAAc,QAAK,EAAC,CAAC,CAAC,CAC/G,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;SAChD;QAED,mDAAkB,GAAlB,UAAmB,KAAK,EAAE,KAAK;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACzB;SACJ;QAED,mDAAkB,GAAlB,UAAmB,KAAK,EAAE,KAAK;YAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAC1B;SACJ;QAGD,yCAAQ,GAAR,UAAS,KAAK;YACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;QAEM,oDAAmB,GAAnB,UAAoB,KAAK,EAAE,KAAa;YAC3C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YACxC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;SAC3C;QAEO,2CAAU,GAAV,UAAW,KAAa;YAC5B,IAAM,WAAW,GAAqB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,WAAW,EAAE;gBACb,WAAW,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aAC1B;SACJ;QAEO,0CAAS,GAAT,UAAU,KAAa;YAC3B,IAAM,WAAW,GAAqB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,WAAW,EAAE;gBACb,WAAW,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACzB;SACJ;QAEM,4CAAW,GAAX;;YACH,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;;gBACvC,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,YAAY,CAAA,gBAAA,4BAAE;oBAAnC,IAAM,MAAM,WAAA;oBACb,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;iBACrC;;;;;;;;;SACJ;;;;gBAjJJf,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,mBAAmB;oBAC7B,w0GAA8C;;iBAEjD;;;;gBAlBgBoB,2BAAgB;;;2BAuB5BX,YAAS,SAAC,UAAU;wBAEpBN,QAAK;6BACLA,QAAK;+BACLA,QAAK;6BACLA,QAAK;2BACLA,QAAK;sCAELC,SAAM;2BAgGNiB,eAAY,SAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;;;QCjHzC,oCAAmB,SAA2C;YAA3C,cAAS,GAAT,SAAS,CAAkC;;YAR9D,oBAAe,GAAW,EAAE,CAAC;YAC7B,sBAAiB,GAAW,EAAE,CAAC;YAC/B,oBAAe,GAAW,EAAE,CAAC;YAE7B,oBAAe,GAAY,KAAK,CAAC;YAEjC,wBAAmB,GAAW,CAAC,CAAC;SAG/B;QAED,gDAAW,GAAX;YACI,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;SAC7I;QAED,oDAAe,GAAf;YACI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;SAC3D;QAED,oDAAe,GAAf;YACI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B;;;;gBA9BJtB,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,uBAAuB;oBACjC,+/EAAkD;;iBAErD;;;;gBAROK,mBAAY;;;;QCmBhB,4BACW,SAA2C,EAClB,iBAAoC;YAD7D,cAAS,GAAT,SAAS,CAAkC;YAClB,sBAAiB,GAAjB,iBAAiB,CAAmB;YAIxE,UAAK,GAAG;gBACJ,GAAG,EAAE,KAAK;gBACV,OAAO,EAAE,SAAS;gBAClB,YAAY,EAAE,UAAU;gBACxB,UAAU,EAAE,YAAY;aAC3B,CAAC;YAEF,iBAAY,GAAG;gBACX,IAAI,CAAC,KAAK,CAAC,GAAG;gBACd,IAAI,CAAC,KAAK,CAAC,OAAO;gBAClB,IAAI,CAAC,KAAK,CAAC,YAAY;gBACvB,IAAI,CAAC,KAAK,CAAC,UAAU;aACxB,CAAC;YAfE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC;SACjC;QAoBD,uCAAU,GAAV,UAAW,oBAA4B,EAAE,iBAAyB,EAAE,WAAmB;YACnF,IAAM,aAAa,GAAW,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC;kBACtH,oBAAoB;kBACpB,iBAAiB,CAAC;YAExB,OAAO;gBACH,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,EAAE;gBACxF,aAAa,EAAE,aAAa;gBAC5B,oBAAoB,EAAE,oBAAoB;gBAC1C,iBAAiB,EAAE,iBAAiB;gBACpC,WAAW,EAAE,WAAW;aAC3B,CAAC;SACL;;;;gBA3CJN,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,eAAe;oBACzB,y+FAAwC;iBAC3C;;;;gBAnBOK,mBAAY;gDAwBXW,SAAM,SAACC,sBAAe;;;ICd/B,IAAY,QAGX;IAHD,WAAY,QAAQ;QAChB,sDAAgB,CAAA;QAChB,oDAAe,CAAA;IACnB,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;;QA6BG,4CAAmB,SAA2D,EAClC,IAAsB;YAD/C,cAAS,GAAT,SAAS,CAAkD;YAClC,SAAI,GAAJ,IAAI,CAAkB;YAPlE,oBAAe,GAAG,CAAC,CAAC;YACpB,SAAI,GAAa,EAAE,CAAC;YAEpB,cAAS,GAAG,OAAO,CAAC;YACpB,eAAU,GAAG,IAAI,CAAC;SAIjB;QAED,qDAAQ,GAAR;;YAEI,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC9B;gBACD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;oBACf,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;wBACxB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBAC/B;oBACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAC/D;aACJ;SACJ;QAED,oDAAO,GAAP;YACI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SAC1B;QAED,mDAAM,GAAN,UAAO,MAAe;YAClB,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACzC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;aAClD;YACD,MAAM,CAAC,eAAe,EAAE,CAAC;SAC5B;QAED,uDAAU,GAAV,UAAW,MAAe;YACtB,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE;gBAC1B,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;aAClD;YACD,MAAM,CAAC,eAAe,EAAE,CAAC;SAC5B;QAGD,qDAAQ,GAAR,UAAS,KAAoB;YAEzB,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,WAAW,EAAE;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACtB;YAED,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,EAAE;gBACvC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAC1B;SACJ;;;IArEM,yCAAM,GAAoB;QAC7B,QAAQ,EAAE;YACN,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,MAAM;SACf;QACD,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,mBAAmB;QAC/B,aAAa,EAAE,eAAe;KACjC,CAAC;;gBAnBLlB,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,0BAA0B;oBAEpC,86DAA4D;;iBAC/D;;;;gBApBwBK,mBAAY;gDA2CpBW,SAAM,SAACC,sBAAe;;;2BAuClCI,eAAY,SAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;;;QCzExC,0BAAoB,UAAsB;YAAtB,eAAU,GAAV,UAAU,CAAY;SACzC;QAED,gCAAK,GAAL;YACI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SAC7B;+BACJ;KAAA,IAAA;QAEY,YAAY,GAAG,IAAIC,iBAAc,CAAc,cAAc,EAAE;;QASxE,gCACW,SAA2B,EACL,IAAS;YAD/B,cAAS,GAAT,SAAS,CAAkB;YACL,SAAI,GAAJ,IAAI,CAAK;SACzC;QAED,sCAAK,GAAL;YACI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SAC1B;;;;gBAdJvB,YAAS,SAAC;oBACP,QAAQ,EAAE,YAAY;oBAEtB,2TAA8C;;iBACjD;;;;gBAIyB,gBAAgB;gDACjCiB,SAAM,SAAC,YAAY;;;;QC3B5B;YAWa,aAAQ,GAAG,IAAI,CAAC;YAEf,UAAK,GAAsB,IAAIlB,eAAY,EAAO,CAAC;SAGhE;;;;gBAhBAC,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,mBAAmB;oBAC7B,yaAA8C;;iBAEjD;;;wBAGIG,QAAK;2BACLA,QAAK;0BACLA,QAAK;2BACLA,QAAK;wBAELC,SAAM;;;;QCPX;;;;;gBANCL,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,UAAU;oBACpB,uLAAqC;;iBAExC;;;0BAGIG,QAAK;;;;QCFV;;;;;gBANCJ,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,eAAe;oBACzB,+EAA0C;;iBAE7C;;;ICPM,IAAM,cAAc,GAAG;QAC1B,iBAAiB,EAAE,IAAI;QACvB,mBAAmB,EAAE,KAAK;QAC1B,qBAAqB,EAAE,IAAI;QAC3B,aAAa,EAAE,IAAI;QACtB,WAAW,EAAE,KAAK;QACf,SAAS,EAAG,IAAI;QACnB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,EAAE;QACf,iBAAiB,EAAE,CAAC;QACpB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,KAAK;KACjB;;ICXD;;;;QAIa,qBAAqB,GAAG,IAAIsB,iBAAc,CAAiB,gBAAgB;;;QC2HpF,0BAAmB,QAAmB,EAClB,UAAsB,EACtB,iBAAoC;YAFrC,aAAQ,GAAR,QAAQ,CAAW;YAClB,eAAU,GAAV,UAAU,CAAY;YACtB,sBAAiB,GAAjB,iBAAiB,CAAmB;YA5GxD,WAAM,GAAG,IAAIxB,eAAY,EAAE,CAAC;YAC5B,qBAAgB,GAAG,KAAK,CAAC;YACzB,wBAAmB,GAAG,KAAK,CAAC;YAMlB,eAAU,GAAsB,IAAIA,eAAY,EAAO,CAAC;YACxD,eAAU,GAAsB,IAAIA,eAAY,EAAO,CAAC;YAalE,aAAQ,GAAG,KAAK,CAAC;YAEjB,UAAK,GAAG,KAAK,CAAC;SAqFb;QAnFD,sBAAI,kCAAI;iBAAR;gBACI,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;iBAED,UAAkB,KAAc;gBAC5B,IAAI,KAAK,EAAE;oBACP,IAAI,CAAC,WAAW,EAAE,CAAC;iBACtB;gBACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACtB;;;WAPA;QASD,sBAAa,mCAAK;iBAAlB,UAAmB,KAAc;gBAC7B,IAAI,KAAK,EAAE;oBACP,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;iBAC5B;aACJ;;;WAAA;QACD,sBAAI,mCAAK;iBAAT;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;aACjD;;;WAAA;QAED,sBAAI,yCAAW;iBAAf;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aACxC;;;WAAA;QAED,sBAAI,2CAAa;iBAAjB;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;aAC1C;;;WAAA;QAED,sBAAI,2CAAa;iBAAjB;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;aAC1C;;;WAAA;QAED,sBAAI,wCAAU;iBAAd;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;aAChD;;;WAAA;QAED,sBAAI,oCAAM;iBAAV;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;aAC5C;;;WAAA;QAED,sBAAI,qCAAO;iBAAX;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;aAC5B;;;WAAA;QAED,sBAAI,6CAAe;iBAAnB;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;aACpC;;;WAAA;QAED,sBAAI,yCAAW;iBAAf;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;aACxC;;;WAAA;QAED,sBAAI,0CAAY;iBAAhB;gBACI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;aAC5C;;;WAAA;QAED,sBAAI,qCAAO;iBAAX;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;aAC5B;;;WAAA;QAED,sBAAI,uCAAS;iBAAb;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;aACtC;;;WAAA;QAED,sBAAI,qCAAO;iBAAX;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;aACpC;;;WAAA;QAED,sBAAI,oCAAM;iBAAV;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;aACnC;;;WAAA;QAED,sBAAI,2CAAa;iBAAjB;gBACI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aAC3C;;;WAAA;QAED,sBAAI,mCAAK;iBAAT;gBACI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aAC1B;;;WAAA;QAOD,0CAAe,GAAf;YACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;QAED,uCAAY,GAAZ;YAAA,iBAGC;;YADG,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAA,EAAE,GAAG,CAAC,CAAC;SACjD;QAED,uCAAY,GAAZ;YAAA,iBAGC;;YADG,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAA,EAAE,GAAG,CAAC,CAAC;SACjD;QAED,uCAAY,GAAZ,UAAa,SAAiB;YAC1B,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,YAAY,UAAU,CAAC;YACjD,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC9C,IAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAEjD,IAAI,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YACzH,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACrH,IAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;YAC3C,IAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;YACzC,IAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;YAEnC,IAAI,QAAQ,CAAC;YACb,IAAI,SAAS,CAAC;YAEd,IAAI,gBAAgB,EAAE;gBAClB,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;oBAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;iBACrB;gBACF,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;oBACnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;iBACrB;gBACD,aAAa,GAAG,CAAC,CAAC;gBAClB,YAAY,GAAG,CAAC,CAAC;gBACjB,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBACpC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACtC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;oBAClC,IAAI,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;oBAChD,QAAQ,IAAI,CAAC,aAAa;wBACtB,KAAK,MAAM,CAAC;wBACZ,KAAK,OAAO;4BACR,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;4BACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;4BACpC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;4BAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;4BAC/C,MAAM;wBACV,KAAK,KAAK,CAAC;wBACX,KAAK,QAAQ;4BACT,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;4BAChD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;4BACjC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;4BACrC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;4BAClC,MAAM;qBACb;iBACJ;aACJ;iBAAM;gBAEH,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;oBACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;oBACzD,QAAQ,IAAI,CAAC,CAAC;iBACjB;gBAED,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;oBACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;;oBAE5D,QAAQ,IAAI,CAAC,CAAC;iBACjB;gBAED,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;oBACpC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;iBAC7E;gBAED,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;oBACrC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;iBAC7E;gBAED,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;oBAC3E,QAAQ,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,OAAO,IAAI,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;iBAClG;gBAED,IAAI,SAAS,KAAK,cAAc,EAAE;oBAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;oBAC/B,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC;oBAChD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;oBACpC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;oBACnC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;oBAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,KAAK,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;iBACpG;gBAED,IAAI,SAAS,KAAK,aAAa,EAAE;oBAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;oBAChC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC;oBAChD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;oBACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;oBACpC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;oBAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,KAAK,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;iBACpG;gBAED,IAAI,SAAS,KAAK,WAAW,EAAE;oBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;oBAC/B,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC;oBAChE,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;oBACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;oBACpC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;oBAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,KAAK,EAAE,OAAO,CAAC,YAAY,GAAG,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;iBACjI;gBAED,IAAI,SAAS,KAAK,UAAU,EAAE;oBAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;oBAChC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC;oBAChE,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;oBACpC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;oBACnC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;oBAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,KAAK,EAAE,OAAO,CAAC,YAAY,GAAG,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;iBACjI;gBAED,IAAI,SAAS,KAAK,cAAc,EAAE;oBAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;oBAC9B,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;oBACtC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;oBAClC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;oBACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;iBAC9G;gBAED,IAAI,SAAS,KAAK,aAAa,EAAE;oBAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;oBAC9B,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;oBACvC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;oBAClC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;oBAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;iBAC/G;gBAED,IAAI,SAAS,KAAK,WAAW,EAAE;oBAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;oBACjC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;oBACtC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;oBACrC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;oBAClC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;oBACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;iBAC9G;gBAED,IAAI,SAAS,KAAK,UAAU,EAAE;oBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;oBACjC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;oBACvC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;oBACrC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;oBAClC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;oBAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;iBAC/G;aACJ;;;YAID,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;YAEvC,IAAM,OAAO,GAAG,QAAQ,CAAC;YACzB,IAAM,UAAU,GAAG,QAAQ,GAAG,aAAa,CAAC;YAC5C,IAAM,QAAQ,GAAG,SAAS,CAAC;YAC3B,IAAM,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;YAE3C,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY;gBACvD,QAAQ,GAAG,CAAC,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,aAAa,EAAE;gBAC9E,OAAO,KAAK,CAAC;aAChB;YAED,IAAI,CAAC,YAAY,GAAG,QAAQ,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC;YACtC,OAAO,IAAI,CAAC;SACf;QAED,4CAAiB,GAAjB,UAAkB,SAAmB;YACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,IAAI,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YACtH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY;iBAC7D,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAE3F,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7F,IAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAC3E,KAAkB,IAAK,OAAA,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,cAAc,GAAA,CAAC,CAAC;gBACxE,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3C,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;wBACxF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;qBACzE;yBAAM,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;wBAC5F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;qBAC5E;iBACJ;aACJ;SACJ;QAED,sCAAW,GAAX;;YACI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,QAAQ,EAAE;;oBAEf,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;wBAC7B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;wBACtC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;qBACtC;oBACD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;iBAC3B;gBACD,OAAO;aACV;iBAAM;gBACH,IAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;;oBAEtD,KAAwB,IAAA,eAAA,SAAA,UAAU,CAAA,sCAAA,8DAAE;wBAA/B,IAAM,SAAS,uBAAA;wBAChB,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;4BAC9B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;4BAClC,IAAI,IAAI,CAAC,QAAQ,EAAE;gCACf,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;6BAC3B;4BACD,OAAO;yBACV;qBACJ;;;;;;;;;aACJ;SAEJ;;;;gBAnWJC,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,YAAY;oBACtB,goCAAuC;;iBAE1C;;;;gBAVGuB,YAAS;gBALTC,aAAU;gBAFVhB,oBAAiB;;;uBAoBhBL,QAAK;6BASLC,SAAM;6BACNA,SAAM;0BACNK,YAAS,SAACgB,mBAAc;+BACxBC,cAAW,SAAC,WAAW;wCACvBA,cAAW,SAAC,qBAAqB;gCACjCA,cAAW,SAAC,YAAY;kCACxBA,cAAW,SAAC,eAAe;sCAC3BA,cAAW,SAAC,kBAAkB;iCAC9BA,cAAW,SAAC,aAAa;oCACzBA,cAAW,SAAC,iBAAiB;yCAC7BA,cAAW,SAAC,sBAAsB;gCAClCA,cAAW,SAAC,oBAAoB;kCAChCA,cAAW,SAAC,sBAAsB;iCAClCA,cAAW,SAAC,qBAAqB;uBASjCvB,QAAK;wBAOLA,QAAK;;;;QC6CN,0BACuD,WAAW,EACvD,QAAmB,EAClB,UAAsB,EACtB,wBAAkD,EAClD,MAAsB,EACtB,QAAkB;YALyB,gBAAW,GAAX,WAAW,CAAA;YACvD,aAAQ,GAAR,QAAQ,CAAW;YAClB,eAAU,GAAV,UAAU,CAAY;YACtB,6BAAwB,GAAxB,wBAAwB,CAA0B;YAClD,WAAM,GAAN,MAAM,CAAgB;YACtB,aAAQ,GAAR,QAAQ,CAAU;YAlErB,wBAAmB,GAAY,IAAI,CAAC;YAIpC,UAAK,GAAG,KAAK,CAAC;YACd,gBAAW,GAAY,IAAI,CAAC;YAG5B,YAAO,GAAG,IAAI,CAAC;YAKd,eAAU,GAAsB,IAAIL,eAAY,EAAO,CAAC;YACxD,eAAU,GAAsB,IAAIA,eAAY,EAAO,CAAC;YAElE,aAAQ,GAAQ,EAAE,CAAC;SAmDlB;QAjDD,sBAAI,qCAAO;iBAAX;gBACI,OAAO,IAAI,CAAC,QAAQ,CAAC;aACxB;iBAED,UAA8B,KAAqB;gBAC/C,IAAI,KAAK,IAAI,cAAc,EAAE;oBACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACzB;aACJ;;;WANA;QAQD,sBAAI,0CAAY;iBAAhB;gBACI,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;aAClF;;;WAAA;QAED,sBAAI,8CAAgB;iBAApB;gBACI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;oBACnC,OAAO,KAAK,CAAC;iBAChB;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,KAAK,EAAE;oBAC9C,OAAO,KAAK,CAAC;iBAChB;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE;oBACrC,OAAO,KAAK,CAAC;iBAChB;gBAED,OAAO,IAAI,CAAC;aACf;;;WAAA;QAED,sBAAI,gDAAkB;iBAAtB;gBACI,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;aACpE;;;WAAA;QAED,sBAAI,6CAAe;iBAAnB;gBACI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;iBACnC;qBAAM;oBACH,OAAO,IAAI,CAAC,eAAe,CAAC;iBAC/B;aACJ;;;WAAA;QAWD,gDAAqB,GAArB,UAAsB,SAAc,EAAE,IAAc;YAApD,iBAoBC;YApBqC,qBAAA,EAAA,SAAc;YAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,wBAAwB;iBAC5C,uBAAuB,CAAC,SAAS,CAAC;iBAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEb,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,IAAI,GAAG;gBAC7C,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;gBACtC,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;aACxB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAM,OAAO,GAAI,IAAI,CAAC,YAAY,CAAC,QAAiC,CAAC,SAAS,CAAC,CAAC,CAAgB,CAAC;YACjG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAiB,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,UAAU,CAAC,SAAS,CAAC,UAAC,KAAU;gBAChG,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aAC3B,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,GAAiB,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,UAAU,CAAC,SAAS,CAAC,UAAC,KAAU;gBAChG,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAC1B,CAAC,CAAC;SACN;QAED,sCAAW,GAAX,UAAY,KAAU;YAClB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SAC1B;QAED,qCAAU,GAAV,UAAW,KAAU;YACjB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SAC1B;QAED,8CAAmB,GAAnB,UAAoB,cAAc,EAAE,OAAO;YACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;SACrF;QAED,wCAAa,GAAb;YACI,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACtC;YAED,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACpC;YAED,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACpC;YAED,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACvB,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aACvC;SACJ;QAED,wCAAa,GAAb;YAAA,iBAUC;YATG,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;gBACrC,KAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;aAChD,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC;gBACnC,KAAI,CAAC,eAAe,EAAE,CAAC;aAC1B,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;SAC3B;QAED,6CAAkB,GAAlB;YACI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;SAChF;QAED,uCAAY,GAAZ;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACpC;QAED,wCAAa,GAAb,UAAc,OAAO;YACjB,IAAI,UAAU,GAAG,EAAE,CAAC;YAEpB,KAAK,IAAM,IAAI,IAAI,OAAO,EAAE;gBACxB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,cAAc,EAAE;oBAC/C,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC;iBACjD;gBACD,IAAI,IAAI,KAAK,SAAS,EAAE;oBACpB,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC;iBAC3C;aACJ;YACD,OAAO,UAAU,CAAC;SACrB;QAED,uCAAY,GAAZ;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACpC;QAED,sCAAW,GAAX,UAAY,OAAO;YACf,IAAI,OAAO,CAAC,OAAO,EAAE;gBACjB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBACf,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;iBACtE;qBAAM;oBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;iBAC9E;aACJ;YACD,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE;gBAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;aAC1B;YACD,IAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,cAAc,EAAE,cAAc,CAAC,CAAC;SAClI;QAED,mCAAQ,GAAR;YACI,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;aAC9E;SACJ;QAGD,kCAAO,GAAP;YACI,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACxB,OAAO;aACV;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACtB;QAEM,+BAAI,GAAJ;YACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;aACxB;iBAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBACjC,IAAI,CAAC,eAAe,EAAE,CAAC;aAC1B;SACJ;QAED,0CAAe,GAAf;YACkB,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,IAAI,GAAG;gBAC7C,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;gBACtC,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;aACxB,CAAC;YACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACP,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,IAAI,GAAG,IAAI,CAAC;SACzD;QAED,0CAAe,GAAf;YACI,IAAI,IAAI,CAAC,YAAY,EAAE;gBACL,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,KAAK,GAAG,IAAI,CAAC;aAC1D;SACJ;;;;gBArOJ6B,YAAS,SAAC;oBACP,QAAQ,EAAE,aAAa;iBAC1B;;;;gDA2EQC,WAAQ,YAAIZ,SAAM,SAAC,qBAAqB;gBA5F7CO,YAAS;gBAXTC,aAAU;gBAFVK,2BAAwB;gBADxBC,iBAAc;gBAQdC,WAAQ;;;kCAmCP5B,QAAK;oCACLA,QAAK;sCACLA,QAAK;wBACLA,QAAK;8BACLA,QAAK;gCACLA,QAAK;wBACLA,QAAK;8BACLA,QAAK;yBACLA,QAAK;4BACLA,QAAK;0BACLA,QAAK;+BACLA,QAAK,SAAC,WAAW;2BACjBA,QAAK;0BACLA,QAAK;yBACLA,QAAK;6BACLC,SAAM;6BACNA,SAAM;0BAQND,QAAK,SAAC,SAAS;0BA8JfkB,eAAY,SAAC,OAAO;;;;QC1MzB;;QAEW,qBAAO,GAAd,UAAe,WAA2B;YACtC,OAAO;gBACH,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE;oBACP;wBACI,OAAO,EAAE,qBAAqB;wBAC9B,QAAQ,EAAE,WAAW;qBACxB;iBACJ;aACJ,CAAC;SACL;;;;gBA5BJW,WAAQ,SAAC;oBACN,YAAY,EAAE;wBACV,gBAAgB;wBAChB,gBAAgB;qBACnB;oBACD,OAAO,EAAE;wBACLC,mBAAY;wBACZC,kBAAa;qBAChB;oBACD,eAAe,EAAE;wBACb,gBAAgB;qBACnB;oBACD,OAAO,EAAE;wBACL,gBAAgB;qBACnB;iBACJ;;;;QCrBD;YAOa,eAAU,GAAa,EAAE,CAAC;YAC1B,kBAAa,GAA8B,YAAY,CAAC;YACxD,gBAAW,GAAG,KAAK,CAAC;YACpB,cAAS,GAAG,GAAG,CAAC;YAChB,aAAQ,GAAa,EAAE,CAAC;YACxB,aAAQ,GAAG,GAAG,CAAC;YACf,UAAK,GAAG,EAAE,CAAC;;;;;;YAMX,UAAK,GAAsB,SAAS,CAAC;SACjD;;;;gBApBAnC,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,iBAAiB;oBAC3B,4mCAA4C;;iBAE/C;;;6BAEIG,QAAK;gCACLA,QAAK;8BACLA,QAAK;4BACLA,QAAK;2BACLA,QAAK;2BACLA,QAAK;wBACLA,QAAK;wBAMLA,QAAK;;;;QCnBV;YAQa,UAAK,GAAuE,EAAE,CAAC;YAC/E,aAAQ,GAAY,KAAK,CAAC;SAEtC;;;;gBAXAJ,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,QAAQ;oBAClB,uIAAmC;;iBAEtC;;;wBAGIG,QAAK;2BACLA,QAAK;;;;QCHV;;;;;gBANCJ,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,aAAa;oBACvB,8EAAwC;;iBAE3C;;;;QCJD;YAYc,iBAAY,GAAsB,IAAIF,eAAY,EAAO,CAAC;YAC1D,iBAAY,GAAsB,IAAIA,eAAY,EAAO,CAAC;YAEpE,8BAAyB,GAAY,IAAI,CAAC;YAC1C,YAAO,GAAW,sCAAsC,CAAC;SAY5D;QAVG,mCAAO,GAAP;YACI,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;SAC5B;QAED,yCAAa,GAAb;YACI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;SACxC;;;;gBA3BJC,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,cAAc;oBACxB,21BAAuC;;iBAE1C;;;wBAIIG,QAAK;2BACLA,QAAK;+BAELC,SAAM;+BACNA,SAAM;;;;QCyBP;YAlBS,aAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAEnC,kBAAa,GAAY,IAAI,CAAC;YAC9B,aAAQ,GAAY,KAAK,CAAC;YAC1B,gBAAW,GAAa,EAAE,CAAC;YAE3B,oBAAe,GAAY,IAAI,CAAC;YAChC,oBAAe,GAAY,IAAI,CAAC;YAG/B,eAAU,GAAG,IAAIN,eAAY,EAAY,CAAC;YAC1C,uBAAkB,GAAG,IAAIA,eAAY,EAAU,CAAC;YAE1D,SAAI,GAAa,EAAE,CAAC;YACpB,eAAU,GAAoB,IAAIY,YAAO,EAAU,CAAC;YAEpD,gBAAW,GAAG,KAAK,CAAC;SAEH;QAEjB,wCAAQ,GAAR;YACI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;QAED,2CAAW,GAAX,UAAY,OAAsB;;YAC9B,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,0CAAE,YAAY,EAAE;gBACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;aAChC;SACJ;QAED,qCAAK,GAAL;YACI,IAAI,CAAC,KAAK,GAAGyB,OAAE,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;QAED,sCAAM,GAAN;YACI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5B;QAED,4CAAY,GAAZ;YACI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;QAED,iDAAiB,GAAjB;YAAA,iBAoBC;YAnBG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAC7BC,sBAAY,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,GAAG,CAAC,CAAC,EAC5CC,8BAAoB,EAAE,EACtBC,aAAG,CAAC;gBACA,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aAC3B,CAAC,EACFC,mBAAS,CAAC,UAAC,IAAY,IAAK,OAAA,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAC1DC,oBAAU,CAAC,UAAC,QAAQ;gBAChB,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAE,OAAO,CAAC,CAAC;gBAC/E,OAAO,EAAE,CAAC;aACb,CAAC,EACFC,aAAG,CAAC,UAAA,QAAQ;gBACR,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;oBAChD,OAAO,EAAE,CAAC;iBACb;gBACD,OAAO,QAAQ,CAAC;aACnB,CAAC,CACL,GAAA,CAAC,CAAC,CAAC;SACX;;;;gBAvEJ1C,YAAS,SAAC;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,unEAA6C;;iBAEhD;;;;;gCAKII,QAAK;2BACLA,QAAK;8BACLA,QAAK;yBACLA,QAAK;kCACLA,QAAK;kCACLA,QAAK;qCACLA,QAAK;6BAELC,SAAM;qCACNA,SAAM;;;ACRCsC;IAAZ,WAAY,UAAU;QAClB,mCAAqB,CAAA;QACrB,iCAAmB,CAAA;IACvB,CAAC,EAHWA,kBAAU,KAAVA,kBAAU,QAGrB;;QAsCG,6BAAmB,iBAAoC,EAAU,gBAAkC,EAAU,QAAmB;YAA7G,sBAAiB,GAAjB,iBAAiB,CAAmB;YAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;YAAU,aAAQ,GAAR,QAAQ,CAAW;YAzBvH,aAAQ,GAAY,KAAK,CAAC;YAC1B,WAAM,GAAeA,kBAAU,CAAC,OAAO,CAAC;YACxC,YAAO,GAAY,KAAK,CAAC;YAEzB,WAAM,GAAW,EAAE,CAAC;YACpB,cAAS,GAAW,QAAQ,CAAC;YAE5B,oBAAe,GAAuB,IAAI5C,eAAY,EAAQ,CAAC;YAEzE,cAAS,GAAY,KAAK,CAAC;YAC3B,eAAU,GAAY,KAAK,CAAC;YAC5B,aAAQ,GAAgC,IAAI,CAAC;YAC7C,iBAAY,GAAW,IAAI,CAAC;YAE5B,eAAU,GAAG4C,kBAAU,CAAC;YACxB,iBAAY,GAAG,mCAAmC,CAAC;YACnD,6BAAwB,GAAG,wCAAwC,CAAC;YACpE,8BAAyB,GAAG,uBAAuB,CAAC;YACpD,iBAAY,GAAG,kCAAkC,CAAC;YAClD,6BAAwB,GAAG,2CAA2C,CAAC;YACvE,UAAK,GAAa,EAAE,CAAC;YACrB,cAAS,GAAG,KAAK,CAAC;YAClB,cAAS,GAAG,KAAK,CAAC;YAClB,sBAAiB,GAAG,KAAK,CAAC;YAGtB,IAAM,iBAAiB,GAAY,IAAI,CAAC;;YAExC,IAAM,uBAAuB,GAAgB,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;;YAEzF,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAE,uBAAuB,EAAE,YAAY,EAAE,iBAAiB,CAAE,CAAC;SACzF;QAED,sCAAQ,GAAR;YACI,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;QAED,yCAAW,GAAX,UAAY,OAAY;YAAxB,iBAiBC;YAhBG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;gBACrD,IAAI,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,KAAK,EAAE;oBAC1C,IAAI,CAAC,QAAQ,GAAG;wBACZ,GAAG,EAAE,GAAG;wBACR,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI;qBACjE,CAAC;iBACL;qBAAM;oBACH,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,GAAG;4BAClD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,MAAM;wBACpE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAC,CAAC;iBACrF;gBACD,UAAU,CAAC;oBACP,KAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;iBACzC,EAAE,GAAG,CAAC,CAAC;aACX;SACJ;QAED,yCAAW,GAAX;YACI,IAAM,YAAY,GAAG,IAAI,CAAC,MAAM,KAAKA,kBAAU,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7H,IAAM,IAAI,GAAS;gBACf,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;gBAC5C,IAAI,EAAE,KAAK;aACd,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SACvC;QAED,4CAAc,GAAd,UAAe,YAAoB;YAC/B,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC;QAED,8CAAgB,GAAhB,UAAiB,YAAoB;YACjC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC;QAED,+CAAiB,GAAjB;YACI,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjB,IAAI,CAAC,SAAS,GAAGnC,0BAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAC7C;YACD,IAAI,IAAI,CAAC,MAAM,KAAKmC,kBAAU,CAAC,QAAQ,EAAE;gBACrC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAClE,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACtE;aACJ;iBAAM;gBACH,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAChE,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACtE;aACJ;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBACzB,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,IAAI,CAAC,MAAM,KAAKA,kBAAU,CAAC,QAAQ,EAAE;oBACrC,QAAQ,GAAG,IAAI,CAAC;oBAChB,IAAI,IAAI,IAAI,EAAE,EAAE;wBACZ,QAAQ,GAAG,IAAI,CAAC;wBAChB,IAAI,IAAI,GAAG,EAAE,EAAE;4BACX,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;yBACpB;qBACJ;oBACD,IAAI,IAAI,KAAK,CAAC,EAAE;wBACZ,IAAI,GAAG,EAAE,CAAC;qBACb;iBACJ;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;oBACtC,IAAM,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC;oBACxE,IAAI,CAAC,KAAK,0CAAO,IAAI,CAAC,KAAK,KAAE,IAAI,EAAC,CAAC;iBACtC;aACJ;YAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjB,IAAI,CAAC,SAAS,GAAGnC,0BAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,MAAM,KAAKmC,kBAAU,CAAC,QAAQ,EAAE;oBACrC,IAAI,CAAC,SAAS,GAAGnC,0BAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBAC9C;aACJ;YACD,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;SAC1C;QAED,yCAAW,GAAX,UAAY,YAAqB;YAC7B,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;SAEjC;QAED,0CAAY,GAAZ;YACI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACjC;YACD,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;SAClC;QAED,2CAAa,GAAb,UAAc,IAAI;YACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxC,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,IAAI,SAAS,CAAC,KAAK,EAAE;wBACjB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;wBACtB,IAAI,SAAS,CAAC,UAAU,EAAE;4BACtB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;yBACvB;wBACD,MAAM;qBAET;iBACJ;aACJ;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SAE1B;QAED,4CAAc,GAAd;YAAA,iBAuBC;YAtBG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;gBAC1B,IAAI,CAAC,QAAQ,GAAG;oBACZ,GAAG,EAAE,GAAG;oBACR,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI;iBACjE,CAAC;aACL;iBAAM;gBACH,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;oBAClE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,CAAC;aACtF;YACD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,UAAU,CAAC;;oBACP,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;oBACnC,MAAA,KAAI,CAAC,SAAS,0CAAE,aAAa,CAAC,KAAK,EAAE,CAAC;oBACtC,MAAA,KAAI,CAAC,SAAS,0CAAE,aAAa,CAAC,MAAM,EAAE,CAAC;iBAC1C,EAAE,EAAE,CAAC,CAAC;aACV;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAEvB,OAAO,KAAK,CAAC;SAChB;QAGD,wCAAU,GAAV,UAAW,IAAI;YACX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;QAED,sCAAQ,GAAR,UAAS,IAAI;YACT,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjB,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC1C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;iBAC/D;qBAAM,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;iBACjE;gBACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxC,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,UAAU,EAAE;wBACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/B,SAAS,GAAG,IAAI,CAAC;wBACjB,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,SAAS,EAAE;oBACZ,IAAI,SAAkB,SAAA,CAAC;oBACvB,IAAI,IAAI,CAAC,MAAM,KAAKmC,kBAAU,CAAC,QAAQ,EAAE;wBACrC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,EAAE;4BACZ,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACzC,IAAI,SAAS,EAAE;gCACX,IAAI,GAAG,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;6BACjD;iCAAM;gCACH,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCACtD,IAAI,SAAS,EAAE;oCACX,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;iCAClE;6BACJ;yBACJ;qBACJ;yBAAM;wBACH,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACzC,IAAI,CAAC,SAAS,EAAE;4BACZ,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACzC,IAAI,SAAS,EAAE;gCACX,IAAI,GAAG,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;6BACjD;yBACJ;qBACJ;oBACD,IAAI,SAAS,EAAE;wBACX,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;qBACzB;yBAAM;wBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;qBACtC;iBACJ;aACJ;SACJ;QAED,2CAAa,GAAb,UAAc,CAAS;YACnB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC7C;QAEM,8BAAU,GAAjB,UAAkB,IAAU,EAAE,MAAkB;YAC5C,IAAI,UAAU,GAAG,KAAG,IAAI,CAAC,KAAO,GAAG,GAAG,GAAG,CAAA,KAAG,IAAI,CAAC,OAAS,EAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC5E,IAAI,MAAM,KAAKA,kBAAU,CAAC,QAAQ,EAAE;gBAChC,UAAU,GAAG,mBAAmB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;aAC9D;YACD,OAAO,UAAU,CAAC;SACrB;QAEO,uCAAS,GAAT,UAAU,IAAY,EAAE,WAAmB;;YAC/C,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC1C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;aAC/D;iBAAM,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;aACjE;YACD,IAAI,IAAI,KAAK,EAAE,EAAE;gBACb,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;aAC9C;YACD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,MAAM,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;gBACrG,IAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,IAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACrC,IAAI,OAAO,KAAK,CAAC,EAAE;oBACf,IAAI,OAAO,IAAI,EAAE,EAAE;wBACf,UAAU,GAAG,IAAI,CAAC;qBACrB;yBAAM,IAAI,OAAO,IAAI,EAAE,EAAE;wBACtB,UAAU,GAAG,IAAI,CAAC;qBACrB;yBAAM,IAAI,OAAO,IAAI,EAAE,EAAE;wBACtB,UAAU,GAAG,IAAI,CAAC;qBACrB;yBAAM;wBACH,OAAO,IAAI,CAAC,CAAC;wBACb,UAAU,GAAG,IAAI,CAAC;qBACrB;iBACJ;gBACD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,OAAO,IAAI,OAAO,KAAK,IAAI,EAAE;oBACtD,UAAU,GAAG,KAAK,CAAC;iBACtB;gBACD,IAAI,GAAG,OAAO,GAAG,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aAC9E;YACD,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,MAAM,KAAKA,kBAAU,CAAC,QAAQ,EAAE;gBACrC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACV,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC5B,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9B,IAAI,IAAI,GAAG,EAAE,EAAE;4BACX,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;4BACjB,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;4BACjE,QAAQ,GAAG,IAAI,CAAC;yBACnB;wBACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;4BAC9C,IAAI,IAAI,QAAQ,CAAC;yBACpB;qBACJ;iBACJ;gBACD,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC;oBAC1C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;iBACpG;aACJ;YACD,OAAO,EAAC,KAAK,EAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,YAAA,EAAC,CAAC;SAC7D;QAEc,iCAAa,GAApB,UAAqB,IAAI;YAC7B,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,IAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC5B,IAAI,QAAQ,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,EAAE;oBAChC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;iBACpB;gBACD,IAAI,QAAQ,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;oBAClC,IAAI,GAAG,CAAC,CAAC;iBACZ;aACJ;YACD,OAAO,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC;SAC/B;QAEc,iCAAa,GAApB,UAAqB,IAAI;YAC7B,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC5B,IAAI,IAAI,IAAI,EAAE,EAAE;oBACZ,QAAQ,GAAG,IAAI,CAAC;oBAChB,IAAI,IAAI,GAAG,EAAE,EAAE;wBACX,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;qBACpB;iBACJ;gBACD,IAAI,IAAI,KAAK,CAAC,EAAE;oBACZ,IAAI,GAAG,EAAE,CAAC;iBACb;aACJ;YACD,OAAO,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAA;SAC1C;QAEc,2BAAO,GAAd,UAAe,GAAG,EAAE,GAAG;YAC3B,IAAI,QAAQ,GAAW,GAAG,CAAC;YAC3B,IAAI,GAAG,GAAG,GAAG,EAAE;gBACX,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;aAC7B;YACD,OAAO,QAAQ,CAAC;SACnB;;;;gBAvWJ3C,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,eAAe;oBACzB,whFAA0C;;iBAE7C;;;;gBAlCGQ,oBAAiB;gBAWbmC,wBAAgB;gBAHpBpB,YAAS;;;2BA4BRd,YAAS,SAAC,UAAU;4BACpBA,YAAS,SAAC,WAAW;2BACrBA,YAAS,SAACmC,kCAAwB;2BAElCzC,QAAK;yBACLA,QAAK;0BACLA,QAAK;sCACLA,QAAK;yBACLA,QAAK;4BACLA,QAAK;4BACLA,QAAK;kCACLC,SAAM;;;;QC/CX;YAQa,SAAI,GAAuC,MAAM,CAAC;SAC9D;;;;gBATAL,YAAS,SAAC;oBACP,QAAQ,EAAE,iBAAiB;oBAC3B,8UAA4C;oBAE5C,eAAe,EAAEC,0BAAuB,CAAC,MAAM;;iBAClD;;;uBAGIG,QAAK;;;;QCgBN;YANS,UAAK,GAAW,EAAE,CAAC;YAClB,gBAAW,GAAuB,IAAIL,eAAY,EAAQ,CAAC;YAErE,cAAS,GAAgC,EAAE,CAAC;YAC5C,iBAAY,GAAG,CAAC,CAAC;SAGhB;QAED,sCAAW,GAAX,UAAY,OAAsB;YAAlC,iBAMC;;YALG,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,EAAE,KAAK,KAAI,CAAC,WAAW,CAAC,EAAE,GAAA,CAAC,CAAC;aACrF;iBAAM;gBACH,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;aACzB;SACJ;QAED,2CAAgB,GAAhB,UAAiB,IAAU;YACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;;;;gBA5BJC,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,YAAY;oBACtB,0uBAAuC;;iBAE1C;;;;;8BAGIG,QAAK;wBACLA,QAAK;8BACLC,SAAM;;;;QCXP,2BAAmB,WAA8C,EAClB,IAAS;YADrC,gBAAW,GAAX,WAAW,CAAmC;YAClB,SAAI,GAAJ,IAAI,CAAK;SAEvD;;;;gBAVJL,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,aAAa;oBACvB,mSAAsC;;iBAEzC;;;;gBAP2B6C,uBAAc;gDAUzB7B,SAAM,SAAC8B,2BAAkB;;;;QCT1C;YAQa,cAAS,GAAG,CAAC,CAAC;YACd,qBAAgB,GAAG,EAAE,CAAC;YACtB,aAAQ,GAAG,CAAC,CAAC;YACb,eAAU,GAAG,CAAC,CAAC;YAEf,qBAAgB,GAAG,CAAC,CAAC;YACpB,2BAAsB,GAAG,IAAIhD,eAAY,EAAU,CAAC;YAEvD,cAAS,GAAG,CAAC,CAAC;YACd,uBAAkB,GAAG,IAAI,CAAC;YAC1B,sBAAiB,GAAG,IAAI,CAAC;SAmBnC;QAjBG,wCAAW,GAAX,UAAY,OAAsB;;YAE9B,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,EAAE;gBACjD,IAAI,CAAC,UAAU,EAAE,CAAC;aACrB;YACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE;gBACtG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;;gBAEnE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACzF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,KAAK,CAAC,CAAC;gBACtD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;aACzE;SACJ;QAED,yCAAY,GAAZ,UAAa,SAAiB;YAC1B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC/C;;;;gBApCJC,YAAS,SAAC;oBACP,QAAQ,EAAE,cAAc;oBACxB,y9HAAyC;oBAEzC,eAAe,EAAEC,0BAAuB,CAAC,MAAM;;iBAClD;;;4BAGIG,QAAK;mCACLA,QAAK;2BACLA,QAAK;6BACLA,QAAK;mCAELA,QAAK;yCACLC,SAAM;;;;QCdX;YAQa,cAAS,GAAG,CAAC,CAAA;YACb,sBAAiB,GAAG,CAAC,CAAC;YAErB,eAAU,GAAG,IAAIN,eAAY,EAAU,CAAC;SACrD;;;;gBAZAC,YAAS,SAAC;oBACP,QAAQ,EAAE,qBAAqB;oBAC/B,+NAAgD;oBAEhD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;;iBAClD;;;4BAGIG,QAAK;oCACLA,QAAK;6BAELC,SAAM;;;;QCkBX;YAgCc,sBAAiB,GAAyB,IAAIN,eAAY,EAAU,CAAC;YACrE,0BAAqB,GAAyB,IAAIA,eAAY,EAAU,CAAC;YAEnF,2BAAsB,GAAG,EAAE,CAAC;YAC5B,uBAAkB,GAAG,EAAE,CAAC;YAExB,cAAS,GAAG,KAAK,CAAC;YAClB,gBAAW,GAAG,KAAK,CAAC;YACpB,UAAK,GAAG,KAAK,CAAC;YAEP,cAAS,GAAe,eAAQ,CAAC;YAEjC,cAAS,GAAyB,eAAQ,CAAC;SAmFrD;QA1GG,sBAAa,kDAAW;iBAAxB,UAAyB,WAAmB;gBACxC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;aACnD;;;WAAA;QACD,sBAAa,sDAAe;iBAA5B,UAA6B,eAAuB;gBAChD,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;aACvD;;;WAAA;QAoBD,+CAAW,GAAX,UAAY,OAAsB;YAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;QAED,4CAAQ,GAAR;YACI,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;QAED,+CAAW,GAAX,UAAY,KAAY;YACpB,IAAM,OAAO,GAAG,OAAO,CAAC;YACxB,IAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAE,KAAuB,CAAC,QAAQ,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;aAC1B;SACJ;QAED,2DAAuB,GAAvB,UAAwB,IAAY;YAChC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SACrC;QAED,uDAAmB,GAAnB,UAAoB,WAAmB;YACnC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SAC5C;QAEO,+CAAW,GAAX,UAAY,IAAY,EAAE,WAAmB,EAAE,YAA4B;YAA5B,6BAAA,EAAA,mBAA4B;YAC/E,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,sBAAsB,EAAE;gBAC5D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO,GAAG,IAAI,CAAC;aAClB;YACD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,CAAC,kBAAkB,EAAE;gBACtE,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;gBACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACzC,OAAO,GAAG,IAAI,CAAC;aAClB;YAED,IAAI,OAAO,EAAE;gBACT,IAAI,CAAC,eAAe,EAAE,CAAC;gBAEvB,IAAI,YAAY,EAAE;oBACd,IAAI,CAAC,SAAS,CAAC;wBACX,WAAW,EAAE,IAAI,CAAC,kBAAkB;wBACpC,eAAe,EAAE,IAAI,CAAC,sBAAsB;qBAC/C,CAAC,CAAC;iBACN;aACJ;SACJ;QAED,oDAAgB,GAAhB,UAAiB,EAAwB;YACrC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACvB;QAED,qDAAiB,GAAjB,UAAkB,EAAO;YACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACvB;QAED,4CAAQ,GAAR,UAAS,OAAwB;YAC7B,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC;SAC3E;QAED,8CAAU,GAAV,UAAW,KAAmB;YAC1B,IAAI,CAAC,KAAK,EAAE;gBACR,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;aACnC;iBAAM,IAAI,aAAa,IAAI,KAAK,IAAI,iBAAiB,IAAI,KAAK,EAAE;gBAC7D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aACrE;iBAAM;gBACH,OAAO,CAAC,KAAK,CAAC,4CAA4C,GAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aACxF;SACJ;QAED,2DAAuB,GAAvB,UAAwB,IAAY,EAAE,IAAS;YAC3C,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjI;QAEO,mDAAe,GAAf;YACJ,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3G,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC;SACnD;;;;gBA9HJC,YAAS,SAAC;oBACP,QAAQ,EAAE,uBAAuB;oBACjC,upFAAgD;oBAEhD,SAAS,EAAE;wBACP;4BACI,OAAO,EAAEE,uBAAiB;4BAC1B,WAAW,EAAEC,aAAU,CAAC,cAAM,OAAA,yBAAyB,GAAA,CAAC;4BACxD,KAAK,EAAE,IAAI;yBACd;wBACD;4BACI,OAAO,EAAE6C,mBAAa;4BACtB,WAAW,EAAE7C,aAAU,CAAC,cAAM,OAAA,yBAAyB,GAAA,CAAC;4BACxD,KAAK,EAAE,IAAI;yBACd;qBACJ;;iBACJ;;;iCAGIC,QAAK;mCACLA,QAAK;8BACLA,QAAK;kCAGLA,QAAK;2BAGLA,QAAK;gCACLA,QAAK;4BACLA,QAAK;2BACLA,QAAK;oCAELC,SAAM;wCACNA,SAAM;;;;QC7DX;YAcY,aAAQ,GAAG,KAAK,CAAC;YAWhB,aAAQ,GAAG,KAAK,CAAC;YAEhB,kBAAa,GAAG,IAAIN,eAAY,EAAW,CAAC;YAc/C,cAAS,GAAe;aAC9B,CAAA;YACM,cAAS,GAA+B;aAC9C,CAAA;SAaJ;QAzCG,sBAAa,yCAAO;iBAKpB;gBACI,OAAO,IAAI,CAAC,QAAQ,CAAC;aACxB;iBAPD,UAAqB,MAAe;gBAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aAC1B;;;WAAA;QAUD,kDAAmB,GAAnB,UAAoB,OAAgB;YAChC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;gBAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACpC;SACJ;QAED,sCAAO,GAAP;YACI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1C;SACJ;QAOD,+CAAgB,GAAhB,UAAiB,EAAO;YACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACvB;QAED,gDAAiB,GAAjB,UAAkB,EAAO;YACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACvB;QAED,yCAAU,GAAV,UAAW,MAAe;YACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;SACzB;;;;gBAxDJC,YAAS,SAAC;oBACP,QAAQ,EAAE,iBAAiB;oBAC3B,qOAA4C;oBAE5C,SAAS,EAAE;wBACP;4BACI,OAAO,EAAEE,uBAAiB;4BAC1B,WAAW,EAAEC,aAAU,CAAC,cAAM,OAAA,oBAAoB,GAAA,CAAC;4BACnD,KAAK,EAAE,IAAI;yBACd;qBACJ;;iBACJ;;;0BAKIC,QAAK;2BASLA,QAAK;gCAELC,SAAM;;;;QCNP;YAJQ,oBAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAKtE,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;SACjE;QAED,+DAAwB,GAAxB,UAAyB,QAAgB;YACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;SAChF;QAED,kDAAW,GAAX,UAAY,OAA6C;;YACrD,IAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,eAAe,0CAAE,YAAY,CAAC;YACvD,IAAI,QAAQ,EAAE;gBACV,IAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;aACrC;SACJ;QAED,+CAAQ,GAAR;YACI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACzG;QAEc,4CAAe,GAAtB,UAAuB,CAAS;;YACpC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAM,KAAK,GAAG,uBAAuB,CAAC;YACtC,IAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtC,IAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtC,IAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,IAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAM,KAAK,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE7D,IAAI,aAAa,GAAG,CAAC,CAAC;;gBACtB,KAAiB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE;oBAAnB,IAAI,IAAI,kBAAA;oBACT,aAAa,IAAI,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;iBAC1C;;;;;;;;;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,KAAK,IAAI,aAAa,GAAG,EAAE,CAAC;;YAG5B,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;;YAGtD,KAAK,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YAC5D,KAAK,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YAC5D,KAAK,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YAE5D,OAAO,KAAK,CAAC;SAEhB;QAEO,+CAAQ,GAAR,UAAS,QAAgB;YAC7B,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,QAAQ,IAAI,EAAE,EAAE;gBAChB,GAAG,GAAG,CAAC,CAAC;aACX;iBACI,IAAI,QAAQ,IAAI,EAAE,EAAE;gBACrB,GAAG,GAAG,CAAC,CAAC;aACX;iBACI,IAAI,QAAQ,IAAI,EAAE,EAAE;gBACrB,GAAG,GAAG,CAAC,CAAC;aACX;iBACI,IAAI,QAAQ,IAAI,EAAE,EAAE;gBACrB,GAAG,GAAG,CAAC,CAAC;aACX;iBACI;gBACD,GAAG,GAAG,CAAC,CAAC;aACX;YACD,OAAO,GAAG,GAAG,CAAC,CAAC;SAClB;;;;gBA3FJL,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,0BAA0B;oBAEpC,ocAAqD;;iBACxD;;;;;kCAGIG,QAAK;4BAELA,QAAK;4BACLA,QAAK;4BACLA,QAAK;8BACLA,QAAK;iCACLA,QAAK;;;;QCdV;YAmCqB,kBAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACzE,WAAM,GAAkB,IAAI,CAAC,aAAa,CAAC;SAEtD;QAxBG,sBAAa,yDAAQ;iBAArB,UAAsB,QAAgB;gBAClC,IAAI,QAAQ,KAAK,IAAI,EAAE;oBACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,OAAO;iBACV;gBACD,IAAI;oBACA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACrD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACtC;gBAAC,OAAO,CAAC,EAAE;oBACR,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,OAAO,CAAC,KAAK,CAAC,6DAA6D,GAAC,QAAQ,CAAC,CAAC;iBACzF;aACJ;;;WAAA;QAED,sDAAQ,GAAR;YACI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACzG;;;;gBA9BJJ,YAAS,SAAC;oBACP,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,kCAAkC;oBAE5C,0cAA6D;;iBAChE;;;4BAGIG,QAAK;4BACLA,QAAK;4BACLA,QAAK;8BACLA,QAAK;iCACLA,QAAK;2BAELA,QAAK;;;;QCCN,gCACY,YAA0B;YAA1B,iBAAY,GAAZ,YAAY,CAAc;YAJ9B,UAAK,GAAG,EAAE,CAAC;YACnB,iBAAY,GAAG,IAAI6C,oBAAe,CAA4B,EAAE,CAAC,CAAC;SAKjE;QAEO,sCAAK,GAAL;YACJ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtC;QAED,oCAAG,GAAH,UAAI,IAAyB;YAA7B,iBAYC;YAXG,IAAM,YAAY,GAA4B;gBAC1C,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gBACnE,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAsB,CAAC;aACvF,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,GAAA,EAAE,IAAI,CAAC,CAAC;SACxD;QAED,uCAAM,GAAN,UAAO,EAAU;YACb,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC,CAAC;YACvD,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;;;;;gBApCJC,aAAU,SAAC;oBACR,UAAU,EAAE,MAAM;iBACrB;;;;gBATOC,eAAY;;;ICDb,IAAM,gBAAgB,GAAG;QAC5B,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,OAAO;KACb,CAAC;IAEK,IAAM,gBAAgB,GAAG;QAC5B,CAAC,EAAE,qBAAqB;QACxB,CAAC,EAAE,cAAc;QACjB,CAAC,EAAE,cAAc;QACjB,CAAC,EAAE,eAAe;KACrB;;;QCoCG,kCACW,sBAA8C;YAA9C,2BAAsB,GAAtB,sBAAsB,CAAwB;YAJzD,qBAAgB,GAAG,gBAAgB,CAAC;YACpC,qBAAgB,GAAG,gBAAgB,CAAC;SAKnC;QAED,yCAAM,GAAN,UAAO,EAAU;YACb,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAC1C;;;;gBAlDJnD,YAAS,SAAC;oBACP,QAAQ,EAAE,sBAAsB;oBAChC,s+BAAgD;oBAEhD,UAAU,EAAE;wBACRa,kBAAO,CAAC,eAAe,EAAE;4BACrBC,qBAAU,CAAC,QAAQ,EAAE;gCACjBC,gBAAK,CAAC;oCACF,MAAM,EAAE,CAAC;oCACT,SAAS,EAAE,CAAC;oCACZ,OAAO,EAAE,CAAC;oCACV,SAAS,EAAE,iBAAiB;oCAC5B,OAAO,EAAE,CAAC;iCACb,CAAC;;gCAEFC,kBAAO,CACH,eAAe,EACfD,gBAAK,CAAC,EAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAC,CAAC,CACtE;gCACDC,kBAAO,CACH,eAAe,EACfD,gBAAK,CAAC,EAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAC,CAAC,CACrD;gCACDC,kBAAO,CAAC,eAAe,EAAED,gBAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;6BAChD,CAAC;4BACFD,qBAAU,CAAC,QAAQ,EAAE;gCACjBE,kBAAO,CACH,gBAAgB,EAChBD,gBAAK,CAAC;oCACF,OAAO,EAAE,CAAC;oCACV,SAAS,EAAE,iBAAiB;iCAC/B,CAAC,CACL;gCACDC,kBAAO,CAAC,gBAAgB,EAAED,gBAAK,CAAC,EAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAC,CAAC,CAAC;6BAC9D,CAAC;yBACL,CAAC;qBACL;;iBACJ;;;;gBAxCO,sBAAsB;;;;QCA9B;YAOa,UAAK,GAAW,CAAC,CAAC;YAClB,aAAQ,GAAW,CAAC,CAAC;YACrB,SAAI,GAAmD,MAAM,CAAC;YAC9D,YAAO,GAAW,SAAS,CAAC;YAC5B,aAAQ,GAAW,SAAS,CAAC;YAEtC,gBAAW,GAAc,EAAE,CAAC;SAa/B;QAXG,yCAAW,GAAX,UAAY,OAAsB;YAC9B,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;oBACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;wBACpC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;qBACxC;iBACJ;qBAAM;oBACH,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC/B;aACJ;SACJ;;;;gBAzBJf,YAAS,SAAC;oBACP,QAAQ,EAAE,gBAAgB;oBAC1B,uQAA2C;;iBAE9C;;;wBAGII,QAAK;2BACLA,QAAK;uBACLA,QAAK;0BACLA,QAAK;2BACLA,QAAK;;;ICRV;;;;QAOI,mCAAmB,OAAmB;YAAnB,YAAO,GAAP,OAAO,CAAY;SAAI;QAGnC,2CAAO,GAAP;YACH,IAAI,CAAC,MAAM,EAAE,CAAC;SACjB;QAEM,yDAAqB,GAArB;YACH,IAAI,CAAC,MAAM,EAAE,CAAC;SACjB;QAEM,0CAAM,GAAN;YACH,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;YAC/C,IAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;YAC7D,IAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;YAC7D,IAAI,yBAAyB,CAAC,SAAS,GAAG,YAAY,EAAE;;gBAEpD,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;gBACxB,KAAK,CAAC,MAAM,GAAM,yBAAyB,CAAC,SAAS,OAAI,CAAC;aAC7D;iBAAM,IAAI,YAAY,GAAG,YAAY,EAAE;gBACpC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAC1B,KAAK,CAAC,MAAM,GAAM,YAAY,OAAI,CAAC;aACtC;SACJ;;;IAzBM,mCAAS,GAAW,GAAG,CAAC;;gBARlCwB,YAAS,SAAC;oBACP,QAAQ,EAAE,uBAAuB;iBACpC;;;;gBAJwCH,aAAU;;;0BAc9CH,eAAY,SAAC,OAAO;;;;QCLzB;;QAII,yCAAS,GAAT;YACI,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;aAC3B;iBAAM;gBACH,IAAI,CAAC,GAAG,GAAG,sCAAsC,CAAC;aACrD;SACJ;;;;gBAjBJM,YAAS,SAAC;oBACP,QAAQ,EAAE,cAAc;oBACxB,IAAI,EAAE;wBACF,SAAS,EAAE,aAAa;wBACxB,OAAO,EAAE,KAAK;qBACjB;iBACJ;;;sBAEIxB,QAAK;0BACLA,QAAK;;;ICTV;;;;;;;;;;;;QA8BI,2BAAoB,EAAc;YAAd,OAAE,GAAF,EAAE,CAAY;YAbzB,mBAAc,GAAY,KAAK,CAAC;YAEhC,mBAAc,GAAW,KAAK,CAAC;YAC/B,wBAAmB,GAAY,KAAK,CAAC;YAEpC,mCAA8B,GAAG,IAAIL,eAAY,EAAU,CAAC;YAC5D,0BAAqB,GAAG,IAAIA,eAAY,EAAU,CAAC;SAOtB;QALvC,sBAAY,0CAAW;iBAAvB;gBACI,IAAM,EAAE,GAAgB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;gBAC9C,OAAO,CAAC,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,MAAM,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;aACnF;;;WAAA;QAID,iDAAqB,GAArB;YACI,IAAI,CAAC,QAAQ,EAAE,CAAC;SACnB;QAEO,oCAAQ,GAAR;YACJ,IAAM,EAAE,GAAgB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;YAC9C,IAAI,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC;YACxB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE;gBAC3B,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;gBAClF,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC/C,EAAE,CAAC,SAAS,GAAG,KAAG,IAAI,GAAG,IAAI,CAAC,cAAgB,CAAC;gBAE/C,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC1B,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBACzB,EAAE,CAAC,SAAS,GAAG,KAAG,IAAI,GAAG,WAAa,CAAC;qBAC1C,CAAC,CAAC;iBACN;aACJ;iBAAM;gBACH,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;oBAClD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC1C,EAAE,CAAC,SAAS,GAAG,KAAG,IAAI,GAAG,IAAI,CAAC,cAAgB,CAAC;iBAClD;aACJ;YAED,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,IAAM,oBAAoB,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;qBACnE,MAAM,CAAC,UAAA,OAAO,IAAI,OAAA,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,GAAA,CAAC,CAAC,MAAM,CAAC;gBAC/D,IAAI,oBAAoB,GAAG,CAAC,EAAE;oBAC1B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;iBAClE;aACJ;YACD,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChD;SACJ;QAEO,0CAAc,GAAd;SAEP;;;;gBA7DJ6B,YAAS,SAAC;oBACP,QAAQ,EAAE,cAAc;iBAC3B;;;;gBAfuCH,aAAU;;;sCAkB7CrB,QAAK;iCACLA,QAAK;kCACLA,QAAK;iCACLA,QAAK;sCACLA,QAAK;iDAELC,SAAM;wCACNA,SAAM;;;ICvBX;QAAA;SAIC;QAHU,gBAAK,GAAZ,UAAa,GAAW;YACpB,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACpD;yBACJ;KAAA,IAAA;IAED;;;;;;;;;;QAyBI,4BAAoB,UAAsB;YAAtB,eAAU,GAAV,UAAU,CAAY;YAPvB,WAAM,GAAG,IAAI,CAAC;;YAEX,WAAM,GAAa,CAAC,OAAO,CAAC,CAAC;YAM/C,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC9C,IAAI,EAAE,OAAO,YAAY,gBAAgB,CAAC,EAAE;gBACxC,OAAO;aACV;YAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SAC1B;QAED,wCAAW,GAAX,UAAY,OAAY;YACpB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,OAAO,CAAC,GAAG,EAAE;gBACb,MAAM,GAAG,IAAI,CAAC;aACjB;YACD,IAAI,OAAO,CAAC,MAAM,EAAE;gBAChB,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE;oBAC7B,MAAM,GAAG,IAAI,CAAC;iBACjB;qBAAM;oBACH,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACnB;aACJ;YAED,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,MAAM,EAAE,CAAC;aACjB;SAEJ;QAEO,mCAAM,GAAN;YAAA,iBASP;YARG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;aACV;;YAGD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAM,OAAA,KAAI,CAAC,SAAS,EAAE,GAAA,CAAC,CAAC;SACjE;QAEO,sCAAS,GAAT;YACJ,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aACxB;YAED,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;oBACpB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC;iBAC7D;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;;oBAErH,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;iBAClH;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;oBAC1B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;iBACnD;aACJ;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;YAEjB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACvC;QAEO,sCAAS,GAAT;YAAA,iBAOP;YANG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,SAAiB;gBAClC,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,EAAS,IAAK,OAAA,KAAI,CAAC,OAAO,CAAC,aAAa;;gBAE7E,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CACzB,GAAA,CAAC,CAAC;aACN,CAAC,CAAC;SACN;QAEO,qCAAQ,GAAR;YACJ,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACtB;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;SAC1C;;;;gBAlGJuB,YAAS,SAAC;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE;wBACF,OAAO,EAAE,KAAK;qBACjB;iBACJ;;;;gBAvBkBH,aAAU;;;sBAyBxBrB,QAAK;yBACLA,QAAK,SAAC,UAAU;yBAEhBA,QAAK,SAAC,aAAa;;;IC5BxB;;QAgBI,iCAA+C,aAAqB,EACZ,sBAA8B;YADvC,kBAAa,GAAb,aAAa,CAAQ;YACZ,2BAAsB,GAAtB,sBAAsB,CAAQ;SAAI;QAE1F,0CAAQ,GAAR,UAAS,IAAqB;YAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9C,IAAI,KAAK,EAAE;gBACP,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;oBACpB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE;wBAC5B,OAAO,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;wBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;4BACnC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;yBACzB;qBACJ;yBAAM;wBACH,KAAK,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;qBAC7C;iBACJ;qBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE;oBACnC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;iBACnC;aACJ;YACD,OAAO,IAAI,CAAC;SACf;QAEO,6CAAW,GAAX;YACJ,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBAC9B,OAAO,KAAK,CAAC;aAChB;YACD,OAAO,IAAI,CAAC,sBAAsB,KAAK,MAAM,CAAC;SACjD;;;;gBAvCJwB,YAAS,SAAC;oBACP,QAAQ,EAAE,wFAAwF;oBAClG,SAAS,EAAE;wBACP;4BACI,OAAO,EAAEoB,mBAAa;4BACtB,WAAW,EAAE7C,aAAU,CAAC,cAAM,OAAA,uBAAuB,GAAA,CAAC;4BACtD,KAAK,EAAE,IAAI;yBACd;qBACJ;iBACJ;;;;6CAGgBiD,YAAS,SAAC,eAAe;6CACzBA,YAAS,SAAC,wBAAwB;;;ICfnD,IAAM,UAAU,GAAG,0BAA0B,CAAC;IAC9C,IAAM,YAAY,GAAG,IAAI,CAAC;IAC1B,IAAM,SAAS,GAAG,iBAAiB,CAAC;IACpC,IAAM,eAAe,GAAG,GAAG,CAAC;IAO5B;;;;;;QAqCI,iCACY,KAAiB,EACjB,QAAmB;YADnB,UAAK,GAAL,KAAK,CAAY;YACjB,aAAQ,GAAR,QAAQ,CAAW;YA5BvB,oBAAe,GAAU,EAAE,CAAC;SA8BnC;QA5BD,sBAAa,mDAAc;iBAA3B,UAA4B,QAAgB;;gBAA5C,iBAsBC;;;oBApBG,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,eAAe,CAAA,gBAAA,4BAAE;wBAArC,IAAM,KAAK,WAAA;wBACZ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;qBAC9D;;;;;;;;;gBAED,IAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wCAE3C,IAAI;oBACX,IAAI,IAAI,CAAC,KAAK,EAAE;wBACZ,IAAM,MAAI,GAAG,OAAK,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;wBACjD,IAAM,IAAI,GAAG,OAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACpD,OAAK,QAAQ,CAAC,WAAW,CAAC,MAAI,EAAE,IAAI,CAAC,CAAC;wBACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,KAAK,IAAI,OAAA,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAI,EAAE,KAAK,CAAC,GAAA,CAAC,CAAC;wBACjE,OAAK,QAAQ,CAAC,WAAW,CAAC,OAAK,KAAK,CAAC,aAAa,EAAE,MAAI,CAAC,CAAC;wBAC1D,OAAK,eAAe,CAAC,IAAI,CAAC,MAAI,CAAC,CAAC;qBACnC;yBAAM;wBACH,IAAM,IAAI,GAAG,OAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACpD,OAAK,QAAQ,CAAC,WAAW,CAAC,OAAK,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;wBAC1D,OAAK,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACnC;;;;oBAZL,KAAmB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA;wBAAnB,IAAM,IAAI,kBAAA;gCAAJ,IAAI;qBAad;;;;;;;;;aACJ;;;WAAA;QAQc,6BAAK,GAAZ,UAAa,OAAe;YAChC,IAAM,KAAK,GAAW,EAAE,CAAC;YAEzB,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7C,OAAO,UAAU,IAAI,CAAC,EAAE;gBACpB,IAAI,UAAU,GAAG,CAAC,EAAE;;oBAEhB,KAAK,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,EAAC,CAAC,CAAC;iBACxD;gBACD,IAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5D,IAAI,IAAI,KAAK,SAAS,EAAE;oBACpB,OAAO,EAAE,CAAC;iBACb;qBAAM,IAAI,IAAI,EAAE;oBACb,KAAK,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC,CAAC;oBACzD,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;oBACpB,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;iBAC5C;qBAAM;oBACH,KAAK,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;iBAClC;aACJ;;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,KAAK,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;aAClC;YACD,OAAO,KAAK,CAAC;SAChB;QAEc,qCAAa,GAApB,UAAqB,KAAa;YACtC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;;gBAE/B,OAAO,IAAI,CAAC;aACf;YAED,IAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACnD,IAAI,KAAK,IAAI,CAAC,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,oCAAoC,GAAG,KAAK,CAAC,CAAC;gBAC5D,OAAO,SAAS,CAAC;aACpB;YACD,IAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAChE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,oCAAoC,GAAG,KAAK,CAAC,CAAC;gBAC5D,OAAO,SAAS,CAAC;aACpB;YACD,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAE7C,OAAO,EAAC,OAAO,SAAA,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,IAAI,MAAA,EAAC,CAAC;SACnE;;;;gBAxFJxB,YAAS,SAAC;;oBAEP,QAAQ,EAAE,kBAAkB;iBAC/B;;;;gBApBoCH,aAAU;gBAArBD,YAAS;;;iCAyB9BpB,QAAK;;;ICvBV,IAAM,eAAe,GAA2B;QAC5C,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC,EAAE;KACf,CAAC;IAEF,IAAM,WAAW,GAA2B;QACxC,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC,EAAE;KACf,CAAC;IAEF,IAAM,gBAAgB,GAA2B;QAC7C,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC,EAAE;KACf,CAAC;IAEF,IAAM,kBAAkB,GAA2B;QAC/C,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,EAAE;KACd,CAAC;IAEF,IAAM,cAAc,GAA2B;QAC3C,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,EAAE;KACd,CAAC;IAEF,IAAM,mBAAmB,GAA2B;QAChD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,EAAE;KACd,CAAC;IAEF,IAAM,WAAW,GAA2B;QACxC,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC,EAAE;KACf,CAAC;IAEF,IAAM,aAAa,GAA2B;QAC1C,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,EAAE;KACd,CAAC;IAEK,IAAM,mBAAmB,GAA8C;QAC1E,OAAO,EAAE,eAAe;QACxB,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,gBAAgB;QAC1B,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,aAAa;QACpB,UAAU,EAAE,kBAAkB;QAC9B,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,mBAAmB;KACnC;;;QCxED;YAIW,kBAAa,GAAkB,IAAIO,YAAO,EAAQ,CAAC;SAC7D;;;;;gBALAuC,aAAU,SAAC;oBACR,UAAU,EAAE,MAAM;iBACrB;;;;QC2BG,6BACY,WAAuB,EACvB,kBAAqC;YADrC,gBAAW,GAAX,WAAW,CAAY;YACvB,uBAAkB,GAAlB,kBAAkB,CAAmB;SAEhD;QAED,sCAAQ,GAAR;YACI,IAAI,CAAC,MAAM,CAAC,WAAW;kBACjB,IAAI,CAAC,MAAM,GAAG,eAAa,IAAI,CAAC,MAAM,CAAC,WAAa;kBACpD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SACjC;QAGD,4CAAc,GAAd,UAAe,KAAK;YAChB,IAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACvD,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;aAChD;SACJ;;;;gBArCJlD,YAAS,SAAC;oBACP,QAAQ,EAAE,gBAAgB;oBAC1B,eAAe,EAAEC,0BAAuB,CAAC,MAAM;oBAE/C,w9BAA2C;oBAC3C,UAAU,EAAE;wBACRY,kBAAO,CAAC,YAAY,EAAE;4BAClBC,qBAAU,CAAC,QAAQ,EAAE;gCACjBC,gBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gCACrBC,kBAAO,CAAC,GAAG,EAAED,gBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;6BACtC,CAAC;4BACFD,qBAAU,CAAC,QAAQ,EAAE,CAACE,kBAAO,CAAC,GAAG,EAAED,gBAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;yBAC9D,CAAC;qBACL;;iBACJ;;;;gBArBGU,aAAU;gBAKN,iBAAiB;;;yBAkBpBrB,QAAK;iCAgBLkB,eAAY,SAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;;;QCR1C,6BACY,WAAuB,EACvB,QAAiB,EACjB,uBAA+C,EAC/C,kBAAqC;YAHrC,gBAAW,GAAX,WAAW,CAAY;YACvB,aAAQ,GAAR,QAAQ,CAAS;YACjB,4BAAuB,GAAvB,uBAAuB,CAAwB;YAC/C,uBAAkB,GAAlB,kBAAkB,CAAmB;YAhBzC,cAAS,GAAkB,IAAIX,YAAO,EAAQ,CAAC;YAC/C,WAAM,GAAqB,IAAIA,YAAO,EAAW,CAAC;YAClD,kBAAa,GAAG,KAAK,CAAC;YAGtB,WAAM,GAAqB,IAAIA,YAAO,EAAW,CAAC;SAazD;QAVM,iCAAa,GAApB,UAAqB,OAAkC,EAAE,WAAmB,EAAE,OAAgB;YAC1F,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC;SAClD;QAUD,yCAAW,GAAX,UAAY,OAAsB;;YAC9B,IAAI,CAAC,CAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,0CAAE,YAAY,0CAAE,OAAO,MAAI,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,0CAAE,YAAY,0CAAE,QAAQ,CAAA,KAAK,IAAI,CAAC,aAAa,EAAE;gBACvH,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACzE;SACJ;QAED,sCAAQ,GAAR;YACI,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC3B;QAED,yCAAW,GAAX;YACI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC7B;QAEO,0CAAY,GAAZ;YACJ,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;gBACjC,IAAA,KAUF,IAAI,CAAC,YAAgC,EATrC,eAAmB,EAAnB,OAAO,mBAAG,SAAS,KAAA,EACnB,uBAA2B,EAA3B,eAAe,mBAAG,SAAS,KAAA,EAC3B,mBAAuB,EAAvB,WAAW,mBAAG,SAAS,KAAA,EACvB,mBAAoB,EAApB,WAAW,mBAAG,MAAM,KAAA,EACpB,eAAc,EAAd,OAAO,mBAAG,IAAI,KAAA,EACd,oBAAmB,EAAnB,YAAY,mBAAG,IAAI,KAAA,EACnB,gBAAiB,EAAjB,QAAQ,mBAAG,MAAM,KAAA,EACjB,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,aAAU,EAAV,KAAK,mBAAG,EAAE,KAC2B,CAAC;gBAC1C,IAAI,CAAC,OAAO,GAAG,EAAC,OAAO,SAAA,EAAE,eAAe,iBAAA,EAAE,WAAW,aAAA,EAAE,WAAW,aAAA,EAAE,OAAO,SAAA,EAAE,YAAY,cAAA,EAAE,QAAQ,UAAA,EAAE,QAAQ,UAAA,EAAE,KAAK,OAAA,EAAC,CAAC;gBACtH,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;aACzF;YACD,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;gBACvC,IACI,OAAO,GAAG,IAAI,CAAC,YAAsB,EACrC,eAAe,GAAG,SAAS,EAC3B,WAAW,GAAG,SAAS,EACvB,WAAW,GAAG,MAAM,EACpB,OAAO,GAAG,IAAI,EACd,YAAY,GAAG,IAAI,EACnB,QAAQ,GAAG,MAAM,EACjB,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,GAAG,EAAC,OAAO,SAAA,EAAE,eAAe,iBAAA,EAAE,WAAW,aAAA,EAAE,WAAW,aAAA,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE,YAAY,cAAA,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAC,CAAC;gBACtH,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;aACzF;SACJ;QAEO,8CAAgB,GAAhB;YAAA,iBA+BP;YA9BG0C,UAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;iBAC1B,IAAI,CACDb,mBAAS,CAAC,UAAA,IAAI;gBACV,IAAI,CAAC,IAAI,EAAE;oBACP,OAAOJ,OAAE,CAAC,IAAI,CAAC,CAAC;iBACnB;gBACD,OAAOA,OAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAACkB,eAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aACpC,CAAC,EACF1C,mBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC5B;iBACA,SAAS,CAAC,UAAA,IAAI;gBACX,IAAI,IAAI,EAAE;oBACN,KAAI,CAAC,sBAAsB,GAAG2C,cAAS,CAAC,KAAI,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC;yBAChF,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,OAAO,EAAE,GAAA,CAAC,CAAC;oBACrC,IAAM,gBAAgB,GAAG,KAAI,CAAC,uBAAuB;yBAChD,mBAAmB,CAAC,KAAI,CAAC,WAAW,CAAC;yBACrC,aAAa,CAAC,CAAC,mBAAmB,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACjE,IAAM,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;oBAC9D,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAC,gBAAgB,kBAAA,EAAE,cAAc,gBAAA,EAAC,CAAC,CAAC;oBAC5E,IAAM,UAAU,GAAsC,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAIC,sBAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBACxH,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAI,CAAC,OAAO,CAAC;iBAC7C;qBAAM;oBACH,KAAI,CAAC,OAAO,EAAE,CAAC;iBAClB;aACJ,CAAC,CAAC;YACP,IAAI,CAAC,kBAAkB,CAAC,aAAa;iBAChC,IAAI,CACD5C,mBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC5B;iBACA,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAA,CAAC,CAAC;SAC5C;QAEO,qCAAO,GAAP;YACJ,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAChF,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;SAC5E;QAGD,0CAAY,GAAZ;YACI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChE;QAGD,0CAAY,GAAZ;YACI,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;;;;gBA3HJgB,YAAS,SAAC,EAAC,QAAQ,EAAE,gBAAgB,EAAC;;;;gBAhBnCH,aAAU;gBAQNgC,eAAO;gBAAEC,8BAAsB;gBAK/B,iBAAiB;;;+BAKpBtD,QAAK;+BA8GLkB,eAAY,SAAC,YAAY;+BAOzBA,eAAY,SAAC,YAAY;;;IC1I9B;;QAeI,kCACY,UAA+B,EAC/B,UAAmC;YADnC,eAAU,GAAV,UAAU,CAAqB;YAC/B,eAAU,GAAV,UAAU,CAAyB;SAE9C;QAEO,sDAAmB,GAAnB;YACJ,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC9C,IAAM,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAC5D,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,SAAS,GAAG,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SACxE;QAED,2CAAQ,GAAR;YAAA,iBAGC;YAFG,IAAI,CAAC,oBAAoB,GAAGiC,cAAS,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,CAAC;iBAC5E,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,mBAAmB,EAAE,GAAA,CAAC,CAAC;SACpD;QAED,8CAAW,GAAX;YACI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;SAC3C;;;;gBA1BJ3B,YAAS,SAAC,EAAC,QAAQ,EAAE,iCAAiC,EAAC;;;;gBAPhD,mBAAmB;gBAGRH,aAAU;;;kCAOxBrB,QAAK;;;QCPI,+BAA+B,GAAQ;QACjD,OAAO,EAAEF,uBAAiB;QAC1B,WAAW,EAAEC,aAAU,CAAC,cAAM,OAAA,sBAAsB,GAAA,CAAC;QACrD,KAAK,EAAE,IAAI;MACX;;QAuBA;YAZA,cAAS,GAA+C,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAI9E,cAAS,GAAY,KAAK,CAAC;YACpC,aAAQ,GAAY,KAAK,CAAC;YAI1B,cAAS,GAAgB,IAAIwD,iBAAW,CAAC,EAAE,CAAC,CAAC;YAY7C,aAAQ,GAAG,UAAC,QAAgB,KAAO,CAAC;YAEpC,YAAO,GAAG,eAAQ,CAAC;SAXF;;;;QAKjB,gDAAe,GAAf;YACI,IAAI,CAAC,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAClH;QAMD,2CAAU,GAAV,UAAW,GAAW;YAClB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAChC;QAED,iDAAgB,GAAhB,UAAiB,EAA8B;YAC3C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACtB;QAED,kDAAiB,GAAjB,UAAkB,EAAc;YAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;SACrB;QAED,iDAAgB,GAAhB,UAAiB,UAAmB;YAChC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;SAC9B;QAED,yCAAQ,GAAR;YAAA,iBAMC;YALG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,GAAW;gBAC7D,IAAI,KAAI,CAAC,QAAQ,EAAE;oBACf,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;iBACtB;aACJ,CAAC,CAAC;SACN;QAED,4CAAW,GAAX;YACI,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;aAC9B;SACJ;;;IAtDM,2BAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;;gBARtC3D,YAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,gnBAA8C;oBAE9C,SAAS,EAAE,CAAC,+BAA+B,CAAC;;iBAC7C;;;;;uBAMII,QAAK;8BACLA,QAAK;4BACLA,QAAK;gCAGLM,YAAS,SAAC,eAAe;;;IC0D9B,IAAM,kBAAkB,GAAwB,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;aA8MpB,EAAC,iBAAiB,EAAE,KAAK,EAAC;;QAGvE;;;;;gBA/MCuB,WAAQ,SAAC;oBACN,YAAY,EAAE;;wBAEV,mBAAmB;wBACnB,eAAe;wBACf,yBAAyB;wBACzB,gBAAgB;wBAChB,qBAAqB;wBACrB,mBAAmB;wBACnB,oBAAoB;wBACpB,sBAAsB;wBACtB,iBAAiB;wBACjB,sBAAsB;wBACtB,0BAA0B;wBAC1B,kBAAkB;wBAClB,kCAAkC;wBAClC,cAAc;wBACd,sBAAsB;wBACtB,qBAAqB;wBACrB,sBAAsB;wBACtB,4BAA4B;wBAC5B,mCAAmC;wBACnC,yBAAyB;wBACzB,cAAc;wBACd,kBAAkB;wBAClB,iBAAiB;wBACjB,qBAAqB;wBACrB,mBAAmB;wBACnB,YAAY;wBACZ,gBAAgB;wBAChB,qBAAqB;wBACrB,mBAAmB;wBACnB,iBAAiB;wBACjB,qBAAqB;wBACrB,kBAAkB;wBAClB,wBAAwB;wBACxB,oBAAoB;wBACpB,wBAAwB;wBACxB,mBAAmB;;wBAGnB,yBAAyB;wBACzB,qBAAqB;wBACrB,kBAAkB;wBAClB,oBAAoB;wBACpB,uBAAuB;wBACvB,uBAAuB;wBACvB,wBAAwB;wBACxB,mBAAmB;qBACtB;oBACD,OAAO,EAAE;wBACL2B,iCAAwB;wBACxB1B,mBAAY;wBACZ2B,+CAAoB;wBACpBC,iBAAW;wBACXC,yBAAmB;wBACnBC,uBAAc;wBACd,aAAa;wBACbC,qBAAa;;wBAGbC,oBAAc;wBACdC,sBAAe;wBACfC,kCAAqB;wBACrBC,oBAAc;wBACdC,4BAAkB;;wBAElBC,0BAAiB;wBACjBC,kBAAa;;wBAEbC,gCAAoB;wBACpBC,wCAAwB;wBACxBC,oBAAc;wBACdC,sBAAe;wBACfC,gCAAoB;;wBAGpB1C,kBAAa;wBACb2C,wBAAgB;wBAChBC,wBAAgB;;wBAGhBC,kBAAa;wBACbC,wBAAgB;;wBAEhBC,0BAAiB;wBACjBC,kBAAa;wBACbC,kBAAa;wBACbC,wBAAgB;wBAChBC,2BAAgB;;wBAGhBC,gCAAoB;wBACpBC,sBAAe;wBACfC,0BAAiB;;wBAGjBC,oBAAc;qBACjB;oBACD,OAAO,EAAE;wBACL5B,iBAAW;wBACXC,yBAAmB;;wBAGnB,mBAAmB;wBACnB,eAAe;wBACf,gBAAgB;wBAChB,qBAAqB;wBACrB,mBAAmB;wBACnB,oBAAoB;wBACpB,sBAAsB;wBACtB,iBAAiB;wBACjB,sBAAsB;wBACtB,0BAA0B;wBAC1B,kBAAkB;wBAClB,kCAAkC;wBAClC,cAAc;wBACd,sBAAsB;wBACtB,qBAAqB;wBACrB,yBAAyB;wBACzB,sBAAsB;wBACtB,4BAA4B;wBAC5B,mCAAmC;wBACnC,cAAc;wBACd,kBAAkB;wBAClB,iBAAiB;wBACjB,qBAAqB;wBACrB,mBAAmB;wBACnB,YAAY;wBACZ,gBAAgB;wBAChB,qBAAqB;wBACrB,mBAAmB;wBACnB,iBAAiB;wBACjB,qBAAqB;wBACrB,kBAAkB;wBAClB,wBAAwB;wBACxB,oBAAoB;wBACpB,wBAAwB;;wBAGxB,yBAAyB;wBACzB,qBAAqB;wBACrB,kBAAkB;wBAClB,uBAAuB;wBACvB,uBAAuB;wBACvB,wBAAwB;wBACxB,mBAAmB;;wBAGnBC,uBAAc;wBACd,aAAa;;wBAGbE,oBAAc;wBACdC,sBAAe;wBACfC,kCAAqB;wBACrBG,0BAAiB;wBACjBF,oBAAc;wBACdC,4BAAkB;;wBAElBE,kBAAa;;wBAEbC,gCAAoB;wBACpBC,wCAAwB;wBACxBC,oBAAc;wBACdC,sBAAe;wBACfC,gCAAoB;;wBAGpB1C,kBAAa;wBACb2C,wBAAgB;wBAChBC,wBAAgB;;wBAGhBC,kBAAa;wBACbC,wBAAgB;;wBAEhBC,0BAAiB;wBACjBC,kBAAa;wBACbC,kBAAa;wBACbC,wBAAgB;;wBAGhBE,gCAAoB;wBACpBC,sBAAe;wBACfC,0BAAiB;;wBAGjBC,oBAAc;qBACjB;oBACD,eAAe,EAAE;wBACb,qBAAqB;wBACrB,kBAAkB;wBAClB,iBAAiB;wBACjB,kCAAkC;wBAClC,cAAc;wBACd,0BAA0B;wBAC1B,sBAAsB;wBACtB,iBAAiB;qBACpB;oBACD,SAAS,EAAE;;;;wBAIP,EAAC,OAAO,EAAEC,oBAAe,EAAE,QAAQ,IAA4B,EAAC;qBACnE;iBACJ;;;ICpRD,IAAM,cAAc,GAAyB;QACzC,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,eAAe;QAC9B,UAAU,EAAE,8BAA8B;QAC1C,QAAQ,EAAE,IAAI;KACjB,CAAC;;QAKE,8BACY,QAAkB,EAClB,OAAgB;YADhB,aAAQ,GAAR,QAAQ,CAAU;YAClB,YAAO,GAAP,OAAO,CAAS;SAAK;QAEjC,mCAAI,GAAJ,UAAK,MAAiC;YAAjC,uBAAA,EAAA,WAAiC;YAClC,IAAM,YAAY,mCAAQ,cAAc,GAAK,MAAM,CAAE,CAAC;YACtD,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACpD,IAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACnD,IAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAEzF,OAAO,SAAS,CAAC;SACpB;QAEO,4CAAa,GAAb,UAAc,MAA4B;YAC9C,IAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SAC7C;QAEO,oDAAqB,GAArB,UAAsB,UAAsB,EAAE,MAA4B,EAAE,SAA2B;YAC3G,IAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAExD,IAAM,eAAe,GAAG,IAAInC,sBAAe,CAAC,sBAAsB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpF,IAAM,YAAY,GAAyC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAE9F,OAAO,YAAY,CAAC,QAAQ,CAAC;SAChC;QAEO,6CAAc,GAAd,UAAe,MAA4B,EAAE,SAA2B;YAC5E,IAAM,eAAe,GAAG,IAAI,OAAO,EAAE,CAAC;YAEtC,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YACjD,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEnD,OAAO,IAAIoC,qBAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;SAC7D;QAEO,+CAAgB,GAAhB,UAAiB,MAA4B;YACjD,IAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;iBAC3C,MAAM,EAAE;iBACR,kBAAkB,EAAE;iBACpB,gBAAgB,EAAE,CAAC;YAExB,IAAM,aAAa,GAAG,IAAIC,qBAAa,CAAC;gBACpC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;gBACrD,gBAAgB,kBAAA;aACnB,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC;SACxB;;;;gBAtDJ3C,aAAU;;;;gBAvBuBlB,WAAQ;gBAClCyB,eAAO;;;IC6Bf;QACI,oBACW,YAAoB,EACpB,YAAyC;YADzC,iBAAY,GAAZ,YAAY,CAAQ;YACpB,iBAAY,GAAZ,YAAY,CAA6B;SAEnD;yBACJ;KAAA,IAAA;IAED;QAA6B,kCAAU;QACnC,wBAAY,YAAoB;mBAC5B,kBAAM,YAAY,EAAE,CAAC,CAAC;SACzB;6BACJ;KAJD,CAA6B,UAAU,GAItC;IAED;QAAgC,qCAAU;QACtC,2BAAY,YAAoB;mBAC5B,kBAAM,YAAY,EAAE,CAAC,CAAC;SACzB;gCACJ;KAJD,CAAgC,UAAU,GAIzC;IAED;QAAgC,qCAAU;QACtC,2BAAY,YAAoB;mBAC5B,kBAAM,YAAY,EAAE,CAAC,CAAC;SACzB;gCACJ;KAJD,CAAgC,UAAU,GAIzC;IAED;QAA8B,mCAAU;QACpC,yBAAY,YAAoB;mBAC5B,kBAAM,YAAY,EAAE,CAAC,CAAC;SACzB;8BACJ;KAJD,CAA8B,UAAU,GAIvC;aAEe,kBAAkB,CAAC,IAAY,EAAE,IAAiC;QAC9E,QAAQ,IAAI;YACR,KAAK,MAAM;gBACP,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,SAAS;gBACV,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACvC,KAAK,SAAS;gBACV,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACvC,KAAK,OAAO;gBACR,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACrC;gBACI,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;SACvC;IACL;;IC3EA;;;;ICAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"agorapulse-ui-components.umd.js","sources":["../../../libs/ui-components/src/lib/add-comment/add-comment.component.ts","../../../libs/ui-components/src/lib/avatar/avatar.component.ts","../../../node_modules/tslib/tslib.es6.js","../../../libs/ui-components/src/lib/modal/modal.component.ts","../../../libs/ui-components/src/lib/confirm-modal/confirm-modal.component.ts","../../../libs/ui-components/src/lib/datepicker/datepicker.component.ts","../../../libs/ui-components/src/lib/dots-stepper/dots-stepper.component.ts","../../../libs/ui-components/src/lib/edit-tag-modal/edit-tags-modal.component.ts","../../../libs/ui-components/src/lib/image-carousel/image-carousel.component.ts","../../../libs/ui-components/src/lib/feature-onboarding/feature-onboarding.component.ts","../../../libs/ui-components/src/lib/lead-modal/lead-modal.component.ts","../../../libs/ui-components/src/lib/media-display-overlay/media-display-overlay-dialog.component.ts","../../../libs/ui-components/src/lib/overlay/overlay-dialog.component.ts","../../../libs/ui-components/src/lib/overlay-in-div/overlay-in-div.component.ts","../../../libs/ui-components/src/lib/places/place.component.ts","../../../libs/ui-components/src/lib/places/place-list.component.ts","../../../libs/ui-components/src/lib/popmenu/options.ts","../../../libs/ui-components/src/lib/popmenu/popmenu-options.service.ts","../../../libs/ui-components/src/lib/popmenu/popmenu.component.ts","../../../libs/ui-components/src/lib/popmenu/popmenu.directive.ts","../../../libs/ui-components/src/lib/popmenu/popmenu.module.ts","../../../libs/ui-components/src/lib/splashscreen/splashscreen.component.ts","../../../libs/ui-components/src/lib/tags/tag.component.ts","../../../libs/ui-components/src/lib/tags/tag-list.component.ts","../../../libs/ui-components/src/lib/try-popup/try-popup.component.ts","../../../libs/ui-components/src/lib/tags-selector/tags-selector.component.ts","../../../libs/ui-components/src/lib/timepicker/timepicker.component.ts","../../../libs/ui-components/src/lib/neo-timepicker/neo-timepicker.component.ts","../../../libs/ui-components/src/lib/notification/notification.component.ts","../../../libs/ui-components/src/lib/stepper/stepper.component.ts","../../../libs/ui-components/src/lib/snackbar/snackbar.component.ts","../../../libs/ui-components/src/lib/paginator/paginator.component.ts","../../../libs/ui-components/src/lib/paginator/paginator-button/paginator-button.component.ts","../../../libs/ui-components/src/lib/phone-number-input/phone-number-input.component.ts","../../../libs/ui-components/src/lib/slide-toggle/slide-toggle.component.ts","../../../libs/ui-components/src/lib/password-strength-bar/password-strength-bar.component.ts","../../../libs/ui-components/src/lib/password-strength-display-bar/password-strength-display-bar.component.ts","../../../libs/ui-components/src/lib/snackbars-thread/service/snackbars-thread.service.ts","../../../libs/ui-components/src/lib/snackbars-thread/utils/const/snackbars-thread.const.ts","../../../libs/ui-components/src/lib/snackbars-thread/component/snackbars-thread.component.ts","../../../libs/ui-components/src/lib/star-rating/star-rating.component.ts","../../../libs/ui-components/src/lib/directives/autosize-textarea.directive.ts","../../../libs/ui-components/src/lib/directives/default-image.directive.ts","../../../libs/ui-components/src/lib/directives/ellipsis.directive.ts","../../../libs/ui-components/src/lib/directives/frozen-gif.directive.ts","../../../libs/ui-components/src/lib/directives/equal-validator.directive.ts","../../../libs/ui-components/src/lib/directives/multi-style-text.directive.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.const.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.service.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.component.ts","../../../libs/ui-components/src/lib/tooltip-neo/tooltip-neo.directive.ts","../../../libs/ui-components/src/lib/directives/truncate-tooltip.directive.ts","../../../libs/ui-components/src/lib/password-input/password-input.component.ts","../../../libs/ui-components/src/lib/agorapulse-ui-components.module.ts","../../../libs/ui-components/src/lib/overlay/overlay-dialog-service.component.ts","../../../libs/ui-components/src/lib/snackbars-thread/model/snackbars-thread.model.ts","../../../libs/ui-components/index.ts","../../../libs/ui-components/agorapulse-ui-components.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component, EventEmitter, forwardRef,\n Input, Output, TemplateRef,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-add-comment',\n templateUrl: './add-comment.component.html',\n styleUrls: ['./add-comment.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AddCommentComponent),\n multi: true\n }]\n})\nexport class AddCommentComponent implements ControlValueAccessor {\n\n @Input() placeholder: string = 'Add a comment';\n @Input() customTemplate: TemplateRef<any>;\n @Input() disable: boolean = false;\n\n @Output() action: EventEmitter<string> = new EventEmitter();\n\n _commentValue: string = '';\n public get commentValue(): string {\n return this._commentValue;\n }\n\n public set commentValue(value: string) {\n this._commentValue = value;\n this.propagateChange(value);\n }\n\n propagateChange: any = () => {};\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void { }\n\n setDisabledState(isDisabled: boolean): void {\n this.disable = isDisabled;\n }\n\n writeValue(obj: any): void {\n this._commentValue = obj != undefined ? obj : '';\n this.propagateChange(this._commentValue);\n }\n\n onChange(event) {\n const value = event.target.value;\n this._commentValue = value != undefined ? value : '';\n this.propagateChange(value);\n }\n}\n","import {ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\nimport {customSvgsSymbolIds, flagSymbolIds, officialSymbolIds, symbolIds, SymbolType} from \"@agorapulse/ui-symbol\";\n\nconst SizeMap: {[key: string]: string} = {\n 'large': '64',\n 'normal': '48',\n 'medium': '40',\n 'medium-sm': '36',\n 'small': '32',\n 'mini': '24',\n 'mini-sm': '16',\n 'micro': '12',\n 'facebook': '40',\n 'linkedin': '40',\n 'instagram': '40',\n 'youtube': '40',\n 'google': '40',\n 'twitter': '48'\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-avatar',\n styleUrls: ['./avatar.component.scss'],\n templateUrl: './avatar.component.html'\n})\nexport class AvatarComponent implements OnInit, OnChanges {\n\n @Input() border = '';\n @Input() defaultImageEnabled = true; // DEPRECATED default avatar if we don't have username\n @Input() fallbackSymbolId: SymbolType<typeof symbolIds> | SymbolType<typeof officialSymbolIds> |\n SymbolType<typeof customSvgsSymbolIds> | SymbolType<typeof flagSymbolIds> = 'single-neutral';\n @Input() fallbackSymbolSize: string | 'none' | 'pico' | 'nano' | 'micro' | 'mini' | 'small' | 'medium' | 'normal' | 'large' = 'mini';\n @Input() imageUrl: string;\n @Input() loading: 'auto' | 'lazy' | 'eager' = 'auto';\n @Input() outerBorderHidden = false;\n @Input() size:\n 'large' | 'normal'| 'medium' | 'medium-sm' | 'small' | 'mini' | 'mini-sm' | 'micro' |\n 'facebook' | 'twitter' | 'linkedin' | 'instagram' | 'youtube' | 'google' = 'medium';\n @Input() social: 'facebook' | 'instagram' | 'linkedin' | 'twitter' | 'youtube' | 'google';\n @Input() username: string; // used to display initials\n @Input() rounded = false;\n @Input() online = false;\n\n socialSize: string;\n sizeMap = SizeMap;\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.social?.currentValue || changes.size?.currentValue) {\n if (this.social === 'google') {\n switch (this.size) {\n case 'medium-sm':\n this.socialSize = '14';\n break;\n case 'mini':\n this.socialSize = '15';\n break;\n default:\n this.socialSize = '19';\n }\n } else {\n this.socialSize = this.size === 'mini' || this.size === 'medium-sm' ? '12' : '16';\n }\n }\n if (changes.defaultImageEnabled && changes.defaultImageEnabled.currentValue) {\n console.warn(\"'defaultImageEnabled' attribute is deprecated.\")\n }\n }\n\n\n onError(): void {\n this.imageUrl = null;\n }\n\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {MatDialogConfig} from '@angular/material/dialog';\nimport {ComponentType} from '@angular/cdk/portal';\n\nexport interface ModalConfig extends ModalConfigBase {\n closable?: boolean;\n headerBottomBorderEnabled?: boolean;\n}\n\nexport interface ModalConfigBase {\n backdropCloseEnable?: boolean;\n matDialogConfig?: MatDialogConfig;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-modal',\n templateUrl: 'modal.component.html',\n styleUrls: ['modal.component.scss']\n})\nexport class ModalComponent {\n\n static readonly PANEL_CLASS = 'modal-container';\n\n constructor(\n public dialogRef: MatDialogRef<ComponentType<any>>) {\n dialogRef.disableClose = true;\n }\n\n @Input() closable: boolean;\n @Input() headerBottomBorderEnabled: boolean;\n @Input() footerTemplate: TemplateRef<any>;\n @Input() footerVisible = true;\n @Input() headerTemplate: TemplateRef<any>;\n @Input() headerVisible = true;\n @Input() mainTemplate: TemplateRef<any>;\n @Input() config: MatDialogConfig;\n @Input() containerStyle: {[arg: string]: string} = {};\n @Input() headerStyle: {[arg: string]: string} = {};\n @Input() contentStyle: {[arg: string]: string} = {};\n @Input() footerStyle: {[arg: string]: string} = {};\n @Input() defaultLayout = true;\n\n /**\n * Use it to open a modal containing the {@link componentType} component, with the right configuration.\n */\n static openWithComponent<T>(\n matDialog: MatDialog,\n config: ModalConfigBase,\n componentType: ComponentType<T>): MatDialogRef<T> {\n let matDialogConfig: MatDialogConfig;\n if (config) {\n matDialogConfig = config.matDialogConfig;\n if (matDialogConfig) {\n matDialogConfig.panelClass = Array.isArray(config.matDialogConfig.panelClass)\n ? [ ...config.matDialogConfig.panelClass, ModalComponent.PANEL_CLASS ] // in case where the panelClass is an array\n : [ config.matDialogConfig.panelClass , ModalComponent.PANEL_CLASS]; // in the other case, it's a String\n } else {\n matDialogConfig = { panelClass: ModalComponent.PANEL_CLASS };\n }\n } else {\n matDialogConfig = {\n panelClass: ModalComponent.PANEL_CLASS\n };\n }\n matDialogConfig.autoFocus = false; // Prevent first button to be focused\n\n const dialogRef = matDialog.open(componentType, matDialogConfig);\n if (config.backdropCloseEnable === true) {\n dialogRef.disableClose = false;\n }\n return dialogRef;\n }\n\n /**\n * Use it to open a modal containing the provided templates, with the right configuration.\n */\n static openWithTemplates(\n matDialog: MatDialog,\n headerTemplate: TemplateRef<any>,\n mainTemplate: TemplateRef<any>,\n footerTemplate?: TemplateRef<any>,\n config?: ModalConfig): MatDialogRef<ModalComponent> {\n const dialogRef = ModalComponent.openWithComponent(matDialog, config, ModalComponent);\n dialogRef.componentInstance.closable = (config && config.closable) ? config.closable : false;\n dialogRef.componentInstance.headerBottomBorderEnabled = (config && config.headerBottomBorderEnabled) ? config.headerBottomBorderEnabled : false;\n dialogRef.componentInstance.headerTemplate = headerTemplate;\n dialogRef.componentInstance.mainTemplate = mainTemplate;\n dialogRef.componentInstance.footerTemplate = footerTemplate;\n return dialogRef;\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {ComponentType} from '@angular/cdk/portal';\nimport {MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {ModalComponent, ModalConfig} from '../modal/modal.component';\nimport {ConfirmModalTexts} from './confirm-modal-texts.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-confirm-modal',\n templateUrl: 'confirm-modal.component.html',\n})\nexport class ConfirmModalComponent {\n\n @Input() contentText: string = '';\n @Input() footerCancelButtonId: string = 'cancel';\n @Input() footerCancelButtonLabel: string = '';\n @Input() footerConfirmButtonId: string = 'confirm';\n @Input() footerConfirmButtonLabel: string = '';\n @Input() headerTitle: string = '';\n\n constructor(\n public dialogRef: MatDialogRef<ComponentType<any>>) {\n dialogRef.disableClose = true;\n }\n\n onCancel() {\n this.dialogRef.close(false);\n }\n\n onConfirm() {\n this.dialogRef.close(true);\n }\n\n static open(dialog: MatDialog, confirmModalTexts: ConfirmModalTexts, modalConfig: ModalConfig = null) {\n if (!modalConfig) {\n modalConfig = {};\n }\n if (!modalConfig.matDialogConfig) {\n modalConfig.matDialogConfig = {\n width: '550px'\n };\n }\n const confirmModal = ModalComponent.openWithComponent(dialog, modalConfig, ConfirmModalComponent);\n confirmModal.componentInstance.contentText = confirmModalTexts.contentText;\n confirmModal.componentInstance.footerConfirmButtonId = confirmModalTexts.footerConfirmButtonId;\n confirmModal.componentInstance.footerConfirmButtonLabel = confirmModalTexts.footerConfirmButtonLabel;\n confirmModal.componentInstance.footerCancelButtonId = confirmModalTexts.footerCancelButtonId;\n confirmModal.componentInstance.footerCancelButtonLabel = confirmModalTexts.footerCancelButtonLabel;\n confirmModal.componentInstance.headerTitle = confirmModalTexts.headerTitle;\n return confirmModal;\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport {DaterangepickerComponent} from \"ngx-daterangepicker-material\";\nimport moment from 'moment';\nimport {Moment} from 'moment';\n\nexport enum DatepickerMode {\n Single = 'Single',\n Multiple = 'Multiple',\n Range = 'Range'\n}\n\nexport interface Period {\n startDate: Moment;\n endDate: Moment;\n}\n\nexport interface I18nDatePicker {\n ranges: {\n yesterday: string;\n lastWeek: string;\n last30Days: string;\n lastMonth: string;\n thisMonth: string;\n }\n}\n\nenum SideEnum {\n left = \"left\",\n right = \"right\"\n}\n\n// TODO fix css for range mode (more lateral padding)\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss']\n})\nexport class DatepickerComponent implements OnInit, OnChanges, AfterViewInit {\n @ViewChild('datepickerRef') datepickerRef: DaterangepickerComponent;\n\n @Input() firstDayOfWeek: string;\n @Input() i18n: I18nDatePicker = {\n ranges: {\n yesterday: 'Yesterday',\n lastWeek: 'Last Week',\n last30Days: 'Last 30 days',\n lastMonth: 'Previous month',\n thisMonth: 'This Month',\n }\n };\n @Input() locale;\n @Input() maxDate: Moment;\n @Input() minDate: Moment;\n @Input() mode: DatepickerMode;\n @Input() selectedDate: Moment;\n @Input() selectedDates: Moment[] = [];\n @Input() selectedPeriod: Period = {startDate: null, endDate: null};\n @Input() showRanges: boolean;\n\n @Output() dateSelected = new EventEmitter<any>();\n @Output() periodSelected = new EventEmitter<Period>();\n\n DatepickerMode = DatepickerMode;\n doubleCalendarWidth = 528; // 231px calendar table * 2 = 462 (+ 16px x-padding * 4 = 64)\n localeConfig: {\n customRangeLabel: string;\n daysOfWeek: string[];\n monthNames: string[];\n firstDay: number;\n };\n ranges: {[period: string]: [Moment, Moment]} = {};\n rangePickerWidth = 150;\n width: number;\n pageSet = false;\n\n constructor(public changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n this.initRanges();\n this.initDatePickerLocale();\n }\n\n ngOnChanges(changes) {\n this.setWidth();\n if (this.datepickerRef) {\n setTimeout(() => {\n this.datepickerRef.updateCalendars();\n this.changeDetectorRef.detectChanges();\n }, 100);\n }\n if (changes.selectedPeriod?.currentValue && this.datepickerRef) {\n if (this.selectedPeriod.startDate === null && this.selectedPeriod.endDate === null) {\n this.datepickerRef.clear();\n } else {\n this.datepickerRef.setStartDate(this.selectedPeriod.startDate);\n this.datepickerRef.setEndDate(this.selectedPeriod.endDate);\n }\n }\n if (changes.mode?.currentValue === DatepickerMode.Single && this.datepickerRef) {\n this.setCalendarCurrentPage();\n }\n }\n ngAfterViewInit(): void {\n if (this.datepickerRef) {\n setTimeout(() => {\n this.datepickerRef.updateCalendars();\n this.setCalendarCurrentPage();\n }, 100);\n }\n }\n\n initDatePickerLocale() {\n if (this.locale) {\n moment.locale(this.locale);\n }\n let firstDayOfWeekIndex: number;\n if (this.firstDayOfWeek === \"sunday\") {\n firstDayOfWeekIndex = 0;\n } else if (this.firstDayOfWeek === \"monday\") {\n firstDayOfWeekIndex = 1;\n } else {\n firstDayOfWeekIndex = moment.localeData().firstDayOfWeek();\n }\n this.localeConfig = {\n customRangeLabel: 'custom',\n daysOfWeek: moment.weekdaysMin(),\n monthNames: moment.months(),\n firstDay: firstDayOfWeekIndex\n };\n }\n\n initRanges() {\n this.ranges[this.i18n.ranges.yesterday] = [moment().subtract(1, 'days'), moment().subtract(1, 'days')];\n this.ranges[this.i18n.ranges.lastWeek] = [moment().subtract(7, 'days'), moment().subtract(1, 'days')];\n this.ranges[this.i18n.ranges.last30Days] = [moment().subtract(30, 'days'), moment().subtract(1, 'days')];\n this.ranges[this.i18n.ranges.lastMonth] = [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')];\n this.ranges[this.i18n.ranges.thisMonth] = [moment().startOf('month'), moment().endOf('month')];\n }\n\n isCustomDate = (date: any) => {\n const classes: string[] = [];\n if (this.mode === DatepickerMode.Multiple) {\n classes.push(this.isSelected(date) ? 'active' : 'force-inactive');\n } else if (this.mode === DatepickerMode.Single) {\n classes.push(this.selectedDate && this.selectedDate.isSame(date, 'day') ? 'active' : 'force-inactive');\n } else if (this.mode === DatepickerMode.Range) {\n classes.push('range-picker-mode');\n // Workaround to fix the auto-active today date when no date is selected\n if (moment().isSame(date, 'day')\n && !this.selectedPeriod?.startDate\n && !this.selectedPeriod?.endDate) {\n classes.push('force-inactive');\n }\n }\n return classes;\n }\n\n private isSelected(date: any) {\n return this.selectedDates && this.selectedDates.some(selectedDate => selectedDate.isSame(date, 'day'));\n }\n\n onStartDateChanged(event: any) {\n const date = event.startDate;\n if (this.mode !== DatepickerMode.Range) {\n this.selectedDate = date;\n this.datepickerRef.setEndDate(date);\n if (this.pageSet) {\n this.pageSet = false;\n } else {\n this.dateSelected.emit(date.clone());\n if (this.mode === DatepickerMode.Multiple) {\n this.selectedDates.push(date);\n }\n }\n if (this.datepickerRef) {\n this.datepickerRef.updateCalendars();\n }\n }\n }\n\n onDatesUpdated(event: any) {\n if (this.mode === DatepickerMode.Range) {\n this.periodSelected.emit({\n startDate: event.startDate?.clone(),\n endDate: event.endDate?.clone()\n });\n }\n if (this.datepickerRef) {\n this.datepickerRef.updateCalendars();\n }\n }\n\n onNextMonth() {\n this.datepickerRef.leftCalendar.month = this.datepickerRef.leftCalendar.month.add(1, 'months').clone();\n this.datepickerRef.rightCalendar.month = this.datepickerRef.rightCalendar.month.add(1, 'months').clone();\n this.datepickerRef.clickNext(SideEnum.left);\n this.datepickerRef.clickNext(SideEnum.right);\n }\n\n onPreviousMonth() {\n this.datepickerRef.leftCalendar.month = this.datepickerRef.leftCalendar.month.subtract(1, 'months').clone();\n this.datepickerRef.rightCalendar.month = this.datepickerRef.rightCalendar.month.subtract(1, 'months').clone();\n this.datepickerRef.clickPrev(SideEnum.left);\n this.datepickerRef.clickPrev(SideEnum.right);\n }\n\n /**\n * Ugly hack used here to open the calendar on the right day if they are selected dates\n * * https://github.com/fetrarij/ngx-daterangepicker-material/issues/139\n */\n setCalendarCurrentPage(): void {\n const selectedFirstDate = this.selectedDates.length > 0 ? this.selectedDates[0] : this.selectedDate;\n if (selectedFirstDate && selectedFirstDate.isValid() && this.mode !== DatepickerMode.Range) {\n const endDate = selectedFirstDate.clone();\n endDate.add(1, 'month');\n this.pageSet = true;\n this.datepickerRef.setStartDate(selectedFirstDate);\n this.datepickerRef.setEndDate(endDate);\n this.datepickerRef.updateView();\n }\n this.changeDetectorRef.detectChanges();\n }\n\n\n setWidth() {\n this.width = this.showRanges && this.mode === DatepickerMode.Range ? this.doubleCalendarWidth + this.rangePickerWidth : this.doubleCalendarWidth;\n }\n\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-dots-stepper',\n templateUrl: './dots-stepper.component.html',\n styleUrls: ['./dots-stepper.component.scss']\n})\nexport class DotsStepperComponent implements OnChanges {\n\n @Input() disabled: boolean = false;\n @Input() forwardAllowed: boolean = true;\n @Input() index: number;\n @Input() items: any[] = [];\n @Input() size: string = '';\n\n @Output() dotClick: EventEmitter<number> = new EventEmitter<number>();\n\n currentItem: any;\n\n constructor() {\n }\n\n ngOnChanges() {\n this.currentItem = this.items[this.index];\n }\n\n onDotClick(event, item, index) {\n event.stopPropagation();\n if (this.disabled || (!this.forwardAllowed && index > this.index)) {\n return;\n }\n this.currentItem = item;\n this.index = index;\n this.dotClick.emit(this.index);\n }\n}\n","import {animate, style, transition, trigger} from '@angular/animations';\nimport {Component, ElementRef, EventEmitter, Inject, OnDestroy, ViewChild} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {EditTagsModalData} from './model/edit-tags-modal.model';\n\n@Component({\n templateUrl: './edit-tags-modal.component.html',\n styleUrls: ['./edit-tags-modal.component.scss'],\n animations: [\n trigger('tagSaved', [\n transition('void => *', [\n style({opacity: 1}),\n style({width: 'fit-content'}),\n style({display: 'flex'}),\n animate('6000ms', style({opacity: 0})),\n ]),\n ]),\n trigger('tagRemoved', [\n transition('valid => deleted', [\n style({opacity: 1}),\n animate('1000ms 1000ms', style({opacity: 0})),\n ]),\n ])\n ]\n})\nexport class EditTagsModalComponent implements OnDestroy {\n\n deletedTags: string[] = [];\n editTag: EventEmitter<Map<string, string>> = new EventEmitter<Map<string, string>>();\n filteredTags: string[];\n savingTags: string[] = [];\n tagEditedIndex: number = null;\n tags: string[];\n updatedTags: Map<string, string> = new Map<string, string>();\n updateStatusByTags: Map<string, boolean> = new Map<string, boolean>();\n\n @ViewChild('tagInput') tagInput: ElementRef;\n\n private readonly destroy$: Subject<void> = new Subject<void>();\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: EditTagsModalData,\n public dialogRef: MatDialogRef<EditTagsModalComponent>,\n public dialog: MatDialog\n ) {\n data.tags$.pipe(takeUntil(this.destroy$)).subscribe(tags => {\n if (tags) {\n this.tags = [...tags];\n this.filteredTags = [...tags];\n tags.forEach(tag => this.updatedTags.set(tag, tag));\n }\n });\n\n data.updateStatusByTag$.pipe(takeUntil(this.destroy$)).subscribe(\n (updateStatusByTag) => {\n if (updateStatusByTag) {\n const updateStatusByTagMap = new Map<string, boolean>();\n updateStatusByTag.forEach(value => {\n updateStatusByTagMap.set(value.tag, value.loading);\n if (value.loading === false) {\n this.updateTagSuccess(value.tag);\n }\n });\n this.updateStatusByTags = updateStatusByTagMap;\n }\n }\n );\n }\n\n cancelEdit(): void {\n this.tagEditedIndex = null;\n }\n\n onDone(): void {\n this.dialogRef.close();\n }\n\n onEdit(index: number): void {\n this.tagEditedIndex = index;\n }\n\n onRemove(tag: string): void {\n this.updatedTags.set(tag, null);\n const updatedTag = new Map<string, string>();\n updatedTag.set(tag, null);\n this.editTag.emit(updatedTag);\n this.tagEditedIndex = null;\n }\n\n onValidateInput(index: number): void {\n this.onValidate(this.tagInput.nativeElement.value, index);\n }\n\n onValidate(value: string, index: number): void {\n if (value) {\n const entry = Array.from(this.updatedTags.entries()).find(((keyValue) => keyValue[1] === this.tags[index]));\n this.updatedTags.set(entry[0], value);\n const updatedTag = new Map<string, string>();\n updatedTag.set(entry[0], value);\n this.tags[index] = value;\n this.filteredTags[index] = value;\n this.editTag.emit(updatedTag);\n this.savingTags.push(value);\n this.tagEditedIndex = null;\n }\n }\n\n onValidateEnter(event: any, index: number): void {\n if (event.key === 'Enter') {\n this.onValidate(event.target.value, index);\n }\n }\n\n onSearch(tag: string): void {\n this.filteredTags = Array.from(this.updatedTags.values()).filter((item) => item?.toLowerCase().includes(tag.toLowerCase()));\n }\n\n updateTagSuccess(tag: string): void {\n if (this.updatedTags.get(tag) === null) {\n this.deletedTags.push(tag);\n setTimeout(() => {\n this.tags = this.tags.filter(tagToFilter => tagToFilter !== tag);\n this.filteredTags = this.filteredTags.filter(tagToFilter => tagToFilter !== tag);\n this.deletedTags = this.deletedTags.filter(tagToFilter => tagToFilter !== tag);\n }, 2000);\n } else {\n setTimeout(() => {\n this.savingTags = this.savingTags.filter(tagToFilter => tagToFilter !== tag);\n }, 6000);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n ViewChild\n} from '@angular/core';\nimport {animate, AnimationBuilder, style} from '@angular/animations';\n\nexport enum InstagramCarouselItemType {\n IMAGE = 'photo',\n VIDEO = 'video'\n}\n\nexport interface InstagramCarouselItem {\n type: InstagramCarouselItemType;\n url: string;\n thumbnailUrl?: string;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-image-carousel',\n templateUrl: './image-carousel.component.html',\n styleUrls: ['./image-carousel.component.scss']\n})\nexport class ImageCarouselComponent {\n\n public InstagramCarouselItemType = InstagramCarouselItemType;\n\n @ViewChild('carousel') private carousel: ElementRef;\n\n @Input() items: InstagramCarouselItem[] = [];\n @Input() dotsInside = false;\n @Input() soundEnabled = false;\n @Input() supportGif = true;\n @Input() tinyMode = false;\n\n @Output() currentImageChanged: EventEmitter<InstagramCarouselItem> = new EventEmitter<InstagramCarouselItem>();\n\n private _selectedIndex = 0;\n public carouselOffset = 0;\n public isPlaying: boolean;\n private mouseOver: boolean;\n public videoPlayers: HTMLVideoElement[] = [];\n\n constructor(private animationBuilder: AnimationBuilder) {\n }\n\n public get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n public set selectedIndex(value: number) {\n this.videoPause(this.selectedIndex);\n if (value < 0) {\n value = 0;\n }\n if (value > this.items.length - 1) {\n value = this.items.length - 1;\n }\n this._selectedIndex = value;\n this.move();\n if (this.tinyMode && this.mouseOver) {\n this.videoPlay(this.selectedIndex);\n }\n }\n\n isPrevButtonEnabled(): boolean {\n return this.selectedIndex > 0;\n }\n\n isNextButtonEnabled(): boolean {\n if (this.items && this.items[this.selectedIndex]) {\n return this.selectedIndex < this.items.length - 1;\n }\n return false;\n }\n\n isVideo(): boolean {\n if (this.items && this.items[this.selectedIndex]) {\n return this.items[this.selectedIndex].type === InstagramCarouselItemType.VIDEO;\n }\n return false;\n }\n\n dotsDisplayed(): boolean {\n if (this.items && this.items[this.selectedIndex]) {\n return this.items.length > 1;\n }\n return false;\n }\n\n prev(): void {\n this.selectedIndex -= 1;\n this.currentImageChanged.emit(this.items[this.selectedIndex]);\n }\n\n next(): void {\n this.selectedIndex += 1;\n this.currentImageChanged.emit(this.items[this.selectedIndex]);\n }\n\n play(event, index: number): void {\n if (!this.tinyMode) {\n const videoPlayer: HTMLVideoElement = this.videoPlayers[index];\n if (videoPlayer) {\n videoPlayer.paused ? this.videoPlay(index) : this.videoPause(index);\n }\n event.stopPropagation();\n }\n }\n\n move(instantaneous: boolean = false): void {\n this.carouselOffset = -this.carousel.nativeElement.offsetWidth * this.selectedIndex;\n this.animationBuilder.build(\n animate(instantaneous ? '1ms' : '250ms ease-in', style({transform: `translateX(${this.carouselOffset}px)`}))\n ).create(this.carousel.nativeElement).play();\n }\n\n onMouseEntersVideo(event, index) {\n this.mouseOver = true;\n if (this.tinyMode) {\n this.videoPlay(index);\n }\n }\n\n onMouseLeavesVideo(event, index) {\n this.mouseOver = false;\n if (this.tinyMode) {\n this.videoPause(index);\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.move(true);\n }\n\n public registerVideoPlayer(event, index: number) {\n this.videoPlayers[index] = event.target;\n event.target.muted = !this.soundEnabled;\n }\n\n private videoPause(index: number) {\n const videoPlayer: HTMLVideoElement = this.videoPlayers[index];\n if (videoPlayer) {\n videoPlayer.pause();\n this.isPlaying = false;\n }\n }\n\n private videoPlay(index: number) {\n const videoPlayer: HTMLVideoElement = this.videoPlayers[index];\n if (videoPlayer) {\n videoPlayer.play();\n this.isPlaying = true;\n }\n }\n\n public switchSound() {\n this.soundEnabled = !this.soundEnabled;\n for (const player of this.videoPlayers) {\n player.muted = !this.soundEnabled;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component\n} from '@angular/core';\nimport {MatDialogRef} from \"@angular/material/dialog\";\nimport {ComponentType} from \"@angular/cdk/overlay\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-feature-onboarding',\n templateUrl: './feature-onboarding.component.html',\n styleUrls: ['./feature-onboarding.component.scss']\n})\nexport class FeatureOnboardingComponent {\n\n // translations\n backButtonLabel: string = '';\n finishButtonLabel: string = '';\n nextButtonLabel: string = '';\n\n arrowsDisplayed: boolean = false; // To display arrows to switch element on carousel\n templates: any[]; // One template represent one element of the carousel\n slideDisplayedIndex: number = 0; // The current element displayed\n\n constructor(public dialogRef: MatDialogRef<ComponentType<any>>) {\n }\n\n onClickNext() {\n this.slideDisplayedIndex !== this.templates.length - 1 ? this.slideDisplayedIndex = this.slideDisplayedIndex + 1 : this.onCloseCarousel();\n }\n\n onClickPrevious() {\n this.slideDisplayedIndex = this.slideDisplayedIndex - 1;\n }\n\n onCloseCarousel() {\n this.dialogRef.close(true);\n }\n\n}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {LeadInfo} from './lead-info.model';\n\nexport interface TranslatedStrings {\n agencyFieldLabel: string;\n agencyNoLabel: string;\n agencyYesLabel: string;\n profileFieldLabel: string;\n teamFieldLabel: string;\n teamMeLabel: string;\n title: string;\n validateButtonLabel: string;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-lead-modal',\n templateUrl: 'lead-modal.component.html',\n})\nexport class LeadModalComponent {\n\n constructor(\n public dialogRef: MatDialogRef<LeadModalComponent>,\n @Inject(MAT_DIALOG_DATA) public translatedStrings: TranslatedStrings) {\n dialogRef.disableClose = true;\n }\n\n plans = {\n PRO: 'pro',\n PREMIUM: 'premium',\n PREMIUM_PLUS: 'premium+',\n ENTERPRISE: 'enterprise',\n };\n\n orderedPlans = [\n this.plans.PRO,\n this.plans.PREMIUM,\n this.plans.PREMIUM_PLUS,\n this.plans.ENTERPRISE,\n ];\n\n qualifiedProfilePlan: string;\n qualifiedTeamPlan: string;\n profileType: string;\n\n onValidate(qualifiedProfilePlan: string, qualifiedTeamPlan: string, profileType: string): LeadInfo {\n const qualifiedPlan: string = this.orderedPlans.indexOf(qualifiedProfilePlan) > this.orderedPlans.indexOf(qualifiedTeamPlan)\n ? qualifiedProfilePlan\n : qualifiedTeamPlan;\n\n return {\n language: window.navigator && window.navigator.language ? window.navigator.language : '',\n qualifiedPlan: qualifiedPlan,\n qualifiedProfilePlan: qualifiedProfilePlan,\n qualifiedTeamPlan: qualifiedTeamPlan,\n profileType: profileType\n };\n }\n\n}\n","import {ChangeDetectionStrategy, Component, HostListener, Inject, OnInit} from '@angular/core';\nimport {MatDialogConfig, MatDialogRef} from '@angular/material/dialog';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\n\nexport interface MediaDisplayData {\n urls: string[];\n url: string;\n mediaType: string;\n supportGif: boolean;\n}\n\nexport enum KEY_CODE {\n RIGHT_ARROW = 39,\n LEFT_ARROW = 37\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-media-display-overlay',\n styleUrls: ['./media-display-overlay-dialog.component.scss'],\n templateUrl: './media-display-overlay-dialog.component.html'\n})\nexport class MediaDisplayOverlayDialogComponent implements OnInit {\n\n static config: MatDialogConfig = {\n position: {\n top: '10px',\n right: '10px',\n left: '10px'\n },\n height: '100%',\n width: '100%',\n maxWidth: 'none',\n panelClass: 'full-screen-modal',\n backdropClass: 'dark-backdrop'\n };\n\n currentUrlIndex = 1;\n urls: string[] = []; // all urls\n url: string; // current displayed url\n mediaType = 'image'; // 'image', 'video'\n supportGif = true;\n\n constructor(public dialogRef: MatDialogRef<MediaDisplayOverlayDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: MediaDisplayData) {\n }\n\n ngOnInit(): void {\n // const data = ModalService.getModal('media-display-overlay') || {};\n if (this.data) {\n if (this.data.urls && this.data.urls.length > 0) {\n this.urls = this.data.urls;\n }\n if (this.data.url) {\n if (this.urls.length === 0) {\n this.urls = [this.data.url];\n }\n this.url = this.data.url;\n this.currentUrlIndex = this.urls.indexOf(this.data.url) + 1;\n }\n }\n }\n\n onClose() {\n this.dialogRef.close();\n }\n\n onNext($event: UIEvent) {\n if (this.currentUrlIndex < this.urls.length) {\n this.currentUrlIndex += 1;\n this.url = this.urls[this.currentUrlIndex - 1];\n }\n $event.stopPropagation();\n }\n\n onPrevious($event: UIEvent) {\n if (this.currentUrlIndex > 1) {\n this.currentUrlIndex -= 1;\n this.url = this.urls[this.currentUrlIndex - 1];\n }\n $event.stopPropagation();\n }\n\n @HostListener('window:keyup', ['$event'])\n keyEvent(event: KeyboardEvent) {\n\n if (event.keyCode === KEY_CODE.RIGHT_ARROW) {\n this.onNext(event);\n }\n\n if (event.keyCode === KEY_CODE.LEFT_ARROW) {\n this.onPrevious(event);\n }\n }\n}\n","import {Component, Inject} from '@angular/core';\nimport {OverlayRef} from '@angular/cdk/overlay';\nimport {InjectionToken} from '@angular/core';\n\nexport interface OverlayData {\n template: string;\n}\n\nexport class OverlayDialogRef {\n\n constructor(private overlayRef: OverlayRef) {\n }\n\n close(): void {\n this.overlayRef.dispose();\n }\n}\n\nexport const OVERLAY_DATA = new InjectionToken<OverlayData>('OVERLAY_DATA');\n\n@Component({\n selector: 'ap-overlay',\n styleUrls: ['./overlay-dialog.component.scss'],\n templateUrl: './overlay-dialog.component.html'\n})\nexport class OverlayDialogComponent {\n\n constructor(\n public dialogRef: OverlayDialogRef,\n @Inject(OVERLAY_DATA) public data: any) {\n }\n\n close() {\n this.dialogRef.close();\n }\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-overlay-in-div',\n templateUrl: './overlay-in-div.component.html',\n styleUrls: ['./overlay-in-div.component.scss']\n})\nexport class OverlayInDivComponent {\n\n @Input() title: string;\n @Input() subtitle: string;\n @Input() imgPath: string;\n @Input() closable = true;\n\n @Output() close: EventEmitter<any> = new EventEmitter<any>();\n\n\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-place',\n templateUrl: './place.component.html',\n styleUrls: ['./place.component.scss']\n})\nexport class PlaceComponent {\n\n @Input() service: string;\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-place-list',\n templateUrl: './place-list.component.html',\n styleUrls: ['./place-list.component.scss']\n})\nexport class PlaceListComponent {\n\n}\n","export const defaultOptions = {\n 'apPopmenuBorder': true,\n 'apPopmenuDisabled': false,\n 'apPopmenuBackground': true,\n 'hasBackdrop': true,\n\t'placement': 'top',\n 'rounded' : true,\n\t'showDelay': 0,\n\t'hideDelay': 10,\n\t'hideDelayMobile': 0,\n\t'shadow': true,\n\t'theme': 'dark',\n\t'offset': 8,\n\t'maxWidth': '600',\n};\n","import {InjectionToken} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const PopmenuOptionsService = new InjectionToken<PopmenuOptions>('PopmenuOptions');\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n ViewChild\n} from '@angular/core';\nimport {MatMenuTrigger} from '@angular/material/menu';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-popmenu',\n templateUrl: './popmenu.component.html',\n styleUrls: ['./popmenu.component.scss']\n})\nexport class PopmenuComponent implements AfterViewInit {\n\n @Input() data: any;\n events = new EventEmitter();\n arrowTopPosition = '50%';\n arrowBottomPosition = '50%';\n arrowLeftPosition: string;\n arrowRightPosition: string;\n arrowClass: string;\n below;\n before;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;\n @HostBinding('style.top') hostStyleTop: string;\n @HostBinding('style.border-radius') hostStyleBorderRadius: string;\n @HostBinding('style.left') hostStyleLeft: string;\n @HostBinding('style.z-index') hostStyleZIndex: number;\n @HostBinding('style.transition') hostStyleTransition: string;\n @HostBinding('style.width') hostStyleWidth: string;\n @HostBinding('style.max-width') hostStyleMaxWidth: string;\n @HostBinding('style.pointer-events') hostStylePointerEvents: string;\n @HostBinding('class.tooltip-show') hostClassShow: boolean;\n @HostBinding('class.tooltip-shadow') hostClassShadow: boolean;\n @HostBinding('class.tooltip-light') hostClassLight: boolean;\n viewInit = false;\n\n _show = false;\n\n get show(): boolean {\n return this._show;\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = value;\n }\n\n @Input() set close(value: boolean) {\n if (value) {\n this.trigger.closeMenu();\n }\n }\n get arrow() {\n return this.data.options.arrow && this.border;\n }\n\n get arrowOffset() {\n return this.data.options.arrowOffset;\n }\n\n get arrowPosition() {\n return this.data.options.arrowPosition;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get background() {\n return this.data.options.apPopmenuBackground;\n }\n\n get border() {\n return this.data.options.apPopmenuBorder;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get hasBackdrop() {\n return this.data.options.hasBackdrop;\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n get options() {\n return this.data.options;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get rounded() {\n return this.data.options.rounded;\n }\n\n get shadow() {\n return this.data.options.shadow;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get value() {\n return this.data.value;\n }\n\n constructor(public renderer: Renderer2,\n public elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef) {\n }\n\n ngAfterViewInit() {\n this.viewInit = true;\n }\n\n onMenuClosed() {\n // we set a timeout to wait for the menu to be really closed\n setTimeout(() => this.menuClosed.emit(), 200);\n }\n\n onMenuOpened() {\n // we set a timeout to wait for the menu to be really opened\n setTimeout(() => this.menuOpened.emit(), 100);\n }\n\n setHostStyle(placement: string): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.x;\n\n let elementHeight = !this.element.offsetHeight ? this.element.getBoundingClientRect().height : this.element.offsetHeight;\n let elementWidth = !this.element.offsetWidth ? this.element.getBoundingClientRect().width : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n let topStyle;\n let leftStyle;\n\n if (isCustomPosition) {\n if (placement && placement.split(' ')[0] === 'top') {\n this.below = false;\n }\n if (placement && placement.split(' ')[0] === 'bottom') {\n this.below = true;\n }\n elementHeight = 0;\n elementWidth = 0;\n topStyle = this.elementPosition.top;\n leftStyle = this.elementPosition.left;\n if (this.arrow && this.arrowPosition) {\n this.arrowClass = 'arrow-' + this.arrowPosition;\n switch (this.arrowPosition) {\n case 'left':\n case 'right':\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset + '%';\n break;\n case 'top':\n case 'bottom':\n this.arrowLeftPosition = this.arrowOffset + '%';\n this.arrowRightPosition = 'auto';\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n break;\n }\n }\n } else {\n\n if (placement.split(' ')[0] === 'top') {\n this.below = false;\n topStyle = this.elementPosition.top - this.tooltipOffset;\n topStyle += 8;\n }\n\n if (placement.split(' ')[0] === 'bottom') {\n this.below = true;\n topStyle = this.elementPosition.bottom + this.tooltipOffset;\n // We remove 8px due to the margin-top we put to display the arrow.\n topStyle -= 8;\n }\n\n if (placement.split(' ')[0] === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset;\n }\n\n if (placement.split(' ')[0] === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset;\n }\n\n if (placement.split(' ')[0] === 'left' || placement.split(' ')[0] === 'right') {\n topStyle = (this.elementPosition.top + scrollY) + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n if (placement === 'right bottom') {\n this.below = true;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = (this.elementPosition.top + scrollY);\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? (this.arrowOffset + '%') : (elementHeight / 2 + 'px');\n }\n\n if (placement === 'left bottom') {\n this.below = true;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = (this.elementPosition.top + scrollY);\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowBottomPosition = 'auto';\n this.arrowTopPosition = this.arrowOffset ? (this.arrowOffset + '%') : (elementHeight / 2 + 'px');\n }\n\n if (placement === 'right top') {\n this.below = false;\n this.before = false;\n this.arrowClass = 'arrow-left';\n topStyle = (this.elementPosition.top + elementHeight + scrollY);\n this.arrowLeftPosition = undefined;\n this.arrowRightPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset ? (this.arrowOffset + '%') : (-(tooltip.clientHeight - elementHeight / 2) + 'px');\n }\n\n if (placement === 'left top') {\n this.below = false;\n this.before = true;\n this.arrowClass = 'arrow-right';\n topStyle = (this.elementPosition.top + elementHeight + scrollY);\n this.arrowRightPosition = undefined;\n this.arrowLeftPosition = undefined;\n this.arrowTopPosition = 'auto';\n this.arrowBottomPosition = this.arrowOffset ? (this.arrowOffset + '%') : (-(tooltip.clientHeight - elementHeight / 2) + 'px');\n }\n\n if (placement === 'bottom right') {\n this.before = false;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.left;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 4.5) + 'px');\n }\n\n if (placement === 'bottom left') {\n this.before = true;\n this.below = true;\n this.arrowClass = 'arrow-top';\n leftStyle = this.elementPosition.right;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 2.5) + 'px');\n }\n\n if (placement === 'top right') {\n this.before = false;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.left;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowRightPosition = 'auto';\n this.arrowLeftPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 4.5) + 'px');\n }\n\n if (placement === 'top left') {\n this.before = true;\n this.below = false;\n this.arrowClass = 'arrow-bottom';\n leftStyle = this.elementPosition.right;\n this.arrowBottomPosition = undefined;\n this.arrowTopPosition = undefined;\n this.arrowLeftPosition = 'auto';\n this.arrowRightPosition = this.arrowOffset ? (this.arrowOffset + '%') : (((elementWidth / 2) - 2.5) + 'px');\n }\n }\n\n // This line is PURE MAGIC and super important. It allows to force mat-menu\n // to reposition the menu with the new xPosition / yPosition.\n this.changeDetectorRef.detectChanges();\n\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n\n if ((topEdge < 0 || bottomEdge > document.body.clientHeight ||\n leftEdge < 0 || rightEdge > document.body.clientWidth) && this.autoPlacement) {\n return false;\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setPlacementClass(placement ?: string): void {\n this.renderer.addClass(this.elementRef.nativeElement, 'tooltip-' + (placement ? placement.split(' ')[0] : placement));\n this.renderer.addClass(this.elementRef.nativeElement, 'yPosition-' +\n (placement && placement.split(' ').length === 2 ? placement.split(' ')[1] : 'center'));\n\n if (this.elementRef.nativeElement.children && this.elementRef.nativeElement.children.length > 1) {\n const tooltipArrow = Array.from(this.elementRef.nativeElement.children).filter((\n child: HTMLElement) => child.getAttribute('id') === 'tooltipArrow');\n if (tooltipArrow && tooltipArrow.length === 1) {\n if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'bottom') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowTopPosition);\n } else if (placement && placement.split(' ').length === 2 && placement.split(' ')[1] === 'top') {\n this.renderer.setStyle(tooltipArrow[0], 'top', this.arrowBottomPosition);\n }\n }\n }\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n if (this.viewInit) {\n // We did this in order to reset overlayRef (multi web component needed with matmenu and cdk overlay)\n if (this.trigger[\"_overlayRef\"]) {\n this.trigger[\"_overlayRef\"].dispose();\n this.trigger[\"_overlayRef\"] = null;\n }\n this.trigger.openMenu();\n }\n return;\n } else {\n const placements = ['top', 'right', 'bottom', 'left'];\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n if (this.viewInit) {\n this.trigger.openMenu();\n }\n return;\n }\n }\n }\n\n }\n\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n Renderer2, TemplateRef\n} from '@angular/core';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {defaultOptions} from './options';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n menuClosed: any;\n menuOpened: any;\n}\n\n@Directive({\n selector: '[apPopmenu]'\n})\n\nexport class PopmenuDirective implements OnChanges, OnInit {\n\n hideTimeoutId: number;\n destroyTimeoutId: number;\n createTimeoutId: number;\n showTimeoutId: number;\n componentRef: any;\n elementPosition: any;\n componentSubscribe: any;\n _defaultOptions: any;\n @Input() apPopmenuBorder: boolean;\n @Input() apPopmenuDisabled: boolean;\n @Input() apPopmenuBackground: boolean = true;\n @Input() arrow: boolean;\n @Input() arrowOffset: number;\n @Input() arrowPosition: string;\n @Input() close = false;\n @Input() hasBackdrop: boolean = true;\n @Input() offset: number;\n @Input() placement: string;\n @Input() pointer = true;\n @Input('apPopmenu') popMenuValue: TemplateRef<any>;\n @Input() position: { top: number, left: number };\n @Input() rounded: boolean;\n @Input() shadow: boolean;\n @Output() menuClosed: EventEmitter<any> = new EventEmitter<any>();\n @Output() menuOpened: EventEmitter<any> = new EventEmitter<any>();\n\n _options: any = {};\n\n get options() {\n return this._options;\n }\n\n @Input('options') set options(value: PopmenuOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get destroyDelay() {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n\n get isDisplayOnHover(): boolean {\n if (this.options['display'] === false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] === false) {\n return false;\n }\n\n if (this.options['trigger'] !== 'hover') {\n return false;\n }\n\n return true;\n }\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get tooltipPosition() {\n if (this.options['position']) {\n return this.options['position'];\n } else {\n return this.elementPosition;\n }\n }\n\n constructor(\n @Optional() @Inject(PopmenuOptionsService) private initOptions,\n public renderer: Renderer2,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n appendComponentToBody(component: any, data: any = {}): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.appRef.attachView(this.componentRef.hostView);\n const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuClosed.subscribe((event: any) => {\n this.handleClose(event);\n });\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).menuOpened.subscribe((event: any) => {\n this.handleOpen(event);\n });\n }\n\n handleClose(event: any) {\n this.menuClosed.emit();\n }\n\n handleOpen(event: any) {\n this.menuOpened.emit();\n }\n\n applyOptionsDefault(defaultOptions, options): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, options);\n }\n\n clearTimeouts(): void {\n if (this.createTimeoutId) {\n clearTimeout(this.createTimeoutId);\n }\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n if (this.destroyTimeoutId) {\n clearTimeout(this.destroyTimeoutId);\n }\n }\n\n createPopMenu(): void {\n this.clearTimeouts();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(PopmenuComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n getHideDelay() {\n return this.options['hideDelay'];\n }\n\n getProperties(changes) {\n let properties = {};\n\n for (const prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n properties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n properties = changes[prop].currentValue;\n }\n }\n return properties;\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n ngOnChanges(changes) {\n if (changes.pointer) {\n if (!this.pointer) {\n this.renderer.removeStyle(this.elementRef.nativeElement, 'cursor');\n } else {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n if (changes.close && changes.close.currentValue) {\n this.hideTooltipElem();\n }\n const changedOptions = this.getProperties(changes);\n this.applyOptionsDefault(this.options && Object.keys(this.options).length > 0 ? this.options : defaultOptions, changedOptions);\n }\n\n ngOnInit(): void {\n if (this.pointer) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');\n }\n }\n\n @HostListener('click')\n onClick() {\n if (this.apPopmenuDisabled) {\n return;\n }\n this.show();\n this.close = false;\n }\n\n public show() {\n this.getElementPosition();\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createPopMenu();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n showTooltipElem(): void {\n (<AdComponent>this.componentRef.instance).data = {\n value: this.popMenuValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n };\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n }\n\n hideTooltipElem(): void {\n if (this.componentRef) {\n (<AdComponent>this.componentRef.instance).close = true;\n }\n }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PopmenuDirective} from './popmenu.directive';\nimport {PopmenuOptions} from './popmenu-options.interface';\nimport {PopmenuOptionsService} from './popmenu-options.service';\nimport {PopmenuComponent} from './popmenu.component';\nimport {MatMenuModule} from '@angular/material/menu';\n\n@NgModule({\n declarations: [\n PopmenuDirective,\n PopmenuComponent\n ],\n imports: [\n CommonModule,\n MatMenuModule,\n ],\n entryComponents: [\n PopmenuComponent\n ],\n exports: [\n PopmenuDirective\n ]\n})\nexport class PopmenuModule {\n\n static forRoot(initOptions: PopmenuOptions): ModuleWithProviders<PopmenuModule> {\n return {\n ngModule: PopmenuModule,\n providers: [\n {\n provide: PopmenuOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-splashscreen',\n templateUrl: './splashscreen.component.html',\n styleUrls: ['./splashscreen.component.scss']\n})\nexport class SplashscreenComponent {\n @Input() cardLabels: string[] = [];\n @Input() cardDirection: 'vertical' | 'horizontal' = 'horizontal';\n @Input() disposition = 'row';\n @Input() imgHeight = 150;\n @Input() imgPaths: string[] = [];\n @Input() imgWidth = 150;\n @Input() title = '';\n /**\n * The container and the cards width. All:\n * - 100% of parent width\n * - default: 750px for the container and 50% of the container for each card\n */\n @Input() width: 'all' | 'default' = 'default';\n}\n","import {ChangeDetectionStrategy, Component, Input, SimpleChanges} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss']\n})\nexport class TagComponent {\n\n @Input() color: string | 'blue' | 'red' | 'purple' | 'orange' | 'yellow' | 'green' = '';\n @Input() onlyText: boolean = false;\n\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-tag-list',\n templateUrl: './tag-list.component.html',\n styleUrls: ['./tag-list.component.scss']\n})\nexport class TagListComponent {\n\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {TryPopupTexts} from './try-popup-texts.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-try-popup',\n templateUrl: 'try-popup.component.html',\n styleUrls: ['try-popup.component.scss']\n})\n\nexport class TryPopupComponent {\n\n @Input() texts: TryPopupTexts;\n @Input() trialUrl: string;\n\n @Output() trialClicked: EventEmitter<any> = new EventEmitter<any>();\n @Output() closeClicked: EventEmitter<any> = new EventEmitter<any>();\n\n tryAgorapulsePopupVisible: boolean = true;\n logoUrl: string = 'assets/img/style/logos/logo-blue.svg';\n\n onClose() {\n this.tryAgorapulsePopupVisible = false;\n this.closeClicked.emit();\n }\n\n onButtonClick() {\n this.trialClicked.emit();\n this.onClose();\n window.open(this.trialUrl, '_blank');\n }\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input, OnChanges,\n OnInit,\n Output, SimpleChanges,\n} from '@angular/core';\nimport {Observable, of, Subject} from \"rxjs\";\nimport {catchError, debounceTime, distinctUntilChanged, map, switchMap, tap} from \"rxjs/operators\";\n\nexport interface TagsSelectorLabels {\n placeholder: string;\n createTag: string;\n}\n\n@Component({\n selector: 'ap-tags-selector',\n templateUrl: './tags-selector.component.html',\n styleUrls: ['./tags-selector.component.scss']\n})\nexport class TagsSelectorComponent implements OnInit, OnChanges {\n\n readonly INFINITY = Number.MAX_SAFE_INTEGER;\n\n @Input() addTagEnabled: boolean = true;\n @Input() disabled: boolean = false;\n @Input() initialTags: string[] = [];\n @Input() labels: TagsSelectorLabels;\n @Input() loadingOnSearch: boolean = true;\n @Input() multipleEnabled: boolean = true;\n @Input() searchTagsFunction: (string) => Observable<string[]>;\n\n @Output() selectTags = new EventEmitter<string[]>();\n @Output() searchErrorMessage = new EventEmitter<string>();\n\n tags: string[] = [];\n tagsInput$: Subject<string> = new Subject<string>();\n tags$: Observable<string[]>;\n tagsLoading = false;\n\n constructor() { }\n\n ngOnInit(): void {\n this.tags = this.initialTags;\n this.setSearchFunction();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.initialTags?.currentValue) {\n this.tags = this.initialTags;\n }\n }\n\n onAdd(): void {\n this.tags$ = of([]);\n this.setSearchFunction();\n }\n\n onOpen(): void {\n this.tagsInput$.next('');\n }\n\n onTagsChange(): void {\n this.selectTags.emit(this.tags);\n }\n\n setSearchFunction(): void {\n this.tags$ = this.tagsInput$.pipe(\n debounceTime(this.loadingOnSearch ? 400 : 0),\n distinctUntilChanged(),\n tap(() => {\n this.tagsLoading = true;\n }),\n switchMap((term: string) => this.searchTagsFunction(term).pipe(\n catchError((response) => {\n this.searchErrorMessage.emit(response.error ? response.error.message: 'Error');\n return [];\n }),\n map(response => {\n this.tagsLoading = false;\n if (!response || Object.keys(response).length == 0) {\n return [];\n }\n return response;\n })\n )));\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n ViewChild\n} from '@angular/core';\nimport {OverlayContainer} from \"@angular/cdk/overlay\";\nimport moment from 'moment';\nimport {CdkVirtualScrollViewport} from \"@angular/cdk/scrolling\";\n\n/**\n * Time in 24h format\n */\nexport interface Time {\n hours: number;\n minutes: number;\n best?: boolean;\n}\n\nexport enum TimeFormat {\n Meridian = 'Meridian',\n Default = 'Default'\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-timepicker',\n templateUrl: './timepicker.component.html',\n styleUrls: ['./timepicker.component.scss']\n})\nexport class TimepickerComponent implements OnInit, OnChanges {\n @ViewChild('inputBox') inputBox: ElementRef;\n @ViewChild('inputTime') inputTime: ElementRef;\n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n\n @Input() disabled: boolean = false;\n @Input() format: TimeFormat = TimeFormat.Default;\n @Input() invalid: boolean = false;\n @Input() invalidationMessage: string;\n @Input() period: number = 15;\n @Input() placement: string = 'bottom';\n @Input() timeModel: string;\n @Output() timeModelChange: EventEmitter<Time> = new EventEmitter<Time>();\n\n closeMenu: boolean = false;\n openedMenu: boolean = false;\n position: {top: number, left: number} = null;\n previousTime: string = null;\n timeActive;\n TimeFormat = TimeFormat;\n timeFormat12 = /(^[01]?\\d)(:)([0-5]\\d)(am|pm)+?$/i;\n timeFormat12anySeparator = /(^[01]?\\d)([^0-9])([0-5]\\d)(am|pm)+?$/i;\n timeFormat12WithoutMinute = /(^[01]?\\d)(am|pm)+?$/i;\n timeFormat24 = /^([01]?[0-9]|2[0-3]):[0-5][0-9]$/;\n timeFormat24anySeparator = /^([01]?[0-9]|2[0-3])([^0-9])([0-5][0-9])$/;\n times: string[] = [];\n validated = false;\n listFocus = false;\n validationStarted = false;\n\n constructor(public changeDetectorRef: ChangeDetectorRef, private overlayContainer: OverlayContainer, private renderer: Renderer2) {\n const disableAnimations: boolean = true;\n // get overlay container to set property that disables animations\n const overlayContainerElement: HTMLElement = this.overlayContainer.getContainerElement();\n // angular animations renderer hooks up the logic to disable animations into setProperty\n this.renderer.setProperty( overlayContainerElement, \"@.disabled\", disableAnimations );\n }\n\n ngOnInit(): void {\n this.generateTimeSlots();\n }\n\n ngOnChanges(changes: any): void {\n this.generateTimeSlots();\n if (changes.placement && changes.placement.currentValue) {\n if (changes.placement.currentValue === 'top') {\n this.position = {\n top: 179, // height of picker\n left: this.inputBox.nativeElement.getBoundingClientRect().left\n };\n } else {\n this.position = { top: this.inputBox.nativeElement.getBoundingClientRect().top +\n this.inputBox.nativeElement.getBoundingClientRect().height ,\n left: this.inputBox.nativeElement.getBoundingClientRect().left};\n }\n setTimeout(() => {\n this.changeDetectorRef.markForCheck();\n }, 200);\n }\n }\n\n emitChanges(): void {\n const time24Format = this.format === TimeFormat.Default ? this.timeModel : TimepickerComponent.convert12To24(this.timeModel);\n const time: Time = {\n hours: this.getHoursFrom24(time24Format),\n minutes: this.getMinutesFrom24(time24Format),\n best: false,\n };\n this.timeModelChange.emit(time);\n this.closeMenu = true;\n this.changeDetectorRef.detectChanges();\n this.inputBox.nativeElement.focus();\n }\n\n getHoursFrom24(time24Format: string): number {\n return +(time24Format.split(':')[0]);\n }\n\n getMinutesFrom24(time24Format: string): number {\n return +(time24Format.split(':')[1]);\n }\n\n generateTimeSlots(): void {\n this.changeDetectorRef.detectChanges();\n this.times = Object.assign([], []);\n if (!this.timeModel) {\n this.timeModel = moment().format('HH:mm');\n }\n if (this.format === TimeFormat.Meridian) {\n if (!this.timeModel.includes('am') && !this.timeModel.includes('pm')) {\n this.timeModel = TimepickerComponent.convert24To12(this.timeModel);\n }\n } else {\n if (this.timeModel.includes('am') || this.timeModel.includes('pm')) {\n this.timeModel = TimepickerComponent.convert12To24(this.timeModel);\n }\n }\n for (let i = 0; i < 24; i++) {\n let hour = i;\n let meridian = '';\n if (this.format === TimeFormat.Meridian) {\n meridian = 'am';\n if (hour >= 12) {\n meridian = 'pm';\n if (hour > 12) {\n hour = hour - 12;\n }\n }\n if (hour === 0) {\n hour = 12;\n }\n }\n for (let j = 0; j < 60; j += this.period) {\n const time = hour + ':' + TimepickerComponent.toFixed(j, 10) + meridian;\n this.times = [...this.times, time];\n }\n }\n\n if (!this.timeModel) {\n this.timeModel = moment().format('HH:mm');\n if (this.format === TimeFormat.Meridian) {\n this.timeModel = moment().format('hh:mma');\n }\n }\n this.changeDetectorRef.detectChanges();\n }\n\n focusOnList(focusEnabled: boolean): void {\n this.listFocus = focusEnabled;\n\n }\n\n onMenuClosed(): void {\n this.closeMenu = true;\n this.openedMenu = false;\n this.listFocus = false;\n if (!this.validationStarted) {\n this.validate(this.timeModel);\n }\n this.viewPort.setRenderedContentOffset(0);\n this.viewPort.scrollToIndex(0);\n this.validated = false;\n this.validationStarted = false;\n }\n\n onModelChange(time): void {\n this.timeActive = null;\n if (!this.validated) {\n for (let i = 0; i < this.times.length; i++) {\n const checkTime = this.checkTime(time, this.times[i]);\n if (checkTime.match) {\n this.scrollToIndex(i);\n if (checkTime.exactMatch) {\n this.timeActive = i;\n }\n break;\n\n }\n }\n }\n this.validated = false;\n\n }\n\n openTimePicker() {\n this.previousTime = this.timeModel;\n this.closeMenu = false;\n if (this.placement === 'top') {\n this.position = {\n top: 179, // height of picker\n left: this.inputBox.nativeElement.getBoundingClientRect().left\n };\n } else {\n this.position = { top: (this.inputBox.nativeElement.getBoundingClientRect().top - 1) ,\n left: this.inputBox.nativeElement.getBoundingClientRect().left };\n }\n if (!this.openedMenu && !this.validated) {\n this.openedMenu = true;\n setTimeout(() => {\n this.onModelChange(this.timeModel);\n this.inputTime?.nativeElement.focus();\n this.inputTime?.nativeElement.select();\n }, 50);\n }\n this.validated = false;\n\n return false;\n }\n\n\n selectTime(time) {\n this.timeModel = time;\n this.emitChanges();\n }\n\n validate(time) {\n this.validationStarted = true;\n if (!this.listFocus) {\n if (this.timeFormat24anySeparator.test(time)) {\n time = time.replace(this.timeFormat24anySeparator, '$1:$3');\n } else if (this.timeFormat12anySeparator.test(time)) {\n time = time.replace(this.timeFormat12anySeparator, '$1:$3$4');\n }\n this.validated = true;\n let timeFound = false;\n for (let i = 0; i < this.times.length; i++) {\n const checkTime = this.checkTime(time, this.times[i]);\n if (checkTime.match && checkTime.exactMatch) {\n this.selectTime(this.times[i]);\n timeFound = true;\n break;\n }\n }\n if (!timeFound) {\n let validTime: boolean;\n if (this.format === TimeFormat.Meridian) {\n validTime = this.timeFormat12.test(time);\n if (!validTime) {\n validTime = this.timeFormat24.test(time);\n if (validTime) {\n time = TimepickerComponent.convert24To12(time)\n } else {\n validTime = this.timeFormat12WithoutMinute.test(time);\n if (validTime) {\n time = time.replace(this.timeFormat12WithoutMinute, '$1:00$2');\n }\n }\n }\n } else {\n validTime = this.timeFormat24.test(time);\n if (!validTime) {\n validTime = this.timeFormat12.test(time);\n if (validTime) {\n time = TimepickerComponent.convert12To24(time)\n }\n }\n }\n if (validTime) {\n this.selectTime(time);\n } else {\n this.selectTime(this.previousTime);\n }\n }\n }\n }\n\n scrollToIndex(i: number): void {\n this.viewPort.scrollToIndex( i, 'smooth');\n }\n\n static formatTime(time: Time, format: TimeFormat): string {\n let timeString = `${time.hours}` + ':' + `${time.minutes}`.padStart(2, '0');\n if (format === TimeFormat.Meridian) {\n timeString = TimepickerComponent.convert24To12(timeString);\n }\n return timeString;\n }\n\n private checkTime(term: string, termToMatch: string): { match: boolean, exactMatch: boolean } {\n let exactMatch = true;\n if (this.timeFormat24anySeparator.test(term)) {\n term = term.replace(this.timeFormat24anySeparator, '$1:$3');\n } else if (this.timeFormat12anySeparator.test(term)) {\n term = term.replace(this.timeFormat12anySeparator, '$1:$3$4');\n }\n if (term === '') {\n return { match: false, exactMatch: false };\n }\n const terms = term.split(':');\n if ((!isNaN(parseInt(terms[0]))) && terms[1]?.length >= 2 && !isNaN(parseInt(terms[1].substring(0, 2)))) {\n const hour = parseInt(terms[0]);\n let newHour = hour;\n let newMinutes = terms[1].substring(0, 2);\n const minutes = parseInt(newMinutes);\n if (minutes !== 0) {\n if (minutes <= 15) {\n newMinutes = '15';\n } else if (minutes <= 30) {\n newMinutes = '30';\n } else if (minutes <= 45) {\n newMinutes = '45';\n } else {\n newHour += 1;\n newMinutes = '00';\n }\n }\n if (parseInt(newMinutes) !== minutes || newHour !== hour) {\n exactMatch = false;\n }\n term = newHour + ':' + newMinutes + terms[1].substring(2, terms[1].length);\n }\n let meridian = '';\n if (this.format === TimeFormat.Meridian) {\n if (terms[0]) {\n if (!isNaN(parseInt(terms[0]))) {\n let hour = parseInt(terms[0]);\n if (hour > 12) {\n hour = hour - 12;\n term = hour + ':' + (terms[1] ? terms[1].substring(0, 2) : '00');\n meridian = 'pm';\n }\n if (!term.endsWith('am') && !term.endsWith('pm')) {\n term += meridian;\n }\n }\n }\n if (this.timeFormat12WithoutMinute.test(term)){\n term = term.substring(0, term.length - 2) + ':00' + term.substring(term.length - 2, term.length);\n }\n }\n return {match : termToMatch.startsWith(term), exactMatch};\n }\n\n private static convert12To24(time): string {\n const terms = time.split(':');\n const minutes = terms[1].substring(0, 2);\n const meridian = terms[1].substring(2, 4);\n let hour = parseInt(terms[0]);\n if (!isNaN(parseInt(terms[0]))) {\n if (meridian === 'pm' && hour < 12) {\n hour = hour + 12;\n }\n if (meridian === 'am' && hour === 12) {\n hour = 0;\n }\n }\n return hour + ':' + minutes;\n }\n\n private static convert24To12(time): string {\n const terms = time.split(':');\n let meridian = 'am';\n let hour = parseInt(terms[0]);\n if (!isNaN(parseInt(terms[0]))) {\n if (hour >= 12) {\n meridian = 'pm';\n if (hour > 12) {\n hour = hour - 12;\n }\n }\n if (hour === 0) {\n hour = 12;\n }\n }\n return hour + ':' + terms[1] + meridian\n }\n\n private static toFixed(num, fix): string {\n let fixedNum: string = num;\n if (num < fix) {\n fixedNum = '0' + fixedNum;\n }\n return fixedNum;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport format from \"date-fns/format\";\nimport parse from \"date-fns/parse\";\nimport IMask from \"imask\";\nimport { fromEvent, Observable, Subject } from \"rxjs\";\nimport {\n debounceTime,\n distinctUntilChanged,\n map,\n takeUntil,\n} from \"rxjs/operators\";\n// FIXME Move these models when we remove the old timepicker\nimport { Time, TimeFormat } from \"../timepicker/timepicker.component\";\n\nexport interface TimePickerTranslatedStrings {\n hourLabel: string;\n minuteLabel: string;\n meridianLabel: string;\n doneLabel: string;\n cancelLabel: string;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-neo-timepicker',\n templateUrl: './neo-timepicker.component.html',\n styleUrls: ['./neo-timepicker.component.scss']\n})\nexport class NeoTimepickerComponent implements OnInit, OnChanges {\n\n @ViewChild('inputBox') inputBox: ElementRef;\n @ViewChild('hourOptions') hourOptions: ElementRef;\n @ViewChild('minutesOptions') minutesOptions: ElementRef;\n @ViewChild('meridiansOptions') meridiansOptions: ElementRef;\n @ViewChild('timepicker') timepicker: ElementRef;\n\n @Input() i18n: TimePickerTranslatedStrings = {\n hourLabel: 'Hour',\n minuteLabel: 'Minute',\n meridianLabel: 'AM/PM',\n doneLabel: 'Done',\n cancelLabel: 'Cancel',\n };\n @Input() disabled: boolean = false;\n @Input() format: TimeFormat = TimeFormat.Default;\n @Input() invalid: boolean = false;\n @Input() invalidationMessage: string;\n @Input() placement: 'top' | 'bottom' = 'bottom';\n @Input() timeModel: string;\n\n @Output() timeModelChange: EventEmitter<Time> = new EventEmitter<Time>();\n\n readonly meridians: string[] = ['AM', 'PM'];\n readonly imaskDefault = {\n mask: 'HH:MM',\n blocks: {\n HH: {\n mask: IMask.MaskedRange,\n from: 0,\n to: 23,\n autofix: 'pad',\n },\n MM: {\n mask: IMask.MaskedRange,\n from: 0,\n to: 59,\n autofix: 'pad',\n },\n },\n };\n readonly imaskMeridian = {\n mask: 'HH:MM AMPM',\n blocks: {\n HH: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n autofix: 'pad',\n },\n MM: {\n mask: IMask.MaskedRange,\n from: 0,\n to: 59,\n autofix: 'pad',\n },\n AMPM: {\n mask: IMask.MaskedEnum,\n enum: ['AM', 'PM']\n }\n },\n lazy: false,\n prepare: function (str) {\n return str.toUpperCase();\n },\n };\n\n readonly ENTER_KEY: string = 'Enter';\n readonly ESCAPE_KEY: string = 'Escape';\n readonly FIX_NUMBER: number = 10;\n readonly HOURS_MAX: number = 24;\n readonly HOURS_MERIDIAN_MAX: number = 12;\n readonly MARGIN: number = 8;\n readonly MINUTES_MAX: number = 60;\n readonly TIME_OPTION_HEIGHT: number = 387;\n readonly TIME_PICKER_DEFAULT_WIDTH: number = 96;\n readonly TIME_PICKER_MERIDIAN_WIDTH: number = 152;\n readonly ROW_HEIGHT: number = 36;\n\n destroy$: Subject<void>;\n hours: string[] = [];\n hoursScrollObserver$: Observable<number>;\n meridiansScrollObserver$: Observable<number>;\n minutesScrollObserver$: Observable<number>;\n minutes: string[] = [];\n position: { top: number, left: number } = null;\n previousValue: string;\n selectedHour: string;\n selectedMinute: string;\n selectedMeridian: string;\n timepickerClosed: boolean;\n timepickerOpened: boolean;\n TimeFormat = TimeFormat;\n timeFormat: string;\n\n @HostListener('window:keydown', ['$event'])\n onKeypress(event: KeyboardEvent) {\n if (this.timepickerOpened) {\n if (event.code === this.ENTER_KEY) {\n this.onSaveSelection();\n }\n\n if (event.code === this.ESCAPE_KEY) {\n this.onCancelSelection();\n }\n }\n }\n\n constructor(public changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.generateTimeSlots();\n this.onTimeModelChange();\n }\n\n ngOnChanges(changes: any): void {\n this.generateTimeSlots();\n if (changes.format?.currentValue) {\n this.timeFormat = this.format === TimeFormat.Default ? 'HH:mm' : 'hh:mm a';\n if (this.format === TimeFormat.Default && this.meridians.some(meridian => this.timeModel?.endsWith(meridian))) {\n this.timeModel = NeoTimepickerComponent.convert12To24(this.timeModel);\n } else if (this.format === TimeFormat.Meridian && this.meridians.every(meridian => !this.timeModel?.endsWith(meridian))) {\n this.timeModel = NeoTimepickerComponent.convert24To12(this.timeModel);\n }\n setTimeout(() => this.changeDetectorRef.markForCheck());\n }\n if (changes.placement?.currentValue) {\n this.updateTimePickerPosition();\n }\n if (changes.format?.currentValue) {\n this.updateTimePickerPosition();\n }\n }\n\n onOpenTimepicker(): void {\n this.destroy$ = new Subject<void>();\n this.previousValue = this.timeModel;\n this.timepickerOpened = true;\n this.timepickerClosed = false;\n this.updateTimePickerPosition();\n\n setTimeout(() => {\n this.updateElementPosition('minute', this.selectedMinute, 'auto');\n this.updateElementPosition('hour', this.selectedHour, 'auto');\n this.updateElementPosition('meridian', this.selectedMeridian, 'auto');\n this.inputBox.nativeElement.focus();\n this.inputBox.nativeElement.select();\n }, 1)\n this.changeDetectorRef.markForCheck();\n }\n\n onTimepickerOpened(): void {\n this.hoursScrollObserver$ = this.onObserveElementScroll(this.hourOptions.nativeElement);\n this.minutesScrollObserver$ = this.onObserveElementScroll(this.minutesOptions.nativeElement);\n\n this.hoursScrollObserver$.subscribe((indexToScroll) => {\n this.updateTimeModel(this.hours[indexToScroll], this.selectedMinute, this.selectedMeridian);\n })\n this.minutesScrollObserver$.subscribe((indexToScroll) => {\n this.updateTimeModel(this.selectedHour, this.minutes[indexToScroll], this.selectedMeridian);\n })\n\n if (this.format === TimeFormat.Meridian) {\n this.meridiansScrollObserver$ = this.onObserveElementScroll(this.meridiansOptions.nativeElement);\n this.meridiansScrollObserver$.subscribe((indexToScroll) => {\n this.updateTimeModel(this.selectedHour, this.selectedMinute, this.meridians[indexToScroll]);\n })\n }\n\n }\n\n onObserveElementScroll(element: HTMLElement): Observable<number> {\n return fromEvent(element, 'scroll').pipe(\n debounceTime(150),\n distinctUntilChanged(),\n takeUntil(this.destroy$),\n map(() => {\n return Math.round(element.scrollTop / this.ROW_HEIGHT);\n })\n )\n }\n\n onTimePickerClosed(): void {\n this.onCancelSelection();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onTimeModelChange(): void {\n let date = new Date();\n if (this.timeModel) {\n date = parse(this.timeModel, this.timeFormat, new Date());\n }\n this.timeModel = format(date, this.timeFormat);\n if (!this.previousValue) {\n this.previousValue = this.timeModel;\n }\n let jsHour = date.getHours();\n if (this.format === TimeFormat.Meridian) {\n if (jsHour > 12) {\n jsHour = jsHour - 12;\n }\n // JS doesn't handle well AM/PM hour so 12:53 PM will be 00:53 ...\n if (jsHour == 0) {\n jsHour = 12;\n }\n }\n\n const hour = NeoTimepickerComponent.toFixed(jsHour.toString(), 10);\n if (hour != this.selectedHour) {\n this.selectedHour = hour;\n this.updateElementPosition('hour', this.selectedHour, 'auto');\n }\n\n const minute = NeoTimepickerComponent.toFixed(date.getMinutes().toString(), 10);\n if (minute != this.selectedMinute) {\n this.selectedMinute = minute;\n this.updateElementPosition('minute', this.selectedMinute, 'auto');\n }\n\n if (this.format === TimeFormat.Meridian && this.selectedMeridian !== this.timeModel.split(' ')[1]) {\n this.selectedMeridian = this.timeModel.split(' ')[1];\n this.updateElementPosition('meridian', this.selectedMeridian, 'auto');\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n onSelectHour(hour: string): void {\n this.updateTimeModel(hour, this.selectedMinute, this.selectedMeridian);\n }\n\n onSelectMinute(minute: string): void {\n this.updateTimeModel(this.selectedHour, minute, this.selectedMeridian);\n }\n\n onSelectMeridian(meridian: string): void {\n this.updateTimeModel(this.selectedHour, this.selectedMinute, meridian);\n }\n\n onSaveSelection(): void {\n this.previousValue = this.timeModel;\n this.timepickerClosed = true;\n this.timepickerOpened = false;\n const timeModelValue = parse(this.timeModel, this.timeFormat, new Date());\n this.timeModelChange.emit({\n hours: timeModelValue.getHours(),\n minutes: timeModelValue.getMinutes(),\n })\n this.changeDetectorRef.markForCheck();\n }\n\n onCancelSelection(): void {\n this.timepickerClosed = true;\n this.timepickerOpened = false;\n this.timeModel = this.previousValue;\n this.changeDetectorRef.markForCheck();\n }\n\n onMaskValidateComplete(value) {\n if (this.timeModel !== value) {\n this.timeModel = value;\n }\n this.onTimeModelChange();\n }\n\n updateTimeModel(hour: string, minute: string, meridian?: string): void {\n if (this.format === TimeFormat.Meridian) {\n this.timeModel = `${hour}:${minute} ${meridian}`;\n } else {\n this.timeModel = `${hour}:${minute}`;\n }\n this.changeDetectorRef.markForCheck();\n }\n\n private updateElementPosition(elementType: 'hour' | 'minute' | 'meridian', id: string, scrollBehavior: 'auto' | 'smooth') {\n const element = document.getElementById(`${elementType}-${id}`);\n this.scrollToElement(\n element,\n scrollBehavior\n );\n }\n\n private scrollToElement(element: HTMLElement, behavior: 'auto' | 'smooth' = 'auto') {\n if (element) {\n setTimeout(() => {\n element.scrollIntoView({\n behavior,\n block: 'center',\n inline: 'center'\n });\n }, 1)\n }\n }\n\n /**\n * Fullfill minutes and hours arrays like [0, 1, 2 ... 12] and [0, 1, 2, ... 59]\n */\n private generateTimeSlots(): void {\n this.hours = [];\n this.minutes = [NeoTimepickerComponent.toFixed(0, this.FIX_NUMBER)];\n for (let i = 1; i <= this.HOURS_MERIDIAN_MAX; i++) {\n const indexToAdd = NeoTimepickerComponent.toFixed(i, this.FIX_NUMBER);\n this.hours.push(indexToAdd);\n this.minutes.push(indexToAdd);\n }\n if (this.format === TimeFormat.Default) {\n this.hours = [NeoTimepickerComponent.toFixed(0, this.FIX_NUMBER), ...this.hours];\n for (let i = 13; i < this.HOURS_MAX; i++) {\n this.hours.push(NeoTimepickerComponent.toFixed(i, this.FIX_NUMBER))\n }\n }\n for (let i = 13; i < this.MINUTES_MAX; i++) {\n this.minutes.push(NeoTimepickerComponent.toFixed(i, this.FIX_NUMBER));\n }\n this.changeDetectorRef.markForCheck();\n }\n\n private updateTimePickerPosition() {\n if (this.inputBox?.nativeElement) {\n const inputBoxBounds = this.inputBox.nativeElement.getBoundingClientRect();\n const topPosition = inputBoxBounds.top - this.TIME_OPTION_HEIGHT - this.MARGIN;\n const bottomPosition = inputBoxBounds.top + inputBoxBounds.height;\n const timePickerWidth = this.format === TimeFormat.Meridian ? this.TIME_PICKER_MERIDIAN_WIDTH: this.TIME_PICKER_DEFAULT_WIDTH;\n const shift = (timePickerWidth - inputBoxBounds.width) / 2;\n\n if (this.placement === 'top') {\n this.position = {\n top: topPosition < 0 ? bottomPosition : topPosition,\n left: inputBoxBounds.left - shift,\n };\n } else {\n this.position = {\n top: bottomPosition + this.TIME_OPTION_HEIGHT + this.MARGIN > window.innerHeight ? topPosition : bottomPosition,\n left: inputBoxBounds.left - shift,\n };\n }\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private static convert12To24(time): string {\n const terms = time.split(':');\n const minutes = terms[1].substring(0, 2);\n const meridian = terms[1].trim().slice(-2).toUpperCase();\n let hour = parseInt(terms[0]);\n if (!isNaN(parseInt(terms[0]))) {\n if (meridian === 'PM' && hour < 12) {\n hour = hour + 12;\n }\n if (meridian === 'AM' && hour === 12) {\n hour = 0;\n }\n }\n return `${hour}:${minutes}`;\n }\n\n private static convert24To12(time): string {\n const terms = time.split(':');\n let meridian = 'AM';\n let hour = parseInt(terms[0]);\n let minute = parseInt(terms[1]);\n if (!isNaN(parseInt(terms[0]))) {\n if (hour >= 12) {\n meridian = 'PM';\n if (hour > 12) {\n hour = hour - 12;\n }\n }\n if (hour === 0) {\n hour = 12;\n }\n }\n const hourStr = NeoTimepickerComponent.toFixed(hour, 10);\n const minuteStr = NeoTimepickerComponent.toFixed(minute, 10);\n return `${hourStr}:${minuteStr} ${meridian}`;\n }\n\n /**\n * Return 08 for 8, 06 for 6\n * @param num\n * @param fix\n * @private\n */\n private static toFixed(num, fix): string {\n let fixedNum: string = num.toString();\n if (num < fix) {\n fixedNum = `0${fixedNum}`;\n }\n return fixedNum;\n }\n\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n selector: 'ap-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NotificationComponent {\n\n @Input() type: 'info'|'warning'|'error'|'success' = 'info';\n}\n","import {\n Component,\n Input,\n Output,\n OnChanges,\n SimpleChanges,\n EventEmitter,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport {Step} from './step.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss']\n})\nexport class StepperComponent implements OnChanges {\n\n @Input() currentStep: Step;\n @Input() steps: Step[] = []; // Immutable after init.\n @Output() stepClicked: EventEmitter<Step> = new EventEmitter<Step>();\n\n stepTexts: { [index: number]: string } = {};\n currentIndex = 0;\n\n constructor() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.steps?.length > 0 && this.currentStep) {\n this.currentIndex = this.steps.findIndex(step => step.id === this.currentStep.id);\n } else {\n this.currentIndex = 0;\n }\n }\n\n clickCurrentStep(step: Step): void {\n this.stepClicked.emit(step);\n }\n}\n\n\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {MAT_SNACK_BAR_DATA, MatSnackBarRef} from \"@angular/material/snack-bar\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-snackbar',\n templateUrl: 'snackbar.component.html',\n styleUrls: ['snackbar.component.scss']\n})\nexport class SnackBarComponent {\n constructor(public snackBarRef: MatSnackBarRef<SnackBarComponent>,\n @Inject(MAT_SNACK_BAR_DATA) public data: any) {\n\n }\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'ap-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PaginatorComponent implements OnChanges {\n\n @Input() itemCount = 0;\n @Input() itemCountPerPage = 10;\n @Input() edgeSize = 5;\n @Input() middleSize = 3;\n\n @Input() currentPageIndex = 0;\n @Output() currentPageIndexChange = new EventEmitter<number>();\n\n public pageCount = 0;\n public firstPageDisplayed = true;\n public lastPageDisplayed = true;\n\n ngOnChanges(changes: SimpleChanges) {\n // make sure middle size is an odd number\n if (changes.middleSize && this.middleSize % 2 === 0) {\n this.middleSize++;\n }\n if (this.itemCountPerPage && (changes.itemCount || changes.itemCountPerPage) || changes.currentPageIndex) {\n this.pageCount = Math.ceil(this.itemCount / this.itemCountPerPage);\n // make sure page index is between min and max page index\n this.currentPageIndex = Math.max(0, Math.min(this.pageCount - 1, this.currentPageIndex));\n this.firstPageDisplayed = this.currentPageIndex === 0;\n this.lastPageDisplayed = this.currentPageIndex === this.pageCount - 1;\n }\n }\n\n onSelectPage(pageIndex: number): void {\n this.currentPageIndexChange.emit(pageIndex);\n }\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'ap-paginator-button',\n templateUrl: './paginator-button.component.html',\n styleUrls: ['./paginator-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PaginatorButtonComponent {\n\n @Input() pageIndex = 0\n @Input() selectedPageIndex = 0;\n\n @Output() selectPage = new EventEmitter<number>();\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator\n} from '@angular/forms';\n\nexport interface PhoneNumberInfo {\n countryCode: string;\n countryName: string;\n phoneNumberCode: string;\n}\n\nexport interface Phone {\n phoneNumber: string;\n phoneNumberCode: string;\n}\n\n@Component({\n selector: 'ap-phone-number-input',\n templateUrl: 'phone-number-input.component.html',\n styleUrls: ['phone-number-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PhoneNumberInputComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PhoneNumberInputComponent),\n multi: true\n }\n ]\n})\nexport class PhoneNumberInputComponent implements OnInit, OnChanges, ControlValueAccessor, Validator {\n\n @Input() flagsBucketUrl: string;\n @Input() phoneNumberInfos: PhoneNumberInfo[];\n @Input() set phoneNumber(phoneNumber: string) {\n this.updatePhone(undefined, phoneNumber, false);\n }\n @Input() set phoneNumberCode(phoneNumberCode: string) {\n this.updatePhone(phoneNumberCode, undefined, false);\n }\n @Input() required: boolean;\n @Input() requiredLabel: string;\n @Input() submitted: boolean;\n @Input() statusOk: boolean;\n\n @Output() changePhoneNumber: EventEmitter<string> = new EventEmitter<string>();\n @Output() changePhoneNumberCode: EventEmitter<string> = new EventEmitter<string>();\n\n currentPhoneNumberCode = '';\n currentPhoneNumber = '';\n\n codeValid = false;\n numberValid = false;\n valid = false;\n\n public onTouched: () => void = () => {};\n\n public onChanged: (value: any) => void = () => {};\n\n ngOnChanges(changes: SimpleChanges): void {\n this.checkValidation();\n }\n\n ngOnInit(): void {\n this.checkValidation();\n }\n\n filterChars(event: Event): void {\n const pattern = /[0-9]/;\n const inputChar = String.fromCharCode((event as KeyboardEvent).charCode);\n if (!pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n onChangePhoneNumberCode(code: string): void {\n this.updatePhone(code, undefined);\n }\n\n onChangePhoneNumber(phoneNumber: string): void {\n this.updatePhone(undefined, phoneNumber);\n }\n\n private updatePhone(code: string, phoneNumber: string, emitOnChange: boolean = true): void {\n let updated = false;\n if (code !== undefined && code !== this.currentPhoneNumberCode) {\n this.currentPhoneNumberCode = code;\n this.changePhoneNumberCode.emit(code);\n updated = true;\n }\n if (phoneNumber !== undefined && phoneNumber !== this.currentPhoneNumber) {\n this.currentPhoneNumber = phoneNumber;\n this.changePhoneNumber.emit(phoneNumber);\n updated = true;\n }\n\n if (updated) {\n this.checkValidation();\n\n if (emitOnChange) {\n this.onChanged({\n phoneNumber: this.currentPhoneNumber,\n phoneNumberCode: this.currentPhoneNumberCode\n });\n }\n }\n }\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChanged = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n return (!this.required || this.valid) ? null : {phoneNumber: 'invalid'};\n }\n\n writeValue(phone: Phone | null): void {\n if (!phone) {\n this.updatePhone('', '', false);\n } else if ('phoneNumber' in phone && 'phoneNumberCode' in phone) {\n this.updatePhone(phone.phoneNumberCode, phone.phoneNumber, false);\n } else {\n console.error('Phone number input ignored, wrong format: ' + JSON.stringify(phone));\n }\n }\n\n phoneNumberCodeSearchFn(term: string, item: any): boolean {\n term = term.toLocaleLowerCase();\n return item.countryName.toLocaleLowerCase().indexOf(term) > -1 || item.phoneNumberCode.toLocaleLowerCase().indexOf(term) > -1;\n }\n\n private checkValidation(): void {\n this.codeValid = !this.required || (this.currentPhoneNumberCode && this.currentPhoneNumberCode.length > 0);\n this.numberValid = !this.required || (this.currentPhoneNumber && this.currentPhoneNumber.length > 0);\n this.valid = this.codeValid && this.numberValid;\n }\n}\n","import {Component, EventEmitter, forwardRef, Input, Output} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n@Component({\n selector: 'ap-slide-toggle',\n templateUrl: './slide-toggle.component.html',\n styleUrls: ['./slide-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SlideToggleComponent),\n multi: true\n }\n ]\n})\nexport class SlideToggleComponent implements ControlValueAccessor {\n\n private _checked = false;\n\n @Input() set checked(status: boolean) {\n this._checked = status;\n this.onChanged(status);\n }\n\n get checked(): boolean {\n return this._checked;\n }\n\n @Input() disabled = false;\n\n @Output() checkedChange = new EventEmitter<boolean>();\n\n checkManuallyChange(checked: boolean): void {\n if (this._checked !== checked) {\n this.checkedChange.emit(checked);\n }\n }\n\n onClick(): void {\n if (!this.disabled) {\n this.checkedChange.emit(!this.checked);\n }\n }\n\n public onTouched: () => void = () => {\n }\n public onChanged: (checked: boolean) => void = () => {\n }\n\n registerOnChange(fn: any): void {\n this.onChanged = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n writeValue(status: boolean): void {\n this.checked = status;\n }\n}\n","import {ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChange} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-password-strength-bar',\n styleUrls: ['./password-strength-bar.component.scss'],\n templateUrl: './password-strength-bar.component.html'\n})\nexport class PasswordStrengthBarComponent implements OnChanges, OnInit {\n\n @Input() passwordToCheck: string;\n\n @Input() labelWeak: string;\n @Input() labelFair: string;\n @Input() labelGood: string;\n @Input() labelStrong: string;\n @Input() labelExcellent: string;\n\n label: string;\n passwordStrength: string;\n private defaultStrength = ['weak', 'fair', 'good', 'strong', 'excellent'];\n\n private labels: Array<string>;\n\n constructor() {\n this.labels = ['Weak', 'Fair', 'Good', 'Strong', 'Excellent'];\n }\n\n getStrengthIndexAndColor(password: string): number {\n return this.getColor(PasswordStrengthBarComponent.measureStrength(password));\n }\n\n ngOnChanges(changes: { [propName: string]: SimpleChange }): void {\n const password = changes.passwordToCheck?.currentValue;\n if (password) {\n const idx = this.getStrengthIndexAndColor(password);\n this.passwordStrength = this.defaultStrength[idx - 1];\n this.label = this.labels[idx - 1];\n }\n }\n\n ngOnInit(): void {\n this.labels = [this.labelWeak, this.labelFair, this.labelGood, this.labelStrong, this.labelExcellent];\n }\n\n private static measureStrength(p: string): number {\n let force = 0;\n const regex = /[$-/:-?{-~!\"^_`\\[\\]]/g; // \"\n const lowerLetters = /[a-z]+/.test(p);\n const upperLetters = /[A-Z]+/.test(p);\n const numbers = /[0-9]+/.test(p);\n const symbols = regex.test(p);\n\n const flags = [lowerLetters, upperLetters, numbers, symbols];\n\n let passedMatches = 0;\n for (let flag of flags) {\n passedMatches += flag === true ? 1 : 0;\n }\n\n force += 2 * p.length + ((p.length >= 10) ? 1 : 0);\n force += passedMatches * 10;\n\n // penality (short password)\n force = (p.length <= 5) ? Math.min(force, 10) : force;\n\n // penality (poor variety of characters)\n force = (passedMatches === 1) ? Math.min(force, 10) : force;\n force = (passedMatches === 2) ? Math.min(force, 20) : force;\n force = (passedMatches === 3) ? Math.min(force, 40) : force;\n\n return force;\n\n }\n\n private getColor(strength: number) {\n let idx = 0;\n if (strength <= 10) {\n idx = 0;\n }\n else if (strength <= 20) {\n idx = 1;\n }\n else if (strength <= 30) {\n idx = 2;\n }\n else if (strength <= 40) {\n idx = 3;\n }\n else {\n idx = 4;\n }\n return idx + 1;\n }\n\n}\n","import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-password-strength-display-bar',\n styleUrls: ['./password-strength-display-bar.component.scss'],\n templateUrl: './password-strength-display-bar.component.html'\n})\nexport class PasswordStrengthDisplayBarComponent implements OnInit {\n\n @Input() labelWeak: string;\n @Input() labelFair: string;\n @Input() labelGood: string;\n @Input() labelStrong: string;\n @Input() labelExcellent: string;\n\n @Input() set strength(strength: number) {\n if (strength === null) {\n this.passwordStrength = null;\n return;\n }\n try {\n this.passwordStrength = this.defaultLabels[strength];\n this.label = this.labels[strength];\n } catch (e) {\n this.passwordStrength = null;\n console.error(\"PasswordStrengthBar - Invalid strength value min0/max4 got \"+strength);\n }\n }\n\n ngOnInit(): void {\n this.labels = [this.labelWeak, this.labelFair, this.labelGood, this.labelStrong, this.labelExcellent];\n }\n\n public passwordStrength: string;\n public label: string;\n\n private readonly defaultLabels = ['weak', 'fair', 'good', 'strong', 'excellent'];\n private labels: Array<string> = this.defaultLabels;\n\n}\n","import {Injectable} from \"@angular/core\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport {BehaviorSubject} from \"rxjs\";\nimport {\n SnackbarsThreadBase,\n SnackbarsThreadComplete\n} from \"../model/snackbars-thread.model\";\n\n@Injectable({\n providedIn: \"root\"\n})\n\nexport class SnackbarsThreadService {\n\n private _list = [];\n snackbarList = new BehaviorSubject<SnackbarsThreadComplete[]>([]);\n\n constructor(\n private domSanitizer: DomSanitizer\n ) {\n }\n\n private _emit() {\n this.snackbarList.next(this._list);\n }\n\n add(elem: SnackbarsThreadBase): void {\n const notification: SnackbarsThreadComplete = {\n id: Math.random().toString(36).substring(7) + Date.now().toString(),\n snackbarType: elem.snackbarType,\n snackbarText: this.domSanitizer.bypassSecurityTrustHtml(elem.snackbarText as string)\n };\n this._list.unshift(notification);\n while (this._list.length > 3) {\n this.remove(this._list.slice(-1).pop().id);\n }\n this._emit();\n setTimeout(() => this.remove(notification.id), 5000);\n }\n\n remove(id: string): void {\n const index = this._list.findIndex(el => el.id === id);\n index > -1 && this._list.splice(index, 1);\n this._emit();\n }\n}\n","export const snackbarTypesMap = {\n 0: \"info\",\n 1: \"success\",\n 2: \"warning\",\n 3: \"error\"\n};\n\nexport const snackbarIconsMap = {\n 0: \"messages-bubble-dot\",\n 1: \"check-circle\",\n 2: \"alert-circle\",\n 3: \"remove-circle\"\n};\n","import {Component} from \"@angular/core\";\nimport {animate, style, transition, trigger} from \"@angular/animations\";\nimport {SnackbarsThreadService} from \"../service/snackbars-thread.service\";\nimport {snackbarIconsMap, snackbarTypesMap} from \"../utils/const/snackbars-thread.const\";\n\n@Component({\n selector: \"app-snackbars-thread\",\n templateUrl: \"./snackbars-thread.component.html\",\n styleUrls: [\"./snackbars-thread.component.scss\"],\n animations: [\n trigger(\"fadeAnimation\", [\n transition(\":enter\", [\n style({\n height: 0,\n minHeight: 0,\n opacity: 0,\n transform: \"translateY(-5%)\",\n padding: 0\n }),\n // padding and min-height should be the same as in scss file\n animate(\n \"300ms ease-in\",\n style({height: \"*\", minHeight: \"72px\", padding: \"7px 3px 7px 7px\"})\n ),\n animate(\n \"200ms ease-in\",\n style({opacity: 0.5, transform: \"translateY(0%)\"})\n ),\n animate(\"200ms ease-in\", style({opacity: 1}))\n ]),\n transition(\":leave\", [\n animate(\n \"300ms ease-out\",\n style({\n opacity: 0,\n transform: \"translateY(-5%)\"\n })\n ),\n animate(\"300ms ease-out\", style({height: 0, minHeight: 0}))\n ])\n ])\n ]\n})\nexport class SnackbarsThreadComponent {\n\n SnackbarTypesMap = snackbarTypesMap;\n SnackbarIconsMap = snackbarIconsMap;\n\n constructor(\n public snackbarsThreadService: SnackbarsThreadService\n ) {\n }\n\n remove(id: string): void {\n this.snackbarsThreadService.remove(id);\n }\n}\n","import {Component, Input, OnChanges, SimpleChanges} from '@angular/core';\n\n@Component({\n selector: 'ap-star-rating',\n templateUrl: './star-rating.component.html',\n styleUrls: ['./star-rating.component.scss']\n})\nexport class StarRatingComponent implements OnChanges {\n\n @Input() score: number = 0;\n @Input() maxScore: number = 5;\n @Input() size: 'medium' | 'small' | 'mini' | 'micro' | 'nano' = 'nano';\n @Input() colorOn: string = '#FBBC04';\n @Input() colorOff: string = '#DADCE0';\n\n filledStars: boolean[] = [];\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.score) {\n if (this.score >= 0) {\n for (let i = 0; i < this.maxScore; i++) {\n this.filledStars[i] = i < this.score;\n }\n } else {\n this.filledStars.length = 0;\n }\n }\n }\n}\n","import { AfterContentChecked, Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: 'textarea[ap-autosize]'\n})\n/**\n * expand textarea to fit content. Doesn't shrink.\n */\nexport class AutosizeTextareaDirective implements AfterContentChecked {\n\n static maxHeight: number = 200;\n\n constructor(public element: ElementRef) {}\n\n @HostListener('input')\n public onInput() {\n this.resize();\n }\n\n public ngAfterContentChecked() {\n this.resize();\n }\n\n public resize() {\n const style = this.element.nativeElement.style;\n const scrollHeight = this.element.nativeElement.scrollHeight;\n const actualHeight = this.element.nativeElement.offsetHeight;\n if (AutosizeTextareaDirective.maxHeight < scrollHeight) {\n // we arrived at the max\n style.overflow = 'auto';\n style.height = `${AutosizeTextareaDirective.maxHeight}px`;\n } else if (actualHeight < scrollHeight) {\n style.overflow = 'hidden';\n style.height = `${scrollHeight}px`;\n }\n }\n\n}\n","import {Directive, Input} from '@angular/core';\n\n@Directive({\n selector: 'img[default]',\n host: {\n '(error)': 'updateUrl()',\n '[src]': 'src'\n }\n})\nexport class DefaultImageDirective {\n @Input() src: string;\n @Input() default: string;\n\n updateUrl() {\n if (this.default) {\n this.src = this.default;\n } else {\n this.src = 'assets/lib-ui-components/img/default-avatar.png';\n }\n }\n}\n","import {AfterContentChecked, Directive, ElementRef, EventEmitter, Input, Output,} from '@angular/core';\n\n/**\n * Removes excess text from element until it fits in elements\n * and appends a ellipsis symbol to end of text. This requires that\n * the elements height be fixed\n *\n * @example\n * ```html\n * <p apEllipsis>Ullamco esse laborum</p>\n * ```\n *\n */\n@Directive({\n selector: '[apEllipsis]',\n})\nexport class EllipsisDirective implements AfterContentChecked {\n\n @Input() apEllipsisSeparator: string;\n @Input() apEllipsisClip: boolean = false;\n @Input() apEllipsisIndex: number;\n @Input() apEllipsisChar: string = '...';\n @Input() apEllipsisClickable: boolean = false;\n\n @Output() apEllipsisRemovedElementsCount = new EventEmitter<number>();\n @Output() apEllipsisRemovedText = new EventEmitter<string>();\n\n private get hasOverflow(): boolean {\n const el: HTMLElement = this.el.nativeElement;\n return (el.scrollHeight > el.offsetHeight) || (el.scrollWidth > el.offsetWidth);\n }\n\n constructor(private el: ElementRef) { }\n\n ngAfterContentChecked() {\n this.clipText();\n }\n\n private clipText(): void {\n const el: HTMLElement = this.el.nativeElement;\n let text = el.innerText;\n let removedText = '';\n if (this.apEllipsisIndex > -1) {\n removedText = text.substring(this.apEllipsisIndex, text.length - 1) + removedText;\n text = text.substring(0, this.apEllipsisIndex);\n el.innerText = `${text}${this.apEllipsisChar}`;\n\n if (this.apEllipsisClickable) {\n el.addEventListener('click', () => {\n el.innerText = `${text}${removedText}`;\n });\n }\n } else {\n while (this.hasOverflow && text.length > 0) {\n removedText = text[text.length - 1] + removedText;\n text = text.substring(0, text.length - 1);\n el.innerText = `${text}${this.apEllipsisChar}`;\n }\n }\n\n if (this.apEllipsisSeparator) {\n const removedElementsCount = removedText.split(this.apEllipsisSeparator)\n .filter(element => !!element && element.length > 0).length;\n if (removedElementsCount > 0) {\n this.apEllipsisRemovedElementsCount.emit(removedElementsCount);\n }\n }\n if (removedText && removedText.length > 0) {\n this.apEllipsisRemovedText.emit(removedText);\n }\n }\n\n private handleReadmore(): void {\n\n }\n}\n","import {Directive, ElementRef, Input, OnChanges} from '@angular/core';\n\nexport class GifService {\n static isGif(src: String) {\n return src && src.split('?')[0].endsWith('.gif');\n }\n}\n\n/**\n * If the image is a GIF then replace the img element by a canvas containing a frozen gif.\n * Note 1: if the image is displayed under a condition, the condition must be applied on the parent of the image, so the\n * new canvas element will have the same condition.\n * Note 2: the image must not have the properties \"display\" and \"visibility\" in its style. Since they are used to frozen\n * the GIF. You need to apply this properties on the parent element.\n * Note 3: If the GIF is frozen, all the event are propagated to the image. However, all events are dispatched\n * with an Event instance. Ex: click event is not dispatched with a MouseEvent instance.\n */\n\n@Directive({\n selector: 'img[apFrozenGif]',\n host: {\n '[src]': 'src'\n }\n})\nexport class FrozenGifDirective implements OnChanges {\n @Input() src: string;\n @Input('apFrozen') frozen = true;\n // Add all the events that need to be propagated.\n @Input('apGifEvents') events: string[] = ['click'];\n\n private readonly element: HTMLImageElement;\n private canvas: HTMLCanvasElement;\n\n constructor(private elementRef: ElementRef) {\n const element = this.elementRef.nativeElement;\n if (!(element instanceof HTMLImageElement)) {\n return;\n }\n\n this.element = element;\n }\n\n ngOnChanges(changes: any): void {\n let freeze = false;\n if (changes.src) {\n freeze = true;\n }\n if (changes.frozen) {\n if (changes.frozen.currentValue) {\n freeze = true;\n } else {\n this.unfreeze();\n }\n }\n\n if (freeze) {\n this.freeze();\n }\n\n }\n\n private freeze() {\n if (!GifService.isGif(this.src) || !this.frozen) {\n this.unfreeze();\n return;\n }\n\n // hack to avoid displaying the GIF before replacing it by the canvas\n this.element.style.visibility = 'hidden';\n this.element.addEventListener('load', () => this.addCanvas());\n }\n\n private addCanvas() {\n if (this.canvas) {\n this.canvas.remove();\n }\n\n this.canvas = document.createElement('canvas');\n this.canvas.width = this.element.width;\n this.canvas.height = this.element.height;\n this.canvas.getContext('2d').drawImage(this.element, 0, 0, this.canvas.width, this.canvas.height);\n for (let i = 0; i < this.element.attributes.length; i++) {\n const attr = this.element.attributes[i];\n if (attr.name === 'id') { // avoid two elements with the same id\n this.canvas.setAttribute('id', attr.value + '_frozenGif');\n } else if (attr.name === 'style' && attr.value.includes('visibility: hidden;') || attr.value.includes('display: none;')) {\n // remove the added 'visibility: hidden' and 'display: none'\n const styleValue = attr.value;\n this.canvas.setAttribute('style', styleValue.replace('visibility: hidden;', '').replace('display: none;', ''));\n } else if (attr.name !== '\"') { // test for invalid attributes\n this.canvas.setAttribute(attr.name, attr.value);\n }\n }\n\n this.addEvents();\n\n this.element.parentNode.insertBefore(this.canvas, this.element);\n this.element.style.display = 'none';\n }\n\n private addEvents() {\n this.events.forEach((eventName: string) => {\n this.canvas.addEventListener(eventName, (ev: Event) => this.element.dispatchEvent(\n // wm: find a way to dispatch the right event type\n new Event(ev.type, ev)\n ));\n });\n }\n\n private unfreeze() {\n if (this.canvas) {\n this.canvas.remove();\n this.canvas = null;\n }\n this.element.style.visibility = 'inherit';\n this.element.style.display = 'inherit';\n }\n}\n","// Based on https://scotch.io/tutorials/how-to-implement-a-custom-validator-directive-confirm-password-in-angular-2\nimport { Directive, forwardRef, Attribute } from '@angular/core';\nimport { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';\n\n@Directive({\n selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => EqualValidatorDirective),\n multi: true\n }\n ]\n})\nexport class EqualValidatorDirective implements Validator {\n\n constructor(@Attribute('validateEqual') public validateEqual: string,\n @Attribute('validateEqualReference') public validateEqualReference: string) {}\n\n validate(self: AbstractControl): { [key: string]: any } {\n let other = self.root.get(this.validateEqual);\n if (other) {\n if (this.isReference()) {\n if (self.value === other.value) {\n delete other.errors['validateEqual'];\n if (!Object.keys(other.errors).length) {\n other.setErrors(null);\n }\n } else {\n other.setErrors({ validateEqual: false });\n }\n } else if (self.value !== other.value) {\n return { validateEqual: false };\n }\n }\n return null;\n }\n\n private isReference(): boolean {\n if (!this.validateEqualReference) {\n return false;\n }\n return this.validateEqualReference === 'true';\n }\n\n}\n","import {Directive, Input, Renderer2, ElementRef} from '@angular/core';\n\nconst PART_START = '<ng-container data-mst=\"';\nconst PARSE_MIDDLE = '\">';\nconst PARSE_END = '</ng-container>';\nconst CLASS_SEPARATOR = ',';\n\ninterface Part {\n content: string;\n clazz?: string[];\n}\n\n/**\n * This directive aims to parse simple string to extract some specific tags and to turn them into SPAN with styling classes attributes.\n * The specific tags must this schema: <ng-container data-mst=\"STYLING-CLASSES>TEXT</ng-container>.\n * Example: 'Lorem <ng-container data-mst=\"my-style\">ipsum</ng-container> dolor sit amet'.\n */\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[multiStyleText]'\n})\nexport class MultiStyleTextDirective {\n\n private childrenCreated: any[] = [];\n\n @Input() set multiStyleText(fullText: string) {\n // First remove previously added children (on update).\n for (const child of this.childrenCreated) {\n this.renderer.removeChild(this.elRef.nativeElement, child);\n }\n\n const parts = MultiStyleTextDirective.parse(fullText);\n\n for (const part of parts) {\n if (part.clazz) {\n const span = this.renderer.createElement('span');\n const text = this.renderer.createText(part.content);\n this.renderer.appendChild(span, text);\n part.clazz.forEach(clazz => this.renderer.addClass(span, clazz));\n this.renderer.appendChild(this.elRef.nativeElement, span);\n this.childrenCreated.push(span);\n } else {\n const text = this.renderer.createText(part.content);\n this.renderer.appendChild(this.elRef.nativeElement, text);\n this.childrenCreated.push(text);\n }\n }\n }\n\n public constructor(\n private elRef: ElementRef,\n private renderer: Renderer2\n ) {\n }\n\n private static parse(toParse: string): Part[] {\n const parts: Part[] = [];\n\n let startIndex = toParse.indexOf(PART_START);\n while (startIndex >= 0) {\n if (startIndex > 0) {\n // Optional start before parser start.\n parts.push({content: toParse.substr(0, startIndex)});\n }\n const elem = this.cutFirstGroup(toParse.substr(startIndex));\n if (elem === 'invalid') {\n return [];\n } else if (elem) {\n parts.push({content: elem.content, clazz: elem.classes});\n toParse = elem.rest;\n startIndex = toParse.indexOf(PART_START);\n } else {\n parts.push({content: toParse});\n }\n }\n // Very end\n if (toParse.length > 0) {\n parts.push({content: toParse});\n }\n return parts;\n }\n\n private static cutFirstGroup(toCut: string): {content: string, classes: string[], rest: string} | 'invalid' | null {\n if (!toCut.startsWith(PART_START)) {\n // String doesnt start with expected parser start.\n return null;\n }\n\n const afterParserStart = toCut.substr(PART_START.length);\n let index = afterParserStart.indexOf(PARSE_MIDDLE);\n if (index <= 0) {\n console.error('Not able to parse invalid string: ' + toCut);\n return 'invalid';\n }\n const classes = afterParserStart.substr(0, index);\n let rest = afterParserStart.substr(index + PARSE_MIDDLE.length);\n index = rest.indexOf(PARSE_END);\n if (index <= 0) {\n console.error('Not able to parse invalid string: ' + toCut);\n return 'invalid';\n }\n const content = rest.substr(0, index);\n rest = rest.substr(index + PARSE_END.length);\n\n return {content, classes: classes.split(CLASS_SEPARATOR), rest};\n }\n}\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\n\nconst topLeftPosition: ConnectionPositionPair = {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -12\n};\n\nconst topPosition: ConnectionPositionPair = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -12\n};\n\nconst topRightPosition: ConnectionPositionPair = {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -12\n};\n\nconst bottomLeftPosition: ConnectionPositionPair = {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 12\n};\n\nconst bottomPosition: ConnectionPositionPair = {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 12\n};\n\nconst bottomRightPosition: ConnectionPositionPair = {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: 12\n};\n\nconst leftPostion: ConnectionPositionPair = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -12\n};\n\nconst rightPosition: ConnectionPositionPair = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 12\n};\n\nexport const tooltipNeoPositions: { [key: string]: ConnectionPositionPair } = {\n topLeft: topLeftPosition,\n top: topPosition,\n topRight: topRightPosition,\n left: leftPostion,\n right: rightPosition,\n bottomLeft: bottomLeftPosition,\n bottom: bottomPosition,\n bottomRight: bottomRightPosition\n};\n","import {Injectable} from '@angular/core';\nimport {Subject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TooltipNeoService {\n public clickOutside$: Subject<void> = new Subject<void>();\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n HostListener,\n ElementRef,\n OnInit,\n} from '@angular/core';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { TooltipNeoParams } from './tooltip-neo.model';\nimport {TooltipNeoService} from \"./tooltip-neo.service\";\n\n@Component({\n selector: 'ap-tooltip-neo',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./tooltip-neo.component.scss'],\n templateUrl: './tooltip-neo.component.html',\n animations: [\n trigger('neoTooltip', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate(200, style({ opacity: 1 }))\n ]),\n transition(':leave', [animate(200, style({ opacity: 0 }))])\n ])\n ]\n})\nexport class TooltipNeoComponent implements OnInit {\n @Input() params: TooltipNeoParams;\n\n border: string;\n\n constructor(\n private _elementRef: ElementRef,\n private _tooltipNeoService: TooltipNeoService,\n ) {\n }\n\n ngOnInit() {\n this.params.borderColor\n ? this.border = `solid 1px ${this.params.borderColor}`\n : this.border = undefined;\n }\n\n @HostListener('document:click', ['$event'])\n onClickOutside(event) {\n if(!this._elementRef.nativeElement.contains(event.target)) {\n this._tooltipNeoService.clickOutside$.next();\n }\n }\n}\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n Input, OnChanges,\n OnDestroy,\n OnInit, SimpleChanges,\n TemplateRef,\n} from '@angular/core';\nimport {ComponentPortal} from \"@angular/cdk/portal\";\nimport {Overlay, OverlayPositionBuilder, OverlayRef} from \"@angular/cdk/overlay\";\nimport {fromEvent, merge, of, Subject, Subscription} from \"rxjs\";\nimport {delay, switchMap, takeUntil} from \"rxjs/operators\";\nimport {tooltipNeoPositions} from \"./tooltip-neo.const\";\nimport {TooltipNeoParams} from './tooltip-neo.model';\nimport {TooltipNeoService} from './tooltip-neo.service';\nimport {TooltipNeoComponent} from \"./tooltip-neo.component\";\n\n@Directive({selector: '[apTooltipNeo]'})\nexport class TooltipNeoDirective implements OnInit, OnDestroy, OnChanges {\n @Input() apTooltipNeo: string | TooltipNeoParams;\n\n private _allowDisplay: boolean;\n private _destroy$: Subject<void> = new Subject<void>();\n private _hide$: Subject<boolean> = new Subject<boolean>();\n private _mouseEntered = false;\n private _overlayRef: OverlayRef;\n private _params: TooltipNeoParams;\n private _show$: Subject<boolean> = new Subject<boolean>();\n private _elementRefMouseLeave$: Subscription;\n\n static enableTooltip(content: string | TemplateRef<any>, contentType: string, display: boolean): boolean {\n return !!content && !!contentType && !!display;\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _overlay: Overlay,\n private _overlayPositionBuilder: OverlayPositionBuilder,\n private _tooltipNeoService: TooltipNeoService,\n ) {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes?.apTooltipNeo?.currentValue?.display || changes?.apTooltipNeo?.currentValue?.position) && this._mouseEntered) {\n this._setSettings();\n this._allowDisplay ? this._show$.next(true) : this._hide$.next(false);\n }\n }\n\n ngOnInit(): void {\n this._initiateTooltip();\n }\n\n ngOnDestroy(): void {\n this._detach();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _setSettings() {\n if (typeof this.apTooltipNeo === 'object') {\n const {\n content = undefined,\n backgroundColor = '#ffffff',\n borderColor = undefined,\n contentType = 'text',\n display = true,\n displayArrow = true,\n maxWidth = 'full',\n position = 'top',\n title = ''\n } = this.apTooltipNeo as TooltipNeoParams;\n this._params = {content, backgroundColor, borderColor, contentType, display, displayArrow, maxWidth, position, title};\n this._allowDisplay = TooltipNeoDirective.enableTooltip(content, contentType, display);\n }\n if (typeof this.apTooltipNeo === 'string') {\n const\n content = this.apTooltipNeo as string,\n backgroundColor = '#ffffff',\n borderColor = undefined,\n contentType = 'text',\n display = true,\n displayArrow = true,\n maxWidth = 'full',\n position = 'top',\n title = '';\n this._params = {content, backgroundColor, borderColor, contentType, position, display, displayArrow, title, maxWidth};\n this._allowDisplay = TooltipNeoDirective.enableTooltip(content, contentType, display);\n }\n }\n\n private _initiateTooltip() {\n merge(this._hide$, this._show$)\n .pipe(\n switchMap(bool => {\n if (!bool) {\n return of(bool);\n }\n return of(bool).pipe(delay(200));\n }),\n takeUntil(this._destroy$)\n )\n .subscribe(bool => {\n if (bool) {\n this._elementRefMouseLeave$ = fromEvent(this._elementRef.nativeElement, 'mouseleave')\n .subscribe(() => this._detach());\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._elementRef)\n .withPositions([tooltipNeoPositions[this._params.position]]);\n const scrollStrategy = this._overlay.scrollStrategies.close();\n this._overlayRef = this._overlay.create({positionStrategy, scrollStrategy});\n const tooltipRef: ComponentRef<TooltipNeoComponent> = this._overlayRef.attach(new ComponentPortal(TooltipNeoComponent));\n tooltipRef.instance.params = this._params;\n } else {\n this._detach();\n }\n });\n this._tooltipNeoService.clickOutside$\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe(() => this._hide$.next());\n }\n\n private _detach() {\n this._overlayRef && this._overlayRef.hasAttached() && this._overlayRef.detach();\n this._elementRefMouseLeave$ && this._elementRefMouseLeave$.unsubscribe();\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n this._setSettings();\n this._mouseEntered = true;\n this._allowDisplay && this._params && this._show$.next(true);\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n this._mouseEntered = false;\n this._hide$.next(false);\n }\n}\n","// Agorapulse\nimport {TooltipNeoDirective} from '../tooltip-neo/tooltip-neo.directive';\nimport {TooltipNeoParams} from '../tooltip-neo/tooltip-neo.model';\n// Angular\nimport {Directive, ElementRef, Input, OnDestroy, OnInit} from '@angular/core';\n// Third-parties\nimport {fromEvent, Subscription} from \"rxjs\";\n\n@Directive({selector: '[apTooltipNeo][truncateTooltip]'})\nexport class TruncateTooltipDirective implements OnInit, OnDestroy {\n\n @Input() truncateTooltip: string | TooltipNeoParams;\n\n private elementRefMouseOver$: Subscription;\n\n constructor(\n private tooltipNeo: TooltipNeoDirective,\n private elementRef: ElementRef<HTMLElement>\n ) {\n }\n\n private updateTruncateState(): void {\n const element = this.elementRef.nativeElement;\n const truncated = element.scrollWidth > element.clientWidth;\n this.tooltipNeo.apTooltipNeo = truncated ? this.truncateTooltip : '';\n }\n\n ngOnInit(): void {\n this.elementRefMouseOver$ = fromEvent(this.elementRef.nativeElement, 'mouseover')\n .subscribe(() => this.updateTruncateState());\n }\n\n ngOnDestroy(): void {\n this.elementRefMouseOver$.unsubscribe();\n }\n}\n","import { Component, ElementRef, forwardRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n export const PASSWORD_CONTROL_VALUE_ACCESSOR: any = { \n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PasswordInputComponent),\n multi: true\n };\n\n@Component({\n selector: 'ap-password-input',\n templateUrl: './password-input.component.html',\n styleUrls: ['./password-input.component.scss'],\n providers: [PASSWORD_CONTROL_VALUE_ACCESSOR]\n})\nexport class PasswordInputComponent implements OnInit, ControlValueAccessor {\n \n static type = ['text', 'password'];\n inputType: typeof PasswordInputComponent.type[number] = PasswordInputComponent.type[1];\n\n @Input() name: string;\n @Input() placeholder: string;\n @Input() fullWidth: boolean = false;\n disabled: boolean = false;\n\n @ViewChild('passwordInput') passwordInput: ElementRef;\n\n controler: FormControl = new FormControl('');\n changes: Subscription;\n\n constructor() { }\n\n /**\n * Change between visible and hidden password\n */\n toggleInputType(): void {\n this.inputType = PasswordInputComponent.type[PasswordInputComponent.type.indexOf(this.inputType) == 0 ? 1 : 0];\n }\n\n onChange = (password: string) => {};\n\n onTouch = () => {};\n\n writeValue(obj: string): void {\n this.controler.setValue(obj);\n }\n\n registerOnChange(fn: (password: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnInit(): void {\n this.changes = this.controler.valueChanges.subscribe((val: string) => {\n if (this.onChange) {\n this.onChange(val);\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.changes) {\n this.changes.unsubscribe();\n }\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {FlexLayoutModule} from '@angular/flex-layout';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\n\nimport {RippleGlobalOptions} from '@angular/material/core';\nimport {MatBadgeModule} from '@angular/material/badge';\nimport {MatBottomSheetModule} from '@angular/material/bottom-sheet';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport {MatChipsModule} from '@angular/material/chips';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport {MatGridListModule} from '@angular/material/grid-list';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatListModule} from '@angular/material/list';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatSliderModule} from '@angular/material/slider';\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatStepperModule} from '@angular/material/stepper';\nimport {MatTableModule} from '@angular/material/table';\nimport {MAT_TABS_CONFIG, MatTabsModule} from '@angular/material/tabs';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {NgSelectModule} from '@ng-select/ng-select';\n\nimport {AddCommentComponent} from './add-comment/add-comment.component';\nimport {AvatarComponent} from './avatar/avatar.component';\nimport {ConfirmModalComponent} from './confirm-modal/confirm-modal.component';\nimport {DatepickerComponent} from './datepicker/datepicker.component';\nimport {DotsStepperComponent} from './dots-stepper/dots-stepper.component';\nimport {EditTagsModalComponent} from './edit-tag-modal/edit-tags-modal.component';\nimport {ImageCarouselComponent} from './image-carousel/image-carousel.component';\nimport {FeatureOnboardingComponent} from './feature-onboarding/feature-onboarding.component';\nimport {LeadModalComponent} from './lead-modal/lead-modal.component';\nimport {MediaDisplayOverlayDialogComponent} from './media-display-overlay/media-display-overlay-dialog.component';\nimport {ModalComponent} from './modal/modal.component';\nimport {OverlayDialogComponent} from './overlay/overlay-dialog.component';\nimport {OverlayInDivComponent} from './overlay-in-div/overlay-in-div.component';\nimport {PlaceComponent} from './places/place.component';\nimport {PlaceListComponent} from './places/place-list.component';\nimport {PopmenuModule} from './popmenu/popmenu.module';\nimport {SplashscreenComponent} from './splashscreen/splashscreen.component';\nimport {TagComponent} from './tags/tag.component';\nimport {TagListComponent} from './tags/tag-list.component';\nimport {TryPopupComponent} from './try-popup/try-popup.component';\nimport {TagsSelectorComponent} from './tags-selector/tags-selector.component';\nimport {TimepickerComponent} from './timepicker/timepicker.component';\nimport {NeoTimepickerComponent} from './neo-timepicker/neo-timepicker.component';\nimport {NotificationComponent} from './notification/notification.component';\nimport {StepperComponent} from './stepper/stepper.component';\nimport {SnackBarComponent} from './snackbar/snackbar.component';\nimport {PaginatorComponent} from './paginator/paginator.component';\nimport {PaginatorButtonComponent} from './paginator/paginator-button/paginator-button.component';\nimport {PhoneNumberInputComponent} from './phone-number-input/phone-number-input.component';\nimport {SlideToggleComponent} from './slide-toggle/slide-toggle.component';\nimport {PasswordStrengthBarComponent} from './password-strength-bar/password-strength-bar.component';\nimport {PasswordStrengthDisplayBarComponent} from './password-strength-display-bar/password-strength-display-bar.component';\nimport {SnackbarsThreadComponent} from './snackbars-thread/component/snackbars-thread.component';\nimport {StarRatingComponent} from './star-rating/star-rating.component';\n\n// Directives\nimport {AutosizeTextareaDirective} from './directives/autosize-textarea.directive';\nimport {DefaultImageDirective} from './directives/default-image.directive';\nimport {EllipsisDirective} from './directives/ellipsis.directive';\nimport {FrozenGifDirective} from './directives/frozen-gif.directive';\nimport {EqualValidatorDirective} from './directives/equal-validator.directive';\nimport {MultiStyleTextDirective} from './directives/multi-style-text.directive';\nimport {TruncateTooltipDirective} from './directives/truncate-tooltip.directive';\n\n// Modules\nimport {NgxDaterangepickerMd} from 'ngx-daterangepicker-material';\nimport {TooltipNeoDirective} from './tooltip-neo/tooltip-neo.directive';\nimport {TooltipNeoComponent} from './tooltip-neo/tooltip-neo.component';\nimport {AgorapulseUiSymbolModule} from '@agorapulse/ui-symbol';\nimport { PasswordInputComponent } from './password-input/password-input.component';\nimport { IMaskModule } from \"angular-imask\";\n\nconst globalRippleConfig: RippleGlobalOptions = {disabled: true};\n\n@NgModule({\n declarations: [\n // Components\n AddCommentComponent,\n AvatarComponent,\n AutosizeTextareaDirective,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotsStepperComponent,\n EditTagsModalComponent,\n EllipsisDirective,\n ImageCarouselComponent,\n FeatureOnboardingComponent,\n LeadModalComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n OverlayDialogComponent,\n OverlayInDivComponent,\n PasswordInputComponent,\n PasswordStrengthBarComponent,\n PasswordStrengthDisplayBarComponent,\n PhoneNumberInputComponent,\n PlaceComponent,\n PlaceListComponent,\n SnackBarComponent,\n SplashscreenComponent,\n StarRatingComponent,\n TagComponent,\n TagListComponent,\n TagsSelectorComponent,\n TimepickerComponent,\n NeoTimepickerComponent,\n TryPopupComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n TooltipNeoComponent,\n\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n SlideToggleComponent,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n TooltipNeoDirective,\n ],\n imports: [\n AgorapulseUiSymbolModule,\n CommonModule,\n NgxDaterangepickerMd,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n PopmenuModule,\n OverlayModule,\n\n // Components\n MatBadgeModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatChipsModule,\n MatExpansionModule,\n // MatFormFieldModule,\n MatCheckboxModule,\n MatIconModule,\n // MatInputModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatSliderModule,\n MatSlideToggleModule,\n\n // Navigation\n MatMenuModule,\n MatSidenavModule,\n MatToolbarModule,\n\n // Layout\n MatCardModule,\n MatDividerModule,\n // MatExpansionModule,\n MatGridListModule,\n MatListModule,\n MatTabsModule,\n MatStepperModule,\n FlexLayoutModule,\n\n // Popups & Modals\n MatBottomSheetModule,\n MatDialogModule,\n MatSnackBarModule,\n\n // Table\n MatTableModule,\n\n // Mask\n IMaskModule\n ],\n exports: [\n FormsModule,\n ReactiveFormsModule,\n\n // Components\n AddCommentComponent,\n AvatarComponent,\n StepperComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n DotsStepperComponent,\n EditTagsModalComponent,\n EllipsisDirective,\n ImageCarouselComponent,\n FeatureOnboardingComponent,\n LeadModalComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n OverlayDialogComponent,\n OverlayInDivComponent,\n PhoneNumberInputComponent,\n PasswordInputComponent,\n PasswordStrengthBarComponent,\n PasswordStrengthDisplayBarComponent,\n PlaceComponent,\n PlaceListComponent,\n SnackBarComponent,\n SplashscreenComponent,\n StarRatingComponent,\n TagComponent,\n TagListComponent,\n TagsSelectorComponent,\n TimepickerComponent,\n NeoTimepickerComponent,\n TryPopupComponent,\n NotificationComponent,\n PaginatorComponent,\n PaginatorButtonComponent,\n SlideToggleComponent,\n SnackbarsThreadComponent,\n\n // Directives\n AutosizeTextareaDirective,\n DefaultImageDirective,\n FrozenGifDirective,\n EqualValidatorDirective,\n MultiStyleTextDirective,\n TruncateTooltipDirective,\n TooltipNeoDirective,\n\n // Modules\n NgSelectModule,\n PopmenuModule,\n\n // Components\n MatBadgeModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCheckboxModule,\n MatChipsModule,\n MatExpansionModule,\n // MatFormFieldModule,\n MatIconModule,\n // MatInputModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatSliderModule,\n MatSlideToggleModule,\n\n // Navigation\n MatMenuModule,\n MatSidenavModule,\n MatToolbarModule,\n\n // Layout\n MatCardModule,\n MatDividerModule,\n // MatExpansionModule,\n MatGridListModule,\n MatListModule,\n MatTabsModule,\n MatStepperModule,\n\n // Popups & Modals\n MatBottomSheetModule,\n MatDialogModule,\n MatSnackBarModule,\n\n // Table\n MatTableModule\n ],\n entryComponents: [\n ConfirmModalComponent,\n LeadModalComponent,\n TryPopupComponent,\n MediaDisplayOverlayDialogComponent,\n ModalComponent,\n FeatureOnboardingComponent,\n OverlayDialogComponent,\n SnackBarComponent\n ],\n providers: [\n // Disable ripple effect\n // {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: {disabled: true}},\n // Disable tabs animation\n {provide: MAT_TABS_CONFIG, useValue: {animationDuration: '0ms'}}\n ]\n})\nexport class AgorapulseUiComponentsModule {\n}\n","import {ComponentRef, Injectable, Injector} from '@angular/core';\nimport {Overlay, OverlayConfig, OverlayRef} from '@angular/cdk/overlay';\nimport {ComponentPortal, PortalInjector} from '@angular/cdk/portal';\nimport {\n OVERLAY_DATA,\n OverlayDialogComponent,\n OverlayDialogRef\n} from './overlay-dialog.component';\n\ninterface OverlaywDialogConfig {\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n template?: any;\n}\n\nconst DEFAULT_CONFIG: OverlaywDialogConfig = {\n hasBackdrop: true,\n backdropClass: 'dark-backdrop',\n panelClass: 'tm-file-preview-dialog-panel',\n template: null\n};\n\n@Injectable()\nexport class OverlayDialogService {\n\n constructor(\n private injector: Injector,\n private overlay: Overlay) { }\n\n open(config: OverlaywDialogConfig = {}) {\n const dialogConfig = { ...DEFAULT_CONFIG, ...config };\n const overlayRef = this.createOverlay(dialogConfig);\n const dialogRef = new OverlayDialogRef(overlayRef);\n const overlayComponent = this.attachDialogContainer(overlayRef, dialogConfig, dialogRef);\n\n return dialogRef;\n }\n\n private createOverlay(config: OverlaywDialogConfig) {\n const overlayConfig = this.getOverlayConfig(config);\n return this.overlay.create(overlayConfig);\n }\n\n private attachDialogContainer(overlayRef: OverlayRef, config: OverlaywDialogConfig, dialogRef: OverlayDialogRef) {\n const injector = this.createInjector(config, dialogRef);\n\n const containerPortal = new ComponentPortal(OverlayDialogComponent, null, injector);\n const containerRef: ComponentRef<OverlayDialogComponent> = overlayRef.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n private createInjector(config: OverlaywDialogConfig, dialogRef: OverlayDialogRef): PortalInjector {\n const injectionTokens = new WeakMap();\n\n injectionTokens.set(OverlayDialogRef, dialogRef);\n injectionTokens.set(OVERLAY_DATA, config.template);\n\n return new PortalInjector(this.injector, injectionTokens);\n }\n\n private getOverlayConfig(config: OverlaywDialogConfig): OverlayConfig {\n const positionStrategy = this.overlay.position()\n .global()\n .centerHorizontally()\n .centerVertically();\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: config.panelClass,\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy\n });\n\n return overlayConfig;\n }\n}\n","import {SafeHtml} from \"@angular/platform-browser\";\n\n/**\n * Info - 0\n * Success - 1\n * Warning - 2\n * Error - 3\n */\nexport type externalSnackbarTypeAllowed = 'info' | 'success' | 'warning' | 'error';\ntype internalSnackbarTypeAllowed = 0 | 1 | 2 | 3;\n\n/**\n * https://netbasal.com/a-smaller-bundle-with-const-enums-in-typescript-b7f786227e5e\n */\nexport const enum SnackbarTypeValues {\n INFO = 'info',\n SUCCESS = 'success',\n WARNING = 'warning',\n ERROR = 'error'\n}\n\nexport interface SnackbarsThreadBase {\n snackbarType: internalSnackbarTypeAllowed;\n snackbarText: string | SafeHtml;\n}\n\nexport interface SnackbarsThreadComplete extends SnackbarsThreadBase{\n id: string;\n}\n\nabstract class CodeStatus {\n protected constructor(\n public snackbarText: string,\n public snackbarType: internalSnackbarTypeAllowed\n ) {\n }\n}\n\nclass CodeStatusInfo extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 0);\n }\n}\n\nclass CodeStatusSuccess extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 1);\n }\n}\n\nclass CodeStatusWarning extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 2);\n }\n}\n\nclass CodeStatusError extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 3);\n }\n}\n\nexport function generateCodeStatus(text: string, type: externalSnackbarTypeAllowed): CodeStatus{\n switch (type) {\n case 'info':\n return new CodeStatusInfo(text);\n case 'success':\n return new CodeStatusSuccess(text);\n case 'warning':\n return new CodeStatusWarning(text);\n case 'error':\n return new CodeStatusError(text);\n default:\n return new CodeStatusInfo(text);\n }\n}\n","/*\n * Public API Surface of ui\n */\n\n// Module\nexport {AgorapulseUiComponentsModule} from './src/lib/agorapulse-ui-components.module';\n\n// Directive\nexport {AutosizeTextareaDirective} from './src/lib/directives/autosize-textarea.directive';\nexport {DefaultImageDirective} from './src/lib/directives/default-image.directive';\nexport {EllipsisDirective} from './src/lib/directives/ellipsis.directive';\nexport {FrozenGifDirective} from './src/lib/directives/frozen-gif.directive';\nexport {EqualValidatorDirective} from './src/lib/directives/equal-validator.directive';\nexport {MultiStyleTextDirective} from './src/lib/directives/multi-style-text.directive';\nexport {PopmenuDirective} from './src/lib/popmenu/popmenu.directive';\nexport {TruncateTooltipDirective} from './src/lib/directives/truncate-tooltip.directive';\nexport {TooltipNeoDirective} from './src/lib/tooltip-neo/tooltip-neo.directive'\n\n// Component\nexport {AddCommentComponent} from './src/lib/add-comment/add-comment.component';\nexport {AvatarComponent} from './src/lib/avatar/avatar.component';\nexport {StepperComponent} from './src/lib/stepper/stepper.component';\nexport {ConfirmModalComponent} from './src/lib/confirm-modal/confirm-modal.component';\nexport {DatepickerComponent, DatepickerMode, I18nDatePicker, Period} from './src/lib/datepicker/datepicker.component';\nexport {DotsStepperComponent} from './src/lib/dots-stepper/dots-stepper.component';\nexport {EditTagsModalComponent} from './src/lib/edit-tag-modal/edit-tags-modal.component';\nexport {ImageCarouselComponent, InstagramCarouselItemType} from './src/lib/image-carousel/image-carousel.component';\nexport {FeatureOnboardingComponent} from './src/lib/feature-onboarding/feature-onboarding.component';\nexport {LeadModalComponent} from './src/lib/lead-modal/lead-modal.component';\nexport {MediaDisplayOverlayDialogComponent} from './src/lib/media-display-overlay/media-display-overlay-dialog.component';\nexport {ModalComponent, ModalConfig} from './src/lib/modal/modal.component';\nexport {OverlayDialogComponent} from './src/lib/overlay/overlay-dialog.component';\nexport {OverlayInDivComponent} from './src/lib/overlay-in-div/overlay-in-div.component';\nexport {OverlayDialogService} from './src/lib/overlay/overlay-dialog-service.component';\nexport {PaginatorComponent} from './src/lib/paginator/paginator.component';\nexport {PasswordInputComponent} from './src/lib/password-input/password-input.component';\nexport {PhoneNumberInputComponent} from './src/lib/phone-number-input/phone-number-input.component';\nexport {PlaceComponent} from './src/lib/places/place.component';\nexport {PlaceListComponent} from './src/lib/places/place-list.component';\nexport {PopmenuComponent} from './src/lib/popmenu/popmenu.component';\nexport {PopmenuModule} from './src/lib/popmenu/popmenu.module';\nexport {SplashscreenComponent} from './src/lib/splashscreen/splashscreen.component';\nexport {SnackBarComponent} from './src/lib/snackbar/snackbar.component';\nexport {TagComponent} from './src/lib/tags/tag.component';\nexport {TagListComponent} from './src/lib/tags/tag-list.component';\nexport {TagsSelectorComponent} from './src/lib/tags-selector/tags-selector.component';\nexport {Time, TimeFormat} from './src/lib/timepicker/timepicker.component';\nexport {TryPopupComponent} from './src/lib/try-popup/try-popup.component';\nexport {NotificationComponent} from './src/lib/notification/notification.component';\nexport {PasswordStrengthBarComponent} from './src/lib/password-strength-bar/password-strength-bar.component';\nexport {PasswordStrengthDisplayBarComponent} from './src/lib/password-strength-display-bar/password-strength-display-bar.component';\nexport {TimepickerComponent} from './src/lib/timepicker/timepicker.component';\nexport {PaginatorButtonComponent} from './src/lib/paginator/paginator-button/paginator-button.component';\nexport {SlideToggleComponent} from './src/lib/slide-toggle/slide-toggle.component';\nexport {SnackbarsThreadComponent} from './src/lib/snackbars-thread/component/snackbars-thread.component';\nexport {StarRatingComponent} from './src/lib/star-rating/star-rating.component'\n\n// Service\nexport {SnackbarsThreadService} from './src/lib/snackbars-thread/service/snackbars-thread.service';\n\n// Model\nexport {Step} from './src/lib/stepper/step.model'\nexport {ConfirmModalTexts} from './src/lib/confirm-modal/confirm-modal-texts.model';\nexport {LeadInfo} from './src/lib/lead-modal/lead-info.model';\nexport {TryPopupTexts} from './src/lib/try-popup/try-popup-texts.model';\nexport {generateCodeStatus, SnackbarsThreadBase, SnackbarTypeValues, externalSnackbarTypeAllowed} from './src/lib/snackbars-thread/model/snackbars-thread.model';\nexport {EditTagsModalData, TagStatus, TranslatedStrings} from './src/lib/edit-tag-modal/model/edit-tags-modal.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {NeoTimepickerComponent as ɵd} from './src/lib/neo-timepicker/neo-timepicker.component';\nexport {OVERLAY_DATA as ɵb,OverlayDialogRef as ɵa} from './src/lib/overlay/overlay-dialog.component';\nexport {PASSWORD_CONTROL_VALUE_ACCESSOR as ɵc} from './src/lib/password-input/password-input.component';\nexport {PopmenuOptionsService as ɵg} from './src/lib/popmenu/popmenu-options.service';\nexport {TooltipNeoComponent as ɵe} from './src/lib/tooltip-neo/tooltip-neo.component';\nexport {TooltipNeoService as ɵf} from './src/lib/tooltip-neo/tooltip-neo.service';"],"names":["EventEmitter","Component","ChangeDetectionStrategy","NG_VALUE_ACCESSOR","forwardRef","Input","Output","MatDialogRef","DatepickerMode","moment","ChangeDetectorRef","ViewChild","Subject","takeUntil","trigger","transition","style","animate","Inject","MAT_DIALOG_DATA","MatDialog","InstagramCarouselItemType","AnimationBuilder","HostListener","InjectionToken","Renderer2","ElementRef","MatMenuTrigger","HostBinding","Directive","Optional","ComponentFactoryResolver","ApplicationRef","Injector","NgModule","CommonModule","MatMenuModule","of","debounceTime","distinctUntilChanged","tap","switchMap","catchError","map","TimeFormat","OverlayContainer","CdkVirtualScrollViewport","IMask","fromEvent","parse","format","MatSnackBarRef","MAT_SNACK_BAR_DATA","NG_VALIDATORS","BehaviorSubject","Injectable","DomSanitizer","Attribute","merge","delay","ComponentPortal","Overlay","OverlayPositionBuilder","FormControl","AgorapulseUiSymbolModule","NgxDaterangepickerMd","FormsModule","ReactiveFormsModule","NgSelectModule","OverlayModule","MatBadgeModule","MatButtonModule","MatButtonToggleModule","MatChipsModule","MatExpansionModule","MatCheckboxModule","MatIconModule","MatProgressBarModule","MatProgressSpinnerModule","MatRadioModule","MatSliderModule","MatSlideToggleModule","MatSidenavModule","MatToolbarModule","MatCardModule","MatDividerModule","MatGridListModule","MatListModule","MatTabsModule","MatStepperModule","FlexLayoutModule","MatBottomSheetModule","MatDialogModule","MatSnackBarModule","MatTableModule","IMaskModule","MAT_TABS_CONFIG","PortalInjector","OverlayConfig"],"mappings":"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"}