@acorex/core 6.5.70 → 6.5.72

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 (111) hide show
  1. package/README.md +6 -2
  2. package/esm2022/acorex-core.mjs +5 -0
  3. package/esm2022/index.mjs +44 -0
  4. package/esm2022/lib/classes/base-page.class.mjs +26 -0
  5. package/esm2022/lib/classes/color.class.mjs +49 -0
  6. package/esm2022/lib/classes/datetime.class.mjs +323 -0
  7. package/esm2022/lib/classes/menu.class.mjs +35 -0
  8. package/esm2022/lib/classes/navigator.class.mjs +2 -0
  9. package/esm2022/lib/classes/popup.class.mjs +2 -0
  10. package/esm2022/lib/classes/promise.class.mjs +21 -0
  11. package/esm2022/lib/classes/sectionlist.class.mjs +2 -0
  12. package/esm2022/lib/classes/select.class.mjs +8 -0
  13. package/esm2022/lib/core.module.mjs +27 -0
  14. package/esm2022/lib/error/error.class.mjs +2 -0
  15. package/esm2022/lib/error/error.module.mjs +19 -0
  16. package/esm2022/lib/error/error.service.mjs +22 -0
  17. package/esm2022/lib/events/keyboard.mjs +2 -0
  18. package/esm2022/lib/http/http-error.class.mjs +2 -0
  19. package/esm2022/lib/http/http-events.interceptor.mjs +3 -0
  20. package/esm2022/lib/http/http-request.class.mjs +2 -0
  21. package/esm2022/lib/http/http-result.class.mjs +25 -0
  22. package/esm2022/lib/http/http.module.mjs +35 -0
  23. package/esm2022/lib/http/http.service.mjs +148 -0
  24. package/{esm2020 → esm2022}/lib/locale/en.json +1 -1
  25. package/esm2022/lib/pipe/datetime.pipe.mjs +25 -0
  26. package/esm2022/lib/pipe/htmlToText.pipe.mjs +25 -0
  27. package/esm2022/lib/platform/index.mjs +2 -0
  28. package/esm2022/lib/platform/platform.service.mjs +152 -0
  29. package/esm2022/lib/services/config.mjs +29 -0
  30. package/esm2022/lib/services/event.service.mjs +34 -0
  31. package/esm2022/lib/services/navigator.service.mjs +10 -0
  32. package/esm2022/lib/services/storage.service.mjs +16 -0
  33. package/esm2022/lib/translator/translator.mjs +26 -0
  34. package/esm2022/lib/translator/translator.module.mjs +25 -0
  35. package/esm2022/lib/translator/translator.pipe.mjs +24 -0
  36. package/esm2022/lib/translator/translator.service.mjs +21 -0
  37. package/esm2022/lib/utils/array/array-util.mjs +133 -0
  38. package/esm2022/lib/utils/html/html-util.mjs +200 -0
  39. package/esm2022/lib/utils/html/html.module.mjs +19 -0
  40. package/esm2022/lib/utils/math/math-util.mjs +6 -0
  41. package/esm2022/lib/utils/object/object-util.mjs +83 -0
  42. package/esm2022/lib/utils/render/on-demand-preload-strategy.service.mjs +21 -0
  43. package/esm2022/lib/utils/render/render.service.mjs +109 -0
  44. package/esm2022/lib/utils/render/rendering.module.mjs +35 -0
  45. package/esm2022/lib/utils/scroll/scroll.directive.mjs +56 -0
  46. package/esm2022/lib/utils/scroll/scroll.module.mjs +19 -0
  47. package/esm2022/lib/utils/separator/separator.module.mjs +19 -0
  48. package/esm2022/lib/utils/separator/separator.pipe.mjs +33 -0
  49. package/{fesm2020 → fesm2022}/acorex-core.mjs +241 -196
  50. package/fesm2022/acorex-core.mjs.map +1 -0
  51. package/lib/classes/datetime.class.d.ts +4 -4
  52. package/lib/pipe/datetime.pipe.d.ts +1 -1
  53. package/lib/pipe/htmlToText.pipe.d.ts +1 -1
  54. package/lib/platform/platform.service.d.ts +4 -4
  55. package/lib/translator/translator.pipe.d.ts +1 -1
  56. package/lib/utils/html/html-util.d.ts +1 -1
  57. package/lib/utils/scroll/scroll.directive.d.ts +2 -2
  58. package/lib/utils/separator/separator.pipe.d.ts +1 -1
  59. package/package.json +14 -20
  60. package/acorex-core.d.ts +0 -5
  61. package/esm2020/acorex-core.mjs +0 -5
  62. package/esm2020/lib/classes/base-page.class.mjs +0 -28
  63. package/esm2020/lib/classes/color.class.mjs +0 -49
  64. package/esm2020/lib/classes/datetime.class.mjs +0 -314
  65. package/esm2020/lib/classes/menu.class.mjs +0 -27
  66. package/esm2020/lib/classes/navigator.class.mjs +0 -2
  67. package/esm2020/lib/classes/popup.class.mjs +0 -2
  68. package/esm2020/lib/classes/promise.class.mjs +0 -19
  69. package/esm2020/lib/classes/sectionlist.class.mjs +0 -2
  70. package/esm2020/lib/classes/select.class.mjs +0 -3
  71. package/esm2020/lib/core.module.mjs +0 -27
  72. package/esm2020/lib/error/error.class.mjs +0 -2
  73. package/esm2020/lib/error/error.module.mjs +0 -19
  74. package/esm2020/lib/error/error.service.mjs +0 -21
  75. package/esm2020/lib/events/keyboard.mjs +0 -2
  76. package/esm2020/lib/http/http-error.class.mjs +0 -2
  77. package/esm2020/lib/http/http-events.interceptor.mjs +0 -3
  78. package/esm2020/lib/http/http-request.class.mjs +0 -2
  79. package/esm2020/lib/http/http-result.class.mjs +0 -21
  80. package/esm2020/lib/http/http.module.mjs +0 -37
  81. package/esm2020/lib/http/http.service.mjs +0 -145
  82. package/esm2020/lib/pipe/datetime.pipe.mjs +0 -25
  83. package/esm2020/lib/pipe/htmlToText.pipe.mjs +0 -25
  84. package/esm2020/lib/platform/index.mjs +0 -2
  85. package/esm2020/lib/platform/platform.service.mjs +0 -150
  86. package/esm2020/lib/services/config.mjs +0 -29
  87. package/esm2020/lib/services/event.service.mjs +0 -36
  88. package/esm2020/lib/services/navigator.service.mjs +0 -10
  89. package/esm2020/lib/services/storage.service.mjs +0 -16
  90. package/esm2020/lib/translator/translator.mjs +0 -26
  91. package/esm2020/lib/translator/translator.module.mjs +0 -25
  92. package/esm2020/lib/translator/translator.pipe.mjs +0 -24
  93. package/esm2020/lib/translator/translator.service.mjs +0 -21
  94. package/esm2020/lib/utils/array/array-util.mjs +0 -133
  95. package/esm2020/lib/utils/html/html-util.mjs +0 -192
  96. package/esm2020/lib/utils/html/html.module.mjs +0 -19
  97. package/esm2020/lib/utils/math/math-util.mjs +0 -6
  98. package/esm2020/lib/utils/object/object-util.mjs +0 -83
  99. package/esm2020/lib/utils/render/on-demand-preload-strategy.service.mjs +0 -20
  100. package/esm2020/lib/utils/render/render.service.mjs +0 -103
  101. package/esm2020/lib/utils/render/rendering.module.mjs +0 -35
  102. package/esm2020/lib/utils/scroll/scroll.directive.mjs +0 -54
  103. package/esm2020/lib/utils/scroll/scroll.module.mjs +0 -19
  104. package/esm2020/lib/utils/separator/separator.module.mjs +0 -19
  105. package/esm2020/lib/utils/separator/separator.pipe.mjs +0 -33
  106. package/esm2020/public-api.mjs +0 -44
  107. package/fesm2015/acorex-core.mjs +0 -2274
  108. package/fesm2015/acorex-core.mjs.map +0 -1
  109. package/fesm2020/acorex-core.mjs.map +0 -1
  110. /package/{esm2020 → esm2022}/lib/locale/fa.json +0 -0
  111. /package/{public-api.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXHtmlToTextPipe } from '../../pipe/htmlToText.pipe';
4
+ import * as i0 from "@angular/core";
5
+ export class AXHtmlModule {
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXHtmlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXHtmlModule, declarations: [AXHtmlToTextPipe], imports: [CommonModule], exports: [AXHtmlToTextPipe] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXHtmlModule, imports: [CommonModule] });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXHtmlModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [AXHtmlToTextPipe],
14
+ imports: [CommonModule],
15
+ exports: [AXHtmlToTextPipe],
16
+ providers: []
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9odG1sL2h0bWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVE5RCxNQUFNLE9BQU8sWUFBWTt3R0FBWixZQUFZO3lHQUFaLFlBQVksaUJBTFIsZ0JBQWdCLGFBQ3JCLFlBQVksYUFDWixnQkFBZ0I7eUdBR2YsWUFBWSxZQUpiLFlBQVk7OzRGQUlYLFlBQVk7a0JBTnhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBWEh0bWxUb1RleHRQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZS9odG1sVG9UZXh0LnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBWEh0bWxUb1RleHRQaXBlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWEh0bWxUb1RleHRQaXBlXSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBBWEh0bWxNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export class AXMathUtil {
2
+ static randomRange(min, max) {
3
+ return Math.floor(Math.random() * (max - min + 1) + min);
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvbWF0aC9tYXRoLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFVBQVU7SUFDbkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUN2QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQVhNYXRoVXRpbCB7XG4gICAgc3RhdGljIHJhbmRvbVJhbmdlKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkgKyBtaW4pO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,83 @@
1
+ // @dynamic
2
+ export class AXObjectUtil {
3
+ static deepJSONClone(obj) {
4
+ return obj ? JSON.parse(JSON.stringify(obj)) : null;
5
+ }
6
+ static deepCopy(obj) {
7
+ let copy;
8
+ // Handle the 3 simple types, and null or undefined
9
+ if (null == obj || 'object' !== typeof obj) {
10
+ return obj;
11
+ }
12
+ // Handle Date
13
+ if (obj instanceof Date) {
14
+ copy = new Date();
15
+ copy.setTime(obj.getTime());
16
+ return copy;
17
+ }
18
+ // Handle Array
19
+ if (obj instanceof Array) {
20
+ copy = [];
21
+ for (let i = 0, len = obj.length; i < len; i++) {
22
+ copy[i] = AXObjectUtil.deepCopy(obj[i]);
23
+ }
24
+ return copy;
25
+ }
26
+ // Handle Object
27
+ if (obj instanceof Object) {
28
+ copy = {};
29
+ for (const attr in obj) {
30
+ if (obj.hasOwnProperty(attr)) {
31
+ copy[attr] = AXObjectUtil.deepCopy(obj[attr]);
32
+ }
33
+ }
34
+ return copy;
35
+ }
36
+ throw new Error('Unable to copy obj! Its type isn\'t supported.');
37
+ }
38
+ }
39
+ export function AXFetchProp(obj, prop) {
40
+ if (typeof obj === 'undefined') {
41
+ return false;
42
+ }
43
+ const index = prop.indexOf('.');
44
+ if (index > -1) {
45
+ return AXFetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));
46
+ }
47
+ return obj[prop];
48
+ }
49
+ export function getPropByPath(obj, path, defaultVal) {
50
+ path = path
51
+ .replace(/\[/g, '.')
52
+ .replace(/]/g, '')
53
+ .split('.');
54
+ path.forEach((level) => {
55
+ if (obj) {
56
+ obj = obj[level];
57
+ }
58
+ });
59
+ if (obj === undefined) {
60
+ return defaultVal;
61
+ }
62
+ return obj;
63
+ }
64
+ export function setPropByPath(obj, path, value) {
65
+ if (Object(obj) !== obj) {
66
+ return obj;
67
+ } // When obj is not an object
68
+ // If not yet an array, get the keys from the string-path
69
+ if (!Array.isArray(path)) {
70
+ path = path.toString().match(/[^.[\]]+/g) || [];
71
+ }
72
+ path.slice(0, -1).reduce((a, c, i) => // Iterate all of them except the last one
73
+ Object(a[c]) === a[c] // Does the key exist and is its value an object?
74
+ // Yes: then follow that path
75
+ ? a[c]
76
+ // No: create the key. Is the next key a potential array-index?
77
+ : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]
78
+ ? [] // Yes: assign a new array object
79
+ : {}, // No: assign a new plain object
80
+ obj)[path[path.length - 1]] = value; // Finally assign the value to the last key
81
+ return obj[path[0]]; // Return the top-level object to allow chaining
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9vYmplY3Qvb2JqZWN0LXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsV0FBVztBQUNYLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBUTtRQUN6QixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHO1FBQ2YsSUFBSSxJQUFJLENBQUM7UUFDVCxtREFBbUQ7UUFDbkQsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLFFBQVEsS0FBSyxPQUFPLEdBQUcsRUFBRTtZQUFFLE9BQU8sR0FBRyxDQUFDO1NBQUU7UUFDM0QsY0FBYztRQUNkLElBQUksR0FBRyxZQUFZLElBQUksRUFBRTtZQUNyQixJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxlQUFlO1FBQ2YsSUFBSSxHQUFHLFlBQVksS0FBSyxFQUFFO1lBQ3RCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDVixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM1QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzQztZQUNELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxnQkFBZ0I7UUFDaEIsSUFBSSxHQUFHLFlBQVksTUFBTSxFQUFFO1lBQ3ZCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDVixLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsRUFBRTtnQkFDcEIsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUFFO2FBQ25GO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUN0RSxDQUFDO0NBQ0o7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFZO0lBQ3pDLElBQUksT0FBTyxHQUFHLEtBQUssV0FBVyxFQUFFO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVoQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtRQUNaLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDN0U7SUFFRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyQixDQUFDO0FBS0QsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVc7SUFDaEQsSUFBSSxHQUFHLElBQUk7U0FDTixPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztTQUNuQixPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztTQUNqQixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ25CLElBQUksR0FBRyxFQUFFO1lBQ0wsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQjtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1FBQ25CLE9BQU8sVUFBVSxDQUFDO0tBQ3JCO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUs7SUFDMUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxFQUFFO1FBQUUsT0FBTyxHQUFHLENBQUM7S0FBRSxDQUFDLDRCQUE0QjtJQUNyRSx5REFBeUQ7SUFDekQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7S0FBRTtJQUM5RSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQywwQ0FBMEM7S0FDNUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpREFBaUQ7UUFDbkUsNkJBQTZCO1FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ04sK0RBQStEO1FBQy9ELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxpQ0FBaUM7WUFDdEMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxnQ0FBZ0M7SUFDOUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQywyQ0FBMkM7SUFDcEYsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnREFBZ0Q7QUFDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgQVhPYmplY3RVdGlsIHtcbiAgICBzdGF0aWMgZGVlcEpTT05DbG9uZShvYmo6IGFueSk6IGFueSB7XG4gICAgICAgIHJldHVybiBvYmogPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9iaikpIDogbnVsbDtcbiAgICB9XG5cbiAgICBzdGF0aWMgZGVlcENvcHkob2JqKSB7XG4gICAgICAgIGxldCBjb3B5O1xuICAgICAgICAvLyBIYW5kbGUgdGhlIDMgc2ltcGxlIHR5cGVzLCBhbmQgbnVsbCBvciB1bmRlZmluZWRcbiAgICAgICAgaWYgKG51bGwgPT0gb2JqIHx8ICdvYmplY3QnICE9PSB0eXBlb2Ygb2JqKSB7IHJldHVybiBvYmo7IH1cbiAgICAgICAgLy8gSGFuZGxlIERhdGVcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIGNvcHkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgY29weS5zZXRUaW1lKG9iai5nZXRUaW1lKCkpO1xuICAgICAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSGFuZGxlIEFycmF5XG4gICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgY29weSA9IFtdO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IG9iai5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgICAgIGNvcHlbaV0gPSBBWE9iamVjdFV0aWwuZGVlcENvcHkob2JqW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjb3B5O1xuICAgICAgICB9XG4gICAgICAgIC8vIEhhbmRsZSBPYmplY3RcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICAgICAgY29weSA9IHt9O1xuICAgICAgICAgICAgZm9yIChjb25zdCBhdHRyIGluIG9iaikge1xuICAgICAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoYXR0cikpIHsgY29weVthdHRyXSA9IEFYT2JqZWN0VXRpbC5kZWVwQ29weShvYmpbYXR0cl0pOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY29weTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBjb3B5IG9iaiEgSXRzIHR5cGUgaXNuXFwndCBzdXBwb3J0ZWQuJyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQVhGZXRjaFByb3Aob2JqLCBwcm9wOiBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBpbmRleCA9IHByb3AuaW5kZXhPZignLicpO1xuXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgcmV0dXJuIEFYRmV0Y2hQcm9wKG9ialtwcm9wLnN1YnN0cmluZygwLCBpbmRleCldLCBwcm9wLnN1YnN0cihpbmRleCArIDEpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JqW3Byb3BdO1xufVxuXG5cblxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvcEJ5UGF0aChvYmosIHBhdGgsIGRlZmF1bHRWYWw/KSB7XG4gICAgcGF0aCA9IHBhdGhcbiAgICAgICAgLnJlcGxhY2UoL1xcWy9nLCAnLicpXG4gICAgICAgIC5yZXBsYWNlKC9dL2csICcnKVxuICAgICAgICAuc3BsaXQoJy4nKTtcblxuICAgIHBhdGguZm9yRWFjaCgobGV2ZWwpID0+IHtcbiAgICAgICAgaWYgKG9iaikge1xuICAgICAgICAgICAgb2JqID0gb2JqW2xldmVsXTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0VmFsO1xuICAgIH1cbiAgICByZXR1cm4gb2JqO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0UHJvcEJ5UGF0aChvYmosIHBhdGgsIHZhbHVlKSB7XG4gICAgaWYgKE9iamVjdChvYmopICE9PSBvYmopIHsgcmV0dXJuIG9iajsgfSAvLyBXaGVuIG9iaiBpcyBub3QgYW4gb2JqZWN0XG4gICAgLy8gSWYgbm90IHlldCBhbiBhcnJheSwgZ2V0IHRoZSBrZXlzIGZyb20gdGhlIHN0cmluZy1wYXRoXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBhdGgpKSB7IHBhdGggPSBwYXRoLnRvU3RyaW5nKCkubWF0Y2goL1teLltcXF1dKy9nKSB8fCBbXTsgfVxuICAgIHBhdGguc2xpY2UoMCwgLTEpLnJlZHVjZSgoYSwgYywgaSkgPT4gLy8gSXRlcmF0ZSBhbGwgb2YgdGhlbSBleGNlcHQgdGhlIGxhc3Qgb25lXG4gICAgICAgIE9iamVjdChhW2NdKSA9PT0gYVtjXSAvLyBEb2VzIHRoZSBrZXkgZXhpc3QgYW5kIGlzIGl0cyB2YWx1ZSBhbiBvYmplY3Q/XG4gICAgICAgICAgICAvLyBZZXM6IHRoZW4gZm9sbG93IHRoYXQgcGF0aFxuICAgICAgICAgICAgPyBhW2NdXG4gICAgICAgICAgICAvLyBObzogY3JlYXRlIHRoZSBrZXkuIElzIHRoZSBuZXh0IGtleSBhIHBvdGVudGlhbCBhcnJheS1pbmRleD9cbiAgICAgICAgICAgIDogYVtjXSA9IE1hdGguYWJzKHBhdGhbaSArIDFdKSA+PiAwID09PSArcGF0aFtpICsgMV1cbiAgICAgICAgICAgICAgICA/IFtdIC8vIFllczogYXNzaWduIGEgbmV3IGFycmF5IG9iamVjdFxuICAgICAgICAgICAgICAgIDoge30sIC8vIE5vOiBhc3NpZ24gYSBuZXcgcGxhaW4gb2JqZWN0XG4gICAgICAgIG9iailbcGF0aFtwYXRoLmxlbmd0aCAtIDFdXSA9IHZhbHVlOyAvLyBGaW5hbGx5IGFzc2lnbiB0aGUgdmFsdWUgdG8gdGhlIGxhc3Qga2V5XG4gICAgcmV0dXJuIG9ialtwYXRoWzBdXTsgLy8gUmV0dXJuIHRoZSB0b3AtbGV2ZWwgb2JqZWN0IHRvIGFsbG93IGNoYWluaW5nXG59XG5cblxuIl19
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { AXHtmlUtil } from '../html/html-util';
4
+ import * as i0 from "@angular/core";
5
+ export class AXOnDemandPreloadService {
6
+ subject = new Subject();
7
+ tmp;
8
+ constructor() {
9
+ this.tmp = AXHtmlUtil.getUID();
10
+ }
11
+ startPreload(routePath) {
12
+ const slices = [];
13
+ this.subject.next(routePath);
14
+ }
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXOnDemandPreloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXOnDemandPreloadService });
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXOnDemandPreloadService, decorators: [{
19
+ type: Injectable
20
+ }], ctorParameters: function () { return []; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3JlbmRlci9vbi1kZW1hbmQtcHJlbG9hZC1zdHJhdGVneS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxNQUFNLENBQUM7QUFFL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU0vQyxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBQ2hDLEdBQUcsQ0FBUztJQUVaO1FBQ0UsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQjtRQUM1QixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFHNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsQ0FBQzt3R0FiVSx3QkFBd0I7NEdBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByZWxvYWRpbmdTdHJhdGVneSwgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQVhIdG1sVXRpbCB9IGZyb20gJy4uL2h0bWwvaHRtbC11dGlsJztcblxuXG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSB7XG4gIHN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHRtcDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMudG1wID0gQVhIdG1sVXRpbC5nZXRVSUQoKTtcbiAgfVxuXG4gIHN0YXJ0UHJlbG9hZChyb3V0ZVBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IHNsaWNlczogc3RyaW5nW10gPSBbXTtcbiAgIFxuXG4gICAgdGhpcy5zdWJqZWN0Lm5leHQocm91dGVQYXRoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,109 @@
1
+ import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector, Compiler } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "./on-demand-preload-strategy.service";
7
+ export class AXRenderService {
8
+ appRef;
9
+ router;
10
+ componentFactoryResolver;
11
+ compiler;
12
+ modulePreloadService;
13
+ injector;
14
+ constructor(appRef, router, componentFactoryResolver, compiler, modulePreloadService, injector) {
15
+ this.appRef = appRef;
16
+ this.router = router;
17
+ this.componentFactoryResolver = componentFactoryResolver;
18
+ this.compiler = compiler;
19
+ this.modulePreloadService = modulePreloadService;
20
+ this.injector = injector;
21
+ }
22
+ appendComponent(componentClass, options = {}, location) {
23
+ const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass);
24
+ const componentRef = componentFactory.create(this.injector);
25
+ this.appRef.attachView(componentRef.hostView);
26
+ Object.assign(componentRef.instance, options);
27
+ //
28
+ const domElem = componentRef.hostView.rootNodes[0];
29
+ componentRef.onDestroy(() => {
30
+ this.appRef.detachView(componentRef.hostView);
31
+ });
32
+ if (location) {
33
+ location.appendChild(domElem);
34
+ }
35
+ else {
36
+ document.body.appendChild(domElem);
37
+ }
38
+ setTimeout(() => {
39
+ componentRef.changeDetectorRef.detectChanges();
40
+ }, 0);
41
+ return componentRef;
42
+ }
43
+ findLoadedComponentByRoute(path, timeoutTime = 10) {
44
+ const delay = 200;
45
+ const loop = timeoutTime * 1000 / delay;
46
+ return new Promise((resolve, reject) => {
47
+ let found = null;
48
+ let preload = false;
49
+ const theLoop = (i) => {
50
+ setTimeout(async () => {
51
+ found = await this._findLoadedComponentByRoute(path);
52
+ if (--i && found == null) {
53
+ if (!preload) {
54
+ this.modulePreloadService.startPreload(path);
55
+ preload = true;
56
+ }
57
+ theLoop(i);
58
+ }
59
+ else if (found) {
60
+ resolve(found);
61
+ }
62
+ else {
63
+ reject();
64
+ }
65
+ }, delay);
66
+ };
67
+ theLoop(loop);
68
+ });
69
+ }
70
+ async _findLoadedComponentByRoute(search) {
71
+ let found = null;
72
+ const f = (children, parentPath) => {
73
+ for (const p in children) {
74
+ if (children.hasOwnProperty(p)) {
75
+ const route = children[p];
76
+ const pp = (route.path != '' && route.path != null) ? parentPath + '/' + route.path : parentPath;
77
+ if (pp == search && !route._loadedConfig && !route['_loadedRoutes'] && route.component) {
78
+ found = route;
79
+ return;
80
+ }
81
+ else if (route._loadedConfig || route['_loadedRoutes'] || route.children) {
82
+ f(route.children || route['_loadedRoutes'] || route._loadedConfig.routes, pp);
83
+ }
84
+ }
85
+ }
86
+ };
87
+ for (const p in this.router.config) {
88
+ if (this.router.config.hasOwnProperty(p)) {
89
+ const route = this.router.config[p];
90
+ if (route.path === search && route.component) {
91
+ found = route;
92
+ }
93
+ else if (route['_loadedConfig'] || route['_loadedRoutes'] || route.children) {
94
+ f(route.children || route['_loadedRoutes'] || route['_loadedConfig'].routes, route.path);
95
+ }
96
+ if (found)
97
+ break;
98
+ }
99
+ }
100
+ return found;
101
+ }
102
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXRenderService, deps: [{ token: i0.ApplicationRef }, { token: i1.Router }, { token: i0.ComponentFactoryResolver }, { token: i0.Compiler }, { token: i2.AXOnDemandPreloadService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
103
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXRenderService, providedIn: 'root' });
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXRenderService, decorators: [{
106
+ type: Injectable,
107
+ args: [{ providedIn: 'root' }]
108
+ }], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i1.Router }, { type: i0.ComponentFactoryResolver }, { type: i0.Compiler }, { type: i2.AXOnDemandPreloadService }, { type: i0.Injector }]; } });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9yZW5kZXIvcmVuZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGNBQWMsRUFBRSx3QkFBd0IsRUFBZ0IsVUFBVSxFQUNsRSxRQUFRLEVBQXlCLFFBQVEsRUFDNUMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBS2hGLE1BQU0sT0FBTyxlQUFlO0lBRVo7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTlosWUFDWSxNQUFzQixFQUN0QixNQUFjLEVBQ2Qsd0JBQWtELEVBQ2xELFFBQWtCLEVBQ2xCLG9CQUE4QyxFQUM5QyxRQUFrQjtRQUxsQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMEI7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5QixDQUFDO0lBSUQsZUFBZSxDQUNYLGNBQXVCLEVBQ3ZCLFVBQWUsRUFBRSxFQUNqQixRQUFrQjtRQUVsQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvRixNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUMsRUFBRTtRQUNGLE1BQU0sT0FBTyxHQUFJLFlBQVksQ0FBQyxRQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFDNUYsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxRQUFRLEVBQUU7WUFDVixRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDSCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN0QztRQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkQsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ04sT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVELDBCQUEwQixDQUFDLElBQVksRUFBRSxjQUFzQixFQUFFO1FBQzdELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNsQixNQUFNLElBQUksR0FBRyxXQUFXLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUN4QyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLElBQUksS0FBSyxHQUFVLElBQUksQ0FBQztZQUN4QixJQUFJLE9BQU8sR0FBWSxLQUFLLENBQUM7WUFDN0IsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbEIsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFO29CQUNsQixLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3JELElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTt3QkFDdEIsSUFBSSxDQUFDLE9BQU8sRUFBRTs0QkFDVixJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUM3QyxPQUFPLEdBQUcsSUFBSSxDQUFDO3lCQUNsQjt3QkFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ2Q7eUJBQ0ksSUFBSSxLQUFLLEVBQUU7d0JBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUNsQjt5QkFDSTt3QkFDRCxNQUFNLEVBQUUsQ0FBQztxQkFDWjtnQkFDTCxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDZCxDQUFDLENBQUM7WUFDRixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sS0FBSyxDQUFDLDJCQUEyQixDQUFDLE1BQU07UUFFNUMsSUFBSSxLQUFLLEdBQVUsSUFBSSxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxFQUFFO1lBQy9CLEtBQUssTUFBTSxDQUFDLElBQUksUUFBUSxFQUFFO2dCQUN0QixJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzVCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDMUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztvQkFDakcsSUFBSSxFQUFFLElBQUksTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO3dCQUNwRixLQUFLLEdBQUcsS0FBSyxDQUFDO3dCQUNkLE9BQU87cUJBQ1Y7eUJBQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO3dCQUN4RSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7cUJBQ2pGO2lCQUNKO2FBQ0o7UUFDTCxDQUFDLENBQUM7UUFFRixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2hDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO29CQUMxQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2lCQUNqQjtxQkFDSSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtvQkFDekUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM1RjtnQkFDRCxJQUFJLEtBQUs7b0JBQ0wsTUFBTTthQUNiO1NBQ0o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO3dHQWpHUSxlQUFlOzRHQUFmLGVBQWUsY0FERixNQUFNOzs0RkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSxcbiAgICBJbmplY3RvciwgRW1iZWRkZWRWaWV3UmVmLCBUeXBlLCBDb21waWxlciwgTmdNb2R1bGVGYWN0b3J5XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBWE9uRGVtYW5kUHJlbG9hZFNlcnZpY2UgfSBmcm9tICcuL29uLWRlbWFuZC1wcmVsb2FkLXN0cmF0ZWd5LnNlcnZpY2UnO1xuXG5cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFJlbmRlclNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLFxuICAgICAgICBwcml2YXRlIG1vZHVsZVByZWxvYWRTZXJ2aWNlOiBBWE9uRGVtYW5kUHJlbG9hZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgfVxuXG5cblxuICAgIGFwcGVuZENvbXBvbmVudDxUPihcbiAgICAgICAgY29tcG9uZW50Q2xhc3M6IFR5cGU8VD4sXG4gICAgICAgIG9wdGlvbnM6IGFueSA9IHt9LFxuICAgICAgICBsb2NhdGlvbj86IEVsZW1lbnQpOiBDb21wb25lbnRSZWY8YW55PiB7XG5cbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudENsYXNzKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIG9wdGlvbnMpO1xuICAgICAgICAvL1xuICAgICAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb21wb25lbnRSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChsb2NhdGlvbikge1xuICAgICAgICAgICAgbG9jYXRpb24uYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICAgICAgICB9XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSwgMCk7XG4gICAgICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gICAgfVxuXG4gICAgZmluZExvYWRlZENvbXBvbmVudEJ5Um91dGUocGF0aDogc3RyaW5nLCB0aW1lb3V0VGltZTogbnVtYmVyID0gMTApOiBQcm9taXNlPFJvdXRlPiB7XG4gICAgICAgIGNvbnN0IGRlbGF5ID0gMjAwO1xuICAgICAgICBjb25zdCBsb29wID0gdGltZW91dFRpbWUgKiAxMDAwIC8gZGVsYXk7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBsZXQgZm91bmQ6IFJvdXRlID0gbnVsbDtcbiAgICAgICAgICAgIGxldCBwcmVsb2FkOiBib29sZWFuID0gZmFsc2U7XG4gICAgICAgICAgICBjb25zdCB0aGVMb29wID0gKGkpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZm91bmQgPSBhd2FpdCB0aGlzLl9maW5kTG9hZGVkQ29tcG9uZW50QnlSb3V0ZShwYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKC0taSAmJiBmb3VuZCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZWxvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZHVsZVByZWxvYWRTZXJ2aWNlLnN0YXJ0UHJlbG9hZChwYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVsb2FkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoZUxvb3AoaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZm91bmQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCBkZWxheSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhlTG9vcChsb29wKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfZmluZExvYWRlZENvbXBvbmVudEJ5Um91dGUoc2VhcmNoKSB7XG5cbiAgICAgICAgbGV0IGZvdW5kOiBSb3V0ZSA9IG51bGw7XG4gICAgICAgIGNvbnN0IGYgPSAoY2hpbGRyZW4sIHBhcmVudFBhdGgpID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcCBpbiBjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbi5oYXNPd25Qcm9wZXJ0eShwKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb3V0ZSA9IGNoaWxkcmVuW3BdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcCA9IChyb3V0ZS5wYXRoICE9ICcnICYmIHJvdXRlLnBhdGggIT0gbnVsbCkgPyBwYXJlbnRQYXRoICsgJy8nICsgcm91dGUucGF0aCA6IHBhcmVudFBhdGg7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcCA9PSBzZWFyY2ggJiYgIXJvdXRlLl9sb2FkZWRDb25maWcgJiYgIXJvdXRlWydfbG9hZGVkUm91dGVzJ10gJiYgcm91dGUuY29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHJvdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJvdXRlLl9sb2FkZWRDb25maWcgfHwgcm91dGVbJ19sb2FkZWRSb3V0ZXMnXSB8fCByb3V0ZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZihyb3V0ZS5jaGlsZHJlbiB8fCByb3V0ZVsnX2xvYWRlZFJvdXRlcyddIHx8IHJvdXRlLl9sb2FkZWRDb25maWcucm91dGVzLCBwcCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgZm9yIChjb25zdCBwIGluIHRoaXMucm91dGVyLmNvbmZpZykge1xuICAgICAgICAgICAgaWYgKHRoaXMucm91dGVyLmNvbmZpZy5oYXNPd25Qcm9wZXJ0eShwKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdXRlID0gdGhpcy5yb3V0ZXIuY29uZmlnW3BdO1xuICAgICAgICAgICAgICAgIGlmIChyb3V0ZS5wYXRoID09PSBzZWFyY2ggJiYgcm91dGUuY29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gcm91dGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJvdXRlWydfbG9hZGVkQ29uZmlnJ10gfHwgcm91dGVbJ19sb2FkZWRSb3V0ZXMnXSB8fCByb3V0ZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICBmKHJvdXRlLmNoaWxkcmVuIHx8IHJvdXRlWydfbG9hZGVkUm91dGVzJ10gfHwgcm91dGVbJ19sb2FkZWRDb25maWcnXS5yb3V0ZXMsIHJvdXRlLnBhdGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZm91bmQpXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AXRenderService } from './render.service';
3
+ import { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';
4
+ import * as i0 from "@angular/core";
5
+ // @dynamic
6
+ export function getOnDemandPreloadServiceFactory() {
7
+ return new AXOnDemandPreloadService();
8
+ }
9
+ export class AXRenderingModule {
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXRenderingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXRenderingModule });
12
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXRenderingModule, providers: [
13
+ {
14
+ provide: AXOnDemandPreloadService,
15
+ useFactory: getOnDemandPreloadServiceFactory
16
+ },
17
+ AXRenderService
18
+ ] });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXRenderingModule, decorators: [{
21
+ type: NgModule,
22
+ args: [{
23
+ imports: [],
24
+ exports: [],
25
+ declarations: [],
26
+ providers: [
27
+ {
28
+ provide: AXOnDemandPreloadService,
29
+ useFactory: getOnDemandPreloadServiceFactory
30
+ },
31
+ AXRenderService
32
+ ],
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3JlbmRlci9yZW5kZXJpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUdoRixXQUFXO0FBQ1gsTUFBTSxVQUFVLGdDQUFnQztJQUM1QyxPQUFPLElBQUksd0JBQXdCLEVBQUUsQ0FBQztBQUMxQyxDQUFDO0FBY0QsTUFBTSxPQUFPLGlCQUFpQjt3R0FBakIsaUJBQWlCO3lHQUFqQixpQkFBaUI7eUdBQWpCLGlCQUFpQixhQVJmO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLHdCQUF3QjtnQkFDakMsVUFBVSxFQUFFLGdDQUFnQzthQUMvQztZQUNELGVBQWU7U0FDbEI7OzRGQUVRLGlCQUFpQjtrQkFaN0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSx3QkFBd0I7NEJBQ2pDLFVBQVUsRUFBRSxnQ0FBZ0M7eUJBQy9DO3dCQUNELGVBQWU7cUJBQ2xCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUmVuZGVyU2VydmljZSB9IGZyb20gJy4vcmVuZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9vbi1kZW1hbmQtcHJlbG9hZC1zdHJhdGVneS5zZXJ2aWNlJztcblxuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9uRGVtYW5kUHJlbG9hZFNlcnZpY2VGYWN0b3J5KCkge1xuICAgIHJldHVybiBuZXcgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlKCk7XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW10sXG4gICAgZXhwb3J0czogW10sXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogZ2V0T25EZW1hbmRQcmVsb2FkU2VydmljZUZhY3RvcnlcbiAgICAgICAgfSxcbiAgICAgICAgQVhSZW5kZXJTZXJ2aWNlXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSZW5kZXJpbmdNb2R1bGUge1xuXG59XG4iXX0=
@@ -0,0 +1,56 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class AXHorizontalScrollDirective {
5
+ el;
6
+ constructor(el) {
7
+ this.el = el;
8
+ }
9
+ scrollValue = 40;
10
+ onMouseWheel(e) {
11
+ const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));
12
+ this.el.nativeElement.scrollLeft -= delta * this.scrollValue;
13
+ }
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXHorizontalScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
15
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AXHorizontalScrollDirective, selector: "[horizontalScroll]", inputs: { scrollValue: ["horizontalScroll", "scrollValue"] }, host: { listeners: { "wheel": "onMouseWheel($event)" } }, ngImport: i0 });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXHorizontalScrollDirective, decorators: [{
18
+ type: Directive,
19
+ args: [{
20
+ // tslint:disable-next-line: directive-selector
21
+ selector: '[horizontalScroll]'
22
+ }]
23
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { scrollValue: [{
24
+ type: Input,
25
+ args: ['horizontalScroll']
26
+ }], onMouseWheel: [{
27
+ type: HostListener,
28
+ args: ['wheel', ['$event']]
29
+ }] } });
30
+ export class AXVerticalScrollDirective {
31
+ el;
32
+ constructor(el) {
33
+ this.el = el;
34
+ }
35
+ scrollValue = 40;
36
+ onMouseWheel(e) {
37
+ const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));
38
+ this.el.nativeElement.scrollTop -= delta * this.scrollValue;
39
+ }
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXVerticalScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
41
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AXVerticalScrollDirective, selector: "[verticalScroll]", inputs: { scrollValue: ["verticalScroll", "scrollValue"] }, host: { listeners: { "wheel": "onMouseWheel($event)" } }, ngImport: i0 });
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXVerticalScrollDirective, decorators: [{
44
+ type: Directive,
45
+ args: [{
46
+ // tslint:disable-next-line: directive-selector
47
+ selector: '[verticalScroll]'
48
+ }]
49
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { scrollValue: [{
50
+ type: Input,
51
+ args: ['verticalScroll']
52
+ }], onMouseWheel: [{
53
+ type: HostListener,
54
+ args: ['wheel', ['$event']]
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3Njcm9sbC9zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sMkJBQTJCO0lBQ2xCO0lBQXBCLFlBQW9CLEVBQTJCO1FBQTNCLE9BQUUsR0FBRixFQUFFLENBQXlCO0lBQUksQ0FBQztJQUdwRCxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBR2pCLFlBQVksQ0FBQyxDQUFDO1FBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQy9ELENBQUM7d0dBVlUsMkJBQTJCOzRGQUEzQiwyQkFBMkI7OzRGQUEzQiwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1QsK0NBQStDO29CQUMvQyxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjtpR0FLQyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUl6QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztBQVVuQyxNQUFNLE9BQU8seUJBQXlCO0lBQ2hCO0lBQXBCLFlBQW9CLEVBQTJCO1FBQTNCLE9BQUUsR0FBRixFQUFFLENBQXlCO0lBQUksQ0FBQztJQUdwRCxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBR2pCLFlBQVksQ0FBQyxDQUFDO1FBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzlELENBQUM7d0dBVlUseUJBQXlCOzRGQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsK0NBQStDO29CQUMvQyxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3QjtpR0FLQyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUl2QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tob3Jpem9udGFsU2Nyb2xsXSdcbn0pXG5leHBvcnQgY2xhc3MgQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHsgfVxuXG4gIEBJbnB1dCgnaG9yaXpvbnRhbFNjcm9sbCcpXG4gIHNjcm9sbFZhbHVlID0gNDA7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2hlZWwnLCBbJyRldmVudCddKVxuICBvbk1vdXNlV2hlZWwoZSkge1xuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoLTEsIE1hdGgubWluKDEsIGUud2hlZWxEZWx0YSB8fCAtZS5kZXRhaWwpKTtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtPSBkZWx0YSAqIHRoaXMuc2Nyb2xsVmFsdWU7XG4gIH1cbn1cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1t2ZXJ0aWNhbFNjcm9sbF0nXG59KVxuZXhwb3J0IGNsYXNzIEFYVmVydGljYWxTY3JvbGxEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PikgeyB9XG5cbiAgQElucHV0KCd2ZXJ0aWNhbFNjcm9sbCcpXG4gIHNjcm9sbFZhbHVlID0gNDA7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2hlZWwnLCBbJyRldmVudCddKVxuICBvbk1vdXNlV2hlZWwoZSkge1xuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoLTEsIE1hdGgubWluKDEsIGUud2hlZWxEZWx0YSB8fCAtZS5kZXRhaWwpKTtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wIC09IGRlbHRhICogdGhpcy5zY3JvbGxWYWx1ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXHorizontalScrollDirective, AXVerticalScrollDirective } from './scroll.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class AXScrollModule {
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXScrollModule, declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective], imports: [CommonModule], exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXScrollModule, imports: [CommonModule] });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXScrollModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective],
14
+ imports: [CommonModule],
15
+ exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective],
16
+ providers: []
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3Njcm9sbC9zY3JvbGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQVE1RixNQUFNLE9BQU8sY0FBYzt3R0FBZCxjQUFjO3lHQUFkLGNBQWMsaUJBTFYsMkJBQTJCLEVBQUUseUJBQXlCLGFBQzNELFlBQVksYUFDWiwyQkFBMkIsRUFBRSx5QkFBeUI7eUdBR3JELGNBQWMsWUFKZixZQUFZOzs0RkFJWCxjQUFjO2tCQU4xQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixDQUFDO29CQUN0RSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixDQUFDO29CQUNqRSxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlLCBBWFZlcnRpY2FsU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlLCBBWFZlcnRpY2FsU2Nyb2xsRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWEhvcml6b250YWxTY3JvbGxEaXJlY3RpdmUsIEFYVmVydGljYWxTY3JvbGxEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEFYU2Nyb2xsTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXSeparatorPipe } from './separator.pipe';
4
+ import * as i0 from "@angular/core";
5
+ export class AXSeparatorModule {
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSeparatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXSeparatorModule, declarations: [AXSeparatorPipe], imports: [CommonModule], exports: [AXSeparatorPipe] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSeparatorModule, imports: [CommonModule] });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSeparatorModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [AXSeparatorPipe],
14
+ imports: [CommonModule],
15
+ exports: [AXSeparatorPipe],
16
+ providers: []
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3NlcGFyYXRvci9zZXBhcmF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFRbkQsTUFBTSxPQUFPLGlCQUFpQjt3R0FBakIsaUJBQWlCO3lHQUFqQixpQkFBaUIsaUJBTGIsZUFBZSxhQUNwQixZQUFZLGFBQ1osZUFBZTt5R0FHZCxpQkFBaUIsWUFKbEIsWUFBWTs7NEZBSVgsaUJBQWlCO2tCQU43QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBWFNlcGFyYXRvclBpcGUgfSBmcm9tICcuL3NlcGFyYXRvci5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQVhTZXBhcmF0b3JQaXBlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWFNlcGFyYXRvclBpcGVdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEFYU2VwYXJhdG9yTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,33 @@
1
+ import { Pipe, Injectable } from '@angular/core';
2
+ import { AXConfig } from '../../services/config';
3
+ import * as i0 from "@angular/core";
4
+ // export class AXSeparatorPipe2 implements PipeTransform {
5
+ // transform(value: any) {
6
+ // if (value) {
7
+ // return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
8
+ // } else {
9
+ // return '0';
10
+ // }
11
+ // }
12
+ // }
13
+ export class AXSeparatorPipe {
14
+ transform(value, currency = '', decimal = 0, locale = AXConfig.get('layout.rtl') ? 'fa' : 'en') {
15
+ return (new Intl.NumberFormat(locale, {
16
+ minimumFractionDigits: 0,
17
+ maximumFractionDigits: decimal
18
+ }).format(Number(value)) + (currency != '' ? ' ' + currency : ''));
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSeparatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXSeparatorPipe, name: "separator" });
22
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSeparatorPipe, providedIn: 'root' });
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSeparatorPipe, decorators: [{
25
+ type: Pipe,
26
+ args: [{ name: 'separator' }]
27
+ }, {
28
+ type: Injectable,
29
+ args: [{
30
+ providedIn: 'root'
31
+ }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9zZXBhcmF0b3Ivc2VwYXJhdG9yLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFPakQsMkRBQTJEO0FBQzNELDRCQUE0QjtBQUM1QixtQkFBbUI7QUFDbkIsdUVBQXVFO0FBQ3ZFLGVBQWU7QUFDZixvQkFBb0I7QUFDcEIsUUFBUTtBQUNSLE1BQU07QUFDTixJQUFJO0FBQ0osTUFBTSxPQUFPLGVBQWU7SUFDMUIsU0FBUyxDQUFDLEtBQXNCLEVBQUUsV0FBbUIsRUFBRSxFQUFFLFVBQWtCLENBQUMsRUFBRSxTQUFpQixRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDckksT0FBTyxDQUNMLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDNUIscUJBQXFCLEVBQUUsQ0FBQztZQUN4QixxQkFBcUIsRUFBRSxPQUFPO1NBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDbEUsQ0FBQztJQUNKLENBQUM7d0dBUlUsZUFBZTtzR0FBZixlQUFlOzRHQUFmLGVBQWUsY0FaZCxNQUFNOzs0RkFZUCxlQUFlO2tCQWQzQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTs7a0JBQzFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcnO1xuXG5AUGlwZSh7IG5hbWU6ICdzZXBhcmF0b3InIH0pXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuLy8gZXhwb3J0IGNsYXNzIEFYU2VwYXJhdG9yUGlwZTIgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbi8vICAgdHJhbnNmb3JtKHZhbHVlOiBhbnkpIHtcbi8vICAgICBpZiAodmFsdWUpIHtcbi8vICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csICcsJyk7XG4vLyAgICAgfSBlbHNlIHtcbi8vICAgICAgIHJldHVybiAnMCc7XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG5leHBvcnQgY2xhc3MgQVhTZXBhcmF0b3JQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBjdXJyZW5jeTogc3RyaW5nID0gJycsIGRlY2ltYWw6IG51bWJlciA9IDAsIGxvY2FsZTogc3RyaW5nID0gQVhDb25maWcuZ2V0KCdsYXlvdXQucnRsJykgPyAnZmEnIDogJ2VuJyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChcbiAgICAgIG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGUsIHtcbiAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxuICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IGRlY2ltYWxcbiAgICAgIH0pLmZvcm1hdChOdW1iZXIodmFsdWUpKSArIChjdXJyZW5jeSAhPSAnJyA/ICcgJyArIGN1cnJlbmN5IDogJycpXG4gICAgKTtcbiAgfVxufVxuIl19