@osovitny/anatoly 2.1.13 → 2.14.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.
- package/assets/styles/alerts.less +182 -0
- package/assets/styles/spinner.less +64 -0
- package/assets/styles/toastr.less +192 -0
- package/esm2020/lib/core/convert.mjs +62 -0
- package/esm2020/lib/core/core.module.mjs +72 -0
- package/esm2020/lib/core/go/base-go.service.mjs +41 -0
- package/esm2020/lib/core/guid.mjs +22 -0
- package/esm2020/lib/core/interceptors/httpInterceptor.mjs +108 -0
- package/esm2020/lib/core/localization/localization.module.mjs +47 -0
- package/esm2020/lib/core/localization/localization.service.mjs +185 -0
- package/esm2020/lib/core/localization/localizationSettings.module.mjs +88 -0
- package/esm2020/lib/core/localization/localize.pipe.mjs +78 -0
- package/esm2020/lib/core/logging/globalErrorHandler.mjs +44 -0
- package/esm2020/lib/core/logging/logging.service.mjs +39 -0
- package/esm2020/lib/core/notifications/services/notification-service.mjs +228 -0
- package/esm2020/lib/core/services/appcontext.service.mjs +118 -0
- package/esm2020/lib/core/services/dm.service.mjs +72 -0
- package/esm2020/lib/core/services/google-analytics.service.mjs +54 -0
- package/{esm2015/lib/core/services/idle.service.js → esm2020/lib/core/services/idle.service.mjs} +9 -7
- package/{esm2015/lib/core/services/loading.service.js → esm2020/lib/core/services/loading.service.mjs} +9 -8
- package/esm2020/lib/core/services/web-storage.service.mjs +69 -0
- package/esm2020/lib/core/subs.mjs +31 -0
- package/esm2020/lib/core/utils.mjs +82 -0
- package/esm2020/lib/data/base/base-api.service.mjs +89 -0
- package/esm2020/lib/data/base/grid/base-grid-edit.service.mjs +77 -0
- package/esm2020/lib/data/base/grid/base-grid-read.service.mjs +62 -0
- package/esm2020/lib/data/data.module.mjs +51 -0
- package/esm2020/lib/data/services/billing-api.service.mjs +65 -0
- package/esm2020/lib/data/services/notifications/notifications-api-service.mjs +43 -0
- package/esm2020/lib/ui/components/base-edit.component.mjs +143 -0
- package/esm2020/lib/ui/components/base.component.mjs +47 -0
- package/esm2020/lib/ui/components/base.dialog.mjs +49 -0
- package/esm2020/lib/ui/components/billing/buyaccess-button.component.mjs +69 -0
- package/esm2020/lib/ui/components/billing/subscribe-plan-button.component.mjs +63 -0
- package/esm2020/lib/ui/components/billing/upgrade-plan-button.component.mjs +53 -0
- package/esm2020/lib/ui/components/content-header/content-header.component.mjs +37 -0
- package/esm2020/lib/ui/components/html-editor/base-html-editor.component.mjs +111 -0
- package/esm2020/lib/ui/components/html-editor/forms-html-editor.component.mjs +48 -0
- package/esm2020/lib/ui/components/html-editor/html-editor.component.mjs +52 -0
- package/esm2020/lib/ui/components/identity/signin-button.component.mjs +32 -0
- package/esm2020/lib/ui/components/identity/signout-button.component.mjs +32 -0
- package/esm2020/lib/ui/components/identity/signup-button.component.mjs +31 -0
- package/esm2020/lib/ui/components/loading/loading.component.mjs +48 -0
- package/esm2020/lib/ui/components/spinner/spinner.component.mjs +74 -0
- package/esm2020/lib/ui/directives/native-element.directive.mjs +41 -0
- package/esm2020/lib/ui/pipes/filesize.pipe.mjs +45 -0
- package/esm2020/lib/ui/pipes/replace-text.pipe.mjs +40 -0
- package/esm2020/lib/ui/pipes/safeHtml.pipe.mjs +37 -0
- package/esm2020/lib/ui/ui.module.mjs +155 -0
- package/esm2020/lib/ui/validation/form-validation-summary.component.mjs +66 -0
- package/esm2020/lib/ui/validation/item-validation-summary.component.mjs +39 -0
- package/esm2020/lib/ui/validation/validation-summary.component.mjs +128 -0
- package/fesm2015/{osovitny-anatoly.js → osovitny-anatoly.mjs} +823 -765
- package/fesm2015/osovitny-anatoly.mjs.map +1 -0
- package/fesm2020/osovitny-anatoly.mjs +3496 -0
- package/fesm2020/osovitny-anatoly.mjs.map +1 -0
- package/{osovitny-anatoly.d.ts → index.d.ts} +1 -0
- package/lib/core/core.module.d.ts +5 -0
- package/lib/core/go/base-go.service.d.ts +3 -0
- package/lib/core/interceptors/httpInterceptor.d.ts +3 -0
- package/lib/core/localization/localization.module.d.ts +6 -0
- package/lib/core/localization/localization.service.d.ts +3 -0
- package/lib/core/localization/localizationSettings.module.d.ts +5 -0
- package/lib/core/localization/localize.pipe.d.ts +3 -0
- package/lib/core/logging/globalErrorHandler.d.ts +3 -0
- package/lib/core/logging/logging.service.d.ts +3 -0
- package/lib/core/notifications/services/notification-service.d.ts +3 -0
- package/lib/core/services/appcontext.service.d.ts +5 -2
- package/lib/core/services/dm.service.d.ts +3 -0
- package/lib/core/services/google-analytics.service.d.ts +3 -0
- package/lib/core/services/idle.service.d.ts +3 -0
- package/lib/core/services/loading.service.d.ts +3 -0
- package/lib/core/services/web-storage.service.d.ts +5 -0
- package/lib/data/base/base-api.service.d.ts +3 -0
- package/lib/data/base/grid/base-grid-edit.service.d.ts +3 -0
- package/lib/data/base/grid/base-grid-read.service.d.ts +3 -0
- package/lib/data/data.module.d.ts +5 -0
- package/lib/data/services/billing-api.service.d.ts +3 -0
- package/lib/data/services/notifications/notifications-api-service.d.ts +3 -0
- package/lib/ui/components/base-edit.component.d.ts +5 -2
- package/lib/ui/components/base.component.d.ts +3 -0
- package/lib/ui/components/base.dialog.d.ts +3 -0
- package/lib/ui/components/billing/buyaccess-button.component.d.ts +3 -0
- package/lib/ui/components/billing/subscribe-plan-button.component.d.ts +3 -0
- package/lib/ui/components/billing/upgrade-plan-button.component.d.ts +3 -0
- package/lib/ui/components/content-header/content-header.component.d.ts +3 -0
- package/lib/ui/components/html-editor/base-html-editor.component.d.ts +3 -0
- package/lib/ui/components/html-editor/forms-html-editor.component.d.ts +3 -0
- package/lib/ui/components/html-editor/html-editor.component.d.ts +3 -0
- package/lib/ui/components/identity/signin-button.component.d.ts +3 -0
- package/lib/ui/components/identity/signout-button.component.d.ts +3 -0
- package/lib/ui/components/identity/signup-button.component.d.ts +3 -0
- package/lib/ui/components/loading/loading.component.d.ts +3 -0
- package/lib/ui/components/spinner/spinner.component.d.ts +3 -0
- package/lib/ui/directives/native-element.directive.d.ts +3 -0
- package/lib/ui/pipes/filesize.pipe.d.ts +3 -0
- package/lib/ui/pipes/replace-text.pipe.d.ts +3 -0
- package/lib/ui/pipes/safeHtml.pipe.d.ts +3 -0
- package/lib/ui/ui.module.d.ts +24 -0
- package/lib/ui/validation/form-validation-summary.component.d.ts +3 -0
- package/lib/ui/validation/item-validation-summary.component.d.ts +3 -0
- package/lib/ui/validation/validation-summary.component.d.ts +3 -0
- package/package.json +23 -11
- package/bundles/osovitny-anatoly.umd.js +0 -3696
- package/bundles/osovitny-anatoly.umd.js.map +0 -1
- package/esm2015/lib/core/convert.js +0 -65
- package/esm2015/lib/core/core.module.js +0 -43
- package/esm2015/lib/core/go/base-go.service.js +0 -42
- package/esm2015/lib/core/guid.js +0 -25
- package/esm2015/lib/core/interceptors/httpInterceptor.js +0 -109
- package/esm2015/lib/core/localization/localization.module.js +0 -41
- package/esm2015/lib/core/localization/localization.service.js +0 -187
- package/esm2015/lib/core/localization/localizationSettings.module.js +0 -78
- package/esm2015/lib/core/localization/localize.pipe.js +0 -78
- package/esm2015/lib/core/logging/globalErrorHandler.js +0 -44
- package/esm2015/lib/core/logging/logging.service.js +0 -38
- package/esm2015/lib/core/notifications/services/notification-service.js +0 -230
- package/esm2015/lib/core/services/appcontext.service.js +0 -118
- package/esm2015/lib/core/services/dm.service.js +0 -74
- package/esm2015/lib/core/services/google-analytics.service.js +0 -53
- package/esm2015/lib/core/services/web-storage.service.js +0 -66
- package/esm2015/lib/core/subs.js +0 -34
- package/esm2015/lib/core/utils.js +0 -84
- package/esm2015/lib/data/base/base-api.service.js +0 -89
- package/esm2015/lib/data/base/grid/base-grid-edit.service.js +0 -77
- package/esm2015/lib/data/base/grid/base-grid-read.service.js +0 -62
- package/esm2015/lib/data/data.module.js +0 -43
- package/esm2015/lib/data/services/billing-api.service.js +0 -65
- package/esm2015/lib/data/services/notifications/notifications-api-service.js +0 -45
- package/esm2015/lib/ui/components/base-edit.component.js +0 -142
- package/esm2015/lib/ui/components/base.component.js +0 -43
- package/esm2015/lib/ui/components/base.dialog.js +0 -47
- package/esm2015/lib/ui/components/billing/buyaccess-button.component.js +0 -71
- package/esm2015/lib/ui/components/billing/subscribe-plan-button.component.js +0 -63
- package/esm2015/lib/ui/components/billing/upgrade-plan-button.component.js +0 -54
- package/esm2015/lib/ui/components/content-header/content-header.component.js +0 -37
- package/esm2015/lib/ui/components/html-editor/base-html-editor.component.js +0 -108
- package/esm2015/lib/ui/components/html-editor/forms-html-editor.component.js +0 -44
- package/esm2015/lib/ui/components/html-editor/html-editor.component.js +0 -51
- package/esm2015/lib/ui/components/identity/signin-button.component.js +0 -33
- package/esm2015/lib/ui/components/identity/signout-button.component.js +0 -33
- package/esm2015/lib/ui/components/identity/signup-button.component.js +0 -31
- package/esm2015/lib/ui/components/loading/loading.component.js +0 -49
- package/esm2015/lib/ui/components/spinner/spinner.component.js +0 -73
- package/esm2015/lib/ui/directives/native-element.directive.js +0 -41
- package/esm2015/lib/ui/pipes/filesize.pipe.js +0 -41
- package/esm2015/lib/ui/pipes/replace-text.pipe.js +0 -36
- package/esm2015/lib/ui/pipes/safeHtml.pipe.js +0 -36
- package/esm2015/lib/ui/ui.module.js +0 -105
- package/esm2015/lib/ui/validation/form-validation-summary.component.js +0 -64
- package/esm2015/lib/ui/validation/item-validation-summary.component.js +0 -38
- package/esm2015/lib/ui/validation/validation-summary.component.js +0 -126
- package/fesm2015/osovitny-anatoly.js.map +0 -1
- package/osovitny-anatoly.metadata.json +0 -1
- /package/{esm2015/lib/core/consts/settings.js → esm2020/lib/core/consts/settings.mjs} +0 -0
- /package/{esm2015/lib/core/consts/urls.js → esm2020/lib/core/consts/urls.mjs} +0 -0
- /package/{esm2015/lib/core/guards/once-import.guard.js → esm2020/lib/core/guards/once-import.guard.mjs} +0 -0
- /package/{esm2015/lib/core/localization/utils.js → esm2020/lib/core/localization/utils.mjs} +0 -0
- /package/{esm2015/lib/core/notifications/alerts.js → esm2020/lib/core/notifications/alerts.mjs} +0 -0
- /package/{esm2015/lib/core/notifications/interfaces/notification.js → esm2020/lib/core/notifications/interfaces/notification.mjs} +0 -0
- /package/{esm2015/lib/data/consts.js → esm2020/lib/data/consts.mjs} +0 -0
- /package/{esm2015/lib/ui/components/html-editor/html-editor.defaultoptions.js → esm2020/lib/ui/components/html-editor/html-editor.defaultoptions.mjs} +0 -0
- /package/{esm2015/osovitny-anatoly.js → esm2020/osovitny-anatoly.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"osovitny-anatoly.umd.js","sources":["../../../projects/anatoly/src/lib/core/consts/settings.ts","../../../projects/anatoly/src/lib/core/consts/urls.ts","../../../projects/anatoly/src/lib/core/go/base-go.service.ts","../../../projects/anatoly/src/lib/core/guards/once-import.guard.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/anatoly/src/lib/core/services/loading.service.ts","../../../projects/anatoly/src/lib/core/logging/logging.service.ts","../../../projects/anatoly/src/lib/core/interceptors/httpInterceptor.ts","../../../projects/anatoly/src/lib/core/convert.ts","../../../projects/anatoly/src/lib/core/localization/localization.service.ts","../../../projects/anatoly/src/lib/core/localization/localize.pipe.ts","../../../projects/anatoly/src/lib/core/localization/localizationSettings.module.ts","../../../projects/anatoly/src/lib/core/localization/localization.module.ts","../../../projects/anatoly/src/lib/core/logging/globalErrorHandler.ts","../../../projects/anatoly/src/lib/core/localization/utils.ts","../../../projects/anatoly/src/lib/core/notifications/alerts.ts","../../../projects/anatoly/src/lib/core/guid.ts","../../../projects/anatoly/src/lib/core/notifications/services/notification-service.ts","../../../projects/anatoly/src/lib/data/base/base-api.service.ts","../../../projects/anatoly/src/lib/core/services/web-storage.service.ts","../../../projects/anatoly/src/lib/core/services/appcontext.service.ts","../../../projects/anatoly/src/lib/core/services/idle.service.ts","../../../projects/anatoly/src/lib/core/services/dm.service.ts","../../../projects/anatoly/src/lib/core/services/google-analytics.service.ts","../../../projects/anatoly/src/lib/core/core.module.ts","../../../projects/anatoly/src/lib/core/subs.ts","../../../projects/anatoly/src/lib/core/utils.ts","../../../projects/anatoly/src/lib/data/base/grid/base-grid-read.service.ts","../../../projects/anatoly/src/lib/data/base/grid/base-grid-edit.service.ts","../../../projects/anatoly/src/lib/data/consts.ts","../../../projects/anatoly/src/lib/data/services/notifications/notifications-api-service.ts","../../../projects/anatoly/src/lib/data/services/billing-api.service.ts","../../../projects/anatoly/src/lib/data/data.module.ts","../../../projects/anatoly/src/lib/ui/components/base.component.ts","../../../projects/anatoly/src/lib/ui/components/base-edit.component.ts","../../../projects/anatoly/src/lib/ui/components/base.dialog.ts","../../../projects/anatoly/src/lib/ui/components/billing/buyaccess-button.component.ts","../../../projects/anatoly/src/lib/ui/components/billing/subscribe-plan-button.component.ts","../../../projects/anatoly/src/lib/ui/components/billing/upgrade-plan-button.component.ts","../../../projects/anatoly/src/lib/ui/components/content-header/content-header.component.ts","../../../projects/anatoly/src/lib/ui/components/html-editor/html-editor.defaultoptions.ts","../../../projects/anatoly/src/lib/ui/components/html-editor/base-html-editor.component.ts","../../../projects/anatoly/src/lib/ui/components/html-editor/forms-html-editor.component.ts","../../../projects/anatoly/src/lib/ui/components/html-editor/html-editor.component.ts","../../../projects/anatoly/src/lib/ui/components/identity/signin-button.component.ts","../../../projects/anatoly/src/lib/ui/components/identity/signout-button.component.ts","../../../projects/anatoly/src/lib/ui/components/identity/signup-button.component.ts","../../../projects/anatoly/src/lib/ui/components/loading/loading.component.ts","../../../projects/anatoly/src/lib/ui/components/spinner/spinner.component.ts","../../../projects/anatoly/src/lib/ui/directives/native-element.directive.ts","../../../projects/anatoly/src/lib/ui/pipes/replace-text.pipe.ts","../../../projects/anatoly/src/lib/ui/pipes/filesize.pipe.ts","../../../projects/anatoly/src/lib/ui/pipes/safeHtml.pipe.ts","../../../projects/anatoly/src/lib/ui/validation/validation-summary.component.ts","../../../projects/anatoly/src/lib/ui/validation/form-validation-summary.component.ts","../../../projects/anatoly/src/lib/ui/validation/item-validation-summary.component.ts","../../../projects/anatoly/src/lib/ui/ui.module.ts","../../../projects/anatoly/src/public-api.ts","../../../projects/anatoly/src/osovitny-anatoly.ts"],"sourcesContent":["/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport const ContextInitState = JSON.parse(\r\n ((\r\n document.getElementById('contextInitState')\r\n ) as HTMLInputElement).getAttribute('data-contextinitstate')\r\n);\r\n\r\nexport const AppCoreSettings = JSON.parse(\r\n ((\r\n document.getElementById('appCoreSettings')\r\n ) as HTMLInputElement).getAttribute('data-appcoresettings')\r\n);\r\n","/*\r\n<file>\r\n Project:\r\n MICE\r\n\r\n Authors:\r\n Vadim Osovitny vaosovitny@deloitte.com\r\n\r\n Created:\r\n 5 May 2020\r\n\r\n Copyright (c) 2020 Deloitte Tax. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport const Urls = {\r\n // SignalR Notifications\r\n notificationsSocketUrl: '/hubs/notifications'\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 17 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\n\r\n@Injectable()\r\nexport class BaseGoService {\r\n constructor(protected route: ActivatedRoute, protected router: Router) {\r\n this.route = route;\r\n this.router = router;\r\n }\r\n\r\n locationReload() {\r\n (window as any).location.reload();\r\n }\r\n\r\n homeReload() {\r\n (window as any).location.href = \"/\";\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n if (parentModule) {\r\n throw new Error(\r\n `${moduleName} has already been loaded. Import ${moduleName} modules in the AppModule only.`\r\n );\r\n }\r\n}\r\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) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\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","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n//RxJs\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LoadingService extends BehaviorSubject<boolean> {\r\n private counter = 0;\r\n\r\n //Public\r\n public isFreezed = false;\r\n\r\n constructor() {\r\n super(false);\r\n }\r\n\r\n show() {\r\n this.counter++;\r\n\r\n let that = this;\r\n setTimeout(() => {\r\n if (that.counter > 0) {\r\n that.next(true);\r\n }\r\n }, 500);\r\n }\r\n\r\n hide() {\r\n if (this.counter <= 0) {\r\n return;\r\n }\r\n\r\n this.counter--;\r\n\r\n if (this.counter == 0) {\r\n this.next(false);\r\n }\r\n }\r\n\r\n freeze(timeout: number = 1000) {\r\n this.isFreezed = true;\r\n\r\n let that = this;\r\n setTimeout(() => {\r\n this.isFreezed = false;\r\n }, timeout);\r\n }\r\n\r\n reset() {\r\n if (this.counter > 0) {\r\n this.next(false);\r\n }\r\n\r\n this.counter = 0;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LoggingService {\r\n constructor() {}\r\n\r\n logError(error) {\r\n console.error(error);\r\n }\r\n\r\n logInformation(info) {\r\n console.info(info);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 25 March 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\n\r\n// RxJS\r\nimport {tap} from 'rxjs/operators';\r\nimport {Observable} from 'rxjs';\r\n\r\n// App\r\nimport {AppCoreSettings} from '../consts/settings';\r\nimport {LoadingService} from '../services/loading.service';\r\nimport {LoggingService} from '../logging/logging.service';\r\n\r\n@Injectable()\r\nexport class AnatolyHttpInterceptor implements HttpInterceptor {\r\n protected longRunningExceptionsList = [];\r\n protected autoCDNSASTokenUrls = ['chunks', 'resources'];\r\n protected externalSiteUrls = ['azurewebsites.net'];\r\n\r\n constructor(protected loadingService: LoadingService, protected loggingService: LoggingService) {\r\n }\r\n\r\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n const isCDNEnabled = AppCoreSettings.IsCDNEnabled;\r\n const cdnSasToken = AppCoreSettings.CDNSASToken;\r\n\r\n const isLoadingFreezed = this.loadingService.isFreezed; \r\n const authorizationTokenRequired = true;\r\n const url = req.url.toLowerCase();\r\n const originalUrl = req.url;\r\n let isExternalSite = false;\r\n let loadingRequired = !isLoadingFreezed;\r\n\r\n if (!isLoadingFreezed) {\r\n for (const i of this.longRunningExceptionsList) {\r\n if (url.indexOf(this.longRunningExceptionsList[i]) >= 0) {\r\n loadingRequired = false;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (isCDNEnabled) {\r\n for (const i of this.autoCDNSASTokenUrls) {\r\n if (url.indexOf(this.autoCDNSASTokenUrls[i]) >= 0) {\r\n req = req.clone({ url: originalUrl + cdnSasToken });\r\n break;\r\n }\r\n }\r\n }\r\n\r\n for (const i of this.externalSiteUrls) {\r\n if (url.indexOf(this.externalSiteUrls[i]) >= 0) {\r\n isExternalSite = true;\r\n break;\r\n }\r\n }\r\n\r\n // VadimOS: IE11-fix\r\n if (url.indexOf('/api/') > -1) {\r\n let newUrl = '';\r\n const t = new Date().getTime().toString();\r\n\r\n if (url.indexOf('?') > -1) {\r\n newUrl = originalUrl + '&t=' + t;\r\n } else {\r\n newUrl = originalUrl + '?t=' + t;\r\n }\r\n\r\n req = req.clone({ url: newUrl });\r\n }\r\n\r\n req = req.clone({ headers: req.headers.set('Accept', 'application/json') });\r\n req = req.clone({ headers: req.headers.set('Accept', 'application/text') });\r\n\r\n this.onRequestStart(loadingRequired);\r\n\r\n return next.handle(req).pipe(\r\n tap(\r\n (event: HttpEvent<any>) => {\r\n if (event instanceof HttpResponse) {\r\n this.onRequestEnd(loadingRequired);\r\n }\r\n },\r\n (err: any) => {\r\n this.onRequestEnd(loadingRequired);\r\n this.loggingService.logError(err);\r\n }\r\n )\r\n );\r\n }\r\n\r\n onRequestStart(loadingRequired: boolean) {\r\n if (loadingRequired) {\r\n this.loadingService.show();\r\n }\r\n }\r\n\r\n onRequestEnd(loadingRequired: boolean) {\r\n if (loadingRequired) {\r\n this.loadingService.hide();\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 June 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Convert {\r\n public static toLocalizedDateTime(value: Date): Date | null {\r\n if (value) {\r\n return new Date(\r\n Date.UTC(value.getFullYear(), value.getMonth(), value.getDate(),\r\n value.getHours(), value.getMinutes(), value.getSeconds(), value.getMilliseconds())\r\n );\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static enumToString(enumeration, value) {\r\n for (var k in enumeration) if (enumeration[k] == value) return k;\r\n\r\n return null;\r\n }\r\n\r\n public static enumToArray(enumeration, notIncludes?) {\r\n const notIncludeFiler = (value) => {\r\n if (isNaN(Number(value))) {\r\n return false;\r\n }\r\n\r\n if (notIncludes) {\r\n for (var i in notIncludes) {\r\n if (notIncludes[i] == value)\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return Object.keys(enumeration)\r\n .filter(notIncludeFiler)\r\n .map(key => ({\r\n value: key,\r\n text: enumeration[key]\r\n }));\r\n }\r\n\r\n public static stringToArray(str: string, separator: string = ',') {\r\n if (str) {\r\n return str.split(separator).filter(element => element);\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public static stringToIntArray(str: string, separator: string = ',') {\r\n if (str) {\r\n return str.split(separator).filter(element => element).map(value => parseInt(value));\r\n }\r\n\r\n return [];\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 05 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n//Date fns\r\nimport { format, isValid, formatDistanceToNow, formatDistance } from 'date-fns';\r\nimport { utcToZonedTime } from 'date-fns-tz';\r\n\r\n// VadimOS: IE11-fix. DON'T change next imports!\r\n// Reason: https://github.com/date-fns/date-fns/issues/666\r\nimport enUS from 'date-fns/locale/en-US';\r\n\r\n// App\r\nimport {AppCoreSettings} from '../consts/settings';\r\nimport {Convert} from '../convert';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalizationService {\r\n dateFnsLocale: any;\r\n\r\n constructor(private translate: TranslateService) {\r\n this.setSupportedLanguages(['en']);\r\n }\r\n\r\n private format(str: string, args) {\r\n return str.replace(/{(\\d+)}/g, function (match, number) {\r\n return typeof args[number] != 'undefined'\r\n ? args[number]\r\n : match\r\n ;\r\n });\r\n };\r\n\r\n configureTranslationSettings(translate: TranslateService): string {\r\n const languageToSet = 'en';\r\n this.dateFnsLocale = { locale: enUS };\r\n\r\n translate.setDefaultLang(languageToSet);\r\n return languageToSet;\r\n }\r\n\r\n getBrowserLanguage(): string {\r\n return this.translate.getBrowserLang();\r\n }\r\n\r\n getDatefnsLocale(): any {\r\n let dfnLocale: any;\r\n\r\n switch (this.getBrowserLanguage()) {\r\n case 'en':\r\n dfnLocale = { locale: enUS };\r\n break;\r\n\r\n default:\r\n dfnLocale = { locale: enUS };\r\n }\r\n\r\n return dfnLocale;\r\n }\r\n\r\n setDefaultLanguage(lang: string): void {\r\n this.translate.setDefaultLang(lang);\r\n }\r\n\r\n setSupportedLanguages(languages: string[]): void {\r\n this.translate.addLangs(languages);\r\n }\r\n\r\n updateLanguage(language: string): void {\r\n this.translate.use(language);\r\n }\r\n\r\n getLocalizedValue(key: string, params?: any[]): string {\r\n const value = this.translate.instant(key);\r\n\r\n if (!params || params.length === 0) {\r\n return value;\r\n }\r\n\r\n return this.format(value, params);\r\n }\r\n\r\n getLocalizedDate(key: string): string {\r\n if (isValid(new Date(key))) {\r\n return format(new Date(key), 'dd.MM.yyyy', this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n\r\n getLocalizedDateTime(key: string) {\r\n let dateValue = new Date(key);\r\n if (isValid(dateValue)) {\r\n let localDate = Convert.toLocalizedDateTime(dateValue);\r\n return format(localDate, 'dd.MM.yyyy HH:mm', this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n\r\n getLocalizedDistanceInWords(endedDate: string, startedDate: string): string {\r\n if (isValid(new Date(endedDate)) && isValid(new Date(startedDate))) {\r\n return formatDistance(new Date(endedDate), new Date(startedDate), this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n\r\n getLocalizedDistanceToNowInWords(date: string): string {\r\n if (isValid(new Date(date))) {\r\n return formatDistanceToNow(new Date(date), this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n\r\n //UTC Operations --------------------------------------------------------------\r\n getUTCToLocalizedDate(key: string) {\r\n let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n\r\n if (key) {\r\n if (key.indexOf(\"T\") == -1) {\r\n key = key.replace(\" \", \"T\");\r\n }\r\n if (key.indexOf(\"Z\") == -1) {\r\n key = key + \"Z\";\r\n }\r\n }\r\n\r\n if (browserTimeZone) {\r\n let localDateTime = utcToZonedTime(key, browserTimeZone);\r\n return format(localDateTime, 'dd.MM.yyyy', this.dateFnsLocale);\r\n }\r\n else {\r\n return format(new Date(key), 'dd.MM.yyyy', this.dateFnsLocale);\r\n }\r\n }\r\n\r\n getUTCToLocalizedDateTime(key: string) {\r\n let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n\r\n if (key) {\r\n if (key.indexOf(\"T\") == -1) {\r\n key = key.replace(\" \", \"T\");\r\n }\r\n if (key.indexOf(\"Z\") == -1) {\r\n key = key + \"Z\";\r\n }\r\n }\r\n\r\n if (browserTimeZone) {\r\n let localDateTime = utcToZonedTime(key, browserTimeZone);\r\n return format(localDateTime, 'dd.MM.yyyy HH:mm', this.dateFnsLocale);\r\n }\r\n else {\r\n return format(new Date(key), 'dd.MM.yyyy HH:mm', this.dateFnsLocale);\r\n }\r\n }\r\n\r\n //https://date-fns.org/v1.30.1/docs/distanceInWords\r\n getUTCToLocalizedDistanceToNowInWords(date: string): string {\r\n date = this.safeUtcToZonedTime(date);\r\n\r\n if (isValid(new Date(date))) {\r\n return formatDistanceToNow(new Date(date), this.dateFnsLocale);\r\n }\r\n\r\n return \"Invalid Date\";\r\n }\r\n \r\n\r\n safeUtcToZonedTime(date): string {\r\n let result = date;\r\n\r\n try\r\n {\r\n if (date) {\r\n if (date.indexOf(\"T\") == -1) {\r\n date = date.replace(\" \", \"T\");\r\n }\r\n\r\n if (date.indexOf(\"Z\") == -1) {\r\n date = date + \"Z\";\r\n }\r\n }\r\n\r\n let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n if (browserTimeZone) {\r\n result = utcToZonedTime(date, browserTimeZone).toString();\r\n }\r\n else {\r\n result = new Date(date).toString();\r\n }\r\n }\r\n catch\r\n {\r\n if (date) {\r\n console.log(\"UTC to Local conversion failed for :\" + date.toString())\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 10 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n//App\r\nimport { LocalizationService } from './localization.service';\r\n\r\n@Pipe({\r\n name: 'localize'\r\n})\r\nexport class LocalizePipe implements PipeTransform {\r\n constructor(private localizeService: LocalizationService) {\r\n }\r\n\r\n transform(inputData: string, type: string, param2?: string): string {\r\n if (!inputData) {\r\n return;\r\n }\r\n\r\n if (!type) {\r\n type = 'tr';\r\n }\r\n\r\n //Translate\r\n if (type === 'tr') {\r\n return this.localizeService.getLocalizedValue(inputData);\r\n }\r\n\r\n //Date\r\n if (type === 'd') {\r\n return this.localizeService.getLocalizedDate(inputData);\r\n }\r\n\r\n //DateTime\r\n if (type === 'dt') {\r\n return this.localizeService.getLocalizedDateTime(inputData);\r\n }\r\n\r\n //DistanceInWords\r\n if (type === 'dis') {\r\n return this.localizeService.getLocalizedDistanceInWords(inputData, param2);\r\n }\r\n\r\n //DistanceToNowInWords\r\n if (type === 'dis2now') {\r\n return this.localizeService.getLocalizedDistanceToNowInWords(inputData);\r\n }\r\n\r\n //UTC Operations --------------------------------------------------------------\r\n //UTC Date\r\n if (type === 'u2d') {\r\n return this.localizeService.getUTCToLocalizedDate(inputData);\r\n }\r\n\r\n //UTC DateTime\r\n if (type === 'u2dt') {\r\n return this.localizeService.getUTCToLocalizedDateTime(inputData);\r\n }\r\n\r\n //UTC DistanceToNowInWords\r\n if (type === 'u2dis2now') {\r\n return this.localizeService.getUTCToLocalizedDistanceToNowInWords(inputData);\r\n }\r\n\r\n return inputData;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 05 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule, Injector, APP_INITIALIZER } from '@angular/core';\r\nimport { LOCATION_INITIALIZED } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\n\r\n//App\r\nimport { LocalizationService } from './localization.service';\r\nimport { AppCoreSettings } from '../consts/settings';\r\n\r\nexport function customTranslateLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, AppCoreSettings.resourcesUrl + \"/\", '.json');\r\n}\r\n\r\nexport function localizationInitializerFactory(translate: TranslateService, localizationService: LocalizationService, injector: Injector) {\r\n return () => new Promise<any>((resolve: any) => {\r\n let locationInitialized = injector.get(LOCATION_INITIALIZED, Promise.resolve(null));\r\n locationInitialized.then(() => {\r\n let languageToSet = localizationService.configureTranslationSettings(translate);\r\n translate.use(languageToSet).subscribe(() => {\r\n },\r\n () => {\r\n resolve(null);\r\n },\r\n () => {\r\n resolve(null);\r\n });\r\n });\r\n });\r\n}\r\n\r\nexport const TranslateModuleAtRoot = TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: customTranslateLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n});\r\n\r\nexport let LocalizationInjectorInstance: Injector; \r\n\r\n@NgModule({\r\n imports: [\r\n TranslateModuleAtRoot\r\n ],\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: localizationInitializerFactory,\r\n deps: [TranslateService, LocalizationService, Injector],\r\n multi: true\r\n }\r\n ],\r\n exports: [\r\n ]\r\n})\r\nexport class LocalizationSettingsModule {\r\n constructor(private injector: Injector) {\r\n LocalizationInjectorInstance = this.injector;\r\n }\r\n}\r\n\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n// Pipes\r\nimport { LocalizePipe } from './localize.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n TranslateModule\r\n ],\r\n exports: [\r\n TranslateModule,\r\n LocalizePipe\r\n ],\r\n declarations: [\r\n LocalizePipe\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class LocalizationModule {\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n/*\r\n https://medium.com/@amcdnl/global-error-handling-with-angular2-6b992bdfb59c\r\n https://medium.com/angular-in-depth/expecting-the-unexpected-best-practices-for-error-handling-in-angular-21c3662ef9e4\r\n*/\r\n\r\n// Node\r\nimport { ErrorHandler, Injectable, Injector } from \"@angular/core\";\r\n\r\n// App\r\nimport { LoggingService } from \"./logging.service\";\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n constructor(private injector: Injector) {}\r\n\r\n handleError(error) {\r\n const loggingService = this.injector.get(LoggingService);\r\n loggingService.logError(error);\r\n\r\n // IMPORTANT: Rethrow the error otherwise it gets swallowed\r\n throw error;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 2 July 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// App\r\nimport { LocalizationInjectorInstance } from './localizationSettings.module';\r\nimport { LocalizationService } from './localization.service';\r\n\r\nexport class L10nUtils {\r\n // @dynamic\r\n static get localizationService(): LocalizationService {\r\n const ns = LocalizationInjectorInstance.get<LocalizationService>(LocalizationService);\r\n return ns;\r\n }\r\n\r\n public static getLocalizedValue(key: string, params?: any[], defaultKey?: string) {\r\n // VadimOS: DON'T CHANGE THIS CODE. NEED TO BE REVIEWED AND APPROVED BY VADIMOS\r\n // defaultKey definition:\r\n // if key is empty and defaultKey is defined => get localization for defaultKey\r\n // Example: cancel()\r\n if (!key && defaultKey) {\r\n return this.localizationService.getLocalizedValue(defaultKey);\r\n }\r\n\r\n // VadimOS:\r\n // if key is not empty value MUST be in localization table, othewise we will return key\r\n if (key) {\r\n const value = this.localizationService.getLocalizedValue(key, params);\r\n return value;\r\n }\r\n\r\n return key;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 3 March 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport Swal from 'sweetalert2';\r\nimport { L10nUtils } from '../localization/utils';\r\n\r\nexport class Alerts {\r\n public static success(text?, params?: any[], title?, successAction?) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'OperationSuccessFull');\r\n title = L10nUtils.getLocalizedValue(title, null, 'Success');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'success',\r\n confirmButtonText: L10nUtils.getLocalizedValue('Ok')\r\n })\r\n .then(() => {\r\n if (successAction) {\r\n successAction();\r\n }\r\n });\r\n }\r\n\r\n public static info(text, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params);\r\n title = L10nUtils.getLocalizedValue(title, null, 'Info');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'info',\r\n confirmButtonText: L10nUtils.getLocalizedValue('Ok')\r\n });\r\n }\r\n\r\n public static warning(text, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params);\r\n title = L10nUtils.getLocalizedValue(title, null, 'Warning');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'warning',\r\n confirmButtonText: L10nUtils.getLocalizedValue('Ok')\r\n });\r\n }\r\n\r\n public static error(text?, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'ErrorOccured');\r\n title = L10nUtils.getLocalizedValue(title, null, 'Error');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'error',\r\n confirmButtonText: L10nUtils.getLocalizedValue('Ok')\r\n });\r\n }\r\n\r\n public static cancel(text?, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'OperationCancelled');\r\n title = L10nUtils.getLocalizedValue(title, null, 'Cancelled');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'info'\r\n })\r\n }\r\n\r\n public static notImplemented() {\r\n this.warning('Not Implemented Yet');\r\n };\r\n\r\n public static areYouSure(text, title?, confirmButtonText?, cancelButtonText?, successAction?, cancelAction?) {\r\n text = L10nUtils.getLocalizedValue(text);\r\n title = L10nUtils.getLocalizedValue(title, null, 'AreYouSure');\r\n confirmButtonText = L10nUtils.getLocalizedValue(confirmButtonText, null, 'AreYouSure-ConfirmButtonText');\r\n cancelButtonText = L10nUtils.getLocalizedValue(cancelButtonText, null, 'AreYouSure-CancelButtonText');\r\n\r\n Swal.fire({\r\n text,\r\n title,\r\n icon: 'warning',\r\n confirmButtonText,\r\n cancelButtonText,\r\n showCancelButton: true\r\n })\r\n .then((result) => {\r\n if (result.value) {\r\n if (successAction) {\r\n successAction();\r\n }\r\n }\r\n // result.dismiss can be 'cancel', 'overlay', 'close', and 'timer'\r\n else if (result.dismiss == Swal.DismissReason.cancel || result.dismiss == Swal.DismissReason.close) {\r\n if (cancelAction) {\r\n cancelAction();\r\n }\r\n }\r\n });\r\n };\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nexport class Guid {\r\n public static newGuid() {\r\n return uuidv4();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 2 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Injectable} from '@angular/core';\r\nimport {ToastrService} from 'ngx-toastr';\r\n\r\n// RxJs\r\nimport {BehaviorSubject} from 'rxjs';\r\n\r\n// App\r\nimport { L10nUtils } from '../../localization/utils';\r\nimport { Guid } from '../../guid';\r\nimport { INotification } from '../interfaces/notification';\r\n\r\n// SignalR\r\n// import * as signalR from '@microsoft/signalr';\r\n// import { NotificationsApiService } from '../../../data/services/notifications/notifications-api-service';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class NotificationService {\r\n // SignalR\r\n // private hubConnection: signalR.HubConnection;\r\n // private socketUrl: string;\r\n\r\n // Notifications\r\n private _sessionNotifications = new BehaviorSubject<INotification[]>([]);\r\n private _serverNotifications = new BehaviorSubject<INotification[]>([]);\r\n\r\n // Public\r\n readonly sessionNotifications$ = this._sessionNotifications.asObservable();\r\n readonly serverNotifications$ = this._serverNotifications.asObservable();\r\n\r\n constructor(private toastrService: ToastrService) {\r\n // this.onInit();\r\n }\r\n\r\n /*\r\n onInit() {\r\n if (AppCoreSettings.AzureAD) {\r\n this.authService.getAuthToken().subscribe((token: string) => {\r\n this.startSignalRConnection(token);\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.startSignalRConnection();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stopSignalRConnection();\r\n }\r\n\r\n // SignalR\r\n private startSignalRConnection(accessToken?) {\r\n const cskii = AppCoreSettings.selectedClientID;\r\n // tslint:disable-next-line:variable-name\r\n const cskii_upn = AppCoreSettings.CSKII_UPN;\r\n // tslint:disable-next-line:variable-name\r\n const cli_sessionguid = AppCoreSettings.CLI_SessionGUID;\r\n\r\n const url = this.socketUrl + '?cskii=' + cskii + '&cskii_upn=' + cskii_upn + '&cli_sessionguid=' + cli_sessionguid;\r\n\r\n if (accessToken) {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(url, {\r\n skipNegotiation: false,\r\n transport: signalR.HttpTransportType.WebSockets,\r\n accessTokenFactory: () => accessToken\r\n })\r\n .withAutomaticReconnect()\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .build();\r\n }\r\n else {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(this.socketUrl, {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n })\r\n .withAutomaticReconnect()\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .build();\r\n }\r\n\r\n this.hubConnection\r\n .start()\r\n .then(() => this.signalRConnection_onSuccess())\r\n .catch(err => {\r\n console.error('Connection failed to SignalR Notification Hub')\r\n })\r\n }\r\n\r\n private signalRConnection_onSuccess() {\r\n this.addReceiveMessageDataListener();\r\n\r\n this.notificationsApiService.retrieveNotifications().subscribe(data => {\r\n this.serverNotifications = data;\r\n });\r\n }\r\n\r\n stopSignalRConnection() {\r\n if (this.hubConnection) {\r\n this.hubConnection.stop();\r\n this.hubConnection = null;\r\n }\r\n }\r\n\r\n private addReceiveMessageDataListener = () => {\r\n this.hubConnection.on('ReceiveMessage', (message) => {\r\n if (message) {\r\n if (message.type === 'error') {\r\n this.error(message.text, null, null, false);\r\n }\r\n else {\r\n this.success(message.text, null, null, false);\r\n }\r\n\r\n const notification = {\r\n id: message.id,\r\n isNew: message.isNew,\r\n isSession: true,\r\n text: message.text,\r\n type: message.type,\r\n createdDate: message.createdDate\r\n };\r\n\r\n this.addSessionNotificationToList(notification);\r\n }\r\n });\r\n }\r\n */\r\n\r\n private addSessionNotification(text: string, type: string) {\r\n const id = Guid.newGuid();\r\n const notification = { id, isNew: true, isSession: true, text, type, createdDate: new Date(Date.now()).toISOString() };\r\n\r\n this.addSessionNotificationToList(notification);\r\n }\r\n\r\n private addSessionNotificationToList(notification: INotification) {\r\n this.sessionNotifications = [\r\n notification,\r\n ...this.sessionNotifications,\r\n ];\r\n }\r\n\r\n // Public API\r\n removeNotification(id: string, isSession: boolean) {\r\n if (isSession) {\r\n this.sessionNotifications = this.sessionNotifications.filter(notifications => notifications.id !== id);\r\n }\r\n else {\r\n this.serverNotifications = this.serverNotifications.filter(notifications => notifications.id !== id);\r\n }\r\n }\r\n\r\n success(text?, params?: any[], title?, createSessionNotification: boolean = true) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'OperationSuccessFull');\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.success(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n\r\n if (createSessionNotification) {\r\n this.addSessionNotification(text, 'success');\r\n }\r\n }\r\n\r\n info(text, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params);\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.info(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n }\r\n\r\n warning(text, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params);\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.warning(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n }\r\n\r\n error(text?, params?: any[], title?, createSessionNotification: boolean = true) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'ErrorOccured');\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.error(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n\r\n if (createSessionNotification) {\r\n this.addSessionNotification(text, 'error');\r\n }\r\n }\r\n\r\n cancel(text?, params?: any[], title?) {\r\n text = L10nUtils.getLocalizedValue(text, params, 'OperationCancelled');\r\n title = L10nUtils.getLocalizedValue(title);\r\n\r\n this.toastrService.info(text, title, {\r\n timeOut: 3000,\r\n progressBar: true\r\n });\r\n }\r\n\r\n // SessionNotifications\r\n get sessionNotifications(): INotification[] {\r\n return this._sessionNotifications.getValue();\r\n }\r\n set sessionNotifications(val: INotification[]) {\r\n this._sessionNotifications.next(val);\r\n }\r\n\r\n // ServerNotifications\r\n get serverNotifications(): INotification[] {\r\n return this._serverNotifications.getValue();\r\n }\r\n set serverNotifications(val: INotification[]) {\r\n this._serverNotifications.next(val);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// RxJs\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n//App\r\nimport { AppCoreSettings } from '../../core/consts/settings';\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class BaseApiService {\r\n protected baseUrl: string;\r\n\r\n constructor(protected http: HttpClient) {\r\n }\r\n\r\n private serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n //api\r\n get<T>(action: string, data?: any, responseType?): Observable<T> {\r\n if (!responseType) {\r\n responseType = 'json';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.get<T>(url, { responseType: responseType }).pipe(\r\n map(res => <T>res)\r\n );\r\n }\r\n\r\n post(action: string, data?: any, responseType?): Observable<any> {\r\n if (!responseType) {\r\n responseType = 'text';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}`;\r\n return this.http.post(url, data, { responseType: responseType });\r\n }\r\n\r\n postQS(action: string, data?: any, responseType?): Observable<any> {\r\n if (!responseType) {\r\n responseType = 'text';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, null, { responseType: responseType });\r\n }\r\n\r\n delete(action: string, data?: any, responseType?): Observable<any> {\r\n if (!responseType) {\r\n responseType = 'text';\r\n }\r\n\r\n var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.delete(url, { responseType: responseType });\r\n }\r\n\r\n //gets\r\n getExternalTextFile(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n getExternalJsonFile(url: string): Observable<any> {\r\n return this.http.get(url);\r\n }\r\n\r\n getJsonFile(fileName: string): Observable<any[]> {\r\n const jsonsUrl = AppCoreSettings.jsonsUrl;\r\n const jsonVersion = AppCoreSettings.jsonVersion;\r\n const isCDNEnabled = AppCoreSettings.isCDNEnabled;\r\n const cdnSasToken = AppCoreSettings.cdnSasToken;\r\n let url = \"\";\r\n\r\n if (isCDNEnabled) {\r\n url = jsonsUrl + \"/\" + fileName + cdnSasToken;\r\n }\r\n else {\r\n url = jsonsUrl + \"/\" + fileName + '?' + jsonVersion;\r\n } \r\n\r\n return this.http.get(url).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport {Injectable} from '@angular/core';\r\n\r\n//App\r\nimport {AppCoreSettings} from '../consts/settings';\r\n\r\nclass WebStorageService {\r\n storage: any;\r\n\r\n constructor(storage: string) {\r\n this.storage =\r\n storage === 'local' || storage === 'localStorage'\r\n ? localStorage\r\n : sessionStorage;\r\n }\r\n\r\n setItem(key, value) {\r\n this.storage.setItem(key, value);\r\n }\r\n\r\n setObject(key, value) {\r\n this.storage.setItem(key, JSON.stringify(value));\r\n }\r\n\r\n getItem(key) {\r\n return this.storage.getItem(key);\r\n }\r\n\r\n getObject(key) {\r\n let value = this.storage.getItem(key);\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n return JSON.parse(value);\r\n }\r\n\r\n remove(key) {\r\n this.storage.removeItem(key);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class LocalStorageService extends WebStorageService {\r\n constructor() {\r\n super('localStorage');\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class SessionStorageService extends WebStorageService {\r\n constructor() {\r\n super('sessionStorage');\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 13 Nov 2017\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\n\r\n// App\r\nimport { ContextInitState } from '../consts/settings';\r\nimport { BaseApiService } from '../../data/base/base-api.service';\r\nimport { SessionStorageService } from './web-storage.service'\r\n\r\n@Injectable()\r\nexport class AppContextService extends BaseApiService {\r\n //Consts\r\n private storageKeyName = 'appContext';\r\n\r\n private subscription: Subscription = null;\r\n private successes = []; \r\n\r\n constructor(\r\n protected http: HttpClient, \r\n private sessionStorage: SessionStorageService) {\r\n super(http);\r\n this.baseUrl = '/api/appContext';\r\n }\r\n\r\n //Session\r\n private getCurrentFromSession() {\r\n return this.sessionStorage.getObject(this.storageKeyName);\r\n }\r\n\r\n public setCurrentFromSession(value: any) {\r\n this.sessionStorage.setObject(this.storageKeyName, value);\r\n }\r\n\r\n private updateCurrentIfExpired() {\r\n let context = this.getCurrentFromSession();\r\n\r\n if (!context) {\r\n return;\r\n }\r\n\r\n let lu = context.lastRequested;\r\n\r\n if (lu) {\r\n let now = new Date();\r\n let lastRequested = new Date(context.lastRequested);\r\n let in2Mins = new Date(lastRequested.getFullYear(), lastRequested.getMonth(), lastRequested.getDate(),\r\n lastRequested.getHours(), lastRequested.getMinutes() + 2, 0, 0);\r\n\r\n if (in2Mins.getTime() < now.getTime()) {\r\n this.updateCurrent();\r\n }\r\n } \r\n }\r\n\r\n private dataReceived(data) {\r\n this.current = data;\r\n\r\n for (let i = 0; i < this.successes.length; i++) {\r\n let success = this.successes[i];\r\n if (success) {\r\n success(data);\r\n } \r\n }\r\n\r\n this.successes = [];\r\n this.subscription.unsubscribe();\r\n this.subscription = null;\r\n }\r\n\r\n getCurrent(success: Function = null, getCachedIfExist: boolean = true) {\r\n let context = this.getCurrentFromSession();\r\n\r\n if (getCachedIfExist && context != null) { \r\n if (success) {\r\n success(context);\r\n } \r\n\r\n return; \r\n }\r\n\r\n if (success) {\r\n this.successes.push(success);\r\n } \r\n\r\n if (this.subscription != null) {\r\n return;\r\n }\r\n\r\n let now = new Date();\r\n console.log('Requesting a new AppContext at ' + now);\r\n\r\n this.subscription = this.get('getCurrentContext', null).subscribe(\r\n (data) => {\r\n this.dataReceived(data);\r\n },\r\n (e) => {\r\n }\r\n );\r\n }\r\n\r\n updateCurrent(success: Function = null) {\r\n this.getCurrent(success, false);\r\n }\r\n\r\n clearCurrent() {\r\n this.sessionStorage.remove(this.storageKeyName);\r\n }\r\n\r\n isUserSignedIn() {\r\n return ContextInitState.isUserSignedIn;\r\n }\r\n\r\n isUserAdmin() {\r\n return ContextInitState.isUserAdmin;\r\n }\r\n\r\n //Properties\r\n //current\r\n public get current() {\r\n this.updateCurrentIfExpired();\r\n return this.getCurrentFromSession();\r\n }\r\n public set current(value: any) {\r\n this.setCurrentFromSession(value);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from '@angular/core';\r\n\r\n//RxJs\r\nimport { Observable, fromEvent, merge, Subject, timer } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IdleService {\r\n private idle$: Observable<any>;\r\n private timer$;\r\n private idleSubscription;\r\n\r\n //Dates/Timeouts\r\n private startDate;\r\n private timeOutSeconds: number;\r\n private timeOutMilliSeconds: number;\r\n\r\n public expired$: Subject<boolean> = new Subject<boolean>();\r\n\r\n //Private\r\n private resetTimeCounters(timeOutSeconds) {\r\n this.timeOutSeconds = timeOutSeconds;\r\n this.timeOutMilliSeconds = timeOutSeconds * 1000;\r\n this.startDate = new Date();\r\n }\r\n\r\n private startTimer() {\r\n this.timer$ = timer(this.timeOutMilliSeconds, 1 * 1000).subscribe((res) => {\r\n let nowDate = new Date();\r\n let exiredDate = new Date(this.startDate.getTime() + this.timeOutMilliSeconds);\r\n\r\n if (nowDate.getTime() >= exiredDate.getTime()) {\r\n //console.log(\"nowDate: \" + nowDate);\r\n //console.log(\"exiredDate: \" + exiredDate);\r\n\r\n this.expired$.next(true);\r\n }\r\n });\r\n }\r\n\r\n private resetTimer() {\r\n this.startDate = new Date();\r\n }\r\n\r\n //Public\r\n public startWatching(timeOutSeconds): Observable<any> {\r\n this.idle$ = merge(\r\n fromEvent(document, 'mousemove'),\r\n fromEvent(document, 'click'),\r\n fromEvent(document, 'mousedown'),\r\n fromEvent(document, 'keypress'),\r\n fromEvent(document, 'DOMMouseScroll'),\r\n fromEvent(document, 'mousewheel'),\r\n fromEvent(document, 'touchmove'),\r\n fromEvent(document, 'MSPointerMove'),\r\n fromEvent(window, 'mousemove'),\r\n fromEvent(window, 'resize'),\r\n );\r\n \r\n this.resetTimeCounters(timeOutSeconds);\r\n\r\n this.idleSubscription = this.idle$.subscribe((res) => {\r\n this.resetTimer();\r\n });\r\n\r\n this.startTimer();\r\n return this.expired$;\r\n }\r\n\r\n public stopWatching() {\r\n this.timer$.unsubscribe();\r\n this.idleSubscription.unsubscribe();\r\n }\r\n\r\n public restartIdleTimer(timeOutSeconds) {\r\n this.timer$.unsubscribe();\r\n\r\n this.resetTimeCounters(timeOutSeconds);\r\n this.startTimer();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 Щсе 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Title, Meta, MetaDefinition } from '@angular/platform-browser';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DigitalMarketingService {\r\n constructor(\r\n private title: Title,\r\n private meta: Meta,\r\n @Inject(DOCUMENT) private dom: any,\r\n ) {\r\n }\r\n\r\n updateTitle(title?: string) {\r\n this.title.setTitle(title);\r\n }\r\n\r\n updateDescription(desc?: string) {\r\n this.meta.updateTag({ name: 'description', content: desc });\r\n }\r\n\r\n updateKeywords(keywords?: any) {\r\n this.meta.updateTag({ name: 'keywords', content: keywords });\r\n }\r\n\r\n updateMetaTags(meta: MetaDefinition[]) {\r\n meta.forEach(m => this.meta.updateTag(m));\r\n }\r\n\r\n setCanonicalUrl(url?: string) {\r\n const canUrl = url === undefined ? this.dom.URL : url;\r\n const link: HTMLLinkElement = this.dom.createElement('link');\r\n link.setAttribute('rel', 'canonical');\r\n this.dom.head.appendChild(link);\r\n link.setAttribute('href', canUrl);\r\n }\r\n\r\n updateCanonicalUrl(url?: string) {\r\n const canUrl = url === undefined ? this.dom.URL : url;\r\n const head = this.dom.getElementsByTagName('head')[0];\r\n let link: HTMLLinkElement = this.dom.querySelector(`link[rel='canonical']`) || null;\r\n\r\n if (link == null) {\r\n link = this.dom.createElement('link') as HTMLLinkElement;\r\n head.appendChild(link);\r\n }\r\n\r\n link.setAttribute('rel', 'canonical');\r\n link.setAttribute('href', canUrl);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 Nov 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Injectable } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class GoogleAnalyticsService {\r\n private subscription: Subscription;\r\n\r\n constructor(private router: Router) { \r\n /*\r\n https://yashints.dev/blog/2019/02/12/angular-ga-tagmanager\r\n https://developers.google.com/analytics/devguides/collection/gtagjs/pages\r\n https://developers.google.com/analytics/devguides/collection/upgrade/analyticsjs\r\n */\r\n }\r\n\r\n public subscribe() {\r\n this.subscription = this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n if ((<any>window).ga) {\r\n (<any>window).ga('set', 'page', event.urlAfterRedirects);\r\n (<any>window).ga('send', 'pageview');\r\n }\r\n }\r\n });\r\n }\r\n\r\n public unsubscribe() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import {Injector, NgModule, Optional, SkipSelf} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\n//Logging\r\nimport {LoggingService} from './logging/logging.service';\r\n\r\n//Services\r\nimport { AppContextService } from './services/appcontext.service';\r\nimport { LoadingService } from './services/loading.service';\r\nimport { DigitalMarketingService } from './services/dm.service';\r\nimport { GoogleAnalyticsService } from './services/google-analytics.service';\r\nimport { LocalStorageService, SessionStorageService } from './services/web-storage.service';\r\n\r\n//notifications\r\nimport {NotificationService} from './notifications/services/notification-service';\r\n\r\n//Guards\r\nimport {throwIfAlreadyLoaded} from './guards/once-import.guard';\r\n\r\nexport let InjectorInstance: Injector;\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n exports: [],\r\n providers: [\r\n LoggingService,\r\n NotificationService,\r\n AppContextService,\r\n LoadingService,\r\n DigitalMarketingService,\r\n GoogleAnalyticsService,\r\n LocalStorageService,\r\n SessionStorageService\r\n ],\r\n})\r\nexport class AnatolyCoreModule {\r\n constructor(private injector: Injector, @Optional() @SkipSelf() parentModule: AnatolyCoreModule) {\r\n throwIfAlreadyLoaded(parentModule, 'AnatolyCoreModule');\r\n\r\n InjectorInstance = this.injector;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport {Subscription} from 'rxjs';\r\n\r\nexport class Subs {\r\n private subs: Subscription[] = [];\r\n\r\n constructor() {}\r\n\r\n add(...subscriptions: Subscription[]) {\r\n this.subs = this.subs.concat(subscriptions);\r\n }\r\n\r\n set sink(subscription: Subscription) {\r\n this.subs.push(subscription);\r\n }\r\n\r\n unsubscribe() {\r\n this.subs.forEach((sub) => sub && sub.unsubscribe());\r\n this.subs = [];\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 19 March 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport class Utils {\r\n public static getValueByNameInQS(name) {\r\n return Utils.getValueByName(location.search, name);\r\n }\r\n\r\n public static getValueByName(url, name) {\r\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\r\n // tslint:disable-next-line:one-variable-per-declaration\r\n const regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)'),\r\n\r\n results = regex.exec(url);\r\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\r\n }\r\n\r\n public static copyToClipBoard(event: any, val: string) {\r\n event.preventDefault();\r\n\r\n const selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = val;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n }\r\n\r\n public static downloadFile(name: string, url: string) {\r\n const link = document.createElement('a');\r\n link.download = name;\r\n link.href = url;\r\n link.click();\r\n }\r\n\r\n public static downloadBlobFile(value: Blob, fileName: string) {\r\n if (window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(value, fileName);\r\n } else {\r\n const downloadURL = window.URL.createObjectURL(value);\r\n Utils.downloadFile(fileName, downloadURL);\r\n }\r\n }\r\n\r\n\r\n /*\r\n Author: \r\n https://medium.com/@mhagemann/the-ultimate-way-to-slugify-a-url-string-in-javascript-b8e4a0d849e1\r\n */\r\n public static slugify(text: string, prefix: string = '', postfix: string = '') {\r\n const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;';\r\n const b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------';\r\n const p = new RegExp(a.split('').join('|'), 'g');\r\n\r\n /*\r\n https://css-tricks.com/snippets/javascript/strip-html-tags-in-javascript/\r\n https://stackoverflow.com/questions/822452/strip-html-from-text-javascript\r\n */\r\n text = text.replace(/(<([^>]+)>)/gi, '');\r\n\r\n let result = text\r\n .toString()\r\n .toLowerCase()\r\n .replace(/\\s+/g, '-') // Replace spaces with -\r\n .replace(p, c => b.charAt(a.indexOf(c))) // Replace special characters\r\n .replace(/&/g, '-and-') // Replace & with 'and'\r\n .replace(/[^\\w\\-]+/g, '') // Remove all non-word characters\r\n .replace(/\\-\\-+/g, '-') // Replace multiple - with single -\r\n .replace(/^-+/, '') // Trim - from start of text\r\n .replace(/-+$/, ''); // Trim - from end of text\r\n\r\n return prefix + result + postfix;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\n//RxJs\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable()\r\nexport class BaseGridReadService extends BehaviorSubject<any[]> {\r\n protected data: any[] = []; \r\n protected baseReadUrl: string;\r\n protected savedReadParams: any; \r\n\r\n constructor(protected http: HttpClient) {\r\n super([]);\r\n }\r\n\r\n serializeParams(data?: any): string {\r\n return data ? ('?' + $.param(data)) : '';\r\n }\r\n\r\n read(params?: any, success?: Function, error?: Function) {\r\n if (this.data.length) {\r\n return super.next(this.data);\r\n }\r\n\r\n var url = this.baseReadUrl;\r\n\r\n if (typeof params === 'undefined') {\r\n params = this.savedReadParams;\r\n }\r\n\r\n if (params) {\r\n url = this.baseReadUrl + `${this.serializeParams(params)}`;\r\n this.savedReadParams = params;\r\n }\r\n\r\n this.http.get(url).pipe(map(res => <any[]>res)).subscribe(\r\n data => {\r\n super.next(data);\r\n if (success) success();\r\n },\r\n e => {\r\n if (error) error(e);\r\n },\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 29 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\n//RxJs\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\n//App\r\nimport { BaseGridReadService } from \"./base-grid-read.service\";\r\n\r\n@Injectable()\r\nexport class BaseGridEditService extends BaseGridReadService {\r\n protected baseUrl: string;\r\n\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n private reset() {\r\n this.data = [];\r\n }\r\n\r\n resetItem(dataItem: any) {\r\n if (!dataItem) { return; }\r\n\r\n //find orignal data item\r\n const originalDataItem = this.data.find(item => item.Id === dataItem.Id);\r\n\r\n //revert changes\r\n Object.assign(originalDataItem, dataItem);\r\n super.next(this.data);\r\n }\r\n\r\n save(data: any, isNew: boolean, sucess?: Function) {\r\n const action = isNew ? 'add' : 'update';\r\n\r\n this.reset();\r\n this.post(action, data).subscribe(\r\n () => {\r\n },\r\n () => {\r\n this.read();\r\n },\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n }\r\n );\r\n }\r\n\r\n delete(data: any, sucess?: Function) {\r\n this.reset();\r\n\r\n const url = `${this.baseUrl}/delete${this.serializeParams(data)}`;\r\n return this.http.delete(url).subscribe(\r\n () => {\r\n this.read();\r\n if (sucess) sucess();\r\n },\r\n () => {\r\n this.read();\r\n }\r\n );\r\n }\r\n\r\n post(action: any, data?: any): Observable<any[]> {\r\n const url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;\r\n return this.http.post(url, data).pipe(\r\n map(res => <any[]>res)\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 30 April 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport const consts = {\r\n billingApiPath: 'api/billing',\r\n\r\n // Notifications API\r\n notificationsApiPath: 'api/notifications',\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 30 April 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n// RxJS\r\nimport {Observable} from 'rxjs';\r\n\r\n// App\r\nimport { INotification } from '../../../core/notifications/interfaces/notification';\r\nimport { BaseApiService } from '../../base/base-api.service';\r\nimport { consts } from '../../consts';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationsApiService extends BaseApiService {\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = consts.notificationsApiPath;\r\n }\r\n\r\n retrieveNotifications(): Observable<INotification[]> {\r\n return this.get('retrieveNotifications');\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\n//App\r\nimport { BaseApiService } from \"../base/base-api.service\";\r\nimport { consts } from '../consts';\r\n\r\n@Injectable()\r\nexport class BillingApiService extends BaseApiService {\r\n constructor(protected http: HttpClient) {\r\n super(http);\r\n this.baseUrl = consts.billingApiPath;\r\n }\r\n\r\n public requestNewSubscription(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS(\"requestNewSubscription\", { requestedPlan: requestedPlan }).subscribe(\r\n (data) => {\r\n if (success) success();\r\n },\r\n (e) => {\r\n if (error) error();\r\n }\r\n );\r\n }\r\n\r\n public cancelRequestedSubscription(success?: Function, error?: Function) {\r\n this.postQS(\"cancelRequestedSubscription\", null).subscribe(\r\n (data) => {\r\n if (success) success();\r\n },\r\n (e) => {\r\n if (error) error();\r\n }\r\n );\r\n }\r\n\r\n public buyAccess(requestedPlan: Number, success?: Function, error?: Function) {\r\n this.postQS(\"buyAccess\", { requestedPlan: requestedPlan }).subscribe(\r\n (data) => {\r\n if (success) success();\r\n },\r\n (e) => {\r\n if (error) error();\r\n }\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 4 Mar 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport {NgModule, Optional, SkipSelf} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\n//App\r\nimport { BillingApiService } from './services/billing-api.service';\r\nimport { throwIfAlreadyLoaded } from '../core/guards/once-import.guard';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n BillingApiService\r\n ],\r\n})\r\nexport class AnatolyDataModule {\r\n constructor(@Optional() @SkipSelf() parentModule: AnatolyDataModule) {\r\n throwIfAlreadyLoaded(parentModule, 'AnatolyDataModule');\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 28 Aug 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, OnDestroy } from \"@angular/core\";\r\n\r\n//App\r\nimport { Utils } from \"../../core/utils\";\r\nimport { Subs } from \"../../core/subs\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseComponent implements OnDestroy {\r\n protected subs: Subs = new Subs();\r\n\r\n getQSId() {\r\n var id = Utils.getValueByNameInQS(\"id\");\r\n if (typeof id === \"undefined\" || id == \"\") return null;\r\n\r\n return id;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 20 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n AbstractControl,\r\n FormControl,\r\n ValidatorFn,\r\n AbstractControlOptions,\r\n AsyncValidatorFn,\r\n} from \"@angular/forms\";\r\n\r\n//App\r\nimport { BaseComponent } from \"./base.component\";\r\nimport { Utils } from \"../../core/utils\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseEditComponent extends BaseComponent {\r\n @Input() formGroup: FormGroup;\r\n @Input() formSubmitted: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n isActionAdding() {\r\n var id = Utils.getValueByNameInQS(\"id\");\r\n if (typeof id === \"undefined\" || id == \"\") return true;\r\n\r\n return false;\r\n }\r\n\r\n getEntityId() {\r\n return this.getQSId();\r\n }\r\n\r\n isControlValid(name: string, frmGroup: FormGroup = null) {\r\n return !this.isControlInvalid(name, frmGroup);\r\n }\r\n\r\n isControlInvalid(name: string, frmGroup: FormGroup = null) {\r\n if (typeof name === \"undefined\" || name == \"\") {\r\n return false;\r\n }\r\n\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n if (!fg) {\r\n return false;\r\n }\r\n\r\n if (fg.get(name)) {\r\n return (\r\n (this.formSubmitted && fg.get(name).invalid) ||\r\n (fg.get(name).touched && fg.get(name).invalid)\r\n );\r\n }\r\n\r\n return false;\r\n }\r\n\r\n //FormGroup functions\r\n getFormValue(name, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n return fg.controls[name].value;\r\n }\r\n\r\n setFormValue(name, value, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.controls[name].setValue(value);\r\n }\r\n\r\n getFormGroupValue(groupName, name, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n return fg.controls[groupName].get(name).value;\r\n }\r\n\r\n setFormGroupValue(groupName, name, value, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.controls[groupName].get(name).setValue(value);\r\n }\r\n\r\n /**\r\n * Add control to form group\r\n * @param name\r\n * @param formControl\r\n * @param formGroup\r\n */\r\n addControl(\r\n name: string,\r\n formControl: AbstractControl,\r\n frmGroup: FormGroup = null\r\n ) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.addControl(name, formControl);\r\n }\r\n\r\n /**\r\n * Removes control from form group\r\n * @param name\r\n * @param formGroup\r\n */\r\n removeControl(name: string, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n\r\n if (fg.get(name)) {\r\n fg.removeControl(name);\r\n }\r\n }\r\n\r\n /**\r\n * return new form control\r\n * @param formState\r\n * @param validatorOrOpts\r\n * @param asyncValidator\r\n */\r\n createFormControl(\r\n formState?: any,\r\n validatorOrOpts?:\r\n | ValidatorFn\r\n | ValidatorFn[]\r\n | AbstractControlOptions\r\n | null,\r\n asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null\r\n ) {\r\n return new FormControl(formState, validatorOrOpts, asyncValidator);\r\n }\r\n\r\n /**\r\n * Set error to control\r\n * @param controlName formControl name\r\n * @param err error expect {erroname: boolean} format\r\n * @param formGroup Specific form group. default it will apply on this.formGroup property\r\n */\r\n setControlError(controlName: string, err: {}, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.get(controlName)?.setErrors(err);\r\n }\r\n\r\n /**\r\n * Set {invalid: true} for the specified form\r\n * @param controlName form control name\r\n * @param formGroup\r\n */\r\n setInValidError(controlName: string, frmGroup: FormGroup = null) {\r\n let fg = frmGroup ? frmGroup : this.formGroup;\r\n fg.get(controlName)?.setErrors({ invalid: true });\r\n }\r\n\r\n /**\r\n * returns formgroup controls.\r\n * main use case is used in html pages\r\n */\r\n get fc() {\r\n return this.formGroup.controls;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 24 Jan 2022\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n//App\r\nimport { BaseEditComponent } from \"./base-edit.component\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseDialog extends BaseEditComponent {\r\n private _opened = false;\r\n\r\n @Input()\r\n get opened() {\r\n return this._opened;\r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n open() {\r\n this._opened = true;\r\n }\r\n \r\n close() {\r\n this._opened = false;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 14 Aug 2018\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Component, Input, OnInit} from '@angular/core';\r\n\r\n// App\r\nimport {AppContextService} from '../../../core/services/appcontext.service';\r\nimport {BillingApiService} from '../../../data/services/billing-api.service';\r\nimport {Alerts} from '../../../core/notifications/alerts';\r\n\r\n@Component({\r\n selector: 'anatoly-buyaccess-button',\r\n templateUrl: './buyaccess-button.component.html',\r\n})\r\nexport class BuyAccessButtonComponent implements OnInit {\r\n public contextUpdated = false;\r\n public isUserSignedIn = false;\r\n public currentPlan = 0;\r\n public currentPlanTitle = '';\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(\r\n private appContext: AppContextService,\r\n private api: BillingApiService\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.appContext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appContext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n\r\n onBuyPlan() {\r\n const text = `Requested plan: ${this.plantitle} `;\r\n const that = this;\r\n\r\n Alerts.areYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {\r\n that.api.buyAccess(that.plan, () => {\r\n Alerts.success('Access Granted', null, null,() => {\r\n (window as any).location.reload();\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 1 Jun 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n// Services\r\nimport { AppContextService } from \"../../../core/services/appcontext.service\";\r\n\r\n@Component({\r\n selector: \"anatoly-subscribe-plan-button\",\r\n templateUrl: \"./subscribe-plan-button.component.html\",\r\n})\r\nexport class SubscribePlanButtonComponent implements OnInit {\r\n public contextUpdated = false;\r\n public isUserSignedIn = false;\r\n public currentPlan = 0;\r\n public currentPlanTitle = \"\";\r\n public requestedPlan = 0;\r\n public requestedPlanTitle = \"\";\r\n\r\n @Input() plan: number;\r\n @Input() plantitle: string;\r\n\r\n constructor(private appcontext: AppContextService) {}\r\n\r\n ngOnInit() {\r\n if (!this.appcontext.isUserSignedIn()) {\r\n this.contextUpdated = true;\r\n return;\r\n }\r\n\r\n this.appcontext.getCurrent((current) => {\r\n this.isUserSignedIn = current.isUserSignedIn;\r\n\r\n if (this.isUserSignedIn) {\r\n this.currentPlan = current.account.billingPlan;\r\n this.currentPlanTitle = current.account.billingPlanAsString;\r\n this.requestedPlan = current.account.requestedBillingPlan;\r\n this.requestedPlanTitle = current.account.requestedBillingPlanAsString;\r\n }\r\n\r\n this.contextUpdated = true;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Nov 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Component, Input} from '@angular/core';\r\nimport {BillingApiService} from '../../../data/services/billing-api.service';\r\nimport {Alerts} from '../../../core/notifications/alerts';\r\n\r\n// Services\r\n\r\n@Component({\r\n selector: 'anatoly-upgrade-plan-button',\r\n templateUrl: './upgrade-plan-button.component.html',\r\n})\r\nexport class UpgradePlanButtonComponent {\r\n @Input() currentplantitle: string;\r\n @Input() requestedplan: number;\r\n @Input() requestedplantitle: string;\r\n\r\n constructor(private api: BillingApiService) {}\r\n\r\n onUpgradePlan() {\r\n const text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;\r\n const that = this;\r\n\r\n Alerts.areYouSure(\r\n text,\r\n 'Change billing plan',\r\n 'Confirm change',\r\n 'Cancel',\r\n () => {\r\n that.api.requestNewSubscription(that.requestedplan, () => {\r\n Alerts.success(\r\n 'Your request for changing plan has been sent.',\r\n null,null,\r\n () => {\r\n (window as any).location.reload();\r\n }\r\n );\r\n });\r\n }\r\n );\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 23 Apr 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"anatoly-content-header\",\r\n templateUrl: \"./content-header.component.html\",\r\n})\r\nexport class ContentHeaderComponent implements OnInit {\r\n @Input() title?: string;\r\n\r\n ngOnInit() {\r\n if (this.title == null) {\r\n this.title = \"\";\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nexport const DefaultEditorOptions: Object = {\r\n placeholderText: \"Edit Your Content Here\",\r\n charCounterCount: true,\r\n heightMin: 100,\r\n toolbarInline: false,\r\n\r\n toolbarButtons: {\r\n moreText: {\r\n buttons: [\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"strikeThrough\",\r\n \"subscript\",\r\n \"superscript\",\r\n \"fontFamily\",\r\n \"fontSize\",\r\n \"textColor\",\r\n \"backgroundColor\",\r\n \"inlineClass\",\r\n \"inlineStyle\",\r\n ],\r\n },\r\n moreParagraph: {\r\n buttons: [\r\n \"alignLeft\",\r\n \"alignCenter\",\r\n \"formatOLSimple\",\r\n \"alignRight\",\r\n \"alignJustify\",\r\n \"formatOL\",\r\n \"formatUL\",\r\n \"paragraphFormat\",\r\n \"paragraphStyle\",\r\n \"lineHeight\",\r\n \"outdent\",\r\n \"indent\",\r\n \"quote\",\r\n ],\r\n },\r\n moreRich: {\r\n buttons: [\r\n \"insertLink\",\r\n \"insertImage\",\r\n \"insertTable\",\r\n \"emoticons\",\r\n \"fontAwesome\",\r\n \"specialCharacters\",\r\n \"embedly\",\r\n ],\r\n },\r\n moreMisc: {\r\n buttons: [\r\n \"selectAll\",\r\n \"clearFormatting\",\r\n \"html\",\r\n \"undo\",\r\n \"redo\",\r\n \"fullscreen\",\r\n ],\r\n align: \"right\",\r\n },\r\n },\r\n\r\n /*\r\n Upload:\r\n https://www.froala.com/wysiwyg-editor/docs/concepts/image/upload\r\n */\r\n imageUploadURL: \"/api/htmlEditor/uploadImage\",\r\n imageAllowedTypes: [\"jpeg\", \"jpg\", \"png\"],\r\n imageUploadParams: { uploadType: \"\", uploadParentId: \"\" },\r\n};\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { AfterViewInit, Component, Input, OnInit } from \"@angular/core\";\r\n\r\n// App\r\nimport { AppCoreSettings } from \"../../../core/consts/settings\";\r\nimport { BaseEditComponent } from \"../base-edit.component\";\r\nimport { DefaultEditorOptions } from \"./html-editor.defaultoptions\";\r\n\r\n@Component({\r\n template: \"\",\r\n})\r\nexport abstract class BaseHtmlEditorComponent extends BaseEditComponent implements OnInit, AfterViewInit\r\n{\r\n protected froalaEditor;\r\n\r\n // Public members\r\n public options;\r\n public froalaEditorInitialized = false;\r\n public afterInitializedActions = [];\r\n\r\n // Inputs\r\n @Input() editorLabelText = \"Html\";\r\n @Input() editorOptions: Object = {};\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n let opt = this.editorOptions;\r\n if (typeof this.editorOptions == \"string\") {\r\n opt = JSON.parse(this.editorOptions);\r\n }\r\n\r\n let newOptions: any = $.extend({}, DefaultEditorOptions, opt);\r\n const key = AppCoreSettings.froalaEditorKey;\r\n\r\n if (key) {\r\n newOptions = $.extend(\r\n {},\r\n newOptions,\r\n JSON.parse('{ \"key\": \"' + key + '\" }')\r\n );\r\n }\r\n\r\n if (newOptions.events && newOptions.events.initialized) {\r\n newOptions.events.initialized.overridden = false;\r\n }\r\n\r\n this.options = newOptions;\r\n }\r\n\r\n ngAfterViewInit() {\r\n const that = this;\r\n setTimeout(function () {\r\n that.froalaEditorInitialized = true;\r\n that.onInitialized();\r\n }, 300);\r\n }\r\n\r\n private onInitialized() {\r\n let actions = this.afterInitializedActions;\r\n\r\n // Clear actions\r\n this.afterInitializedActions = [];\r\n\r\n if (actions) {\r\n for (let i = 0; i < actions.length; i++) {\r\n actions[i]();\r\n }\r\n }\r\n }\r\n\r\n protected getEditor() {\r\n if (this.froalaEditor) return this.froalaEditor.getEditor();\r\n\r\n return null;\r\n }\r\n\r\n // Public Funcs\r\n public doAfterInitialized(action) {\r\n const that = this;\r\n\r\n if (!this.froalaEditorInitialized) {\r\n this.afterInitializedActions.push(() => {\r\n action(that);\r\n });\r\n } else {\r\n action(that);\r\n }\r\n }\r\n\r\n public initializeControl(control) {\r\n this.froalaEditor = control;\r\n this.froalaEditor.initialize();\r\n }\r\n\r\n public setUploadParams(uploadType, uploadParentId) {\r\n this.doAfterInitialized(function (that) {\r\n const editor = that.getEditor();\r\n if (typeof editor == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.opts.imageUploadParams.uploadType = uploadType;\r\n editor.opts.imageUploadParams.uploadParentId = uploadParentId;\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from \"./base-html-editor.component\";\r\n\r\n@Component({\r\n selector: \"anatoly-forms-html-editor\",\r\n templateUrl: \"./forms-html-editor.component.html\",\r\n})\r\nexport class FormsHtmlEditorComponent extends BaseHtmlEditorComponent {\r\n @Input() editorFormKey: string = \"html\";\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public setFormValueAfterInitialized(name, value) {\r\n this.doAfterInitialized(function (that) {\r\n that.setFormValue(name, value);\r\n });\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 12 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n//Custom\r\nimport { BaseHtmlEditorComponent } from \"./base-html-editor.component\";\r\n\r\n@Component({\r\n selector: \"anatoly-html-editor\",\r\n templateUrl: \"./html-editor.component.html\",\r\n})\r\nexport class HtmlEditorComponent extends BaseHtmlEditorComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public setHtml(content) {\r\n this.doAfterInitialized(function (that) {\r\n var editor = that.getEditor();\r\n if (typeof editor == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n editor.html.set(content);\r\n });\r\n }\r\n\r\n public getHtml() {\r\n var editor = this.getEditor();\r\n if (typeof editor == \"undefined\" || editor == null) {\r\n return;\r\n }\r\n\r\n return editor.html.get(false);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"anatoly-signin-button\",\r\n templateUrl: \"./signin-button.component.html\",\r\n})\r\nexport class SignInButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() {}\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"anatoly-signout-button\",\r\n templateUrl: \"./signout-button.component.html\",\r\n})\r\nexport class SignOutButtonComponent {\r\n @Input() classbtn: string;\r\n\r\n constructor() {}\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 4 Jul 2018\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"anatoly-signup-button\",\r\n templateUrl: \"./signup-button.component.html\",\r\n})\r\nexport class SignUpButtonComponent {\r\n @Input() classbtn: string;\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 9 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {Subs} from '../../../core/subs';\r\nimport {LoadingService} from '../../../core/services/loading.service';\r\n\r\n@Component({\r\n selector: 'anatoly-loading',\r\n templateUrl: './loading.component.html'\r\n})\r\nexport class LoadingComponent implements OnInit, OnDestroy {\r\n // Private\r\n private subs: Subs = new Subs();\r\n\r\n // Public\r\n show = false;\r\n\r\n constructor(private loadingService: LoadingService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.subs.sink = this.loadingService.subscribe((state) => {\r\n this.show = state;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 16 May 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Component, Inject, Input, OnDestroy, ViewEncapsulation} from '@angular/core';\r\nimport {NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router} from '@angular/router';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\nconst SpinnerSpinKit = {\r\n spinnerLine: 'spinner-line-material',\r\n\r\n // ToDo\r\n ChasingDots: 'spinner-chasing-dots',\r\n CubeGrid: 'spinner-cube-grid',\r\n DoubleBounce: 'spinner-double-bounce',\r\n RotatingPlane: 'spinner-rotationg-plane',\r\n SpinnerPulse: 'spinner-spinner-pulse',\r\n ThreeBounce: 'spinner-three-bounce',\r\n WanderingCubes: 'spinner-wandering-cubes',\r\n Wave: 'spinner-wave'\r\n};\r\n\r\n@Component({\r\n selector: 'spinner',\r\n templateUrl: './spinner.component.html',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SpinnerComponent implements OnDestroy {\r\n isSpinnerVisible = true;\r\n spinnerSpinKit = SpinnerSpinKit;\r\n\r\n @Input() backgroundColor = '#007CB0';\r\n @Input() spinner = SpinnerSpinKit.spinnerLine;\r\n\r\n constructor(private router: Router, @Inject(DOCUMENT) private document: Document) {\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n this.isSpinnerVisible = true;\r\n } else if (event instanceof NavigationEnd || event instanceof NavigationCancel || event instanceof NavigationError) {\r\n this.isSpinnerVisible = false;\r\n }\r\n }, () => {\r\n this.isSpinnerVisible = false;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.isSpinnerVisible = false;\r\n }\r\n}\r\n\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 28 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { Directive, ElementRef, Input, OnInit } from \"@angular/core\";\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[formControl], [formControlName]'\r\n})\r\nexport class NativeElementDirective implements OnInit {\r\n constructor(private el: ElementRef<HTMLFormElement>, private control: NgControl) {\r\n }\r\n\r\n ngOnInit() {\r\n // sets the localization key to the control\r\n (this.control.control as any).nativeElement = this.el.nativeElement;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"replaceText\",\r\n})\r\nexport class ReplaceTextPipe implements PipeTransform {\r\n transform(inputData: string, search: string, replacement: string): string {\r\n if (inputData) {\r\n return inputData.replace(new RegExp(search, \"g\"), replacement);\r\n } else {\r\n return inputData;\r\n }\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filesize',\r\n})\r\nexport class FileSizePipe implements PipeTransform {\r\n private units = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];\r\n\r\n transform(bytes: number = 0, precision: number = 0): string {\r\n if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes)) return '';\r\n\r\n let unit = 0;\r\n\r\n while (bytes >= 1024) {\r\n bytes /= 1024;\r\n unit++;\r\n }\r\n\r\n return bytes.toFixed(+precision) + ' ' + this.units[unit];\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 27 Oct 2019\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\n\r\n\r\n@Pipe({ name: 'safeHtml' })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) { }\r\n\r\n transform(value) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 8 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component } from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\n\r\n//Custom\r\nimport { BaseEditComponent } from \"../components/base-edit.component\";\r\n\r\n@Component({\r\n template: \"\",\r\n})\r\nexport abstract class ValidationSummaryComponent extends BaseEditComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n getFormValidationMessages(): string[] {\r\n let messages: string[] = [];\r\n\r\n Object.keys(this.formGroup.controls).forEach((k) => {\r\n var control = this.formGroup.controls[k];\r\n\r\n if ((<FormGroup>control).controls != null) {\r\n Object.keys((<FormGroup>control).controls).forEach((k) => {\r\n var child = (<FormGroup>control).controls[k];\r\n this.getValidationMessages(\r\n child,\r\n this.getControlName(child, k)\r\n ).forEach((m) => messages.push(m));\r\n });\r\n } else {\r\n this.getValidationMessages(\r\n control,\r\n this.getControlName(control, k)\r\n ).forEach((m) => messages.push(m));\r\n }\r\n });\r\n\r\n return messages;\r\n }\r\n\r\n getValidationMessages(state: any, thingName?: string) {\r\n let thing: string = state.path || thingName;\r\n let messages: string[] = [];\r\n\r\n if (state.errors) {\r\n for (let errorName in state.errors) {\r\n if (state.errors.hasOwnProperty(errorName)) {\r\n switch (errorName) {\r\n case \"required\":\r\n messages.push(`${thing} is required`);\r\n break;\r\n\r\n case \"minlength\":\r\n messages.push(\r\n `${thing} must be at least ${state.errors[\"minlength\"].requiredLength} characters`\r\n );\r\n break;\r\n\r\n case \"pattern\":\r\n messages.push(`${thing} contains illegal characters`);\r\n break;\r\n\r\n case \"format\":\r\n messages.push(`${thing} format mismatch`);\r\n break;\r\n\r\n case \"maxlength\":\r\n messages.push(\r\n `${thing} must have maximum ${state.errors[\"maxlength\"].requiredLength} characters`\r\n );\r\n break;\r\n\r\n case \"specialcharacters\":\r\n messages.push(`${thing} contains special characters`);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return messages;\r\n }\r\n\r\n /**\r\n * Get Control Name\r\n * @param control\r\n * @param thingName\r\n */\r\n getControlName(control: any, thingName?: string) {\r\n let value = this.getControlTitle(control);\r\n return value ? value : thingName;\r\n }\r\n\r\n /**\r\n * Retrieve tilte of control\r\n * @param control\r\n */\r\n getControlTitle(control: any): string {\r\n if (control?.nativeElement) {\r\n let controlTitle = this.getTitleAttribute(control.nativeElement);\r\n if (controlTitle) {\r\n return controlTitle;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Return title attribute of form control\r\n */\r\n getTitleAttribute(nativeElement: HTMLFormElement): string {\r\n let title: string;\r\n\r\n switch (nativeElement.tagName) {\r\n // For Kendo time and date picker element title is assigned to the 4th child control.\r\n case \"KENDO-TIMEPICKER\":\r\n case \"KENDO-DATEPICKER\":\r\n title =\r\n nativeElement.children[0]?.children[0]?.children[0]?.children[0]?.getAttribute(\r\n \"title\"\r\n );\r\n break;\r\n\r\n // For Kendo numaric element title is assigned to the 2nd child control.\r\n case \"KENDO-NUMERICTEXTBOX\":\r\n title = nativeElement.children[0]?.children[0]?.getAttribute(\"title\");\r\n break;\r\n\r\n default:\r\n title = nativeElement.getAttribute(\"title\");\r\n break;\r\n }\r\n\r\n return title;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 7 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component, Input } from \"@angular/core\";\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: \"anatoly-form-validation-summary\",\r\n templateUrl: \"./form-validation-summary.component.html\",\r\n})\r\nexport class FormValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() visible: boolean = false;\r\n @Input() customerrors: string[] = [];\r\n\r\n /*\r\n 0 - only FormValidation messages\r\n 1 - only Custom messages\r\n 2 - all\r\n */ \r\n @Input() viewtype: number = 0; \r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n getErrors() {\r\n if (this.viewtype == 1) {\r\n return this.customerrors;\r\n }\r\n\r\n let formValidationMessages = this.getFormValidationMessages();\r\n if (this.viewtype == 0) {\r\n return formValidationMessages;\r\n }\r\n\r\n var messages = [];\r\n if (formValidationMessages.length > 0) {\r\n messages.push(...formValidationMessages);\r\n }\r\n\r\n if (this.customerrors.length > 0) {\r\n messages.push(...this.customerrors);\r\n } \r\n\r\n return messages;\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 6 Dec 2017\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n// Node\r\nimport { Component, Input } from \"@angular/core\";\r\nimport { ValidationSummaryComponent } from \"./validation-summary.component\";\r\n\r\n@Component({\r\n selector: \"anatoly-item-validation-summary\",\r\n templateUrl: \"./item-validation-summary.component.html\",\r\n})\r\nexport class ItemValidationSummaryComponent extends ValidationSummaryComponent {\r\n @Input() controlName: string;\r\n @Input() controlTitle: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","/*\r\n<file>\r\n Project:\r\n @osovitny/anatoly\r\n\r\n Authors:\r\n Vadim Osovitny\r\n Anatoly Osovitny\r\n\r\n Created:\r\n 26 Jun 2020\r\n\r\n Version:\r\n 1.0\r\n\r\n Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.\r\n</file>\r\n*/\r\n\r\n//Node\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\n\r\n//Froala\r\nimport { FroalaEditorModule, FroalaViewModule } from \"angular-froala-wysiwyg\";\r\nexport const FroalaEditorModuleWithProviders = FroalaEditorModule.forRoot();\r\nexport const FroalaViewModuleWithProviders = FroalaViewModule.forRoot();\r\n\r\n//Components\r\nimport { SubscribePlanButtonComponent } from \"./components/billing/subscribe-plan-button.component\";\r\nimport { UpgradePlanButtonComponent } from \"./components/billing/upgrade-plan-button.component\";\r\nimport { BuyAccessButtonComponent } from \"./components/billing/buyaccess-button.component\";\r\nimport { SignInButtonComponent } from \"./components/identity/signin-button.component\";\r\nimport { SignUpButtonComponent } from \"./components/identity/signup-button.component\";\r\nimport { SignOutButtonComponent } from \"./components/identity/signout-button.component\";\r\n\r\nimport { ContentHeaderComponent } from \"./components/content-header/content-header.component\";\r\nimport { SpinnerComponent } from \"./components/spinner/spinner.component\";\r\nimport { LoadingComponent } from \"./components/loading/loading.component\";\r\nimport { NativeElementDirective } from \"./directives/native-element.directive\";\r\n\r\n//Editor\r\nimport { HtmlEditorComponent } from \"./components/html-editor/html-editor.component\";\r\nimport { FormsHtmlEditorComponent } from \"./components/html-editor/forms-html-editor.component\";\r\n\r\n//Validation\r\nimport { FormValidationSummaryComponent } from \"./validation/form-validation-summary.component\";\r\nimport { ItemValidationSummaryComponent } from \"./validation/item-validation-summary.component\";\r\n\r\n//Pipes\r\nimport { SafeHtmlPipe } from \"./pipes/safeHtml.pipe\";\r\nimport { ReplaceTextPipe } from \"./pipes/replace-text.pipe\";\r\nimport { FileSizePipe } from \"./pipes/filesize.pipe\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n FroalaEditorModuleWithProviders,\r\n FroalaViewModuleWithProviders,\r\n ],\r\n exports: [\r\n SubscribePlanButtonComponent,\r\n UpgradePlanButtonComponent,\r\n BuyAccessButtonComponent,\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent,\r\n ContentHeaderComponent,\r\n SpinnerComponent,\r\n LoadingComponent,\r\n NativeElementDirective,\r\n\r\n //Editor\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent,\r\n\r\n //Validation\r\n FormValidationSummaryComponent,\r\n ItemValidationSummaryComponent,\r\n\r\n //Pipe\r\n SafeHtmlPipe,\r\n ReplaceTextPipe,\r\n FileSizePipe,\r\n ],\r\n declarations: [\r\n SubscribePlanButtonComponent,\r\n UpgradePlanButtonComponent,\r\n BuyAccessButtonComponent,\r\n SignInButtonComponent,\r\n SignUpButtonComponent,\r\n SignOutButtonComponent,\r\n ContentHeaderComponent,\r\n SpinnerComponent,\r\n LoadingComponent,\r\n NativeElementDirective,\r\n\r\n //Editor\r\n HtmlEditorComponent,\r\n FormsHtmlEditorComponent,\r\n\r\n //Validation\r\n FormValidationSummaryComponent,\r\n ItemValidationSummaryComponent,\r\n\r\n //Pipe\r\n SafeHtmlPipe,\r\n ReplaceTextPipe,\r\n FileSizePipe,\r\n ]\r\n})\r\nexport class AnatolyUIModule {\r\n}\r\n","/*\r\n * Public API Surface of anatoly-lib\r\n */\r\n\r\n// Core\r\nexport * from './lib/core/consts/settings';\r\nexport * from './lib/core/consts/urls';\r\nexport * from './lib/core/go/base-go.service';\r\nexport * from './lib/core/guards/once-import.guard';\r\nexport * from './lib/core/interceptors/httpInterceptor';\r\nexport * from './lib/core/localization/localize.pipe';\r\nexport * from './lib/core/localization/localization.service';\r\nexport * from './lib/core/localization/localizationSettings.module';\r\nexport * from './lib/core/localization/localization.module';\r\nexport * from './lib/core/logging/globalErrorHandler';\r\nexport * from './lib/core/logging/logging.service';\r\nexport * from './lib/core/notifications/alerts';\r\nexport * from './lib/core/notifications/interfaces/notification';\r\nexport * from './lib/core/notifications/services/notification-service';\r\nexport * from './lib/core/services/appcontext.service';\r\nexport * from './lib/core/services/idle.service';\r\nexport * from './lib/core/services/loading.service';\r\nexport * from './lib/core/services/web-storage.service'\r\nexport * from './lib/core/services/dm.service'\r\nexport * from './lib/core/services/google-analytics.service'\r\nexport * from './lib/core/convert';\r\nexport * from './lib/core/core.module';\r\nexport * from './lib/core/guid';\r\nexport * from './lib/core/subs';\r\nexport * from './lib/core/utils';\r\n\r\n// Data\r\nexport * from './lib/data/base/grid/base-grid-edit.service';\r\nexport * from './lib/data/base/grid/base-grid-read.service';\r\nexport * from './lib/data/base/base-api.service';\r\nexport * from './lib/data/services/notifications/notifications-api-service';\r\nexport * from './lib/data/services/billing-api.service';\r\nexport * from './lib/data/data.module';\r\n\r\n// UI\r\nexport * from './lib/ui/components/base.component';\r\nexport * from './lib/ui/components/base-edit.component';\r\nexport * from './lib/ui/components/base.dialog';\r\nexport * from './lib/ui/components/billing/buyaccess-button.component';\r\nexport * from './lib/ui/components/billing/subscribe-plan-button.component';\r\nexport * from './lib/ui/components/billing/upgrade-plan-button.component';\r\nexport * from './lib/ui/components/content-header/content-header.component';\r\nexport * from './lib/ui/components/html-editor/html-editor.defaultoptions';\r\nexport * from './lib/ui/components/html-editor/base-html-editor.component';\r\nexport * from './lib/ui/components/html-editor/forms-html-editor.component';\r\nexport * from './lib/ui/components/html-editor/html-editor.component';\r\nexport * from './lib/ui/components/identity/signin-button.component';\r\nexport * from './lib/ui/components/identity/signout-button.component';\r\nexport * from './lib/ui/components/identity/signup-button.component';\r\nexport * from './lib/ui/components/loading/loading.component';\r\nexport * from './lib/ui/components/spinner/spinner.component';\r\n\r\nexport * from './lib/ui/directives/native-element.directive';\r\n\r\nexport * from './lib/ui/pipes/replace-text.pipe';\r\nexport * from './lib/ui/pipes/filesize.pipe';\r\nexport * from './lib/ui/pipes/safeHtml.pipe';\r\n\r\nexport * from './lib/ui/validation/form-validation-summary.component';\r\nexport * from './lib/ui/validation/item-validation-summary.component';\r\nexport * from './lib/ui/validation/validation-summary.component';\r\nexport * from './lib/ui/ui.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Injectable","ActivatedRoute","Router","BehaviorSubject","tap","HttpResponse","enUS","isValid","format","formatDistance","formatDistanceToNow","utcToZonedTime","TranslateService","Pipe","TranslateHttpLoader","LOCATION_INITIALIZED","TranslateModule","TranslateLoader","HttpClient","LocalizationInjectorInstance","NgModule","APP_INITIALIZER","Injector","Swal","uuidv4","ToastrService","map","Subject","timer","merge","fromEvent","Title","Meta","Inject","DOCUMENT","NavigationEnd","InjectorInstance","CommonModule","Optional","SkipSelf","Component","FormControl","Input","router","NavigationStart","NavigationCancel","NavigationError","ViewEncapsulation","Directive","ElementRef","NgControl","DomSanitizer","FroalaEditorModule","FroalaViewModule","ReactiveFormsModule","FormsModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;;;;;;;;;;;;;;MAgBa,gBAAgB,GAAG,IAAI,CAAC,KAAK,CACvC,CACC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,EACtB,YAAY,CAAC,uBAAuB,CAAC,EAC5D;MAEW,eAAe,GAAG,IAAI,CAAC,KAAK,CACtC,CACC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,EACrB,YAAY,CAAC,sBAAsB,CAAC;;ECzB7D;;;;;;;;;;;;;;MAea,IAAI,GAAG;;MAElB,sBAAsB,EAAE,qBAAqB;;;ECjB/C;;;;;;;;;;;;;;;;;;;MAwBE,uBAAsB,KAAqB,EAAY,MAAc;UAA/C,UAAK,GAAL,KAAK,CAAgB;UAAY,WAAM,GAAN,MAAM,CAAQ;UACnE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;UACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;OACtB;MAED,sCAAc,GAAd;UACG,MAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;OACnC;MAED,kCAAU,GAAV;UACG,MAAc,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;OACrC;;;;cAbFA,aAAU;;;cAFHC,qBAAc;cAAEC,aAAM;;;ECpB9B;;;;;;;;;;;;;;;;;;WAmBgB,oBAAoB,CAAC,YAAiB,EAAE,UAAkB;MACxE,IAAI,YAAY,EAAE;UAChB,MAAM,IAAI,KAAK,CACV,UAAU,yCAAoC,UAAU,oCAAiC,CAC7F,CAAC;OACH;EACH;;ECzBA;;;;;;;;;;;;;;EAcA;EAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;MAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;WAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;UAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;cAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;kBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;MACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAC/B,CAAC,CAAC;WAEc,SAAS,CAAC,CAAC,EAAE,CAAC;MAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;UACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;MAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;MACvC,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;EACzF,CAAC;EAEM,IAAI,QAAQ,GAAG;MAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;UAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;cACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;cACjB,KAAK,IAAI,CAAC,IAAI,CAAC;kBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;sBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;WAChF;UACD,OAAO,CAAC,CAAC;OACZ,CAAA;MACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;EAC3C,CAAC,CAAA;WAEe,MAAM,CAAC,CAAC,EAAE,CAAC;MACvB,IAAI,CAAC,GAAG,EAAE,CAAC;MACX,KAAK,IAAI,CAAC,IAAI,CAAC;UAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;cAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;UAC/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;cACpE,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;kBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;WACzB;MACL,OAAO,CAAC,CAAC;EACb,CAAC;WAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;MACpD,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;MAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;UAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;UAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;cAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;kBAAE,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;MAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAClE,CAAC;WAEe,OAAO,CAAC,UAAU,EAAE,SAAS;MACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;EACzE,CAAC;WAEe,UAAU,CAAC,WAAW,EAAE,aAAa;MACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;UAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;EACnI,CAAC;WAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;MACvD,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;MAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;UACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;cAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;WAAE;UAAC,OAAO,CAAC,EAAE;cAAE,MAAM,CAAC,CAAC,CAAC,CAAC;WAAE,EAAE;UAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;cAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;WAAE;UAAC,OAAO,CAAC,EAAE;cAAE,MAAM,CAAC,CAAC,CAAC,CAAC;WAAE,EAAE;UAC9F,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;UAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;OACzE,CAAC,CAAC;EACP,CAAC;WAEe,WAAW,CAAC,OAAO,EAAE,IAAI;MACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;cAAE,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;MACjH,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;MACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MAClE,SAAS,IAAI,CAAC,EAAE;UACZ,IAAI,CAAC;cAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;UAC9D,OAAO,CAAC;cAAE,IAAI;kBACV,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;sBAAE,OAAO,CAAC,CAAC;kBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;sBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;kBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;sBACT,KAAK,CAAC,CAAC;sBAAC,KAAK,CAAC;0BAAE,CAAC,GAAG,EAAE,CAAC;0BAAC,MAAM;sBAC9B,KAAK,CAAC;0BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;0BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;sBACxD,KAAK,CAAC;0BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;0BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;0BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;0BAAC,SAAS;sBACjD,KAAK,CAAC;0BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;0BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;0BAAC,SAAS;sBACjD;0BACI,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;8BAAE,CAAC,GAAG,CAAC,CAAC;8BAAC,SAAS;2BAAE;0BAC5G,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;8BAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;8BAAC,MAAM;2BAAE;0BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;8BAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;8BAAC,CAAC,GAAG,EAAE,CAAC;8BAAC,MAAM;2BAAE;0BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;8BAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;8BAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;8BAAC,MAAM;2BAAE;0BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;8BAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;0BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;0BAAC,SAAS;mBAC9B;kBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;eAC9B;cAAC,OAAO,CAAC,EAAE;kBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;kBAAC,CAAC,GAAG,CAAC,CAAC;eAAE;sBAAS;kBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;eAAE;UAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;cAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;UAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;OACpF;EACL,CAAC;EAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;MAC9D,IAAI,EAAE,KAAK,SAAS;UAAE,EAAE,GAAG,CAAC,CAAC;MAC7B,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;EACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;MACtB,IAAI,EAAE,KAAK,SAAS;UAAE,EAAE,GAAG,CAAC,CAAC;MAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,CAAC,CAAC,CAAC;WAEa,YAAY,CAAC,CAAC,EAAE,CAAC;MAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;UAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;cAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAClH,CAAC;WAEe,QAAQ,CAAC,CAAC;MACtB,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;MAC9E,IAAI,CAAC;UAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;MACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;UAAE,OAAO;cAC1C,IAAI,EAAE;kBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;sBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;kBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;eAC3C;WACJ,CAAC;MACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;EAC3F,CAAC;WAEe,MAAM,CAAC,CAAC,EAAE,CAAC;MACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;MAC3D,IAAI,CAAC,CAAC;UAAE,OAAO,CAAC,CAAC;MACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;MACjC,IAAI;UACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;cAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;OAC9E;MACD,OAAO,KAAK,EAAE;UAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;OAAE;cAC/B;UACJ,IAAI;cACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;kBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;WACpD;kBACO;cAAE,IAAI,CAAC;kBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;WAAE;OACpC;MACD,OAAO,EAAE,CAAC;EACd,CAAC;EAED;WACgB,QAAQ;MACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;UAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACzC,OAAO,EAAE,CAAC;EACd,CAAC;EAED;WACgB,cAAc;MAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;UAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;MACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;UAC5C,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;cAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MACpB,OAAO,CAAC,CAAC;EACb,CAAC;WAEe,aAAa,CAAC,EAAE,EAAE,IAAI;MAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;UAC7D,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;MACpB,OAAO,EAAE,CAAC;EACd,CAAC;WAEe,OAAO,CAAC,CAAC;MACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;EACzE,CAAC;WAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;MAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;UAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;MACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;MAC9D,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;MACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;UAAE,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;MAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;UAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;OAAE;MAAC,OAAO,CAAC,EAAE;UAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;OAAE,EAAE;MAClF,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;MACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;MAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;MAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;UAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACtF,CAAC;WAEe,gBAAgB,CAAC,CAAC;MAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;MACT,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;MAC5I,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;EACnJ,CAAC;WAEe,aAAa,CAAC,CAAC;MAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;UAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;MACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;MACnC,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;MACjN,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;MAChK,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;EAChI,CAAC;WAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;MAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;UAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;OAAE;WAAM;UAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;OAAE;MAC/G,OAAO,MAAM,CAAC;EAClB,CAAC;EAAA,CAAC;EAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;MACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;EACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;MACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;EACrB,CAAC,CAAC;WAEc,YAAY,CAAC,GAAG;MAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;UAAE,OAAO,GAAG,CAAC;MACtC,IAAI,MAAM,GAAG,EAAE,CAAC;MAChB,IAAI,GAAG,IAAI,IAAI;UAAE,KAAK,IAAI,CAAC,IAAI,GAAG;cAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;kBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;MACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;MAChC,OAAO,MAAM,CAAC;EAClB,CAAC;WAEe,eAAe,CAAC,GAAG;MAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;EAC5D,CAAC;WAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;MAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;UAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;MAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;UAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;MACnL,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;EAClG,CAAC;WAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;MAClE,IAAI,IAAI,KAAK,GAAG;UAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;MACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;UAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;MAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;UAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;MAClL,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;EAC9G;;;MC9MoC,kCAAwB;MAM1D;UAAA,YACE,kBAAM,KAAK,CAAC,SACb;UAPO,aAAO,GAAG,CAAC,CAAC;;UAGb,eAAS,GAAG,KAAK,CAAC;;OAIxB;MAED,6BAAI,GAAJ;UACE,IAAI,CAAC,OAAO,EAAE,CAAC;UAEf,IAAI,IAAI,GAAG,IAAI,CAAC;UAChB,UAAU,CAAC;cACT,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;kBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;eACjB;WACF,EAAE,GAAG,CAAC,CAAC;OACT;MAED,6BAAI,GAAJ;UACE,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;cACrB,OAAO;WACR;UAED,IAAI,CAAC,OAAO,EAAE,CAAC;UAEf,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;cACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;WAClB;OACF;MAED,+BAAM,GAAN,UAAO,OAAsB;UAA7B,iBAOC;UAPM,wBAAA,EAAA,cAAsB;UAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;UAEtB,IAAI,IAAI,GAAG,IAAI,CAAC;UAChB,UAAU,CAAC;cACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;WACxB,EAAE,OAAO,CAAC,CAAC;OACb;MAED,8BAAK,GAAL;UACE,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;cACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;WAClB;UAED,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;OAClB;;GAhDH,CAAoCC,oBAAwB;;;cAH3DH,aAAU,SAAC;kBACV,UAAU,EAAE,MAAM;eACnB;;;;EC3BD;;;;;;;;;;;;;;;;;;;MA0BE;OAAgB;MAEhB,iCAAQ,GAAR,UAAS,KAAK;UACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;OACtB;MAED,uCAAc,GAAd,UAAe,IAAI;UACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACpB;;;;;cAZFA,aAAU,SAAC;kBACV,UAAU,EAAE,MAAM;eACnB;;;;;MCcC,gCAAsB,cAA8B,EAAY,cAA8B;UAAxE,mBAAc,GAAd,cAAc,CAAgB;UAAY,mBAAc,GAAd,cAAc,CAAgB;UAJpF,8BAAyB,GAAG,EAAE,CAAC;UAC/B,wBAAmB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;UAC9C,qBAAgB,GAAG,CAAC,mBAAmB,CAAC,CAAC;OAGlD;MAED,0CAAS,GAAT,UAAU,GAAqB,EAAE,IAAiB;;UAAlD,iBAoEC;UAnEC,IAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;UAClD,IAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;UAEhD,IAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;UACvD,IAAM,0BAA0B,GAAG,IAAI,CAAC;UACxC,IAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;UAClC,IAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC;UAC5B,IAAI,cAAc,GAAG,KAAK,CAAC;UAC3B,IAAI,eAAe,GAAG,CAAC,gBAAgB,CAAC;UAExC,IAAI,CAAC,gBAAgB,EAAE;;kBACrB,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,yBAAyB,CAAA,gBAAA,4BAAE;sBAA3C,IAAM,CAAC,WAAA;sBACV,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;0BACvD,eAAe,GAAG,KAAK,CAAC;0BACxB,MAAM;uBACP;mBACF;;;;;;;;;WACF;UAED,IAAI,YAAY,EAAE;;kBAChB,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,mBAAmB,CAAA,gBAAA,4BAAE;sBAArC,IAAM,CAAC,WAAA;sBACV,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;0BACjD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC,CAAC;0BACpD,MAAM;uBACP;mBACF;;;;;;;;;WACF;;cAED,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,gBAAgB,CAAA,gBAAA,4BAAE;kBAAlC,IAAM,CAAC,WAAA;kBACV,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;sBAC9C,cAAc,GAAG,IAAI,CAAC;sBACtB,MAAM;mBACP;eACF;;;;;;;;;;UAGD,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;cAC7B,IAAI,MAAM,GAAG,EAAE,CAAC;cAChB,IAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;cAE1C,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;kBACzB,MAAM,GAAG,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC;eAClC;mBAAM;kBACL,MAAM,GAAG,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC;eAClC;cAED,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;WAClC;UAED,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;UAC5E,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;UAE5E,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;UAErC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1BI,aAAG,CACD,UAAC,KAAqB;cACpB,IAAI,KAAK,YAAYC,eAAY,EAAE;kBACjC,KAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;eACpC;WACF,EACD,UAAC,GAAQ;cACP,KAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;cACnC,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;WACnC,CACF,CACF,CAAC;OACH;MAED,+CAAc,GAAd,UAAe,eAAwB;UACrC,IAAI,eAAe,EAAE;cACnB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;WAC5B;OACF;MAED,6CAAY,GAAZ,UAAa,eAAwB;UACnC,IAAI,eAAe,EAAE;cACnB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;WAC5B;OACF;;;;cAzFFL,aAAU;;;cAHH,cAAc;cACd,cAAc;;;EC9BtB;;;;;;;;;;;;;;;;;;;MAmBA;OAyDC;MAxDe,2BAAmB,GAA1B,UAA2B,KAAW;UAC3C,IAAI,KAAK,EAAE;cACT,OAAO,IAAI,IAAI,CACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,EAC7D,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CACrF,CAAC;WACH;UAED,OAAO,IAAI,CAAC;OACb;MAEa,oBAAY,GAAnB,UAAoB,WAAW,EAAE,KAAK;UAC3C,KAAK,IAAI,CAAC,IAAI,WAAW;cAAE,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK;kBAAE,OAAO,CAAC,CAAC;UAEjE,OAAO,IAAI,CAAC;OACb;MAEa,mBAAW,GAAlB,UAAmB,WAAW,EAAE,WAAY;UACjD,IAAM,eAAe,GAAG,UAAC,KAAK;cAC5B,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;kBACxB,OAAO,KAAK,CAAC;eACd;cAED,IAAI,WAAW,EAAE;kBACf,KAAK,IAAI,CAAC,IAAI,WAAW,EAAE;sBACzB,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK;0BACzB,OAAO,KAAK,CAAC;mBAChB;eACF;cAED,OAAO,IAAI,CAAC;WACb,CAAA;UAED,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;eACjB,MAAM,CAAC,eAAe,CAAC;eACvB,GAAG,CAAC,UAAA,GAAG,IAAI,QAAC;cACX,KAAK,EAAE,GAAG;cACV,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC;WACvB,IAAC,CAAC,CAAC;OAClB;MAEa,qBAAa,GAApB,UAAqB,GAAW,EAAE,SAAuB;UAAvB,0BAAA,EAAA,eAAuB;UAC9D,IAAI,GAAG,EAAE;cACP,OAAO,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAA,OAAO,IAAI,OAAA,OAAO,GAAA,CAAC,CAAC;WACxD;UAED,OAAO,EAAE,CAAC;OACX;MAEa,wBAAgB,GAAvB,UAAwB,GAAW,EAAE,SAAuB;UAAvB,0BAAA,EAAA,eAAuB;UACjE,IAAI,GAAG,EAAE;cACP,OAAO,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAA,OAAO,IAAI,OAAA,OAAO,GAAA,CAAC,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,QAAQ,CAAC,KAAK,CAAC,GAAA,CAAC,CAAC;WACtF;UAED,OAAO,EAAE,CAAC;OACX;oBACF;GAAA;;EC5ED;;;;;;;;;;;;;;;;;;;MAyCE,6BAAoB,SAA2B;UAA3B,cAAS,GAAT,SAAS,CAAkB;UAC7C,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;OACpC;MAEO,oCAAM,GAAN,UAAO,GAAW,EAAE,IAAI;UAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,KAAK,EAAE,MAAM;cACpD,OAAO,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW;oBACrC,IAAI,CAAC,MAAM,CAAC;oBACZ,KAAK,CACN;WACJ,CAAC,CAAC;OACJ;MAAA,CAAC;MAEF,0DAA4B,GAA5B,UAA6B,SAA2B;UACtD,IAAM,aAAa,GAAG,IAAI,CAAC;UAC3B,IAAI,CAAC,aAAa,GAAG,EAAE,MAAM,EAAEM,wBAAI,EAAE,CAAC;UAEtC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;UACxC,OAAO,aAAa,CAAC;OACtB;MAED,gDAAkB,GAAlB;UACE,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;OACxC;MAED,8CAAgB,GAAhB;UACE,IAAI,SAAc,CAAC;UAEnB,QAAQ,IAAI,CAAC,kBAAkB,EAAE;cAC/B,KAAK,IAAI;kBACP,SAAS,GAAG,EAAE,MAAM,EAAEA,wBAAI,EAAE,CAAC;kBAC7B,MAAM;cAER;kBACE,SAAS,GAAG,EAAE,MAAM,EAAEA,wBAAI,EAAE,CAAC;WAChC;UAED,OAAO,SAAS,CAAC;OAClB;MAED,gDAAkB,GAAlB,UAAmB,IAAY;UAC7B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;OACrC;MAED,mDAAqB,GAArB,UAAsB,SAAmB;UACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;OACpC;MAED,4CAAc,GAAd,UAAe,QAAgB;UAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;OAC9B;MAED,+CAAiB,GAAjB,UAAkB,GAAW,EAAE,MAAc;UAC3C,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;UAE1C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;cAClC,OAAO,KAAK,CAAC;WACd;UAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;OACnC;MAED,8CAAgB,GAAhB,UAAiB,GAAW;UAC1B,IAAIC,eAAO,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;cAC1B,OAAOC,cAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WAChE;UAED,OAAO,cAAc,CAAC;OACvB;MAED,kDAAoB,GAApB,UAAqB,GAAW;UAC9B,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;UAC9B,IAAID,eAAO,CAAC,SAAS,CAAC,EAAE;cACtB,IAAI,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;cACvD,OAAOC,cAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WAClE;UAED,OAAO,cAAc,CAAC;OACvB;MAED,yDAA2B,GAA3B,UAA4B,SAAiB,EAAE,WAAmB;UAChE,IAAID,eAAO,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,IAAIA,eAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE;cAClE,OAAOE,sBAAc,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WACvF;UAED,OAAO,cAAc,CAAC;OACvB;MAED,8DAAgC,GAAhC,UAAiC,IAAY;UAC3C,IAAIF,eAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;cAC3B,OAAOG,2BAAmB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WAChE;UAED,OAAO,cAAc,CAAC;OACvB;;MAGD,mDAAqB,GAArB,UAAsB,GAAW;UAC/B,IAAI,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;UAEvE,IAAI,GAAG,EAAE;cACP,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;kBAC1B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;eAC7B;cACD,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;kBAC1B,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;eACjB;WACF;UAED,IAAI,eAAe,EAAE;cACnB,IAAI,aAAa,GAAGC,wBAAc,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;cACzD,OAAOH,cAAM,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WAChE;eACI;cACH,OAAOA,cAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WAChE;OACF;MAED,uDAAyB,GAAzB,UAA0B,GAAW;UACnC,IAAI,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;UAEvE,IAAI,GAAG,EAAE;cACP,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;kBAC1B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;eAC7B;cACD,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;kBAC1B,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;eACjB;WACF;UAED,IAAI,eAAe,EAAE;cACnB,IAAI,aAAa,GAAGG,wBAAc,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;cACzD,OAAOH,cAAM,CAAC,aAAa,EAAE,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WACtE;eACI;cACH,OAAOA,cAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WACtE;OACF;;MAGD,mEAAqC,GAArC,UAAsC,IAAY;UAChD,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;UAErC,IAAID,eAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;cAC3B,OAAOG,2BAAmB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;WAChE;UAED,OAAO,cAAc,CAAC;OACvB;MAGD,gDAAkB,GAAlB,UAAmB,IAAI;UACrB,IAAI,MAAM,GAAG,IAAI,CAAC;UAElB,IACA;cACE,IAAI,IAAI,EAAE;kBACR,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;sBAC3B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;mBAC/B;kBAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;sBAC3B,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;mBACnB;eACF;cAED,IAAI,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;cACvE,IAAI,eAAe,EAAE;kBACnB,MAAM,GAAGC,wBAAc,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;eAC3D;mBACI;kBACH,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;eACpC;WACF;UACD,WACA;cACE,IAAI,IAAI,EAAE;kBACR,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;eACtE;WACF;UAED,OAAO,MAAM,CAAC;OACf;;;;;cA5LFX,aAAU,SAAC;kBACV,UAAU,EAAE,MAAM;eACnB;;;cAhBQY,qBAAgB;;;ECrBzB;;;;;;;;;;;;;;;;;;;MA6BE,sBAAoB,eAAoC;UAApC,oBAAe,GAAf,eAAe,CAAqB;OACvD;MAED,gCAAS,GAAT,UAAU,SAAiB,EAAE,IAAY,EAAE,MAAe;UACxD,IAAI,CAAC,SAAS,EAAE;cACd,OAAO;WACR;UAED,IAAI,CAAC,IAAI,EAAE;cACT,IAAI,GAAG,IAAI,CAAC;WACb;;UAGD,IAAI,IAAI,KAAK,IAAI,EAAE;cACjB,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;WAC1D;;UAGD,IAAI,IAAI,KAAK,GAAG,EAAE;cAChB,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;WACzD;;UAGD,IAAI,IAAI,KAAK,IAAI,EAAE;cAChB,OAAO,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;WAC9D;;UAGD,IAAI,IAAI,KAAK,KAAK,EAAE;cAClB,OAAO,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;WAC5E;;UAGD,IAAI,IAAI,KAAK,SAAS,EAAE;cACtB,OAAO,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC;WACzE;;;UAID,IAAI,IAAI,KAAK,KAAK,EAAE;cAClB,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;WAC9D;;UAGD,IAAI,IAAI,KAAK,MAAM,EAAE;cACnB,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;WAClE;;UAGD,IAAI,IAAI,KAAK,WAAW,EAAE;cACxB,OAAO,IAAI,CAAC,eAAe,CAAC,qCAAqC,CAAC,SAAS,CAAC,CAAC;WAC9E;UAED,OAAO,SAAS,CAAC;OAClB;;;;cA1DFC,OAAI,SAAC;kBACJ,IAAI,EAAE,UAAU;eACjB;;;cAJQ,mBAAmB;;;ECvB5B;;;;;;;;;;;;;;;;;;WA8BgB,4BAA4B,CAAC,IAAgB;MAC3D,OAAO,IAAIC,8BAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,YAAY,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC;EACpF,CAAC;WAEe,8BAA8B,CAAC,SAA2B,EAAE,mBAAwC,EAAE,QAAkB;MACtI,OAAO,cAAM,OAAA,IAAI,OAAO,CAAM,UAAC,OAAY;UACzC,IAAI,mBAAmB,GAAG,QAAQ,CAAC,GAAG,CAACC,uBAAoB,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;UACpF,mBAAmB,CAAC,IAAI,CAAC;cACvB,IAAI,aAAa,GAAG,mBAAmB,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;cAChF,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC;eACtC,EACC;kBACE,OAAO,CAAC,IAAI,CAAC,CAAC;eACf,EACD;kBACE,OAAO,CAAC,IAAI,CAAC,CAAC;eACf,CAAC,CAAC;WACN,CAAC,CAAC;OACJ,CAAC,GAAA,CAAC;EACL,CAAC;MAEY,qBAAqB,GAAGC,oBAAe,CAAC,OAAO,CAAC;MAC3D,MAAM,EAAE;UACN,OAAO,EAAEC,oBAAe;UACxB,UAAU,EAAE,4BAA4B;UACxC,IAAI,EAAE,CAACC,aAAU,CAAC;OACnB;GACF,EAAE;AAEQC,gDAAuC;;MAkBhD,oCAAoB,QAAkB;UAAlB,aAAQ,GAAR,QAAQ,CAAU;UACpCA,oCAA4B,GAAG,IAAI,CAAC,QAAQ,CAAC;OAC9C;;;;cAlBFC,WAAQ,SAAC;kBACR,OAAO,EAAE;sBACP,qBAAqB;mBACtB;kBACD,SAAS,EAAE;sBACT;0BACE,OAAO,EAAEC,kBAAe;0BACxB,UAAU,EAAE,8BAA8B;0BAC1C,IAAI,EAAE,CAACT,qBAAgB,EAAE,mBAAmB,EAAEU,WAAQ,CAAC;0BACvD,KAAK,EAAE,IAAI;uBACZ;mBACF;kBACD,OAAO,EAAE,EACR;eACF;;;cAvDkBA,WAAQ;;;ECpB3B;;;;;;;;;;;;;;;;;;;MAwCA;;;;;cAdCF,WAAQ,SAAC;kBACR,OAAO,EAAE;sBACPJ,oBAAe;mBAChB;kBACD,OAAO,EAAE;sBACPA,oBAAe;sBACf,YAAY;mBACb;kBACD,YAAY,EAAE;sBACZ,YAAY;mBACb;kBACD,SAAS,EAAE,EACV;eACF;;;ECvCD;;;;;;;;;;;;;;;;;;;MAgCE,4BAAoB,QAAkB;UAAlB,aAAQ,GAAR,QAAQ,CAAU;OAAI;MAE1C,wCAAW,GAAX,UAAY,KAAK;UACf,IAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;UACzD,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;;UAG/B,MAAM,KAAK,CAAC;OACb;;;;cAVFhB,aAAU;;;cALwBsB,WAAQ;;;ECzB3C;;;;;;;;;;;;;;;;;;EAuBA;MAAA;OAyBC;MAvBC,sBAAW,gCAAmB;;eAA9B;cACE,IAAM,EAAE,GAAGH,oCAA4B,CAAC,GAAG,CAAsB,mBAAmB,CAAC,CAAC;cACtF,OAAO,EAAE,CAAC;WACX;;;SAAA;MAEa,2BAAiB,GAAxB,UAAyB,GAAW,EAAE,MAAc,EAAE,UAAmB;;;;;UAK9E,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE;cACtB,OAAO,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;WAC/D;;;UAID,IAAI,GAAG,EAAE;cACP,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;cACtE,OAAO,KAAK,CAAC;WACd;UAED,OAAO,GAAG,CAAC;OACZ;sBACF;GAAA;;EChDD;;;;;;;;;;;;;;;;;;;MAsBA;OAiGC;MAhGe,cAAO,GAAd,UAAe,IAAK,EAAE,MAAc,EAAE,KAAM,EAAE,aAAc;UACjE,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;UACzE,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;UAE5DI,wBAAI,CAAC,IAAI,CAAC;cACR,IAAI,MAAA;cACJ,KAAK,OAAA;cACL,IAAI,EAAE,SAAS;cACf,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC;WACrD,CAAC;eACD,IAAI,CAAC;cACJ,IAAI,aAAa,EAAE;kBACjB,aAAa,EAAE,CAAC;eACjB;WACF,CAAC,CAAC;OACJ;MAEa,WAAI,GAAX,UAAY,IAAI,EAAE,MAAc,EAAE,KAAM;UAC7C,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;UACjD,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;UAEzDA,wBAAI,CAAC,IAAI,CAAC;cACR,IAAI,MAAA;cACJ,KAAK,OAAA;cACL,IAAI,EAAE,MAAM;cACZ,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC;WACrD,CAAC,CAAC;OACJ;MAEa,cAAO,GAAd,UAAe,IAAI,EAAE,MAAc,EAAE,KAAM;UAChD,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;UACjD,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;UAE5DA,wBAAI,CAAC,IAAI,CAAC;cACR,IAAI,MAAA;cACJ,KAAK,OAAA;cACL,IAAI,EAAE,SAAS;cACf,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC;WACrD,CAAC,CAAC;OACJ;MAEa,YAAK,GAAZ,UAAa,IAAK,EAAE,MAAc,EAAE,KAAM;UAC/C,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;UACjE,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;UAE1DA,wBAAI,CAAC,IAAI,CAAC;cACR,IAAI,MAAA;cACJ,KAAK,OAAA;cACL,IAAI,EAAE,OAAO;cACb,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC;WACrD,CAAC,CAAC;OACJ;MAEa,aAAM,GAAb,UAAc,IAAK,EAAE,MAAc,EAAE,KAAM;UAChD,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;UACvE,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;UAE9DA,wBAAI,CAAC,IAAI,CAAC;cACR,IAAI,MAAA;cACJ,KAAK,OAAA;cACL,IAAI,EAAE,MAAM;WACb,CAAC,CAAA;OACH;MAEa,qBAAc,GAArB;UACL,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;OACrC;MAAA,CAAC;MAEY,iBAAU,GAAjB,UAAkB,IAAI,EAAE,KAAM,EAAE,iBAAkB,EAAE,gBAAiB,EAAE,aAAc,EAAE,YAAa;UACzG,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;UACzC,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;UAC/D,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,EAAE,8BAA8B,CAAC,CAAC;UACzG,gBAAgB,GAAI,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,EAAE,6BAA6B,CAAC,CAAC;UAEvGA,wBAAI,CAAC,IAAI,CAAC;cACR,IAAI,MAAA;cACJ,KAAK,OAAA;cACL,IAAI,EAAE,SAAS;cACf,iBAAiB,mBAAA;cACjB,gBAAgB,kBAAA;cAChB,gBAAgB,EAAE,IAAI;WACvB,CAAC;eACD,IAAI,CAAC,UAAC,MAAM;cACX,IAAI,MAAM,CAAC,KAAK,EAAE;kBAChB,IAAI,aAAa,EAAE;sBACjB,aAAa,EAAE,CAAC;mBACjB;eACF;;mBAEI,IAAI,MAAM,CAAC,OAAO,IAAIA,wBAAI,CAAC,aAAa,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,IAAIA,wBAAI,CAAC,aAAa,CAAC,KAAK,EAAE;kBAClG,IAAI,YAAY,EAAE;sBAChB,YAAY,EAAE,CAAC;mBAChB;eACF;WACF,CAAC,CAAC;OACJ;MAAA,CAAC;mBACH;GAAA;;ECvHD;;;;;;;;;;;;;;;;;;;MAqBA;OAIC;MAHe,YAAO,GAAd;UACL,OAAOC,OAAM,EAAE,CAAC;OACjB;iBACF;GAAA;;ECMD;EACA;EACA;;MAgBE,6BAAoB,aAA4B;UAA5B,kBAAa,GAAb,aAAa,CAAe;;;;;UAPxC,0BAAqB,GAAG,IAAIrB,oBAAe,CAAkB,EAAE,CAAC,CAAC;UACjE,yBAAoB,GAAG,IAAIA,oBAAe,CAAkB,EAAE,CAAC,CAAC;;UAG/D,0BAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;UAClE,yBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;;OAIxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmGO,oDAAsB,GAAtB,UAAuB,IAAY,EAAE,IAAY;UACvD,IAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;UAC1B,IAAM,YAAY,GAAG,EAAE,EAAE,IAAA,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;UAEvH,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;OACjD;MAEO,0DAA4B,GAA5B,UAA6B,YAA2B;UAC9D,IAAI,CAAC,oBAAoB;cACvB,YAAY;oBACT,IAAI,CAAC,oBAAoB,EAC7B,CAAC;OACH;;MAGD,gDAAkB,GAAlB,UAAmB,EAAU,EAAE,SAAkB;UAC/C,IAAI,SAAS,EAAE;cACb,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAA,aAAa,IAAI,OAAA,aAAa,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC,CAAC;WACxG;eACI;cACH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAA,aAAa,IAAI,OAAA,aAAa,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC,CAAC;WACtG;OACF;MAED,qCAAO,GAAP,UAAQ,IAAK,EAAE,MAAc,EAAE,KAAM,EAAE,yBAAyC;UAAzC,0CAAA,EAAA,gCAAyC;UAC9E,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;UACzE,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;UAE3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;cACtC,OAAO,EAAE,IAAI;cACb,WAAW,EAAE,IAAI;WAClB,CAAC,CAAC;UAEH,IAAI,yBAAyB,EAAE;cAC7B,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;WAC9C;OACF;MAED,kCAAI,GAAJ,UAAK,IAAI,EAAE,MAAc,EAAE,KAAM;UAC/B,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;UACjD,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;UAE3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;cACnC,OAAO,EAAE,IAAI;cACb,WAAW,EAAE,IAAI;WAClB,CAAC,CAAC;OACJ;MAED,qCAAO,GAAP,UAAQ,IAAI,EAAE,MAAc,EAAE,KAAM;UAClC,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;UACjD,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;UAE3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;cACtC,OAAO,EAAE,IAAI;cACb,WAAW,EAAE,IAAI;WAClB,CAAC,CAAC;OACJ;MAED,mCAAK,GAAL,UAAM,IAAK,EAAE,MAAc,EAAE,KAAM,EAAE,yBAAyC;UAAzC,0CAAA,EAAA,gCAAyC;UAC5E,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;UACjE,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;UAE3C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;cACpC,OAAO,EAAE,IAAI;cACb,WAAW,EAAE,IAAI;WAClB,CAAC,CAAC;UAEH,IAAI,yBAAyB,EAAE;cAC7B,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;WAC5C;OACF;MAED,oCAAM,GAAN,UAAO,IAAK,EAAE,MAAc,EAAE,KAAM;UAClC,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;UACvE,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;UAE3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;cACnC,OAAO,EAAE,IAAI;cACb,WAAW,EAAE,IAAI;WAClB,CAAC,CAAC;OACJ;MAGD,sBAAI,qDAAoB;;eAAxB;cACE,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;WAC9C;eACD,UAAyB,GAAoB;cAC3C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;WACtC;;;SAHA;MAMD,sBAAI,oDAAmB;;eAAvB;cACE,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;WAC7C;eACD,UAAwB,GAAoB;cAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;WACrC;;;SAHA;;;;;cAhNFH,aAAU,SAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;cAdxByB,kBAAa;;;ECrBrB;;;;;;;;;;;;;;;;;;;MAoCE,wBAAsB,IAAgB;UAAhB,SAAI,GAAJ,IAAI,CAAY;OACrC;MAEO,wCAAe,GAAf,UAAgB,IAAU;UAChC,OAAO,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;OAC1C;;MAGD,4BAAG,GAAH,UAAO,MAAc,EAAE,IAAU,EAAE,YAAa;UAC9C,IAAI,CAAC,YAAY,EAAE;cACjB,YAAY,GAAG,MAAM,CAAC;WACvB;UAED,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;UACnE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAC/DC,aAAG,CAAC,UAAA,GAAG,IAAO,OAAA,GAAG,GAAA,CAAC,CACnB,CAAC;OACH;MAED,6BAAI,GAAJ,UAAK,MAAc,EAAE,IAAU,EAAE,YAAa;UAC5C,IAAI,CAAC,YAAY,EAAE;cACjB,YAAY,GAAG,MAAM,CAAC;WACvB;UAED,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAQ,CAAC;UACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;OAClE;MAED,+BAAM,GAAN,UAAO,MAAc,EAAE,IAAU,EAAE,YAAa;UAC9C,IAAI,CAAC,YAAY,EAAE;cACjB,YAAY,GAAG,MAAM,CAAC;WACvB;UAED,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;UACnE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;OAClE;MAED,+BAAM,GAAN,UAAO,MAAc,EAAE,IAAU,EAAE,YAAa;UAC9C,IAAI,CAAC,YAAY,EAAE;cACjB,YAAY,GAAG,MAAM,CAAC;WACvB;UAED,IAAI,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;UACnE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;OAC9D;;MAGD,4CAAmB,GAAnB,UAAoB,GAAW;UAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;OAC3B;MAED,4CAAmB,GAAnB,UAAoB,GAAW;UAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;OAC3B;MAED,oCAAW,GAAX,UAAY,QAAgB;UAC1B,IAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;UAC1C,IAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;UAChD,IAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;UAClD,IAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;UAChD,IAAI,GAAG,GAAG,EAAE,CAAC;UAEb,IAAI,YAAY,EAAE;cAChB,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,WAAW,CAAC;WAC/C;eACI;cACH,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC;WACrD;UAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAC5BA,aAAG,CAAC,UAAA,GAAG,IAAW,OAAA,GAAG,GAAA,CAAC,CACvB,CAAC;OACH;;;;cA5EF1B,aAAU;;;cAXFkB,aAAU;;;ECInB;MAGE,2BAAY,OAAe;UACzB,IAAI,CAAC,OAAO;cACV,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,cAAc;oBAC7C,YAAY;oBACZ,cAAc,CAAC;OACtB;MAED,mCAAO,GAAP,UAAQ,GAAG,EAAE,KAAK;UAChB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;OAClC;MAED,qCAAS,GAAT,UAAU,GAAG,EAAE,KAAK;UAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;OAClD;MAED,mCAAO,GAAP,UAAQ,GAAG;UACT,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;OAClC;MAED,qCAAS,GAAT,UAAU,GAAG;UACX,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;UACtC,IAAI,CAAC,KAAK,EAAE;cACV,OAAO,IAAI,CAAC;WACb;UAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;OAC1B;MAED,kCAAM,GAAN,UAAO,GAAG;UACR,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;OAC9B;8BACF;GAAA,IAAA;;MAGwC,uCAAiB;MACxD;iBACE,kBAAM,cAAc,CAAC;OACtB;;GAHH,CAAyC,iBAAiB;;cADzDlB,aAAU;;;;MAQgC,yCAAiB;MAC1D;iBACE,kBAAM,gBAAgB,CAAC;OACxB;;GAHH,CAA2C,iBAAiB;;cAD3DA,aAAU;;;;;MCzC4B,qCAAc;MAOnD,2BACY,IAAgB,EAClB,cAAqC;UAF/C,YAGE,kBAAM,IAAI,CAAC,SAEZ;UAJW,UAAI,GAAJ,IAAI,CAAY;UAClB,oBAAc,GAAd,cAAc,CAAuB;;UAPvC,oBAAc,GAAG,YAAY,CAAC;UAE9B,kBAAY,GAAiB,IAAI,CAAC;UAClC,eAAS,GAAG,EAAE,CAAC;UAMrB,KAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC;;OAClC;;MAGO,iDAAqB,GAArB;UACN,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;OAC3D;MAEM,iDAAqB,GAArB,UAAsB,KAAU;UACrC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;OAC3D;MAEO,kDAAsB,GAAtB;UACN,IAAI,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;UAE3C,IAAI,CAAC,OAAO,EAAE;cACZ,OAAO;WACR;UAED,IAAI,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;UAE/B,IAAI,EAAE,EAAE;cACN,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;cACrB,IAAI,aAAa,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;cACpD,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE,EACnG,aAAa,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;cAElE,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,EAAE;kBACrC,IAAI,CAAC,aAAa,EAAE,CAAC;eACtB;WACF;OACF;MAEO,wCAAY,GAAZ,UAAa,IAAI;UACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;UAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;cAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;cAChC,IAAI,OAAO,EAAE;kBACX,OAAO,CAAC,IAAI,CAAC,CAAC;eACf;WACF;UAED,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;UACpB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;UAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;OAC1B;MAED,sCAAU,GAAV,UAAW,OAAwB,EAAE,gBAAgC;UAArE,iBA6BC;UA7BU,wBAAA,EAAA,cAAwB;UAAE,iCAAA,EAAA,uBAAgC;UACnE,IAAI,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;UAE3C,IAAI,gBAAgB,IAAI,OAAO,IAAI,IAAI,EAAE;cACvC,IAAI,OAAO,EAAE;kBACX,OAAO,CAAC,OAAO,CAAC,CAAC;eAClB;cAED,OAAO;WACR;UAED,IAAI,OAAO,EAAE;cACX,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;WAC9B;UAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;cAC7B,OAAO;WACR;UAED,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;UACrB,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,GAAG,CAAC,CAAC;UAErD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,SAAS,CAC/D,UAAC,IAAI;cACH,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;WACzB,EACD,UAAC,CAAC;WACD,CACF,CAAC;OACH;MAED,yCAAa,GAAb,UAAc,OAAwB;UAAxB,wBAAA,EAAA,cAAwB;UACpC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;OACjC;MAED,wCAAY,GAAZ;UACE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;OACjD;MAED,0CAAc,GAAd;UACE,OAAO,gBAAgB,CAAC,cAAc,CAAC;OACxC;MAED,uCAAW,GAAX;UACE,OAAO,gBAAgB,CAAC,WAAW,CAAC;OACrC;MAID,sBAAW,sCAAO;;;eAAlB;cACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;cAC9B,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;WACrC;eACD,UAAmB,KAAU;cAC3B,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;WACnC;;;SAHA;;GA/GH,CAAuC,cAAc;;cADpDA,aAAU;;;cARFkB,aAAU;cAMV,qBAAqB;;;ECxB9B;;;;;;;;;;;;;;;;;;;MAyBA;UAaS,aAAQ,GAAqB,IAAIS,YAAO,EAAW,CAAC;OA+D5D;;MA5DS,uCAAiB,GAAjB,UAAkB,cAAc;UACtC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;UACrC,IAAI,CAAC,mBAAmB,GAAG,cAAc,GAAG,IAAI,CAAC;UACjD,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;OAC7B;MAEO,gCAAU,GAAV;UAAA,iBAYP;UAXC,IAAI,CAAC,MAAM,GAAGC,UAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,CAAC,UAAC,GAAG;cACpE,IAAI,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;cACzB,IAAI,UAAU,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,KAAI,CAAC,mBAAmB,CAAC,CAAC;cAE/E,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE;;;kBAI7C,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;eAC1B;WACF,CAAC,CAAC;OACJ;MAEO,gCAAU,GAAV;UACN,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;OAC7B;;MAGM,mCAAa,GAAb,UAAc,cAAc;UAA5B,iBAsBN;UArBC,IAAI,CAAC,KAAK,GAAGC,UAAK,CAChBC,cAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,EAChCA,cAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,EAC5BA,cAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,EAChCA,cAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,EAC/BA,cAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EACrCA,cAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,EACjCA,cAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,EAChCA,cAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,EACpCA,cAAS,CAAC,MAAM,EAAE,WAAW,CAAC,EAC9BA,cAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAC5B,CAAC;UAEF,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;UAEvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAC,GAAG;cAC/C,KAAI,CAAC,UAAU,EAAE,CAAC;WACnB,CAAC,CAAC;UAEH,IAAI,CAAC,UAAU,EAAE,CAAC;UAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;OACtB;MAEM,kCAAY,GAAZ;UACL,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;UAC1B,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;OACrC;MAEM,sCAAgB,GAAhB,UAAiB,cAAc;UACpC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;UAE1B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;UACvC,IAAI,CAAC,UAAU,EAAE,CAAC;OACnB;;;;;cA3EF9B,aAAU,SAAC;kBACV,UAAU,EAAE,MAAM;eACnB;;;EC3BD;;;;;;;;;;;;;;;;;;;MA4BE,iCACU,KAAY,EACZ,IAAU,EACQ,GAAQ;UAF1B,UAAK,GAAL,KAAK,CAAO;UACZ,SAAI,GAAJ,IAAI,CAAM;UACQ,QAAG,GAAH,GAAG,CAAK;OAEnC;MAED,6CAAW,GAAX,UAAY,KAAc;UACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;OAC5B;MAED,mDAAiB,GAAjB,UAAkB,IAAa;UAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;OAC7D;MAED,gDAAc,GAAd,UAAe,QAAc;UAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;OAC9D;MAED,gDAAc,GAAd,UAAe,IAAsB;UAArC,iBAEC;UADC,IAAI,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC;OAC3C;MAED,iDAAe,GAAf,UAAgB,GAAY;UAC1B,IAAM,MAAM,GAAG,GAAG,KAAK,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;UACtD,IAAM,IAAI,GAAoB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;UAC7D,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;UACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;UAChC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;OACnC;MAED,oDAAkB,GAAlB,UAAmB,GAAY;UAC7B,IAAM,MAAM,GAAG,GAAG,KAAK,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;UACtD,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;UACtD,IAAI,IAAI,GAAoB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,IAAI,CAAC;UAEpF,IAAI,IAAI,IAAI,IAAI,EAAE;cAChB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAoB,CAAC;cACzD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;WACxB;UAED,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;UACtC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;OACnC;;;;;cA/CFA,aAAU,SAAC;kBACV,UAAU,EAAE,MAAM;eACnB;;;cAJQ+B,UAAK;cAAEC,SAAI;8CASfC,SAAM,SAACC,WAAQ;;;EC/BpB;;;;;;;;;;;;;;;;;;;MA4BE,gCAAoB,MAAc;UAAd,WAAM,GAAN,MAAM,CAAQ;;;;;;OAMjC;MAEM,0CAAS,GAAT;UACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAA,KAAK;cACpD,IAAI,KAAK,YAAYC,oBAAa,EAAE;kBAClC,IAAU,MAAO,CAAC,EAAE,EAAE;sBACd,MAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;sBACnD,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;mBACtC;eACF;WACF,CAAC,CAAC;OACJ;MAEM,4CAAW,GAAX;UACL,IAAI,IAAI,CAAC,YAAY,EAAE;cACrB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;WACjC;OACF;;;;cA3BFnC,aAAU;;;cAFFE,aAAM;;;ACHJkC,oCAA2B;;MAiBpC,2BAAoB,QAAkB,EAA0B,YAA+B;UAA3E,aAAQ,GAAR,QAAQ,CAAU;UACpC,oBAAoB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;UAExDA,wBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;OAClC;;;;cAnBFhB,WAAQ,SAAC;kBACR,OAAO,EAAE,CAACiB,eAAY,CAAC;kBACvB,OAAO,EAAE,EAAE;kBACX,SAAS,EAAE;sBACT,cAAc;sBACd,mBAAmB;sBACnB,iBAAiB;sBACjB,cAAc;sBACd,uBAAuB;sBACvB,sBAAsB;sBACtB,mBAAmB;sBACnB,qBAAqB;mBACtB;eACF;;;cAlCOf,WAAQ;cAoCgE,iBAAiB,uBAAtDgB,WAAQ,YAAIC,WAAQ;;;ECpC/D;;;;;;;;;;;;;;;;;;;MAwBE;UAFQ,SAAI,GAAmB,EAAE,CAAC;OAElB;MAEhB,kBAAG,GAAH;UAAI,uBAAgC;eAAhC,UAAgC,EAAhC,qBAAgC,EAAhC,IAAgC;cAAhC,kCAAgC;;UAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;OAC7C;MAED,sBAAI,sBAAI;eAAR,UAAS,YAA0B;cACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;WAC9B;;;SAAA;MAED,0BAAW,GAAX;UACE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,GAAA,CAAC,CAAC;UACrD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;OAChB;iBACF;GAAA;;ECtCD;;;;;;;;;;;;;;;;;;;MAmBA;OA2EC;MA1Ee,wBAAkB,GAAzB,UAA0B,IAAI;UACnC,OAAO,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;OACpD;MAEa,oBAAc,GAArB,UAAsB,GAAG,EAAE,IAAI;UACpC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;;UAE1D,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,WAAW,CAAC,EAEvD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;UAC1B,OAAO,OAAO,KAAK,IAAI,GAAG,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;OACnF;MAEa,qBAAe,GAAtB,UAAuB,KAAU,EAAE,GAAW;UACnD,KAAK,CAAC,cAAc,EAAE,CAAC;UAEvB,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;UAClD,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;UAChC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;UACxB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;UACvB,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;UAC3B,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;UACnB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;UAClC,MAAM,CAAC,KAAK,EAAE,CAAC;UACf,MAAM,CAAC,MAAM,EAAE,CAAC;UAChB,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;UAC7B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;OACnC;MAEa,kBAAY,GAAnB,UAAoB,IAAY,EAAE,GAAW;UAClD,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;UACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;UACrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;UAChB,IAAI,CAAC,KAAK,EAAE,CAAC;OACd;MAEa,sBAAgB,GAAvB,UAAwB,KAAW,EAAE,QAAgB;UAC1D,IAAI,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE;cACrC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;WACpD;eAAM;cACL,IAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;cACtD,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;WAC3C;OACF;;;;;MAOa,aAAO,GAAd,UAAe,IAAY,EAAE,MAAmB,EAAE,OAAoB;UAAzC,uBAAA,EAAA,WAAmB;UAAE,wBAAA,EAAA,YAAoB;UAC3E,IAAM,CAAC,GAAG,iFAAiF,CAAC;UAC5F,IAAM,CAAC,GAAG,iFAAiF,CAAC;UAC5F,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;;;;;UAMjD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;UAEzC,IAAI,MAAM,GAAG,IAAI;eACd,QAAQ,EAAE;eACV,WAAW,EAAE;eACb,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;eACpB,OAAO,CAAC,CAAC,EAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAA,CAAC;eACvC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;eACtB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;eACxB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;eACtB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;eAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;UAEtB,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;OAClC;kBACF;GAAA;;;MChEwC,uCAAsB;MAK7D,6BAAsB,IAAgB;UAAtC,YACE,kBAAM,EAAE,CAAC,SACV;UAFqB,UAAI,GAAJ,IAAI,CAAY;UAJ5B,UAAI,GAAU,EAAE,CAAC;;OAM1B;MAED,6CAAe,GAAf,UAAgB,IAAU;UACxB,OAAO,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;OAC1C;MAED,kCAAI,GAAJ,UAAK,MAAY,EAAE,OAAkB,EAAE,KAAgB;UAAvD,iBAyBC;UAxBC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;cACpB,OAAO,iBAAM,IAAI,YAAC,IAAI,CAAC,IAAI,CAAC,CAAC;WAC9B;UAED,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;UAE3B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;cACjC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;WAC/B;UAED,IAAI,MAAM,EAAE;cACV,GAAG,GAAG,IAAI,CAAC,WAAW,IAAG,KAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAG,CAAA,CAAC;cAC3D,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;WAC/B;UAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAACb,aAAG,CAAC,UAAA,GAAG,IAAW,OAAA,GAAG,GAAA,CAAC,CAAC,CAAC,SAAS,CACvD,UAAA,IAAI;cACF,iBAAM,IAAI,aAAC,IAAI,CAAC,CAAC;cACjB,IAAI,OAAO;kBAAE,OAAO,EAAE,CAAC;WACxB,EACD,UAAA,CAAC;cACC,IAAI,KAAK;kBAAE,KAAK,CAAC,CAAC,CAAC,CAAC;WACrB,CACF,CAAC;OACH;;GAtCH,CAAyCvB,oBAAsB;;cAD9DH,aAAU;;;cARFkB,aAAU;;;;MCUsB,uCAAmB;MAG1D,6BAAsB,IAAgB;UAAtC,YACE,kBAAM,IAAI,CAAC,SACZ;UAFqB,UAAI,GAAJ,IAAI,CAAY;;OAErC;MAEO,mCAAK,GAAL;UACN,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;OAChB;MAED,uCAAS,GAAT,UAAU,QAAa;UACrB,IAAI,CAAC,QAAQ,EAAE;cAAE,OAAO;WAAE;;UAG1B,IAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,GAAA,CAAC,CAAC;;UAGzE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;UAC1C,iBAAM,IAAI,YAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACvB;MAED,kCAAI,GAAJ,UAAK,IAAS,EAAE,KAAc,EAAE,MAAiB;UAAjD,iBAeC;UAdC,IAAM,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;UAExC,IAAI,CAAC,KAAK,EAAE,CAAC;UACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,CAC/B;WACC,EACD;cACE,KAAI,CAAC,IAAI,EAAE,CAAC;WACb,EACD;cACE,KAAI,CAAC,IAAI,EAAE,CAAC;cACZ,IAAI,MAAM;kBAAE,MAAM,EAAE,CAAC;WACtB,CACF,CAAC;OACH;MAED,oCAAM,GAAN,UAAO,IAAS,EAAE,MAAiB;UAAnC,iBAaC;UAZC,IAAI,CAAC,KAAK,EAAE,CAAC;UAEb,IAAM,GAAG,GAAM,IAAI,CAAC,OAAO,eAAU,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;UAClE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACpC;cACE,KAAI,CAAC,IAAI,EAAE,CAAC;cACZ,IAAI,MAAM;kBAAE,MAAM,EAAE,CAAC;WACtB,EACD;cACE,KAAI,CAAC,IAAI,EAAE,CAAC;WACb,CACF,CAAC;OACH;MAED,kCAAI,GAAJ,UAAK,MAAW,EAAE,IAAU;UAC1B,IAAM,GAAG,GAAM,IAAI,CAAC,OAAO,SAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAG,CAAC;UACrE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CACnCQ,aAAG,CAAC,UAAA,GAAG,IAAW,OAAA,GAAG,GAAA,CAAC,CACvB,CAAC;OACH;;GA3DH,CAAyC,mBAAmB;;cAD3D1B,aAAU;;;cATFkB,aAAU;;;ECrBnB;;;;;;;;;;;;;;;;;;EAmBO,IAAM,MAAM,GAAG;MACpB,cAAc,EAAE,aAAa;;MAG7B,oBAAoB,EAAE,mBAAmB;GAC1C;;;MCU4C,2CAAc;MACzD,iCAAsB,IAAgB;UAAtC,YACE,kBAAM,IAAI,CAAC,SAEZ;UAHqB,UAAI,GAAJ,IAAI,CAAY;UAEpC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAC;;OAC5C;MAED,uDAAqB,GAArB;UACE,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;OAC1C;;GARH,CAA6C,cAAc;;;cAH1DlB,aAAU,SAAC;kBACV,UAAU,EAAE,MAAM;eACnB;;;cAZOkB,aAAU;;;;MCOqB,qCAAc;MACnD,2BAAsB,IAAgB;UAAtC,YACE,kBAAM,IAAI,CAAC,SAEZ;UAHqB,UAAI,GAAJ,IAAI,CAAY;UAEpC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;;OACtC;MAEM,kDAAsB,GAAtB,UAAuB,aAAqB,EAAE,OAAkB,EAAE,KAAgB;UACvF,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,SAAS,CAC/E,UAAC,IAAI;cACH,IAAI,OAAO;kBAAE,OAAO,EAAE,CAAC;WACxB,EACD,UAAC,CAAC;cACA,IAAI,KAAK;kBAAE,KAAK,EAAE,CAAC;WACpB,CACF,CAAC;OACH;MAEM,uDAA2B,GAA3B,UAA4B,OAAkB,EAAE,KAAgB;UACrE,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC,SAAS,CACxD,UAAC,IAAI;cACH,IAAI,OAAO;kBAAE,OAAO,EAAE,CAAC;WACxB,EACD,UAAC,CAAC;cACA,IAAI,KAAK;kBAAE,KAAK,EAAE,CAAC;WACpB,CACF,CAAC;OACH;MAEM,qCAAS,GAAT,UAAU,aAAqB,EAAE,OAAkB,EAAE,KAAgB;UAC1E,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,SAAS,CAClE,UAAC,IAAI;cACH,IAAI,OAAO;kBAAE,OAAO,EAAE,CAAC;WACxB,EACD,UAAC,CAAC;cACA,IAAI,KAAK;kBAAE,KAAK,EAAE,CAAC;WACpB,CACF,CAAC;OACH;;GArCH,CAAuC,cAAc;;cADpDlB,aAAU;;;cANFkB,aAAU;;;ECrBnB;;;;;;;;;;;;;;;;;;;MAoCE,2BAAoC,YAA+B;UACjE,oBAAoB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;OACzD;;;;cAXFE,WAAQ,SAAC;kBACR,OAAO,EAAE;sBACPiB,eAAY;mBACb;kBACD,SAAS,EAAE;sBACT,iBAAiB;mBAClB;eACF;;;cAEmD,iBAAiB,uBAAtDC,WAAQ,YAAIC,WAAQ;;;ECpCnC;;;;;;;;;;;;;;;;;;;MA0BA;UAIY,SAAI,GAAS,IAAI,IAAI,EAAE,CAAC;OAYnC;MAVC,+BAAO,GAAP;UACE,IAAI,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;UACxC,IAAI,OAAO,EAAE,KAAK,WAAW,IAAI,EAAE,IAAI,EAAE;cAAE,OAAO,IAAI,CAAC;UAEvD,OAAO,EAAE,CAAC;OACX;MAED,mCAAW,GAAX;UACE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;OACzB;;;;cAfFC,YAAS,SAAC;kBACT,QAAQ,EAAE,EAAE;eACb;;;;MCS+C,qCAAa;MAI3D;UAAA,YACE,iBAAO,SACR;UAJQ,mBAAa,GAAY,KAAK,CAAC;;OAIvC;MAED,0CAAc,GAAd;UACE,IAAI,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;UACxC,IAAI,OAAO,EAAE,KAAK,WAAW,IAAI,EAAE,IAAI,EAAE;cAAE,OAAO,IAAI,CAAC;UAEvD,OAAO,KAAK,CAAC;OACd;MAED,uCAAW,GAAX;UACE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;OACvB;MAED,0CAAc,GAAd,UAAe,IAAY,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UACrD,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;OAC/C;MAED,4CAAgB,GAAhB,UAAiB,IAAY,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UACvD,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,IAAI,EAAE,EAAE;cAC7C,OAAO,KAAK,CAAC;WACd;UAED,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,IAAI,CAAC,EAAE,EAAE;cACP,OAAO,KAAK,CAAC;WACd;UAED,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;cAChB,QACE,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO;mBAC1C,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAC9C;WACH;UAED,OAAO,KAAK,CAAC;OACd;;MAGD,wCAAY,GAAZ,UAAa,IAAI,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UAC3C,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;OAChC;MAED,wCAAY,GAAZ,UAAa,IAAI,EAAE,KAAK,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UAClD,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;OACnC;MAED,6CAAiB,GAAjB,UAAkB,SAAS,EAAE,IAAI,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UAC3D,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;OAC/C;MAED,6CAAiB,GAAjB,UAAkB,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UAClE,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;OAClD;;;;;;;MAQD,sCAAU,GAAV,UACE,IAAY,EACZ,WAA4B,EAC5B,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UAE1B,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;OAClC;;;;;;MAOD,yCAAa,GAAb,UAAc,IAAY,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;UACpD,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAE9C,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;cAChB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;WACxB;OACF;;;;;;;MAQD,6CAAiB,GAAjB,UACE,SAAe,EACf,eAIQ,EACR,cAA6D;UAE7D,OAAO,IAAIC,iBAAW,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;OACpE;;;;;;;MAQD,2CAAe,GAAf,UAAgB,WAAmB,EAAE,GAAO,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;;UACtE,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,MAAA,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,0CAAE,SAAS,CAAC,GAAG,CAAC,CAAC;OACrC;;;;;;MAOD,2CAAe,GAAf,UAAgB,WAAmB,EAAE,QAA0B;UAA1B,yBAAA,EAAA,eAA0B;;UAC7D,IAAI,EAAE,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC9C,MAAA,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,0CAAE,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;OACnD;MAMD,sBAAI,iCAAE;;;;;eAAN;cACE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;WAChC;;;SAAA;;GAzIH,CAAgD,aAAa;;cAH5DD,YAAS,SAAC;kBACT,QAAQ,EAAE,EAAE;eACb;;;;0BAEEE,QAAK;8BACLA,QAAK;;;;MCXiC,8BAAiB;MAQxD;UAAA,YACE,iBAAO,SACR;UATO,aAAO,GAAG,KAAK,CAAC;;OASvB;MAPD,sBACI,8BAAM;eADV;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;;;SAAA;MAMD,yBAAI,GAAJ;UACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;OACrB;MAED,0BAAK,GAAL;UACE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;OACtB;;GAlBH,CAAyC,iBAAiB;;cAHzDF,YAAS,SAAC;kBACT,QAAQ,EAAE,EAAE;eACb;;;;uBAIEE,QAAK;;;EC/BR;;;;;;;;;;;;;;;;MAqCE,kCACU,UAA6B,EAC7B,GAAsB;UADtB,eAAU,GAAV,UAAU,CAAmB;UAC7B,QAAG,GAAH,GAAG,CAAmB;UAVzB,mBAAc,GAAG,KAAK,CAAC;UACvB,mBAAc,GAAG,KAAK,CAAC;UACvB,gBAAW,GAAG,CAAC,CAAC;UAChB,qBAAgB,GAAG,EAAE,CAAC;OAU5B;MAED,2CAAQ,GAAR;UAAA,iBAgBC;UAfC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE;cACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;cAC3B,OAAO;WACR;UAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAC,OAAO;cACjC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;cAE7C,IAAI,KAAI,CAAC,cAAc,EAAE;kBACvB,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;kBAC/C,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;eAC7D;cAED,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;WAC5B,CAAC,CAAC;OACJ;MAED,4CAAS,GAAT;UACE,IAAM,IAAI,GAAG,qBAAmB,IAAI,CAAC,SAAS,MAAG,CAAC;UAClD,IAAM,IAAI,GAAG,IAAI,CAAC;UAElB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE;cACnE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;kBAC5B,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAC;sBACzC,MAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;mBACnC,CAAC,CAAC;eACJ,CAAC,CAAC;WACJ,CAAC,CAAC;OACJ;;;;cAjDFF,YAAS,SAAC;kBACT,QAAQ,EAAE,0BAA0B;kBACpC,4iBAAgD;eACjD;;;cAPO,iBAAiB;cACjB,iBAAiB;;;qBAatBE,QAAK;0BACLA,QAAK;;;ECnCR;;;;;;;;;;;;;;;;;;;MAwCE,sCAAoB,UAA6B;UAA7B,eAAU,GAAV,UAAU,CAAmB;UAV1C,mBAAc,GAAG,KAAK,CAAC;UACvB,mBAAc,GAAG,KAAK,CAAC;UACvB,gBAAW,GAAG,CAAC,CAAC;UAChB,qBAAgB,GAAG,EAAE,CAAC;UACtB,kBAAa,GAAG,CAAC,CAAC;UAClB,uBAAkB,GAAG,EAAE,CAAC;OAKsB;MAErD,+CAAQ,GAAR;UAAA,iBAkBC;UAjBC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE;cACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;cAC3B,OAAO;WACR;UAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAC,OAAO;cACjC,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;cAE7C,IAAI,KAAI,CAAC,cAAc,EAAE;kBACvB,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;kBAC/C,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;kBAC5D,KAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC;kBAC1D,KAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC;eACxE;cAED,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;WAC5B,CAAC,CAAC;OACJ;;;;cAnCFF,YAAS,SAAC;kBACT,QAAQ,EAAE,+BAA+B;kBACzC,q4BAAqD;eACtD;;;cALQ,iBAAiB;;;qBAcvBE,QAAK;0BACLA,QAAK;;;ECtCR;;;;;;;;;;;;;;;;;;EAwBA;;MAWE,oCAAoB,GAAsB;UAAtB,QAAG,GAAH,GAAG,CAAmB;OAAI;MAE9C,kDAAa,GAAb;UACE,IAAM,IAAI,GAAG,mBAAiB,IAAI,CAAC,gBAAgB,mBAAc,IAAI,CAAC,kBAAoB,CAAC;UAC3F,IAAM,IAAI,GAAG,IAAI,CAAC;UAElB,MAAM,CAAC,UAAU,CACf,IAAI,EACJ,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACR;cACE,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE;kBAClD,MAAM,CAAC,OAAO,CACZ,+CAA+C,EAC/C,IAAI,EAAC,IAAI,EACT;sBACG,MAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;mBACnC,CACF,CAAC;eACH,CAAC,CAAC;WACJ,CACF,CAAC;OACH;;;;cAhCFF,YAAS,SAAC;kBACT,QAAQ,EAAE,6BAA6B;kBACvC,kHAAmD;eACpD;;;cARO,iBAAiB;;;iCAUtBE,QAAK;8BACLA,QAAK;mCACLA,QAAK;;;ECjCR;;;;;;;;;;;;;;;;;;;MA0BA;;MAGE,yCAAQ,GAAR;UACE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;cACtB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;WACjB;OACF;;;;cAXFF,YAAS,SAAC;kBACT,QAAQ,EAAE,wBAAwB;kBAClC,gHAA8C;eAC/C;;;sBAEEE,QAAK;;;EC3BR;;;;;;;;;;;;;;;;;;MAmBa,oBAAoB,GAAW;MAC1C,eAAe,EAAE,wBAAwB;MACzC,gBAAgB,EAAE,IAAI;MACtB,SAAS,EAAE,GAAG;MACd,aAAa,EAAE,KAAK;MAEpB,cAAc,EAAE;UACd,QAAQ,EAAE;cACR,OAAO,EAAE;kBACP,MAAM;kBACN,QAAQ;kBACR,WAAW;kBACX,eAAe;kBACf,WAAW;kBACX,aAAa;kBACb,YAAY;kBACZ,UAAU;kBACV,WAAW;kBACX,iBAAiB;kBACjB,aAAa;kBACb,aAAa;eACd;WACF;UACD,aAAa,EAAE;cACb,OAAO,EAAE;kBACP,WAAW;kBACX,aAAa;kBACb,gBAAgB;kBAChB,YAAY;kBACZ,cAAc;kBACd,UAAU;kBACV,UAAU;kBACV,iBAAiB;kBACjB,gBAAgB;kBAChB,YAAY;kBACZ,SAAS;kBACT,QAAQ;kBACR,OAAO;eACR;WACF;UACD,QAAQ,EAAE;cACR,OAAO,EAAE;kBACP,YAAY;kBACZ,aAAa;kBACb,aAAa;kBACb,WAAW;kBACX,aAAa;kBACb,mBAAmB;kBACnB,SAAS;eACV;WACF;UACD,QAAQ,EAAE;cACR,OAAO,EAAE;kBACP,WAAW;kBACX,iBAAiB;kBACjB,MAAM;kBACN,MAAM;kBACN,MAAM;kBACN,YAAY;eACb;cACD,KAAK,EAAE,OAAO;WACf;OACF;;;;;MAMD,cAAc,EAAE,6BAA6B;MAC7C,iBAAiB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;MACzC,iBAAiB,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;;;;MC3DL,2CAAiB;MAarE;UAAA,YACE,iBAAO,SACR;UATM,6BAAuB,GAAG,KAAK,CAAC;UAChC,6BAAuB,GAAG,EAAE,CAAC;;UAG3B,qBAAe,GAAG,MAAM,CAAC;UACzB,mBAAa,GAAW,EAAE,CAAC;;OAInC;MAED,0CAAQ,GAAR;UACE,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;UAC7B,IAAI,OAAO,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE;cACzC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;WACtC;UAED,IAAI,UAAU,GAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC;UAC9D,IAAM,GAAG,GAAG,eAAe,CAAC,eAAe,CAAC;UAE5C,IAAI,GAAG,EAAE;cACP,UAAU,GAAG,CAAC,CAAC,MAAM,CACnB,EAAE,EACF,UAAU,EACV,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,GAAG,KAAK,CAAC,CACvC,CAAC;WACH;UAED,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;cACtD,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC;WAClD;UAED,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;OAC3B;MAED,iDAAe,GAAf;UACE,IAAM,IAAI,GAAG,IAAI,CAAC;UAClB,UAAU,CAAC;cACT,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;cACpC,IAAI,CAAC,aAAa,EAAE,CAAC;WACtB,EAAE,GAAG,CAAC,CAAC;OACT;MAEO,+CAAa,GAAb;UACN,IAAI,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC;;UAG3C,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;UAElC,IAAI,OAAO,EAAE;cACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;kBACvC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;eACd;WACF;OACF;MAES,2CAAS,GAAT;UACR,IAAI,IAAI,CAAC,YAAY;cAAE,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;UAE5D,OAAO,IAAI,CAAC;OACb;;MAGM,oDAAkB,GAAlB,UAAmB,MAAM;UAC9B,IAAM,IAAI,GAAG,IAAI,CAAC;UAElB,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;cACjC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;kBAChC,MAAM,CAAC,IAAI,CAAC,CAAC;eACd,CAAC,CAAC;WACJ;eAAM;cACL,MAAM,CAAC,IAAI,CAAC,CAAC;WACd;OACF;MAEM,mDAAiB,GAAjB,UAAkB,OAAO;UAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;UAC5B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;OAChC;MAEM,iDAAe,GAAf,UAAgB,UAAU,EAAE,cAAc;UAC/C,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI;cACpC,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;cAChC,IAAI,OAAO,MAAM,IAAI,WAAW,IAAI,MAAM,IAAI,IAAI,EAAE;kBAClD,OAAO;eACR;cAED,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;cACtD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;WAC/D,CAAC,CAAC;OACJ;;GAhGH,CAAsD,iBAAiB;;cAHtEF,YAAS,SAAC;kBACT,QAAQ,EAAE,EAAE;eACb;;;;gCAWEE,QAAK;8BACLA,QAAK;;;;MCZsC,4CAAuB;MAGnE;UAAA,YACE,iBAAO,SACR;UAJQ,mBAAa,GAAW,MAAM,CAAC;;OAIvC;MAEM,+DAA4B,GAA5B,UAA6B,IAAI,EAAE,KAAK;UAC7C,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI;cACpC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;WAChC,CAAC,CAAC;OACJ;;GAXH,CAA8C,uBAAuB;;cAJpEF,YAAS,SAAC;kBACT,QAAQ,EAAE,2BAA2B;kBACrC,itBAAiD;eAClD;;;;8BAEEE,QAAK;;;;MCDiC,uCAAuB;MAC9D;iBACE,iBAAO;OACR;MAEM,qCAAO,GAAP,UAAQ,OAAO;UACpB,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI;cACpC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;cAC9B,IAAI,OAAO,MAAM,IAAI,WAAW,IAAI,MAAM,IAAI,IAAI,EAAE;kBAClD,OAAO;eACR;cAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;WAC1B,CAAC,CAAC;OACJ;MAEM,qCAAO,GAAP;UACL,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;UAC9B,IAAI,OAAO,MAAM,IAAI,WAAW,IAAI,MAAM,IAAI,IAAI,EAAE;cAClD,OAAO;WACR;UAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;OAC/B;;GAvBH,CAAyC,uBAAuB;;cAJ/DF,YAAS,SAAC;kBACT,QAAQ,EAAE,qBAAqB;kBAC/B,4KAA2C;eAC5C;;;;EC5BD;;;;;;;;;;;;;;;;;;;MA4BE;OAAgB;;;;cAPjBA,YAAS,SAAC;kBACT,QAAQ,EAAE,uBAAuB;kBACjC,8EAA6C;eAC9C;;;;yBAEEE,QAAK;;;EC1BR;;;;;;;;;;;;;;;;;;;MA4BE;OAAgB;;;;cAPjBF,YAAS,SAAC;kBACT,QAAQ,EAAE,wBAAwB;kBAClC,gFAA8C;eAC/C;;;;yBAEEE,QAAK;;;EC1BR;;;;;;;;;;;;;;;;;;;MAyBA;;;;;cAJCF,YAAS,SAAC;kBACT,QAAQ,EAAE,uBAAuB;kBACjC,8EAA6C;eAC9C;;;yBAEEE,QAAK;;;EC1BR;;;;;;;;;;;;;;;;;;;MAmCE,0BAAoB,cAA8B;UAA9B,mBAAc,GAAd,cAAc,CAAgB;;UAL1C,SAAI,GAAS,IAAI,IAAI,EAAE,CAAC;;UAGhC,SAAI,GAAG,KAAK,CAAC;OAGZ;MAED,mCAAQ,GAAR;UAAA,iBAIC;UAHC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,UAAC,KAAK;cACnD,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC;WACnB,CAAC,CAAC;OACJ;MAED,sCAAW,GAAX;UACE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;OACzB;;;;cAtBFF,YAAS,SAAC;kBACT,QAAQ,EAAE,iBAAiB;kBAC3B,gHAAuC;eACxC;;;cALO,cAAc;;;ECtBtB;;;;;;;;;;;;;;;;;;EAwBA,IAAM,cAAc,GAAG;MACrB,WAAW,EAAE,uBAAuB;;MAGpC,WAAW,EAAE,sBAAsB;MACnC,QAAQ,EAAE,mBAAmB;MAC7B,YAAY,EAAE,uBAAuB;MACrC,aAAa,EAAE,yBAAyB;MACxC,YAAY,EAAE,uBAAuB;MACrC,WAAW,EAAE,sBAAsB;MACnC,cAAc,EAAE,yBAAyB;MACzC,IAAI,EAAE,cAAc;GACrB,CAAC;;MAcA,0BAAoBG,QAAc,EAA4B,QAAkB;UAAhF,iBAUC;UAVmB,WAAM,GAANA,QAAM,CAAQ;UAA4B,aAAQ,GAAR,QAAQ,CAAU;UANhF,qBAAgB,GAAG,IAAI,CAAC;UACxB,mBAAc,GAAG,cAAc,CAAC;UAEvB,oBAAe,GAAG,SAAS,CAAC;UAC5B,YAAO,GAAG,cAAc,CAAC,WAAW,CAAC;UAG5C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAA,KAAK;cAChC,IAAI,KAAK,YAAYC,sBAAe,EAAE;kBACpC,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;eAC9B;mBAAM,IAAI,KAAK,YAAYT,oBAAa,IAAI,KAAK,YAAYU,uBAAgB,IAAI,KAAK,YAAYC,sBAAe,EAAE;kBAClH,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;eAC/B;WACF,EAAE;cACD,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;WAC/B,CAAC,CAAC;OACJ;MAED,sCAAW,GAAX;UACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;OAC/B;;;;cA1BFN,YAAS,SAAC;kBACT,QAAQ,EAAE,SAAS;kBACnB,oXAAuC;kBACvC,aAAa,EAAEO,oBAAiB,CAAC,IAAI;eACtC;;;cArB0E7C,aAAM;cA6BP,QAAQ,uBAA3C+B,SAAM,SAACC,WAAQ;;;gCAHnDQ,QAAK;wBACLA,QAAK;;;EChDR;;;;;;;;;;;;;;;;;;;MA2BE,gCAAoB,EAA+B,EAAU,OAAkB;UAA3D,OAAE,GAAF,EAAE,CAA6B;UAAU,YAAO,GAAP,OAAO,CAAW;OAC9E;MAED,yCAAQ,GAAR;;UAEG,IAAI,CAAC,OAAO,CAAC,OAAe,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;OACrE;;;;cAVFM,YAAS,SAAC;kBACT,QAAQ,EAAE,kCAAkC;eAC7C;;;cALmBC,aAAU;cACrBC,eAAS;;;ECrBlB;;;;;;;;;;;;;;;;;;;MAyBA;;MACE,mCAAS,GAAT,UAAU,SAAiB,EAAE,MAAc,EAAE,WAAmB;UAC9D,IAAI,SAAS,EAAE;cACb,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;WAChE;eAAM;cACL,OAAO,SAAS,CAAC;WAClB;OACF;;;;cAVFrC,OAAI,SAAC;kBACJ,IAAI,EAAE,aAAa;eACpB;;;ECxBD;;;;;;;;;;;;;;;;;;;MAsBA;UAIU,UAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;OAczD;MAZC,gCAAS,GAAT,UAAU,KAAiB,EAAE,SAAqB;UAAxC,sBAAA,EAAA,SAAiB;UAAE,0BAAA,EAAA,aAAqB;UAChD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;cAAE,OAAO,EAAE,CAAC;UAEpE,IAAI,IAAI,GAAG,CAAC,CAAC;UAEb,OAAO,KAAK,IAAI,IAAI,EAAE;cACpB,KAAK,IAAI,IAAI,CAAC;cACd,IAAI,EAAE,CAAC;WACR;UAED,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;OAC3D;;;;cAjBFA,OAAI,SAAC;kBACJ,IAAI,EAAE,UAAU;eACjB;;;ECxBD;;;;;;;;;;;;;;;;;;;MA0BE,sBAAoB,SAAuB;UAAvB,cAAS,GAAT,SAAS,CAAc;OAAK;MAEhD,gCAAS,GAAT,UAAU,KAAK;UACb,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;OACtD;;;;cANFA,OAAI,SAAC,EAAE,IAAI,EAAE,UAAU,EAAE;;;cAHlBsC,iBAAY;;;;MCQqC,8CAAiB;MACxE;iBACE,iBAAO;OACR;MAED,8DAAyB,GAAzB;UAAA,iBAuBC;UAtBC,IAAI,QAAQ,GAAa,EAAE,CAAC;UAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC;cAC7C,IAAI,OAAO,GAAG,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;cAEzC,IAAgB,OAAQ,CAAC,QAAQ,IAAI,IAAI,EAAE;kBACzC,MAAM,CAAC,IAAI,CAAa,OAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC;sBACnD,IAAI,KAAK,GAAe,OAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;sBAC7C,KAAI,CAAC,qBAAqB,CACxB,KAAK,EACL,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAC9B,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC;mBACpC,CAAC,CAAC;eACJ;mBAAM;kBACL,KAAI,CAAC,qBAAqB,CACxB,OAAO,EACP,KAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAChC,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAA,CAAC,CAAC;eACpC;WACF,CAAC,CAAC;UAEH,OAAO,QAAQ,CAAC;OACjB;MAED,0DAAqB,GAArB,UAAsB,KAAU,EAAE,SAAkB;UAClD,IAAI,KAAK,GAAW,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;UAC5C,IAAI,QAAQ,GAAa,EAAE,CAAC;UAE5B,IAAI,KAAK,CAAC,MAAM,EAAE;cAChB,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE;kBAClC,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;sBAC1C,QAAQ,SAAS;0BACf,KAAK,UAAU;8BACb,QAAQ,CAAC,IAAI,CAAI,KAAK,iBAAc,CAAC,CAAC;8BACtC,MAAM;0BAER,KAAK,WAAW;8BACd,QAAQ,CAAC,IAAI,CACR,KAAK,0BAAqB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,gBAAa,CACnF,CAAC;8BACF,MAAM;0BAER,KAAK,SAAS;8BACZ,QAAQ,CAAC,IAAI,CAAI,KAAK,iCAA8B,CAAC,CAAC;8BACtD,MAAM;0BAER,KAAK,QAAQ;8BACX,QAAQ,CAAC,IAAI,CAAI,KAAK,qBAAkB,CAAC,CAAC;8BAC1C,MAAM;0BAER,KAAK,WAAW;8BACd,QAAQ,CAAC,IAAI,CACR,KAAK,2BAAsB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,gBAAa,CACpF,CAAC;8BACF,MAAM;0BAER,KAAK,mBAAmB;8BACtB,QAAQ,CAAC,IAAI,CAAI,KAAK,iCAA8B,CAAC,CAAC;8BACtD,MAAM;uBACT;mBACF;eACF;WACF;UAED,OAAO,QAAQ,CAAC;OACjB;;;;;;MAOD,mDAAc,GAAd,UAAe,OAAY,EAAE,SAAkB;UAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;UAC1C,OAAO,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;OAClC;;;;;MAMD,oDAAe,GAAf,UAAgB,OAAY;UAC1B,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE;cAC1B,IAAI,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;cACjE,IAAI,YAAY,EAAE;kBAChB,OAAO,YAAY,CAAC;eACrB;WACF;UAED,OAAO,SAAS,CAAC;OAClB;;;;MAKD,sDAAiB,GAAjB,UAAkB,aAA8B;;UAC9C,IAAI,KAAa,CAAC;UAElB,QAAQ,aAAa,CAAC,OAAO;;cAE3B,KAAK,kBAAkB,CAAC;cACxB,KAAK,kBAAkB;kBACrB,KAAK;sBACH,MAAA,MAAA,MAAA,MAAA,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,YAAY,CAC5E,OAAO,CACR,CAAC;kBACJ,MAAM;;cAGR,KAAK,sBAAsB;kBACzB,KAAK,GAAG,MAAA,MAAA,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,YAAY,CAAC,OAAO,CAAC,CAAC;kBACtE,MAAM;cAER;kBACE,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;kBAC5C,MAAM;WACT;UAED,OAAO,KAAK,CAAC;OACd;;GA7HH,CAAyD,iBAAiB;;cAHzEX,YAAS,SAAC;kBACT,QAAQ,EAAE,EAAE;eACb;;;;;MCDmD,kDAA0B;MAW5E;UAAA,YACE,iBAAO,SACR;UAZQ,aAAO,GAAY,KAAK,CAAC;UACzB,kBAAY,GAAa,EAAE,CAAC;;;;;;UAO5B,cAAQ,GAAW,CAAC,CAAC;;OAI7B;MAED,kDAAS,GAAT;UACE,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;cACtB,OAAO,IAAI,CAAC,YAAY,CAAC;WAC1B;UAED,IAAI,sBAAsB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;UAC9D,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;cACtB,OAAO,sBAAsB,CAAC;WAC/B;UAED,IAAI,QAAQ,GAAG,EAAE,CAAC;UAClB,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;cACrC,QAAQ,CAAC,IAAI,OAAb,QAAQ,2BAAS,sBAAsB,IAAE;WAC1C;UAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;cAChC,QAAQ,CAAC,IAAI,OAAb,QAAQ,2BAAS,IAAI,CAAC,YAAY,IAAE;WACrC;UAED,OAAO,QAAQ,CAAC;OACjB;;GAnCH,CAAoD,0BAA0B;;cAJ7EA,YAAS,SAAC;kBACT,QAAQ,EAAE,iCAAiC;kBAC3C,yPAAuD;eACxD;;;;wBAEEE,QAAK;6BACLA,QAAK;yBAOLA,QAAK;;;;MCT4C,kDAA0B;MAI5E;iBACE,iBAAO;OACR;;GANH,CAAoD,0BAA0B;;cAJ7EF,YAAS,SAAC;kBACT,QAAQ,EAAE,iCAAiC;kBAC3C,mQAAuD;eACxD;;;;4BAEEE,QAAK;6BACLA,QAAK;;;EC7BR;;;;;;;;;;;;;;;;;;MA0Ba,+BAA+B,GAAGU,uCAAkB,CAAC,OAAO,GAAG;MAC/D,6BAA6B,GAAGC,qCAAgB,CAAC,OAAO,GAAG;;MAuFxE;;;;;cA3DCjC,WAAQ,SAAC;kBACR,OAAO,EAAE;sBACPiB,eAAY;sBACZiB,yBAAmB;sBACnBC,iBAAW;sBACX,+BAA+B;sBAC/B,6BAA6B;mBAC9B;kBACD,OAAO,EAAE;sBACP,4BAA4B;sBAC5B,0BAA0B;sBAC1B,wBAAwB;sBACxB,qBAAqB;sBACrB,qBAAqB;sBACrB,sBAAsB;sBACtB,sBAAsB;sBACtB,gBAAgB;sBAChB,gBAAgB;sBAChB,sBAAsB;;sBAGtB,mBAAmB;sBACnB,wBAAwB;;sBAGxB,8BAA8B;sBAC9B,8BAA8B;;sBAG9B,YAAY;sBACZ,eAAe;sBACf,YAAY;mBACb;kBACD,YAAY,EAAE;sBACZ,4BAA4B;sBAC5B,0BAA0B;sBAC1B,wBAAwB;sBACxB,qBAAqB;sBACrB,qBAAqB;sBACrB,sBAAsB;sBACtB,sBAAsB;sBACtB,gBAAgB;sBAChB,gBAAgB;sBAChB,sBAAsB;;sBAGtB,mBAAmB;sBACnB,wBAAwB;;sBAGxB,8BAA8B;sBAC9B,8BAA8B;;sBAG9B,YAAY;sBACZ,eAAe;sBACf,YAAY;mBACb;eACF;;;ECjHD;;;;ECAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny
|
|
8
|
-
Anatoly Osovitny
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
29 June 2020
|
|
12
|
-
|
|
13
|
-
Version:
|
|
14
|
-
1.0
|
|
15
|
-
|
|
16
|
-
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
-
</file>
|
|
18
|
-
*/
|
|
19
|
-
export class Convert {
|
|
20
|
-
static toLocalizedDateTime(value) {
|
|
21
|
-
if (value) {
|
|
22
|
-
return new Date(Date.UTC(value.getFullYear(), value.getMonth(), value.getDate(), value.getHours(), value.getMinutes(), value.getSeconds(), value.getMilliseconds()));
|
|
23
|
-
}
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
static enumToString(enumeration, value) {
|
|
27
|
-
for (var k in enumeration)
|
|
28
|
-
if (enumeration[k] == value)
|
|
29
|
-
return k;
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
static enumToArray(enumeration, notIncludes) {
|
|
33
|
-
const notIncludeFiler = (value) => {
|
|
34
|
-
if (isNaN(Number(value))) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
if (notIncludes) {
|
|
38
|
-
for (var i in notIncludes) {
|
|
39
|
-
if (notIncludes[i] == value)
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return true;
|
|
44
|
-
};
|
|
45
|
-
return Object.keys(enumeration)
|
|
46
|
-
.filter(notIncludeFiler)
|
|
47
|
-
.map(key => ({
|
|
48
|
-
value: key,
|
|
49
|
-
text: enumeration[key]
|
|
50
|
-
}));
|
|
51
|
-
}
|
|
52
|
-
static stringToArray(str, separator = ',') {
|
|
53
|
-
if (str) {
|
|
54
|
-
return str.split(separator).filter(element => element);
|
|
55
|
-
}
|
|
56
|
-
return [];
|
|
57
|
-
}
|
|
58
|
-
static stringToIntArray(str, separator = ',') {
|
|
59
|
-
if (str) {
|
|
60
|
-
return str.split(separator).filter(element => element).map(value => parseInt(value));
|
|
61
|
-
}
|
|
62
|
-
return [];
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL2NvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsTUFBTSxPQUFPLE9BQU87SUFDWCxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBVztRQUMzQyxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sSUFBSSxJQUFJLENBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFDN0QsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQ3JGLENBQUM7U0FDSDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEtBQUs7UUFDM0MsS0FBSyxJQUFJLENBQUMsSUFBSSxXQUFXO1lBQUUsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSztnQkFBRSxPQUFPLENBQUMsQ0FBQztRQUVqRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxXQUFZO1FBQ2pELE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDaEMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ3hCLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFFRCxJQUFJLFdBQVcsRUFBRTtnQkFDZixLQUFLLElBQUksQ0FBQyxJQUFJLFdBQVcsRUFBRTtvQkFDekIsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSzt3QkFDekIsT0FBTyxLQUFLLENBQUM7aUJBQ2hCO2FBQ0Y7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQTtRQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDakIsTUFBTSxDQUFDLGVBQWUsQ0FBQzthQUN2QixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ1gsS0FBSyxFQUFFLEdBQUc7WUFDVixJQUFJLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQztTQUN2QixDQUFDLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFXLEVBQUUsWUFBb0IsR0FBRztRQUM5RCxJQUFJLEdBQUcsRUFBRTtZQUNQLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN4RDtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsWUFBb0IsR0FBRztRQUNqRSxJQUFJLEdBQUcsRUFBRTtZQUNQLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN0RjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgSnVuZSAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XHJcbiAgcHVibGljIHN0YXRpYyB0b0xvY2FsaXplZERhdGVUaW1lKHZhbHVlOiBEYXRlKTogRGF0ZSB8IG51bGwge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZShcclxuICAgICAgICBEYXRlLlVUQyh2YWx1ZS5nZXRGdWxsWWVhcigpLCB2YWx1ZS5nZXRNb250aCgpLCB2YWx1ZS5nZXREYXRlKCksXHJcbiAgICAgICAgICB2YWx1ZS5nZXRIb3VycygpLCB2YWx1ZS5nZXRNaW51dGVzKCksIHZhbHVlLmdldFNlY29uZHMoKSwgdmFsdWUuZ2V0TWlsbGlzZWNvbmRzKCkpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGVudW1Ub1N0cmluZyhlbnVtZXJhdGlvbiwgdmFsdWUpIHtcclxuICAgIGZvciAodmFyIGsgaW4gZW51bWVyYXRpb24pIGlmIChlbnVtZXJhdGlvbltrXSA9PSB2YWx1ZSkgcmV0dXJuIGs7XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGVudW1Ub0FycmF5KGVudW1lcmF0aW9uLCBub3RJbmNsdWRlcz8pIHtcclxuICAgIGNvbnN0IG5vdEluY2x1ZGVGaWxlciA9ICh2YWx1ZSkgPT4ge1xyXG4gICAgICBpZiAoaXNOYU4oTnVtYmVyKHZhbHVlKSkpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChub3RJbmNsdWRlcykge1xyXG4gICAgICAgIGZvciAodmFyIGkgaW4gbm90SW5jbHVkZXMpIHtcclxuICAgICAgICAgIGlmIChub3RJbmNsdWRlc1tpXSA9PSB2YWx1ZSlcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVudW1lcmF0aW9uKVxyXG4gICAgICAgICAgICAgICAgIC5maWx0ZXIobm90SW5jbHVkZUZpbGVyKVxyXG4gICAgICAgICAgICAgICAgIC5tYXAoa2V5ID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgICB2YWx1ZToga2V5LFxyXG4gICAgICAgICAgICAgICAgICAgdGV4dDogZW51bWVyYXRpb25ba2V5XVxyXG4gICAgICAgICAgICAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgc3RyaW5nVG9BcnJheShzdHI6IHN0cmluZywgc2VwYXJhdG9yOiBzdHJpbmcgPSAnLCcpIHtcclxuICAgIGlmIChzdHIpIHtcclxuICAgICAgcmV0dXJuIHN0ci5zcGxpdChzZXBhcmF0b3IpLmZpbHRlcihlbGVtZW50ID0+IGVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgc3RyaW5nVG9JbnRBcnJheShzdHI6IHN0cmluZywgc2VwYXJhdG9yOiBzdHJpbmcgPSAnLCcpIHtcclxuICAgIGlmIChzdHIpIHtcclxuICAgICAgcmV0dXJuIHN0ci5zcGxpdChzZXBhcmF0b3IpLmZpbHRlcihlbGVtZW50ID0+IGVsZW1lbnQpLm1hcCh2YWx1ZSA9PiBwYXJzZUludCh2YWx1ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Injector, NgModule, Optional, SkipSelf } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
//Logging
|
|
4
|
-
import { LoggingService } from './logging/logging.service';
|
|
5
|
-
//Services
|
|
6
|
-
import { AppContextService } from './services/appcontext.service';
|
|
7
|
-
import { LoadingService } from './services/loading.service';
|
|
8
|
-
import { DigitalMarketingService } from './services/dm.service';
|
|
9
|
-
import { GoogleAnalyticsService } from './services/google-analytics.service';
|
|
10
|
-
import { LocalStorageService, SessionStorageService } from './services/web-storage.service';
|
|
11
|
-
//notifications
|
|
12
|
-
import { NotificationService } from './notifications/services/notification-service';
|
|
13
|
-
//Guards
|
|
14
|
-
import { throwIfAlreadyLoaded } from './guards/once-import.guard';
|
|
15
|
-
export let InjectorInstance;
|
|
16
|
-
export class AnatolyCoreModule {
|
|
17
|
-
constructor(injector, parentModule) {
|
|
18
|
-
this.injector = injector;
|
|
19
|
-
throwIfAlreadyLoaded(parentModule, 'AnatolyCoreModule');
|
|
20
|
-
InjectorInstance = this.injector;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
AnatolyCoreModule.decorators = [
|
|
24
|
-
{ type: NgModule, args: [{
|
|
25
|
-
imports: [CommonModule],
|
|
26
|
-
exports: [],
|
|
27
|
-
providers: [
|
|
28
|
-
LoggingService,
|
|
29
|
-
NotificationService,
|
|
30
|
-
AppContextService,
|
|
31
|
-
LoadingService,
|
|
32
|
-
DigitalMarketingService,
|
|
33
|
-
GoogleAnalyticsService,
|
|
34
|
-
LocalStorageService,
|
|
35
|
-
SessionStorageService
|
|
36
|
-
],
|
|
37
|
-
},] }
|
|
38
|
-
];
|
|
39
|
-
AnatolyCoreModule.ctorParameters = () => [
|
|
40
|
-
{ type: Injector },
|
|
41
|
-
{ type: AnatolyCoreModule, decorators: [{ type: Optional }, { type: SkipSelf }] }
|
|
42
|
-
];
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9jb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxTQUFTO0FBQ1QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXpELFVBQVU7QUFDVixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFNUYsZUFBZTtBQUNmLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBRWxGLFFBQVE7QUFDUixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxNQUFNLENBQUMsSUFBSSxnQkFBMEIsQ0FBQztBQWdCdEMsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixRQUFrQixFQUEwQixZQUErQjtRQUEzRSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBRXhELGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDbkMsQ0FBQzs7O1lBbkJGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFNBQVMsRUFBRTtvQkFDVCxjQUFjO29CQUNkLG1CQUFtQjtvQkFDbkIsaUJBQWlCO29CQUNqQixjQUFjO29CQUNkLHVCQUF1QjtvQkFDdkIsc0JBQXNCO29CQUN0QixtQkFBbUI7b0JBQ25CLHFCQUFxQjtpQkFDdEI7YUFDRjs7O1lBbENPLFFBQVE7WUFvQ2dFLGlCQUFpQix1QkFBdEQsUUFBUSxZQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdG9yLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vL0xvZ2dpbmdcclxuaW1wb3J0IHtMb2dnaW5nU2VydmljZX0gZnJvbSAnLi9sb2dnaW5nL2xvZ2dpbmcuc2VydmljZSc7XHJcblxyXG4vL1NlcnZpY2VzXHJcbmltcG9ydCB7IEFwcENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbG9hZGluZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlnaXRhbE1hcmtldGluZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHb29nbGVBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3dlYi1zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuLy9ub3RpZmljYXRpb25zXHJcbmltcG9ydCB7Tm90aWZpY2F0aW9uU2VydmljZX0gZnJvbSAnLi9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlJztcclxuXHJcbi8vR3VhcmRzXHJcbmltcG9ydCB7dGhyb3dJZkFscmVhZHlMb2FkZWR9IGZyb20gJy4vZ3VhcmRzL29uY2UtaW1wb3J0Lmd1YXJkJztcclxuXHJcbmV4cG9ydCBsZXQgSW5qZWN0b3JJbnN0YW5jZTogSW5qZWN0b3I7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTG9nZ2luZ1NlcnZpY2UsXHJcbiAgICBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgQXBwQ29udGV4dFNlcnZpY2UsXHJcbiAgICBMb2FkaW5nU2VydmljZSxcclxuICAgIERpZ2l0YWxNYXJrZXRpbmdTZXJ2aWNlLFxyXG4gICAgR29vZ2xlQW5hbHl0aWNzU2VydmljZSxcclxuICAgIExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBTZXNzaW9uU3RvcmFnZVNlcnZpY2VcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seUNvcmVNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IEFuYXRvbHlDb3JlTW9kdWxlKSB7XHJcbiAgICB0aHJvd0lmQWxyZWFkeUxvYWRlZChwYXJlbnRNb2R1bGUsICdBbmF0b2x5Q29yZU1vZHVsZScpO1xyXG5cclxuICAgIEluamVjdG9ySW5zdGFuY2UgPSB0aGlzLmluamVjdG9yO1xyXG4gIH1cclxufVxyXG4iXX0=
|