@osovitny/anatoly 3.17.160 → 3.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/fesm2022/osovitny-anatoly.mjs +569 -532
  2. package/fesm2022/osovitny-anatoly.mjs.map +1 -1
  3. package/lib/billing/utils.d.ts +2 -1
  4. package/lib/core/converts/convert.d.ts +1 -1
  5. package/lib/core/guid.d.ts +1 -1
  6. package/lib/core/is.d.ts +5 -5
  7. package/lib/ui/components/base/components/component.d.ts +1 -1
  8. package/lib/ui/components/base/components/edit.component.d.ts +1 -1
  9. package/lib/ui/components/base/components/enum-edit.component.d.ts +1 -1
  10. package/lib/ui/components/data-grid/control-panel.component.d.ts +6 -5
  11. package/lib/ui/components/dropdownlists/country/country.dropdownlist.d.ts +1 -3
  12. package/lib/ui/components/identity/signin-button.component.d.ts +0 -1
  13. package/lib/ui/components/identity/signout-button.component.d.ts +0 -1
  14. package/lib/ui/components/identity/signup-button.component.d.ts +0 -1
  15. package/lib/ui/directives/index.d.ts +1 -1
  16. package/lib/ui/directives/replacer/replacer.base.directive.d.ts +2 -1
  17. package/package.json +58 -60
  18. package/esm2022/lib/anatoly.module.mjs +0 -62
  19. package/esm2022/lib/billing/billing.module.mjs +0 -81
  20. package/esm2022/lib/billing/components/buttons/buyaccess-button.component.mjs +0 -104
  21. package/esm2022/lib/billing/components/buttons/subscribe-plan-button.component.mjs +0 -113
  22. package/esm2022/lib/billing/components/exports.mjs +0 -28
  23. package/esm2022/lib/billing/components/index.mjs +0 -31
  24. package/esm2022/lib/billing/components/order-summary/order-summary.component.mjs +0 -154
  25. package/esm2022/lib/billing/components/payment-methods/payment-methods.component.mjs +0 -106
  26. package/esm2022/lib/billing/components/payment-options/payment-options.component.mjs +0 -97
  27. package/esm2022/lib/billing/components/pm/braintree/braintree.component.mjs +0 -155
  28. package/esm2022/lib/billing/components/pm/paypal/paypal-button.component.mjs +0 -159
  29. package/esm2022/lib/billing/components/pm/paypal/paypal-subscribe-button.component.mjs +0 -149
  30. package/esm2022/lib/billing/components/pm/paypal/paypal.component.mjs +0 -317
  31. package/esm2022/lib/billing/components/pm/stripe/stripe.component.mjs +0 -109
  32. package/esm2022/lib/billing/exports.mjs +0 -19
  33. package/esm2022/lib/billing/models/paypal-models.mjs +0 -16
  34. package/esm2022/lib/billing/services/payments.service.mjs +0 -170
  35. package/esm2022/lib/billing/services/paypal-script.service.mjs +0 -90
  36. package/esm2022/lib/billing/utils.mjs +0 -28
  37. package/esm2022/lib/core/browser.mjs +0 -24
  38. package/esm2022/lib/core/consts/app-settings.mjs +0 -55
  39. package/esm2022/lib/core/consts/core-settings.mjs +0 -29
  40. package/esm2022/lib/core/consts/formats.mjs +0 -27
  41. package/esm2022/lib/core/consts/ga.mjs +0 -26
  42. package/esm2022/lib/core/consts/storageKeys.mjs +0 -23
  43. package/esm2022/lib/core/converts/convert.mjs +0 -103
  44. package/esm2022/lib/core/converts/dateConvert.mjs +0 -60
  45. package/esm2022/lib/core/converts/tz/tzParseTimezone.mjs +0 -122
  46. package/esm2022/lib/core/converts/tz/tzTokenizeDate.mjs +0 -101
  47. package/esm2022/lib/core/converts/xmlFormatter.mjs +0 -34
  48. package/esm2022/lib/core/core.module.mjs +0 -112
  49. package/esm2022/lib/core/dom.mjs +0 -153
  50. package/esm2022/lib/core/enums/billing.mjs +0 -56
  51. package/esm2022/lib/core/enums/enums.mjs +0 -35
  52. package/esm2022/lib/core/enums/index.mjs +0 -17
  53. package/esm2022/lib/core/exports.mjs +0 -67
  54. package/esm2022/lib/core/go/apps-go.service.mjs +0 -88
  55. package/esm2022/lib/core/go/go.service.mjs +0 -86
  56. package/esm2022/lib/core/guards/once-import.guard.mjs +0 -21
  57. package/esm2022/lib/core/guards/starter.guard.mjs +0 -46
  58. package/esm2022/lib/core/guid.mjs +0 -22
  59. package/esm2022/lib/core/interceptors/httpInterceptor.mjs +0 -161
  60. package/esm2022/lib/core/is.mjs +0 -98
  61. package/esm2022/lib/core/localization/localization.module.mjs +0 -45
  62. package/esm2022/lib/core/localization/localization.service.mjs +0 -164
  63. package/esm2022/lib/core/localization/localize.pipe.mjs +0 -83
  64. package/esm2022/lib/core/localization/settings.module.mjs +0 -103
  65. package/esm2022/lib/core/localization/utils.mjs +0 -41
  66. package/esm2022/lib/core/logging/globalErrorHandler.mjs +0 -41
  67. package/esm2022/lib/core/logging/logging.service.mjs +0 -40
  68. package/esm2022/lib/core/models/qs.mjs +0 -17
  69. package/esm2022/lib/core/notifications/alerts.mjs +0 -116
  70. package/esm2022/lib/core/notifications/interfaces/notification.mjs +0 -17
  71. package/esm2022/lib/core/notifications/services/notification-service.mjs +0 -83
  72. package/esm2022/lib/core/performance/stopwatch.mjs +0 -50
  73. package/esm2022/lib/core/services/appcontext.service.mjs +0 -186
  74. package/esm2022/lib/core/services/dm.service.mjs +0 -69
  75. package/esm2022/lib/core/services/google-analytics.service.mjs +0 -75
  76. package/esm2022/lib/core/services/idle.service.mjs +0 -77
  77. package/esm2022/lib/core/services/loading.service.mjs +0 -67
  78. package/esm2022/lib/core/services/script.service.mjs +0 -77
  79. package/esm2022/lib/core/services/starter.service.mjs +0 -85
  80. package/esm2022/lib/core/services/web-storage.service.mjs +0 -66
  81. package/esm2022/lib/core/subs.mjs +0 -31
  82. package/esm2022/lib/core/utils/qsutils.mjs +0 -84
  83. package/esm2022/lib/core/utils/utils.mjs +0 -112
  84. package/esm2022/lib/data/base/api.service.mjs +0 -94
  85. package/esm2022/lib/data/base/grid/grid-edit.service.mjs +0 -80
  86. package/esm2022/lib/data/base/grid/grid-read.service.mjs +0 -60
  87. package/esm2022/lib/data/data.module.mjs +0 -66
  88. package/esm2022/lib/data/exports.mjs +0 -29
  89. package/esm2022/lib/data/services/billing/currencies-api.service.mjs +0 -41
  90. package/esm2022/lib/data/services/billing/currencies-storage.service.mjs +0 -92
  91. package/esm2022/lib/data/services/billing/discountcodes-api.service.mjs +0 -37
  92. package/esm2022/lib/data/services/billing/payments-api.service.mjs +0 -64
  93. package/esm2022/lib/data/services/billing/subscriptions-api.service.mjs +0 -61
  94. package/esm2022/lib/data/services/billing/transactions-api.service.mjs +0 -43
  95. package/esm2022/lib/data/services/core-api.service.mjs +0 -44
  96. package/esm2022/lib/data/services/emails-api.service.mjs +0 -47
  97. package/esm2022/lib/external/fa.module.mjs +0 -45
  98. package/esm2022/lib/external/kendo.module.mjs +0 -179
  99. package/esm2022/lib/iam/b2c/b2c.mjs +0 -40
  100. package/esm2022/lib/iam/b2c/consts.mjs +0 -25
  101. package/esm2022/lib/iam/b2c/index.mjs +0 -21
  102. package/esm2022/lib/iam/configs.mjs +0 -109
  103. package/esm2022/lib/iam/consts.mjs +0 -22
  104. package/esm2022/lib/iam/exports.mjs +0 -22
  105. package/esm2022/lib/iam/guards/admin.guard.mjs +0 -46
  106. package/esm2022/lib/iam/guards/authentication.guard.mjs +0 -30
  107. package/esm2022/lib/iam/guards/index.mjs +0 -20
  108. package/esm2022/lib/iam/iam-pages.module.mjs +0 -57
  109. package/esm2022/lib/iam/iam-pages.routes.mjs +0 -45
  110. package/esm2022/lib/iam/iam.module.mjs +0 -84
  111. package/esm2022/lib/iam/pages/signin.page.mjs +0 -40
  112. package/esm2022/lib/iam/pages/signout.page.mjs +0 -40
  113. package/esm2022/lib/iam/pages/signup.page.mjs +0 -40
  114. package/esm2022/lib/iam/redirect.mjs +0 -29
  115. package/esm2022/lib/iam/services/auth.service.mjs +0 -436
  116. package/esm2022/lib/iam/storage.mjs +0 -42
  117. package/esm2022/lib/iam/utils.mjs +0 -49
  118. package/esm2022/lib/ui/components/base/components/component.mjs +0 -76
  119. package/esm2022/lib/ui/components/base/components/edit.component.mjs +0 -146
  120. package/esm2022/lib/ui/components/base/components/enum-edit.component.mjs +0 -92
  121. package/esm2022/lib/ui/components/base/dialog.mjs +0 -71
  122. package/esm2022/lib/ui/components/base/list.mjs +0 -100
  123. package/esm2022/lib/ui/components/base/pages/edit.page.mjs +0 -32
  124. package/esm2022/lib/ui/components/base/pages/page.mjs +0 -32
  125. package/esm2022/lib/ui/components/base/pages/paged.page.mjs +0 -68
  126. package/esm2022/lib/ui/components/card/card-body.component.mjs +0 -37
  127. package/esm2022/lib/ui/components/card/card-footer.component.mjs +0 -37
  128. package/esm2022/lib/ui/components/card/card-header.component.mjs +0 -51
  129. package/esm2022/lib/ui/components/card/card.component.mjs +0 -41
  130. package/esm2022/lib/ui/components/check-icon/check-icon.component.mjs +0 -43
  131. package/esm2022/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +0 -57
  132. package/esm2022/lib/ui/components/data-grid/control-panel.component.mjs +0 -201
  133. package/esm2022/lib/ui/components/datapager/datapager.component.mjs +0 -95
  134. package/esm2022/lib/ui/components/dropdownlists/country/country.dropdownlist.mjs +0 -96
  135. package/esm2022/lib/ui/components/dropdownlists/moderationstatus/moderationstatus.dropdownlist.mjs +0 -88
  136. package/esm2022/lib/ui/components/dropdownlists/publishstatus/publishstatus.dropdownlist.mjs +0 -88
  137. package/esm2022/lib/ui/components/dropdownlists/timezone/timezone.dropdownlist.mjs +0 -112
  138. package/esm2022/lib/ui/components/exports.mjs +0 -53
  139. package/esm2022/lib/ui/components/feature-will-be-ready/feature-will-be-ready.component.mjs +0 -55
  140. package/esm2022/lib/ui/components/html-editor/base-editor.component.mjs +0 -94
  141. package/esm2022/lib/ui/components/html-editor/defaultoptions.mjs +0 -87
  142. package/esm2022/lib/ui/components/html-editor/html-editor.component.mjs +0 -114
  143. package/esm2022/lib/ui/components/identity/signin-button.component.mjs +0 -105
  144. package/esm2022/lib/ui/components/identity/signout-button.component.mjs +0 -105
  145. package/esm2022/lib/ui/components/identity/signup-button.component.mjs +0 -105
  146. package/esm2022/lib/ui/components/index.mjs +0 -57
  147. package/esm2022/lib/ui/components/no-mobile-support/no-mobile-support.component.mjs +0 -45
  148. package/esm2022/lib/ui/components/nodata/nodata.component.mjs +0 -76
  149. package/esm2022/lib/ui/components/spinners/loading/loading.component.mjs +0 -53
  150. package/esm2022/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +0 -85
  151. package/esm2022/lib/ui/components/spinners/pagespinner/spinkits.mjs +0 -12
  152. package/esm2022/lib/ui/components/urlslug/urlslug.component.mjs +0 -130
  153. package/esm2022/lib/ui/components/you-agree-to-our-terms/you-agree-to-our-terms.component.mjs +0 -63
  154. package/esm2022/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +0 -78
  155. package/esm2022/lib/ui/dialogs/exports.mjs +0 -16
  156. package/esm2022/lib/ui/dialogs/index.mjs +0 -19
  157. package/esm2022/lib/ui/directives/exports.mjs +0 -19
  158. package/esm2022/lib/ui/directives/hover.directive.mjs +0 -50
  159. package/esm2022/lib/ui/directives/index.mjs +0 -22
  160. package/esm2022/lib/ui/directives/native-element.directive.mjs +0 -37
  161. package/esm2022/lib/ui/directives/replacer/a-replacer.directive.mjs +0 -48
  162. package/esm2022/lib/ui/directives/replacer/image-replacer.directive.mjs +0 -44
  163. package/esm2022/lib/ui/directives/replacer/replacer.base.directive.mjs +0 -44
  164. package/esm2022/lib/ui/exports.mjs +0 -22
  165. package/esm2022/lib/ui/forms/components/address/address.component.mjs +0 -240
  166. package/esm2022/lib/ui/forms/components/company/company.component.mjs +0 -138
  167. package/esm2022/lib/ui/forms/contact-us/contact-us.mjs +0 -213
  168. package/esm2022/lib/ui/forms/exports.mjs +0 -20
  169. package/esm2022/lib/ui/forms/index.mjs +0 -21
  170. package/esm2022/lib/ui/pipes/exports.mjs +0 -19
  171. package/esm2022/lib/ui/pipes/filesize.pipe.mjs +0 -42
  172. package/esm2022/lib/ui/pipes/index.mjs +0 -22
  173. package/esm2022/lib/ui/pipes/replace-text.pipe.mjs +0 -37
  174. package/esm2022/lib/ui/pipes/safeHtml.pipe.mjs +0 -34
  175. package/esm2022/lib/ui/ui.module.mjs +0 -122
  176. package/esm2022/lib/ui/validation/exports.mjs +0 -19
  177. package/esm2022/lib/ui/validation/form-validation-summary.component.mjs +0 -90
  178. package/esm2022/lib/ui/validation/index.mjs +0 -21
  179. package/esm2022/lib/ui/validation/item-validation-summary.component.mjs +0 -53
  180. package/esm2022/lib/ui/validation/validation-summary.component.mjs +0 -124
  181. package/esm2022/osovitny-anatoly.mjs +0 -5
  182. package/esm2022/public-api.mjs +0 -22
@@ -1,68 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
- Anatoly Osovitny anatoly.osovitny@osovitny.com
9
-
10
- Created:
11
- 20 Aug 2022
12
-
13
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
14
- </file>
15
- */
16
- //Node
17
- import { Component } from "@angular/core";
18
- //App
19
- import { PageBase } from "./page";
20
- import * as i0 from "@angular/core";
21
- export class PagedPageBase extends PageBase {
22
- constructor() {
23
- super(...arguments);
24
- this.currentFilter = null;
25
- this.totalItems = 0;
26
- this.pageSize = 10;
27
- this.skipItems = 0;
28
- this.currentPage = 1;
29
- }
30
- loadPageOne() {
31
- this.skipItems = 0;
32
- this.currentPage = 1;
33
- this.loadPage();
34
- }
35
- reloadPage(drop2pageOne = false) {
36
- if (drop2pageOne) {
37
- this.loadPageOne();
38
- }
39
- else {
40
- this.loadPage();
41
- }
42
- }
43
- setFilter(filter) {
44
- this.currentFilter = filter;
45
- this.loadPageOne();
46
- }
47
- //Tos
48
- toIndex(index) {
49
- return ((this.currentPage - 1) * this.pageSize) + index + 1;
50
- }
51
- //Events
52
- onPageChange(e) {
53
- this.pageSize = e.take;
54
- this.skipItems = e.skip;
55
- this.currentPage = (this.skipItems / this.pageSize) + 1;
56
- this.loadPage();
57
- }
58
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵPagedPageBase_BaseFactory; return function PagedPageBase_Factory(t) { return (ɵPagedPageBase_BaseFactory || (ɵPagedPageBase_BaseFactory = i0.ɵɵgetInheritedFactory(PagedPageBase)))(t || PagedPageBase); }; })(); }
59
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PagedPageBase, selectors: [["ng-component"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 0, vars: 0, template: function PagedPageBase_Template(rf, ctx) { }, encapsulation: 2 }); }
60
- }
61
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagedPageBase, [{
62
- type: Component,
63
- args: [{
64
- template: ''
65
- }]
66
- }], null, null); })();
67
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PagedPageBase, { className: "PagedPageBase", filePath: "lib\\ui\\components\\base\\pages\\paged.page.ts", lineNumber: 26 }); })();
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWQucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2Jhc2UvcGFnZXMvcGFnZWQucGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLEtBQUs7QUFDTCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQUtsQyxNQUFNLE9BQWdCLGFBQWMsU0FBUSxRQUFRO0lBSHBEOztRQUlFLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBSXJCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO0tBcUN6QjtJQWpDUSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sVUFBVSxDQUFDLGVBQXdCLEtBQUs7UUFDN0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFTSxTQUFTLENBQUMsTUFBVztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUs7SUFDTCxPQUFPLENBQUMsS0FBSztRQUNYLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFFBQVE7SUFDUixZQUFZLENBQUMsQ0FBTTtRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7d05BNUNtQixhQUFhLFNBQWIsYUFBYTtvRUFBYixhQUFhOztpRkFBYixhQUFhO2NBSGxDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsRUFBRTthQUNiOztrRkFDcUIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyMCBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgUGFnZUJhc2UgfSBmcm9tIFwiLi9wYWdlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhZ2VkUGFnZUJhc2UgZXh0ZW5kcyBQYWdlQmFzZSB7XHJcbiAgY3VycmVudEZpbHRlciA9IG51bGw7XHJcblxyXG4gIC8vSXRlbXMgJiBQYWdpbmF0aW9uXHJcbiAgaXRlbXM6IGFueVtdO1xyXG4gIHRvdGFsSXRlbXM6IG51bWJlciA9IDA7XHJcbiAgcGFnZVNpemU6IG51bWJlciA9IDEwO1xyXG4gIHNraXBJdGVtczogbnVtYmVyID0gMDtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuXHJcbiAgcHVibGljIGxvYWRQYWdlPyhwYWdlPzogbnVtYmVyKSA6IHZvaWQ7XHJcblxyXG4gIHB1YmxpYyBsb2FkUGFnZU9uZSgpIHtcclxuICAgIHRoaXMuc2tpcEl0ZW1zID0gMDtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5sb2FkUGFnZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbG9hZFBhZ2UoZHJvcDJwYWdlT25lOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIGlmIChkcm9wMnBhZ2VPbmUpIHtcclxuICAgICAgdGhpcy5sb2FkUGFnZU9uZSgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMubG9hZFBhZ2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRGaWx0ZXIoZmlsdGVyOiBhbnkpIHtcclxuICAgIHRoaXMuY3VycmVudEZpbHRlciA9IGZpbHRlcjtcclxuICAgIHRoaXMubG9hZFBhZ2VPbmUoKTtcclxuICB9XHJcblxyXG4gIC8vVG9zXHJcbiAgdG9JbmRleChpbmRleCkge1xyXG4gICAgcmV0dXJuICgodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5wYWdlU2l6ZSkgKyBpbmRleCArIDE7XHJcbiAgfVxyXG5cclxuICAvL0V2ZW50c1xyXG4gIG9uUGFnZUNoYW5nZShlOiBhbnkpIHtcclxuICAgIHRoaXMucGFnZVNpemUgPSBlLnRha2U7XHJcbiAgICB0aGlzLnNraXBJdGVtcyA9IGUuc2tpcDtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAodGhpcy5za2lwSXRlbXMgLyB0aGlzLnBhZ2VTaXplKSArIDE7XHJcblxyXG4gICAgdGhpcy5sb2FkUGFnZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,37 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Anatoly Osovitny anatoly.osovitny@osovitny.com
8
-
9
- Created:
10
- 29 July 2022
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Component } from '@angular/core';
17
- //App
18
- import { ComponentBase } from '../base/components/component';
19
- import * as i0 from "@angular/core";
20
- const _c0 = ["*"];
21
- export class CardBodyComponent extends ComponentBase {
22
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵCardBodyComponent_BaseFactory; return function CardBodyComponent_Factory(t) { return (ɵCardBodyComponent_BaseFactory || (ɵCardBodyComponent_BaseFactory = i0.ɵɵgetInheritedFactory(CardBodyComponent)))(t || CardBodyComponent); }; })(); }
23
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CardBodyComponent, selectors: [["anatoly-card-body"]], features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 2, vars: 3, template: function CardBodyComponent_Template(rf, ctx) { if (rf & 1) {
24
- i0.ɵɵprojectionDef();
25
- i0.ɵɵelementStart(0, "div");
26
- i0.ɵɵprojection(1);
27
- i0.ɵɵelementEnd();
28
- } if (rf & 2) {
29
- i0.ɵɵclassMapInterpolate1("card-body ", ctx.classes, "");
30
- } }, encapsulation: 2 }); }
31
- }
32
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CardBodyComponent, [{
33
- type: Component,
34
- args: [{ selector: 'anatoly-card-body', template: "<div class='card-body {{ classes }}'>\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
35
- }], null, null); })();
36
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CardBodyComponent, { className: "CardBodyComponent", filePath: "lib\\ui\\components\\card\\card-body.component.ts", lineNumber: 26 }); })();
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1ib2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2NhcmQvY2FyZC1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi91aS9jb21wb25lbnRzL2NhcmQvY2FyZC1ib2R5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFNN0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGFBQWE7d09BQXZDLGlCQUFpQixTQUFqQixpQkFBaUI7b0VBQWpCLGlCQUFpQjs7WUN6QjlCLDJCQUFxQztZQUNuQyxrQkFBeUI7WUFDM0IsaUJBQU07O1lBRkQsd0RBQStCOzs7aUZEeUJ2QixpQkFBaUI7Y0FKN0IsU0FBUzsyQkFDRSxtQkFBbUI7O2tGQUdsQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI5IEp1bHkgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9iYXNlL2NvbXBvbmVudHMvY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1jYXJkLWJvZHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLWJvZHkuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkQm9keUNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2Uge1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9J2NhcmQtYm9keSB7eyBjbGFzc2VzIH19Jz5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,37 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Anatoly Osovitny anatoly.osovitny@osovitny.com
8
-
9
- Created:
10
- 29 July 2022
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Component } from '@angular/core';
17
- //App
18
- import { ComponentBase } from '../base/components/component';
19
- import * as i0 from "@angular/core";
20
- const _c0 = ["*"];
21
- export class CardFooterComponent extends ComponentBase {
22
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵCardFooterComponent_BaseFactory; return function CardFooterComponent_Factory(t) { return (ɵCardFooterComponent_BaseFactory || (ɵCardFooterComponent_BaseFactory = i0.ɵɵgetInheritedFactory(CardFooterComponent)))(t || CardFooterComponent); }; })(); }
23
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CardFooterComponent, selectors: [["anatoly-card-footer"]], features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 2, vars: 3, template: function CardFooterComponent_Template(rf, ctx) { if (rf & 1) {
24
- i0.ɵɵprojectionDef();
25
- i0.ɵɵelementStart(0, "div");
26
- i0.ɵɵprojection(1);
27
- i0.ɵɵelementEnd();
28
- } if (rf & 2) {
29
- i0.ɵɵclassMapInterpolate1("card-footer ", ctx.classes, "");
30
- } }, encapsulation: 2 }); }
31
- }
32
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CardFooterComponent, [{
33
- type: Component,
34
- args: [{ selector: 'anatoly-card-footer', template: "<div class='card-footer {{ classes }}'>\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
35
- }], null, null); })();
36
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CardFooterComponent, { className: "CardFooterComponent", filePath: "lib\\ui\\components\\card\\card-footer.component.ts", lineNumber: 26 }); })();
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY2FyZC9jYXJkLWZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9jYXJkL2NhcmQtZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFNN0QsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7Z1BBQXpDLG1CQUFtQixTQUFuQixtQkFBbUI7b0VBQW5CLG1CQUFtQjs7WUN6QmhDLDJCQUF1QztZQUNyQyxrQkFBeUI7WUFDM0IsaUJBQU07O1lBRkQsMERBQWlDOzs7aUZEeUJ6QixtQkFBbUI7Y0FKL0IsU0FBUzsyQkFDRSxxQkFBcUI7O2tGQUdwQixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI5IEp1bHkgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9iYXNlL2NvbXBvbmVudHMvY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1jYXJkLWZvb3RlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtZm9vdGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FyZEZvb3RlckNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2Uge1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9J2NhcmQtZm9vdGVyIHt7IGNsYXNzZXMgfX0nPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,51 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Anatoly Osovitny anatoly.osovitny@osovitny.com
8
-
9
- Created:
10
- 29 July 2022
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Component } from '@angular/core';
17
- //App
18
- import { ComponentBase } from '../base/components/component';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "@angular/common";
21
- function CardHeaderComponent_h3_2_Template(rf, ctx) { if (rf & 1) {
22
- i0.ɵɵelementStart(0, "h3");
23
- i0.ɵɵtext(1);
24
- i0.ɵɵelementEnd();
25
- } if (rf & 2) {
26
- const ctx_r0 = i0.ɵɵnextContext();
27
- i0.ɵɵadvance();
28
- i0.ɵɵtextInterpolate(ctx_r0.title);
29
- } }
30
- const _c0 = ["*"];
31
- export class CardHeaderComponent extends ComponentBase {
32
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵCardHeaderComponent_BaseFactory; return function CardHeaderComponent_Factory(t) { return (ɵCardHeaderComponent_BaseFactory || (ɵCardHeaderComponent_BaseFactory = i0.ɵɵgetInheritedFactory(CardHeaderComponent)))(t || CardHeaderComponent); }; })(); }
33
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CardHeaderComponent, selectors: [["anatoly-card-header"]], features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 4, vars: 4, consts: [[1, "card-title"], [4, "ngIf"]], template: function CardHeaderComponent_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵprojectionDef();
35
- i0.ɵɵelementStart(0, "div")(1, "div", 0);
36
- i0.ɵɵtemplate(2, CardHeaderComponent_h3_2_Template, 2, 1, "h3", 1);
37
- i0.ɵɵelementEnd();
38
- i0.ɵɵprojection(3);
39
- i0.ɵɵelementEnd();
40
- } if (rf & 2) {
41
- i0.ɵɵclassMapInterpolate1("card-header ", ctx.classes, "");
42
- i0.ɵɵadvance(2);
43
- i0.ɵɵproperty("ngIf", ctx.title);
44
- } }, dependencies: [i1.NgIf], encapsulation: 2 }); }
45
- }
46
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CardHeaderComponent, [{
47
- type: Component,
48
- args: [{ selector: 'anatoly-card-header', template: "<div class='card-header {{ classes }}'>\r\n <div class=\"card-title\">\r\n <h3 *ngIf='title'>{{ title }}</h3>\r\n </div>\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
49
- }], null, null); })();
50
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CardHeaderComponent, { className: "CardHeaderComponent", filePath: "lib\\ui\\components\\card\\card-header.component.ts", lineNumber: 26 }); })();
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY2FyZC9jYXJkLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9jYXJkL2NhcmQtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0lDakJ6RCwwQkFBa0I7SUFBQSxZQUFXO0lBQUEsaUJBQUs7OztJQUFoQixjQUFXO0lBQVgsa0NBQVc7OztBRHVCakMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7Z1BBQXpDLG1CQUFtQixTQUFuQixtQkFBbUI7b0VBQW5CLG1CQUFtQjs7WUN6QmhDLDJCQUF1QyxhQUFBO1lBRW5DLGtFQUFrQztZQUNwQyxpQkFBTTtZQUNOLGtCQUF5QjtZQUMzQixpQkFBTTs7WUFMRCwwREFBaUM7WUFFN0IsZUFBVztZQUFYLGdDQUFXOzs7aUZEdUJQLG1CQUFtQjtjQUovQixTQUFTOzJCQUNFLHFCQUFxQjs7a0ZBR3BCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5Lm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgSnVseSAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2Jhc2UvY29tcG9uZW50cy9jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWNhcmQtaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7XHJcbn1cclxuIiwiPGRpdiBjbGFzcz0nY2FyZC1oZWFkZXIge3sgY2xhc3NlcyB9fSc+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGVcIj5cclxuICAgIDxoMyAqbmdJZj0ndGl0bGUnPnt7IHRpdGxlIH19PC9oMz5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,41 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Anatoly Osovitny anatoly.osovitny@osovitny.com
8
-
9
- Created:
10
- 29 July 2022
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Component } from '@angular/core';
17
- //App
18
- import { ComponentBase } from '../base/components/component';
19
- import * as i0 from "@angular/core";
20
- const _c0 = [[["card-header"]], [["card-body"]], "*", [["card-footer"]]];
21
- const _c1 = ["card-header", "card-body", "*", "card-footer"];
22
- export class CardComponent extends ComponentBase {
23
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵCardComponent_BaseFactory; return function CardComponent_Factory(t) { return (ɵCardComponent_BaseFactory || (ɵCardComponent_BaseFactory = i0.ɵɵgetInheritedFactory(CardComponent)))(t || CardComponent); }; })(); }
24
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CardComponent, selectors: [["anatoly-card"]], features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 5, vars: 3, template: function CardComponent_Template(rf, ctx) { if (rf & 1) {
25
- i0.ɵɵprojectionDef(_c0);
26
- i0.ɵɵelementStart(0, "div");
27
- i0.ɵɵprojection(1);
28
- i0.ɵɵprojection(2, 1);
29
- i0.ɵɵprojection(3, 2);
30
- i0.ɵɵprojection(4, 3);
31
- i0.ɵɵelementEnd();
32
- } if (rf & 2) {
33
- i0.ɵɵclassMapInterpolate1("card ", ctx.classes, "");
34
- } }, encapsulation: 2 }); }
35
- }
36
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CardComponent, [{
37
- type: Component,
38
- args: [{ selector: 'anatoly-card', template: "<div class='card {{ classes }}'>\r\n <ng-content select='card-header'></ng-content>\r\n <ng-content select='card-body'></ng-content>\r\n <ng-content></ng-content>\r\n <ng-content select='card-footer'></ng-content>\r\n</div>\r\n" }]
39
- }], null, null); })();
40
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CardComponent, { className: "CardComponent", filePath: "lib\\ui\\components\\card\\card.component.ts", lineNumber: 26 }); })();
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBTTdELE1BQU0sT0FBTyxhQUFjLFNBQVEsYUFBYTt3TkFBbkMsYUFBYSxTQUFiLGFBQWE7b0VBQWIsYUFBYTs7WUN6QjFCLDJCQUFnQztZQUM5QixrQkFBOEM7WUFDOUMscUJBQTRDO1lBQzVDLHFCQUF5QjtZQUN6QixxQkFBOEM7WUFDaEQsaUJBQU07O1lBTEQsbURBQTBCOzs7aUZEeUJsQixhQUFhO2NBSnpCLFNBQVM7MkJBQ0UsY0FBYzs7a0ZBR2IsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5Lm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgSnVseSAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2Jhc2UvY29tcG9uZW50cy9jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWNhcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2Uge1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9J2NhcmQge3sgY2xhc3NlcyB9fSc+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PSdjYXJkLWhlYWRlcic+PC9uZy1jb250ZW50PlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD0nY2FyZC1ib2R5Jz48L25nLWNvbnRlbnQ+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD0nY2FyZC1mb290ZXInPjwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,43 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
- Anatoly Osovitny anatoly.osovitny@osovitny.com
9
-
10
- Created:
11
- 15 Aug 2022
12
-
13
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
14
- </file>
15
- */
16
- //Node
17
- import { Component, Input } from '@angular/core';
18
- import * as i0 from "@angular/core";
19
- import * as i1 from "@angular/common";
20
- import * as i2 from "@fortawesome/angular-fontawesome";
21
- const _c0 = ["*"];
22
- export class CheckIconComponent {
23
- constructor() {
24
- //Inputs
25
- this.checked = true;
26
- }
27
- static { this.ɵfac = function CheckIconComponent_Factory(t) { return new (t || CheckIconComponent)(); }; }
28
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CheckIconComponent, selectors: [["anatoly-check-icon"]], inputs: { checked: "checked" }, ngContentSelectors: _c0, decls: 2, vars: 2, consts: [[3, "icon", "ngClass"]], template: function CheckIconComponent_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵprojectionDef();
30
- i0.ɵɵelement(0, "fa-icon", 0);
31
- i0.ɵɵprojection(1);
32
- } if (rf & 2) {
33
- i0.ɵɵproperty("icon", ctx.checked ? "check-circle" : "circle-xmark")("ngClass", ctx.checked ? "text-success" : "text-danger");
34
- } }, dependencies: [i1.NgClass, i2.FaIconComponent], encapsulation: 2 }); }
35
- }
36
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CheckIconComponent, [{
37
- type: Component,
38
- args: [{ selector: 'anatoly-check-icon', template: "<fa-icon [icon]=\"this.checked ? 'check-circle' : 'circle-xmark'\" [ngClass]=\"checked ? 'text-success' : 'text-danger'\">\r\n</fa-icon>\r\n<ng-content></ng-content>\r\n" }]
39
- }], null, { checked: [{
40
- type: Input
41
- }] }); })();
42
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CheckIconComponent, { className: "CheckIconComponent", filePath: "lib\\ui\\components\\check-icon\\check-icon.component.ts", lineNumber: 24 }); })();
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2staWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9jaGVjay1pY29uL2NoZWNrLWljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY2hlY2staWNvbi9jaGVjay1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU1qRCxNQUFNLE9BQU8sa0JBQWtCO0lBSi9CO1FBS0UsUUFBUTtRQUNDLFlBQU8sR0FBWSxJQUFJLENBQUM7S0FDbEM7bUZBSFksa0JBQWtCO29FQUFsQixrQkFBa0I7O1lDdkIvQiw2QkFDVTtZQUNWLGtCQUF5Qjs7WUFGaEIsb0VBQXVELHlEQUFBOzs7aUZEdUJuRCxrQkFBa0I7Y0FKOUIsU0FBUzsyQkFDRSxvQkFBb0I7Z0JBS3JCLE9BQU87a0JBQWYsS0FBSzs7a0ZBRkssa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDE1IEF1ZyAyMDIyXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1jaGVjay1pY29uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2staWNvbi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrSWNvbkNvbXBvbmVudCB7XHJcbiAgLy9JbnB1dHNcclxuICBASW5wdXQoKSBjaGVja2VkOiBib29sZWFuID0gdHJ1ZTtcclxufVxyXG4iLCI8ZmEtaWNvbiBbaWNvbl09XCJ0aGlzLmNoZWNrZWQgPyAnY2hlY2stY2lyY2xlJyA6ICdjaXJjbGUteG1hcmsnXCIgW25nQ2xhc3NdPVwiY2hlY2tlZCA/ICd0ZXh0LXN1Y2Nlc3MnIDogJ3RleHQtZGFuZ2VyJ1wiPlxyXG48L2ZhLWljb24+XHJcbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuIl19
@@ -1,57 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
- Anatoly Osovitny anatoly.osovitny@osovitny.com
9
-
10
- Created:
11
- 9 Jun 2020
12
-
13
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
14
- </file>
15
- */
16
- //Node
17
- import { Component, Input } from '@angular/core';
18
- //App
19
- import { Utils } from '../../../core/utils/utils';
20
- import { ComponentBase } from '../base/components/component';
21
- import * as i0 from "@angular/core";
22
- import * as i1 from "@fortawesome/angular-fontawesome";
23
- import * as i2 from "../../directives/replacer/a-replacer.directive";
24
- export class Copy2ClipboardComponent extends ComponentBase {
25
- constructor() {
26
- super(...arguments);
27
- this.tooltip = "Copy to clipboard";
28
- this.text = "";
29
- }
30
- onCopy2Clipboard(event) {
31
- let oldTooltip = this.tooltip;
32
- this.tooltip = "Copied";
33
- setTimeout(() => {
34
- this.tooltip = oldTooltip;
35
- }, 1000);
36
- Utils.copyToClipBoard(event, this.text);
37
- }
38
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵCopy2ClipboardComponent_BaseFactory; return function Copy2ClipboardComponent_Factory(t) { return (ɵCopy2ClipboardComponent_BaseFactory || (ɵCopy2ClipboardComponent_BaseFactory = i0.ɵɵgetInheritedFactory(Copy2ClipboardComponent)))(t || Copy2ClipboardComponent); }; })(); }
39
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Copy2ClipboardComponent, selectors: [["anatoly-copy-2-clipboard"]], inputs: { tooltip: "tooltip", text: "text" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 3, consts: [[3, "click"], ["size", "lg", "icon", "copy"]], template: function Copy2ClipboardComponent_Template(rf, ctx) { if (rf & 1) {
40
- i0.ɵɵelementStart(0, "a", 0);
41
- i0.ɵɵlistener("click", function Copy2ClipboardComponent_Template_a_click_0_listener($event) { return ctx.onCopy2Clipboard($event); });
42
- i0.ɵɵelement(1, "fa-icon", 1);
43
- i0.ɵɵelementEnd();
44
- } if (rf & 2) {
45
- i0.ɵɵclassMapInterpolate1("btn btn-icon ", ctx.classes, "");
46
- } }, dependencies: [i1.FaIconComponent, i2.AReplacerDirective], encapsulation: 2 }); }
47
- }
48
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(Copy2ClipboardComponent, [{
49
- type: Component,
50
- args: [{ selector: 'anatoly-copy-2-clipboard', template: "<a class=\"btn btn-icon {{ classes }}\" (click)=\"onCopy2Clipboard($event)\">\r\n <fa-icon size=\"lg\" icon=\"copy\" />\r\n</a>\r\n" }]
51
- }], null, { tooltip: [{
52
- type: Input
53
- }], text: [{
54
- type: Input
55
- }] }); })();
56
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Copy2ClipboardComponent, { className: "Copy2ClipboardComponent", filePath: "lib\\ui\\components\\copy-2-clipboard\\copy-2-clipboard.component.ts", lineNumber: 28 }); })();
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS0yLWNsaXBib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9jb3B5LTItY2xpcGJvYXJkL2NvcHktMi1jbGlwYm9hcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2NvbXBvbmVudHMvY29weS0yLWNsaXBib2FyZC9jb3B5LTItY2xpcGJvYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELEtBQUs7QUFDTCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBTTdELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBSjFEOztRQUtXLFlBQU8sR0FBRyxtQkFBbUIsQ0FBQztRQUM5QixTQUFJLEdBQUcsRUFBRSxDQUFDO0tBWXBCO0lBVkMsZ0JBQWdCLENBQUMsS0FBSztRQUNwQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBRXhCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztRQUM1QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFVCxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztnUUFiVSx1QkFBdUIsU0FBdkIsdUJBQXVCO29FQUF2Qix1QkFBdUI7WUMzQnBDLDRCQUF5RTtZQUFuQyxxR0FBUyw0QkFBd0IsSUFBQztZQUN0RSw2QkFBaUM7WUFDbkMsaUJBQUk7O1lBRkQsMkRBQWtDOzs7aUZEMkJ4Qix1QkFBdUI7Y0FKbkMsU0FBUzsyQkFDRSwwQkFBMEI7Z0JBSTNCLE9BQU87a0JBQWYsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSzs7a0ZBRkssdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDkgSnVuIDIwMjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjUgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3V0aWxzL3V0aWxzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2Jhc2UvY29tcG9uZW50cy9jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWNvcHktMi1jbGlwYm9hcmQnLFxyXG4gIHRlbXBsYXRlVXJsOicuL2NvcHktMi1jbGlwYm9hcmQuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29weTJDbGlwYm9hcmRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRCYXNlIHtcclxuICBASW5wdXQoKSB0b29sdGlwID0gXCJDb3B5IHRvIGNsaXBib2FyZFwiO1xyXG4gIEBJbnB1dCgpIHRleHQgPSBcIlwiO1xyXG5cclxuICBvbkNvcHkyQ2xpcGJvYXJkKGV2ZW50KSB7XHJcbiAgICBsZXQgb2xkVG9vbHRpcCA9IHRoaXMudG9vbHRpcDtcclxuICAgIHRoaXMudG9vbHRpcCA9IFwiQ29waWVkXCI7XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudG9vbHRpcCA9IG9sZFRvb2x0aXA7XHJcbiAgICB9LCAxMDAwKTtcclxuXHJcbiAgICBVdGlscy5jb3B5VG9DbGlwQm9hcmQoZXZlbnQsIHRoaXMudGV4dCk7XHJcbiAgfVxyXG59XHJcbiIsIjxhIGNsYXNzPVwiYnRuIGJ0bi1pY29uIHt7IGNsYXNzZXMgfX1cIiAoY2xpY2spPVwib25Db3B5MkNsaXBib2FyZCgkZXZlbnQpXCI+XHJcbiAgPGZhLWljb24gc2l6ZT1cImxnXCIgaWNvbj1cImNvcHlcIiAvPlxyXG48L2E+XHJcbiJdfQ==
@@ -1,201 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Anatoly Osovitny anatoly.osovitny@osovitny.com
8
-
9
- Created:
10
- 23 Apr 2024
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Component, EventEmitter, Input, Output } from '@angular/core';
17
- //App
18
- import { DataViewType } from '../../../core/enums';
19
- import { ComponentBase } from '../base/components/component';
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "@angular/common";
22
- import * as i2 from "@angular/forms";
23
- import * as i3 from "@fortawesome/angular-fontawesome";
24
- import * as i4 from "@progress/kendo-angular-dropdowns";
25
- import * as i5 from "../../directives/replacer/a-replacer.directive";
26
- const _c0 = a0 => ({ "active": a0 });
27
- function ControlPanelComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
28
- const _r5 = i0.ɵɵgetCurrentView();
29
- i0.ɵɵelementStart(0, "div", 7)(1, "a", 8);
30
- i0.ɵɵlistener("click", function ControlPanelComponent_Conditional_2_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onFilterToggle()); });
31
- i0.ɵɵnamespaceSVG();
32
- i0.ɵɵelementStart(2, "svg", 9);
33
- i0.ɵɵelement(3, "path", 10);
34
- i0.ɵɵelementEnd()()();
35
- } if (rf & 2) {
36
- const ctx_r0 = i0.ɵɵnextContext();
37
- i0.ɵɵadvance();
38
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c0, ctx_r0.filterVisible));
39
- } }
40
- function ControlPanelComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
41
- const _r7 = i0.ɵɵgetCurrentView();
42
- i0.ɵɵelementStart(0, "div", 11)(1, "h2");
43
- i0.ɵɵtext(2, "Sort By:");
44
- i0.ɵɵelementEnd();
45
- i0.ɵɵelementStart(3, "kendo-dropdownlist", 12);
46
- i0.ɵɵlistener("ngModelChange", function ControlPanelComponent_Conditional_6_Template_kendo_dropdownlist_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.selectedSortBy = $event); })("valueChange", function ControlPanelComponent_Conditional_6_Template_kendo_dropdownlist_valueChange_3_listener() { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.onSortByChange()); });
47
- i0.ɵɵelementEnd()();
48
- } if (rf & 2) {
49
- const ctx_r1 = i0.ɵɵnextContext();
50
- i0.ɵɵadvance(3);
51
- i0.ɵɵproperty("data", ctx_r1.sortByItems)("valuePrimitive", true)("ngModel", ctx_r1.selectedSortBy);
52
- } }
53
- function ControlPanelComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
54
- const _r10 = i0.ɵɵgetCurrentView();
55
- i0.ɵɵelementStart(0, "div", 13)(1, "a", 8);
56
- i0.ɵɵlistener("click", function ControlPanelComponent_Conditional_7_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.onViewSwitch("grid")); });
57
- i0.ɵɵnamespaceSVG();
58
- i0.ɵɵelementStart(2, "svg", 14);
59
- i0.ɵɵelement(3, "path", 15)(4, "path", 16)(5, "path", 17)(6, "path", 18);
60
- i0.ɵɵelementEnd()();
61
- i0.ɵɵnamespaceHTML();
62
- i0.ɵɵelementStart(7, "a", 8);
63
- i0.ɵɵlistener("click", function ControlPanelComponent_Conditional_7_Template_a_click_7_listener() { i0.ɵɵrestoreView(_r10); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.onViewSwitch("list")); });
64
- i0.ɵɵnamespaceSVG();
65
- i0.ɵɵelementStart(8, "svg", 19);
66
- i0.ɵɵelement(9, "path", 20);
67
- i0.ɵɵelementEnd()();
68
- i0.ɵɵnamespaceHTML();
69
- i0.ɵɵelementStart(10, "a", 8);
70
- i0.ɵɵlistener("click", function ControlPanelComponent_Conditional_7_Template_a_click_10_listener() { i0.ɵɵrestoreView(_r10); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.onViewSwitch("table")); });
71
- i0.ɵɵnamespaceSVG();
72
- i0.ɵɵelementStart(11, "svg", 21);
73
- i0.ɵɵelement(12, "path", 22);
74
- i0.ɵɵelementEnd()()();
75
- } if (rf & 2) {
76
- const ctx_r2 = i0.ɵɵnextContext();
77
- i0.ɵɵadvance();
78
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0, ctx_r2.viewType == "grid"));
79
- i0.ɵɵadvance(6);
80
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(5, _c0, ctx_r2.viewType == "list"));
81
- i0.ɵɵadvance(3);
82
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0, ctx_r2.viewType == "table"));
83
- } }
84
- function ControlPanelComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
85
- const _r14 = i0.ɵɵgetCurrentView();
86
- i0.ɵɵelementStart(0, "div", 23)(1, "a", 24);
87
- i0.ɵɵlistener("click", function ControlPanelComponent_Conditional_8_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onAdd()); });
88
- i0.ɵɵelement(2, "fa-icon", 25);
89
- i0.ɵɵelementEnd()();
90
- } }
91
- const _c1 = ["*"];
92
- export class ControlPanelComponent extends ComponentBase {
93
- constructor() {
94
- super(...arguments);
95
- //Visible
96
- this.filterButtonVisible = false;
97
- this.sortByVisible = false;
98
- this.viewTypesVisible = false;
99
- this.addButtonVisible = false;
100
- //Outputs
101
- this.settingsChange = new EventEmitter();
102
- this.add = new EventEmitter();
103
- }
104
- ngOnInit() {
105
- this.setDefaults();
106
- this.setValues();
107
- this.resetSettings();
108
- this.fireSettingsChange();
109
- }
110
- setDefaults() {
111
- if (this.viewType) {
112
- this.viewTypeDefault = this.viewType;
113
- }
114
- else {
115
- this.viewType = DataViewType.List;
116
- this.viewTypeDefault = DataViewType.List;
117
- }
118
- }
119
- setValues() {
120
- }
121
- fireSettingsChange() {
122
- this.settingsChange.emit(this.getSettings());
123
- }
124
- fireAdd() {
125
- this.add.emit();
126
- }
127
- //Public
128
- resetSettings() {
129
- this.filterVisible = false;
130
- this.selectedSortBy = 1;
131
- this.viewType = this.viewTypeDefault;
132
- }
133
- getSettings() {
134
- let filterVisible = this.filterVisible;
135
- let sortBy = this.selectedSortBy;
136
- let viewType = this.viewType;
137
- return {
138
- filterVisible: filterVisible,
139
- sortBy: sortBy,
140
- viewType: viewType
141
- };
142
- }
143
- //Events
144
- onFilterToggle() {
145
- this.filterVisible = !this.filterVisible;
146
- this.fireSettingsChange();
147
- }
148
- onSortByChange() {
149
- this.fireSettingsChange();
150
- }
151
- onViewSwitch(value) {
152
- this.viewType = value;
153
- this.fireSettingsChange();
154
- }
155
- onAdd() {
156
- this.fireAdd();
157
- }
158
- static { this.ɵfac = /*@__PURE__*/ (() => { let ɵControlPanelComponent_BaseFactory; return function ControlPanelComponent_Factory(t) { return (ɵControlPanelComponent_BaseFactory || (ɵControlPanelComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ControlPanelComponent)))(t || ControlPanelComponent); }; })(); }
159
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ControlPanelComponent, selectors: [["anatoly-data-grid-control-panel"]], inputs: { sortByItems: "sortByItems", viewType: "viewType", filterButtonVisible: "filterButtonVisible", sortByVisible: "sortByVisible", viewTypesVisible: "viewTypesVisible", addButtonVisible: "addButtonVisible" }, outputs: { settingsChange: "settingsChange", add: "add" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 9, vars: 4, consts: [[1, "os-control-panel"], [1, "control-wrapper"], ["class", "filter"], [1, "tools"], ["class", "sort-by"], ["class", "actions"], ["class", "action-add"], [1, "filter"], ["href", "javascript:void(0)", 1, "btn", "btn-icon", "btn-primary", 3, "ngClass", "click"], ["height", "22", "viewBox", "0 0 32 32", "width", "20", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M2 7h.142a3.981 3.981 0 0 0 7.716 0H30a1 1 0 0 0 0-2H9.858a3.981 3.981 0 0 0-7.716 0H2a1 1 0 0 0 0 2zm4-3a2 2 0 1 1-2 2 2 2 0 0 1 2-2zm24 11h-.142a3.981 3.981 0 0 0-7.716 0H2a1 1 0 0 0 0 2h20.142a3.981 3.981 0 0 0 7.716 0H30a1 1 0 0 0 0-2zm-4 3a2 2 0 1 1 2-2 2 2 0 0 1-2 2zm4 7H19.858a3.981 3.981 0 0 0-7.716 0H2a1 1 0 0 0 0 2h10.142a3.981 3.981 0 0 0 7.716 0H30a1 1 0 0 0 0-2zm-14 3a2 2 0 1 1 2-2 2 2 0 0 1-2 2z", "fill", "currentColor"], [1, "sort-by"], ["valueField", "value", "textField", "text", 3, "data", "valuePrimitive", "ngModel", "ngModelChange", "valueChange"], [1, "actions"], ["fill", "none", "height", "18", "viewBox", "0 0 18 18", "width", "18", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M6 1H2C1.44772 1 1 1.44772 1 2V6C1 6.55228 1.44772 7 2 7H6C6.55228 7 7 6.55228 7 6V2C7 1.44772 6.55228 1 6 1Z", "stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2"], ["d", "M16 1H12C11.4477 1 11 1.44772 11 2V6C11 6.55228 11.4477 7 12 7H16C16.5523 7 17 6.55228 17 6V2C17 1.44772 16.5523 1 16 1Z", "stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2"], ["d", "M6 11H2C1.44772 11 1 11.4477 1 12V16C1 16.5523 1.44772 17 2 17H6C6.55228 17 7 16.5523 7 16V12C7 11.4477 6.55228 11 6 11Z", "stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2"], ["d", "M16 11H12C11.4477 11 11 11.4477 11 12V16C11 16.5523 11.4477 17 12 17H16C16.5523 17 17 16.5523 17 16V12C17 11.4477 16.5523 11 16 11Z", "stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2"], ["fill", "none", "height", "15", "viewBox", "0 0 19 15", "width", "19", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M1.5 6C0.67 6 0 6.67 0 7.5C0 8.33 0.67 9 1.5 9C2.33 9 3 8.33 3 7.5C3 6.67 2.33 6 1.5 6ZM1.5 0C0.67 0 0 0.67 0 1.5C0 2.33 0.67 3 1.5 3C2.33 3 3 2.33 3 1.5C3 0.67 2.33 0 1.5 0ZM1.5 12C0.67 12 0 12.68 0 13.5C0 14.32 0.68 15 1.5 15C2.32 15 3 14.32 3 13.5C3 12.68 2.33 12 1.5 12ZM5.5 14.5H17.5C18.05 14.5 18.5 14.05 18.5 13.5C18.5 12.95 18.05 12.5 17.5 12.5H5.5C4.95 12.5 4.5 12.95 4.5 13.5C4.5 14.05 4.95 14.5 5.5 14.5ZM5.5 8.5H17.5C18.05 8.5 18.5 8.05 18.5 7.5C18.5 6.95 18.05 6.5 17.5 6.5H5.5C4.95 6.5 4.5 6.95 4.5 7.5C4.5 8.05 4.95 8.5 5.5 8.5ZM4.5 1.5C4.5 2.05 4.95 2.5 5.5 2.5H17.5C18.05 2.5 18.5 2.05 18.5 1.5C18.5 0.95 18.05 0.5 17.5 0.5H5.5C4.95 0.5 4.5 0.95 4.5 1.5Z", "fill", "currentColor"], ["xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 512 512", "height", "20", "width", "20", "fill", "none"], ["d", "M64 256l0-96 160 0 0 96L64 256zm0 64l160 0 0 96L64 416l0-96zm224 96l0-96 160 0 0 96-160 0zM448 256l-160 0 0-96 160 0 0 96zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z", "fill", "currentColor"], [1, "action-add"], ["href", "javascript:void(0)", 1, "btn", "btn-icon", "btn-primary", 3, "click"], ["icon", "plus"]], template: function ControlPanelComponent_Template(rf, ctx) { if (rf & 1) {
160
- i0.ɵɵprojectionDef();
161
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
162
- i0.ɵɵtemplate(2, ControlPanelComponent_Conditional_2_Template, 4, 3, "div", 2);
163
- i0.ɵɵelementStart(3, "div");
164
- i0.ɵɵprojection(4);
165
- i0.ɵɵelementEnd();
166
- i0.ɵɵelementStart(5, "div", 3);
167
- i0.ɵɵtemplate(6, ControlPanelComponent_Conditional_6_Template, 4, 3, "div", 4)(7, ControlPanelComponent_Conditional_7_Template, 13, 9, "div", 5)(8, ControlPanelComponent_Conditional_8_Template, 3, 0, "div", 6);
168
- i0.ɵɵelementEnd()()();
169
- } if (rf & 2) {
170
- i0.ɵɵadvance(2);
171
- i0.ɵɵconditional(2, ctx.filterButtonVisible ? 2 : -1);
172
- i0.ɵɵadvance(4);
173
- i0.ɵɵconditional(6, ctx.sortByVisible ? 6 : -1);
174
- i0.ɵɵadvance();
175
- i0.ɵɵconditional(7, ctx.viewTypesVisible ? 7 : -1);
176
- i0.ɵɵadvance();
177
- i0.ɵɵconditional(8, ctx.addButtonVisible ? 8 : -1);
178
- } }, dependencies: [i1.NgClass, i2.NgControlStatus, i2.NgModel, i3.FaIconComponent, i4.DropDownListComponent, i5.AReplacerDirective], encapsulation: 2 }); }
179
- }
180
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ControlPanelComponent, [{
181
- type: Component,
182
- args: [{ selector: 'anatoly-data-grid-control-panel', template: "<div class='os-control-panel'>\r\n <div class='control-wrapper'>\r\n @if (filterButtonVisible) {\r\n <div class='filter'>\r\n <a [ngClass]=\"{'active': filterVisible}\"\r\n class='btn btn-icon btn-primary'\r\n href='javascript:void(0)' \r\n (click)='onFilterToggle()'>\r\n <svg height='22' viewBox='0 0 32 32' width='20' xmlns='http://www.w3.org/2000/svg'>\r\n <path\r\n d='M2 7h.142a3.981 3.981 0 0 0 7.716 0H30a1 1 0 0 0 0-2H9.858a3.981 3.981 0 0 0-7.716 0H2a1 1 0 0 0 0 2zm4-3a2 2 0 1 1-2 2 2 2 0 0 1 2-2zm24 11h-.142a3.981 3.981 0 0 0-7.716 0H2a1 1 0 0 0 0 2h20.142a3.981 3.981 0 0 0 7.716 0H30a1 1 0 0 0 0-2zm-4 3a2 2 0 1 1 2-2 2 2 0 0 1-2 2zm4 7H19.858a3.981 3.981 0 0 0-7.716 0H2a1 1 0 0 0 0 2h10.142a3.981 3.981 0 0 0 7.716 0H30a1 1 0 0 0 0-2zm-14 3a2 2 0 1 1 2-2 2 2 0 0 1-2 2z'\r\n fill='currentColor'/>\r\n </svg>\r\n </a> \r\n </div>\r\n }\r\n \r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <div class='tools'>\r\n @if (sortByVisible) {\r\n <div class='sort-by'>\r\n <h2>Sort By:</h2>\r\n <kendo-dropdownlist [data]='sortByItems'\r\n valueField='value'\r\n textField='text'\r\n [valuePrimitive]='true'\r\n [(ngModel)]='selectedSortBy'\r\n (valueChange)='onSortByChange()'>\r\n </kendo-dropdownlist>\r\n </div>\r\n }\r\n\r\n @if (viewTypesVisible) {\r\n <div class='actions'>\r\n <a class='btn btn-icon btn-primary' href='javascript:void(0)'\r\n [ngClass]=\"{'active': viewType == 'grid'}\"\r\n (click)=\"onViewSwitch('grid')\">\r\n <svg fill='none' height='18' viewBox='0 0 18 18' width='18' xmlns='http://www.w3.org/2000/svg'>\r\n <path\r\n d='M6 1H2C1.44772 1 1 1.44772 1 2V6C1 6.55228 1.44772 7 2 7H6C6.55228 7 7 6.55228 7 6V2C7 1.44772 6.55228 1 6 1Z'\r\n stroke='currentColor'\r\n stroke-linecap='round'\r\n stroke-linejoin='round'\r\n stroke-width='2'/>\r\n <path\r\n d='M16 1H12C11.4477 1 11 1.44772 11 2V6C11 6.55228 11.4477 7 12 7H16C16.5523 7 17 6.55228 17 6V2C17 1.44772 16.5523 1 16 1Z'\r\n stroke='currentColor'\r\n stroke-linecap='round'\r\n stroke-linejoin='round'\r\n stroke-width='2'/>\r\n <path\r\n d='M6 11H2C1.44772 11 1 11.4477 1 12V16C1 16.5523 1.44772 17 2 17H6C6.55228 17 7 16.5523 7 16V12C7 11.4477 6.55228 11 6 11Z'\r\n stroke='currentColor'\r\n stroke-linecap='round'\r\n stroke-linejoin='round'\r\n stroke-width='2'/>\r\n <path\r\n d='M16 11H12C11.4477 11 11 11.4477 11 12V16C11 16.5523 11.4477 17 12 17H16C16.5523 17 17 16.5523 17 16V12C17 11.4477 16.5523 11 16 11Z'\r\n stroke='currentColor'\r\n stroke-linecap='round'\r\n stroke-linejoin='round'\r\n stroke-width='2'/>\r\n </svg>\r\n </a>\r\n <a class='btn btn-icon btn-primary' href='javascript:void(0)'\r\n [ngClass]=\"{'active': viewType == 'list'}\"\r\n (click)=\"onViewSwitch('list')\">\r\n <svg fill='none' height='15' viewBox='0 0 19 15' width='19' xmlns='http://www.w3.org/2000/svg'>\r\n <path\r\n d='M1.5 6C0.67 6 0 6.67 0 7.5C0 8.33 0.67 9 1.5 9C2.33 9 3 8.33 3 7.5C3 6.67 2.33 6 1.5 6ZM1.5 0C0.67 0 0 0.67 0 1.5C0 2.33 0.67 3 1.5 3C2.33 3 3 2.33 3 1.5C3 0.67 2.33 0 1.5 0ZM1.5 12C0.67 12 0 12.68 0 13.5C0 14.32 0.68 15 1.5 15C2.32 15 3 14.32 3 13.5C3 12.68 2.33 12 1.5 12ZM5.5 14.5H17.5C18.05 14.5 18.5 14.05 18.5 13.5C18.5 12.95 18.05 12.5 17.5 12.5H5.5C4.95 12.5 4.5 12.95 4.5 13.5C4.5 14.05 4.95 14.5 5.5 14.5ZM5.5 8.5H17.5C18.05 8.5 18.5 8.05 18.5 7.5C18.5 6.95 18.05 6.5 17.5 6.5H5.5C4.95 6.5 4.5 6.95 4.5 7.5C4.5 8.05 4.95 8.5 5.5 8.5ZM4.5 1.5C4.5 2.05 4.95 2.5 5.5 2.5H17.5C18.05 2.5 18.5 2.05 18.5 1.5C18.5 0.95 18.05 0.5 17.5 0.5H5.5C4.95 0.5 4.5 0.95 4.5 1.5Z'\r\n fill='currentColor'/>\r\n </svg>\r\n </a>\r\n <a class='btn btn-icon btn-primary' href='javascript:void(0)'\r\n [ngClass]=\"{'active': viewType == 'table'}\"\r\n (click)=\"onViewSwitch('table')\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" height=\"20\" width=\"20\" fill='none' >\r\n <path\r\n d=\"M64 256l0-96 160 0 0 96L64 256zm0 64l160 0 0 96L64 416l0-96zm224 96l0-96 160 0 0 96-160 0zM448 256l-160 0 0-96 160 0 0 96zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z\"\r\n fill='currentColor'/>\r\n </svg>\r\n </a>\r\n </div>\r\n }\r\n\r\n @if (addButtonVisible) {\r\n <div class='action-add'>\r\n <a class='btn btn-icon btn-primary' href='javascript:void(0)' (click)='onAdd()'>\r\n <fa-icon icon='plus'/>\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n" }]
183
- }], null, { sortByItems: [{
184
- type: Input
185
- }], viewType: [{
186
- type: Input
187
- }], filterButtonVisible: [{
188
- type: Input
189
- }], sortByVisible: [{
190
- type: Input
191
- }], viewTypesVisible: [{
192
- type: Input
193
- }], addButtonVisible: [{
194
- type: Input
195
- }], settingsChange: [{
196
- type: Output
197
- }], add: [{
198
- type: Output
199
- }] }); })();
200
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ControlPanelComponent, { className: "ControlPanelComponent", filePath: "lib\\ui\\components\\data-grid\\control-panel.component.ts", lineNumber: 27 }); })();
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9kYXRhLWdyaWQvY29udHJvbC1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvY29tcG9uZW50cy9kYXRhLWdyaWQvY29udHJvbC1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsS0FBSztBQUNMLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7SUNqQnZELDhCQUFvQixXQUFBO0lBSWQscUtBQVMsZUFBQSx1QkFBZ0IsQ0FBQSxJQUFDO0lBQzVCLG1CQUFtRjtJQUFuRiw4QkFBbUY7SUFDakYsMkJBRXVCO0lBQ3pCLGlCQUFNLEVBQUEsRUFBQTs7O0lBUkwsY0FBcUM7SUFBckMsMEVBQXFDOzs7O0lBbUJ4QywrQkFBcUIsU0FBQTtJQUNmLHdCQUFRO0lBQUEsaUJBQUs7SUFDakIsOENBS3FEO0lBRGpDLDhQQUE0QixxTEFDYixlQUFBLHVCQUFnQixDQUFBLElBREg7SUFFaEQsaUJBQXFCLEVBQUE7OztJQU5ELGVBQW9CO0lBQXBCLHlDQUFvQix3QkFBQSxrQ0FBQTs7OztJQVcxQywrQkFBcUIsV0FBQTtJQUdoQixzS0FBUyxlQUFBLG9CQUFhLE1BQU0sQ0FBQyxDQUFBLElBQUM7SUFDL0IsbUJBQStGO0lBQS9GLCtCQUErRjtJQUM3RiwyQkFLb0IsZUFBQSxlQUFBLGVBQUE7SUFtQnRCLGlCQUFNLEVBQUE7SUFFUixvQkFFa0M7SUFGbEMsNEJBRWtDO0lBQS9CLHVLQUFTLGVBQUEscUJBQWEsTUFBTSxDQUFDLENBQUEsSUFBQztJQUMvQixtQkFBK0Y7SUFBL0YsK0JBQStGO0lBQzdGLDJCQUV1QjtJQUN6QixpQkFBTSxFQUFBO0lBRVIsb0JBRW1DO0lBRm5DLDZCQUVtQztJQUFoQyx3S0FBUyxlQUFBLHFCQUFhLE9BQU8sQ0FBQyxDQUFBLElBQUM7SUFDaEMsbUJBQWtHO0lBQWxHLGdDQUFrRztJQUNoRyw0QkFFdUI7SUFDekIsaUJBQU0sRUFBQSxFQUFBOzs7SUE3Q0wsY0FBMEM7SUFBMUMsK0VBQTBDO0lBOEIxQyxlQUEwQztJQUExQywrRUFBMEM7SUFTMUMsZUFBMkM7SUFBM0MsZ0ZBQTJDOzs7O0lBWWhELCtCQUF3QixZQUFBO0lBQ3dDLHVLQUFTLGVBQUEsZUFBTyxDQUFBLElBQUM7SUFDN0UsOEJBQXNCO0lBQ3hCLGlCQUFJLEVBQUE7OztBRGxFZCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQUp4RDs7UUFhRSxTQUFTO1FBQ0Esd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFbEMsU0FBUztRQUNDLG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsUUFBRyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0tBbUV2RDtJQWpFQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLENBQUM7YUFDSSxDQUFDO1lBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLFNBQVM7SUFDakIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7SUFDUixhQUFhO1FBQ1gsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN2QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2pDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFN0IsT0FBTztZQUNMLGFBQWEsRUFBRSxhQUFhO1lBQzVCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO0lBQ1IsY0FBYztRQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7d1BBbkZVLHFCQUFxQixTQUFyQixxQkFBcUI7b0VBQXJCLHFCQUFxQjs7WUMxQmxDLDhCQUE4QixhQUFBO1lBRTFCLDhFQWFDO1lBRUQsMkJBQUs7WUFDSCxrQkFBeUI7WUFDM0IsaUJBQU07WUFFTiw4QkFBbUI7WUFDakIsOEVBV0Msa0VBQUEsaUVBQUE7WUE4REgsaUJBQU0sRUFBQSxFQUFBOztZQTdGTixlQWFDO1lBYkQscURBYUM7WUFPQyxlQVdDO1lBWEQsK0NBV0M7WUFFRCxjQW1EQztZQW5ERCxrREFtREM7WUFFRCxjQU1DO1lBTkQsa0RBTUM7OztpRkRwRU0scUJBQXFCO2NBSmpDLFNBQVM7MkJBQ0UsaUNBQWlDO2dCQVNsQyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUdHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFHSSxjQUFjO2tCQUF2QixNQUFNO1lBQ0csR0FBRztrQkFBWixNQUFNOztrRkFqQkkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyMyBBcHIgMjAyNFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBEYXRhVmlld1R5cGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2VudW1zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2Jhc2UvY29tcG9uZW50cy9jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWRhdGEtZ3JpZC1jb250cm9sLXBhbmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udHJvbC1wYW5lbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRyb2xQYW5lbENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGZpbHRlclZpc2libGU7XHJcbiAgc2VsZWN0ZWRTb3J0Qnk7XHJcbiAgdmlld1R5cGVEZWZhdWx0O1xyXG5cclxuICAvL0lucHV0c1xyXG4gIEBJbnB1dCgpIHNvcnRCeUl0ZW1zO1xyXG4gIEBJbnB1dCgpIHZpZXdUeXBlO1xyXG5cclxuICAvL1Zpc2libGVcclxuICBASW5wdXQoKSBmaWx0ZXJCdXR0b25WaXNpYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc29ydEJ5VmlzaWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHZpZXdUeXBlc1Zpc2libGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBhZGRCdXR0b25WaXNpYmxlID0gZmFsc2U7XHJcblxyXG4gIC8vT3V0cHV0c1xyXG4gIEBPdXRwdXQoKSBzZXR0aW5nc0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGFkZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXREZWZhdWx0cygpO1xyXG4gICAgdGhpcy5zZXRWYWx1ZXMoKTtcclxuICAgIHRoaXMucmVzZXRTZXR0aW5ncygpO1xyXG4gICAgdGhpcy5maXJlU2V0dGluZ3NDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGVmYXVsdHMoKSB7XHJcbiAgICBpZiAodGhpcy52aWV3VHlwZSkge1xyXG4gICAgICB0aGlzLnZpZXdUeXBlRGVmYXVsdCA9IHRoaXMudmlld1R5cGU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3VHlwZSA9IERhdGFWaWV3VHlwZS5MaXN0O1xyXG4gICAgICB0aGlzLnZpZXdUeXBlRGVmYXVsdCA9IERhdGFWaWV3VHlwZS5MaXN0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZXMoKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpcmVTZXR0aW5nc0NoYW5nZSgpIHtcclxuICAgIHRoaXMuc2V0dGluZ3NDaGFuZ2UuZW1pdCh0aGlzLmdldFNldHRpbmdzKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaXJlQWRkKCkge1xyXG4gICAgdGhpcy5hZGQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy9QdWJsaWNcclxuICByZXNldFNldHRpbmdzKCkge1xyXG4gICAgdGhpcy5maWx0ZXJWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkU29ydEJ5ID0gMTsgICAgXHJcbiAgICB0aGlzLnZpZXdUeXBlID0gdGhpcy52aWV3VHlwZURlZmF1bHQ7XHJcbiAgfVxyXG5cclxuICBnZXRTZXR0aW5ncygpIHtcclxuICAgIGxldCBmaWx0ZXJWaXNpYmxlID0gdGhpcy5maWx0ZXJWaXNpYmxlO1xyXG4gICAgbGV0IHNvcnRCeSA9IHRoaXMuc2VsZWN0ZWRTb3J0Qnk7ICAgIFxyXG4gICAgbGV0IHZpZXdUeXBlID0gdGhpcy52aWV3VHlwZTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBmaWx0ZXJWaXNpYmxlOiBmaWx0ZXJWaXNpYmxlLFxyXG4gICAgICBzb3J0Qnk6IHNvcnRCeSwgICAgICBcclxuICAgICAgdmlld1R5cGU6IHZpZXdUeXBlXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLy9FdmVudHNcclxuICBvbkZpbHRlclRvZ2dsZSgpIHtcclxuICAgIHRoaXMuZmlsdGVyVmlzaWJsZSA9ICF0aGlzLmZpbHRlclZpc2libGU7XHJcbiAgICB0aGlzLmZpcmVTZXR0aW5nc0NoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgb25Tb3J0QnlDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmZpcmVTZXR0aW5nc0NoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgb25WaWV3U3dpdGNoKHZhbHVlKSB7XHJcbiAgICB0aGlzLnZpZXdUeXBlID0gdmFsdWU7XHJcbiAgICB0aGlzLmZpcmVTZXR0aW5nc0NoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgb25BZGQoKSB7XHJcbiAgICB0aGlzLmZpcmVBZGQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz0nb3MtY29udHJvbC1wYW5lbCc+XHJcbiAgPGRpdiBjbGFzcz0nY29udHJvbC13cmFwcGVyJz5cclxuICAgIEBpZiAoZmlsdGVyQnV0dG9uVmlzaWJsZSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPSdmaWx0ZXInPlxyXG4gICAgICAgIDxhIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogZmlsdGVyVmlzaWJsZX1cIlxyXG4gICAgICAgICAgICBjbGFzcz0nYnRuIGJ0bi1pY29uIGJ0bi1wcmltYXJ5J1xyXG4gICAgICAgICAgICBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCknIFxyXG4gICAgICAgICAgICAoY2xpY2spPSdvbkZpbHRlclRvZ2dsZSgpJz5cclxuICAgICAgICAgIDxzdmcgaGVpZ2h0PScyMicgdmlld0JveD0nMCAwIDMyIDMyJyB3aWR0aD0nMjAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgZD0nTTIgN2guMTQyYTMuOTgxIDMuOTgxIDAgMCAwIDcuNzE2IDBIMzBhMSAxIDAgMCAwIDAtMkg5Ljg1OGEzLjk4MSAzLjk4MSAwIDAgMC03LjcxNiAwSDJhMSAxIDAgMCAwIDAgMnptNC0zYTIgMiAwIDEgMS0yIDIgMiAyIDAgMCAxIDItMnptMjQgMTFoLS4xNDJhMy45ODEgMy45ODEgMCAwIDAtNy43MTYgMEgyYTEgMSAwIDAgMCAwIDJoMjAuMTQyYTMuOTgxIDMuOTgxIDAgMCAwIDcuNzE2IDBIMzBhMSAxIDAgMCAwIDAtMnptLTQgM2EyIDIgMCAxIDEgMi0yIDIgMiAwIDAgMS0yIDJ6bTQgN0gxOS44NThhMy45ODEgMy45ODEgMCAwIDAtNy43MTYgMEgyYTEgMSAwIDAgMCAwIDJoMTAuMTQyYTMuOTgxIDMuOTgxIDAgMCAwIDcuNzE2IDBIMzBhMSAxIDAgMCAwIDAtMnptLTE0IDNhMiAyIDAgMSAxIDItMiAyIDIgMCAwIDEtMiAyeidcclxuICAgICAgICAgICAgICBmaWxsPSdjdXJyZW50Q29sb3InLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvYT4gICAgICBcclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgIFxyXG4gICAgPGRpdj5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz0ndG9vbHMnPlxyXG4gICAgICBAaWYgKHNvcnRCeVZpc2libGUpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPSdzb3J0LWJ5Jz5cclxuICAgICAgICAgIDxoMj5Tb3J0IEJ5OjwvaDI+XHJcbiAgICAgICAgICA8a2VuZG8tZHJvcGRvd25saXN0IFtkYXRhXT0nc29ydEJ5SXRlbXMnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRmllbGQ9J3ZhbHVlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RmllbGQ9J3RleHQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZVByaW1pdGl2ZV09J3RydWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPSdzZWxlY3RlZFNvcnRCeSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT0nb25Tb3J0QnlDaGFuZ2UoKSc+XHJcbiAgICAgICAgICA8L2tlbmRvLWRyb3Bkb3dubGlzdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG5cclxuICAgICAgQGlmICh2aWV3VHlwZXNWaXNpYmxlKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz0nYWN0aW9ucyc+XHJcbiAgICAgICAgICA8YSBjbGFzcz0nYnRuIGJ0bi1pY29uIGJ0bi1wcmltYXJ5JyBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCknXHJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IHZpZXdUeXBlID09ICdncmlkJ31cIlxyXG4gICAgICAgICAgICAgKGNsaWNrKT1cIm9uVmlld1N3aXRjaCgnZ3JpZCcpXCI+XHJcbiAgICAgICAgICAgIDxzdmcgZmlsbD0nbm9uZScgaGVpZ2h0PScxOCcgdmlld0JveD0nMCAwIDE4IDE4JyB3aWR0aD0nMTgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+XHJcbiAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgIGQ9J002IDFIMkMxLjQ0NzcyIDEgMSAxLjQ0NzcyIDEgMlY2QzEgNi41NTIyOCAxLjQ0NzcyIDcgMiA3SDZDNi41NTIyOCA3IDcgNi41NTIyOCA3IDZWMkM3IDEuNDQ3NzIgNi41NTIyOCAxIDYgMVonXHJcbiAgICAgICAgICAgICAgICBzdHJva2U9J2N1cnJlbnRDb2xvcidcclxuICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPSdyb3VuZCdcclxuICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj0ncm91bmQnXHJcbiAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9JzInLz5cclxuICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgZD0nTTE2IDFIMTJDMTEuNDQ3NyAxIDExIDEuNDQ3NzIgMTEgMlY2QzExIDYuNTUyMjggMTEuNDQ3NyA3IDEyIDdIMTZDMTYuNTUyMyA3IDE3IDYuNTUyMjggMTcgNlYyQzE3IDEuNDQ3NzIgMTYuNTUyMyAxIDE2IDFaJ1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlPSdjdXJyZW50Q29sb3InXHJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD0ncm91bmQnXHJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49J3JvdW5kJ1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPScyJy8+XHJcbiAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgIGQ9J002IDExSDJDMS40NDc3MiAxMSAxIDExLjQ0NzcgMSAxMlYxNkMxIDE2LjU1MjMgMS40NDc3MiAxNyAyIDE3SDZDNi41NTIyOCAxNyA3IDE2LjU1MjMgNyAxNlYxMkM3IDExLjQ0NzcgNi41NTIyOCAxMSA2IDExWidcclxuICAgICAgICAgICAgICAgIHN0cm9rZT0nY3VycmVudENvbG9yJ1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJ1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCdcclxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD0nMicvPlxyXG4gICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPSdNMTYgMTFIMTJDMTEuNDQ3NyAxMSAxMSAxMS40NDc3IDExIDEyVjE2QzExIDE2LjU1MjMgMTEuNDQ3NyAxNyAxMiAxN0gxNkMxNi41NTIzIDE3IDE3IDE2LjU1MjMgMTcgMTZWMTJDMTcgMTEuNDQ3NyAxNi41NTIzIDExIDE2IDExWidcclxuICAgICAgICAgICAgICAgIHN0cm9rZT0nY3VycmVudENvbG9yJ1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJ1xyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCdcclxuICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD0nMicvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIDxhIGNsYXNzPSdidG4gYnRuLWljb24gYnRuLXByaW1hcnknIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKSdcclxuICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogdmlld1R5cGUgPT0gJ2xpc3QnfVwiXHJcbiAgICAgICAgICAgICAoY2xpY2spPVwib25WaWV3U3dpdGNoKCdsaXN0JylcIj5cclxuICAgICAgICAgICAgPHN2ZyBmaWxsPSdub25lJyBoZWlnaHQ9JzE1JyB2aWV3Qm94PScwIDAgMTkgMTUnIHdpZHRoPScxOScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz5cclxuICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgZD0nTTEuNSA2QzAuNjcgNiAwIDYuNjcgMCA3LjVDMCA4LjMzIDAuNjcgOSAxLjUgOUMyLjMzIDkgMyA4LjMzIDMgNy41QzMgNi42NyAyLjMzIDYgMS41IDZaTTEuNSAwQzAuNjcgMCAwIDAuNjcgMCAxLjVDMCAyLjMzIDAuNjcgMyAxLjUgM0MyLjMzIDMgMyAyLjMzIDMgMS41QzMgMC42NyAyLjMzIDAgMS41IDBaTTEuNSAxMkMwLjY3IDEyIDAgMTIuNjggMCAxMy41QzAgMTQuMzIgMC42OCAxNSAxLjUgMTVDMi4zMiAxNSAzIDE0LjMyIDMgMTMuNUMzIDEyLjY4IDIuMzMgMTIgMS41IDEyWk01LjUgMTQuNUgxNy41QzE4LjA1IDE0LjUgMTguNSAxNC4wNSAxOC41IDEzLjVDMTguNSAxMi45NSAxOC4wNSAxMi41IDE3LjUgMTIuNUg1LjVDNC45NSAxMi41IDQuNSAxMi45NSA0LjUgMTMuNUM0LjUgMTQuMDUgNC45NSAxNC41IDUuNSAxNC41Wk01LjUgOC41SDE3LjVDMTguMDUgOC41IDE4LjUgOC4wNSAxOC41IDcuNUMxOC41IDYuOTUgMTguMDUgNi41IDE3LjUgNi41SDUuNUM0Ljk1IDYuNSA0LjUgNi45NSA0LjUgNy41QzQuNSA4LjA1IDQuOTUgOC41IDUuNSA4LjVaTTQuNSAxLjVDNC41IDIuMDUgNC45NSAyLjUgNS41IDIuNUgxNy41QzE4LjA1IDIuNSAxOC41IDIuMDUgMTguNSAxLjVDMTguNSAwLjk1IDE4LjA1IDAuNSAxNy41IDAuNUg1LjVDNC45NSAwLjUgNC41IDAuOTUgNC41IDEuNVonXHJcbiAgICAgICAgICAgICAgICBmaWxsPSdjdXJyZW50Q29sb3InLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8YSBjbGFzcz0nYnRuIGJ0bi1pY29uIGJ0bi1wcmltYXJ5JyBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCknXHJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IHZpZXdUeXBlID09ICd0YWJsZSd9XCJcclxuICAgICAgICAgICAgIChjbGljayk9XCJvblZpZXdTd2l0Y2goJ3RhYmxlJylcIj5cclxuICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCIgaGVpZ2h0PVwiMjBcIiB3aWR0aD1cIjIwXCIgZmlsbD0nbm9uZScgPlxyXG4gICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPVwiTTY0IDI1NmwwLTk2IDE2MCAwIDAgOTZMNjQgMjU2em0wIDY0bDE2MCAwIDAgOTZMNjQgNDE2bDAtOTZ6bTIyNCA5NmwwLTk2IDE2MCAwIDAgOTYtMTYwIDB6TTQ0OCAyNTZsLTE2MCAwIDAtOTYgMTYwIDAgMCA5NnpNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpcIlxyXG4gICAgICAgICAgICAgICAgZmlsbD0nY3VycmVudENvbG9yJy8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYgKGFkZEJ1dHRvblZpc2libGUpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPSdhY3Rpb24tYWRkJz5cclxuICAgICAgICAgIDxhIGNsYXNzPSdidG4gYnRuLWljb24gYnRuLXByaW1hcnknIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKScgKGNsaWNrKT0nb25BZGQoKSc+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIGljb249J3BsdXMnLz5cclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=