@stemy/ngx-utils 10.2.44 → 10.3.3

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/README.md +27 -27
  2. package/bundles/stemy-ngx-utils.umd.js +5654 -5640
  3. package/bundles/stemy-ngx-utils.umd.js.map +1 -1
  4. package/bundles/stemy-ngx-utils.umd.min.js +1 -1
  5. package/bundles/stemy-ngx-utils.umd.min.js.map +1 -1
  6. package/esm2015/ngx-utils/common-types.js +111 -111
  7. package/esm2015/ngx-utils/components/dynamic-table/dynamic-table.component.js +139 -139
  8. package/esm2015/ngx-utils/components/pagination-menu/pagination-menu.component.js +96 -96
  9. package/esm2015/ngx-utils/components/unordered-list/unordered-list.component.js +51 -51
  10. package/esm2015/ngx-utils/directives/async-method.directive.js +58 -58
  11. package/esm2015/ngx-utils/directives/background.directive.js +51 -51
  12. package/esm2015/ngx-utils/directives/dynamic-table-template.directive.js +19 -19
  13. package/esm2015/ngx-utils/directives/global-template.directive.js +27 -27
  14. package/esm2015/ngx-utils/directives/icon.directive.js +59 -59
  15. package/esm2015/ngx-utils/directives/ngx-template-outlet.directive.js +88 -88
  16. package/esm2015/ngx-utils/directives/pagination-item.directive.js +33 -33
  17. package/esm2015/ngx-utils/directives/pagination.directive.js +76 -71
  18. package/esm2015/ngx-utils/directives/resource-if.directive.js +51 -51
  19. package/esm2015/ngx-utils/directives/sticky-class.directive.js +35 -35
  20. package/esm2015/ngx-utils/directives/sticky.directive.js +48 -48
  21. package/esm2015/ngx-utils/directives/unordered-list-item.directive.js +70 -70
  22. package/esm2015/ngx-utils/directives/unordered-list-template.directive.js +26 -26
  23. package/esm2015/ngx-utils/ngx-utils.module.js +232 -232
  24. package/esm2015/ngx-utils/pipes/chunk.pipe.js +21 -21
  25. package/esm2015/ngx-utils/pipes/entries.pipe.js +24 -24
  26. package/esm2015/ngx-utils/pipes/extra-item-properties.pipe.js +27 -27
  27. package/esm2015/ngx-utils/pipes/filter.pipe.js +38 -38
  28. package/esm2015/ngx-utils/pipes/find.pipe.js +25 -25
  29. package/esm2015/ngx-utils/pipes/format-number.pipe.js +19 -19
  30. package/esm2015/ngx-utils/pipes/get-offset.pipe.js +13 -13
  31. package/esm2015/ngx-utils/pipes/get-type.pipe.js +12 -12
  32. package/esm2015/ngx-utils/pipes/global-template.pipe.js +35 -35
  33. package/esm2015/ngx-utils/pipes/group-by.pipe.js +23 -23
  34. package/esm2015/ngx-utils/pipes/is-type.pipe.js +12 -12
  35. package/esm2015/ngx-utils/pipes/join.pipe.js +15 -15
  36. package/esm2015/ngx-utils/pipes/keys.pipe.js +18 -18
  37. package/esm2015/ngx-utils/pipes/map.pipe.js +25 -25
  38. package/esm2015/ngx-utils/pipes/max.pipe.js +22 -22
  39. package/esm2015/ngx-utils/pipes/min.pipe.js +22 -22
  40. package/esm2015/ngx-utils/pipes/reduce.pipe.js +26 -26
  41. package/esm2015/ngx-utils/pipes/remap.pipe.js +28 -28
  42. package/esm2015/ngx-utils/pipes/replace.pipe.js +12 -12
  43. package/esm2015/ngx-utils/pipes/reverse.pipe.js +20 -20
  44. package/esm2015/ngx-utils/pipes/round.pipe.js +19 -19
  45. package/esm2015/ngx-utils/pipes/safe-html.pipe.js +32 -32
  46. package/esm2015/ngx-utils/pipes/translate.pipe.js +81 -81
  47. package/esm2015/ngx-utils/pipes/values.pipe.js +18 -18
  48. package/esm2015/ngx-utils/plugins/resize-event.plugin.js +59 -59
  49. package/esm2015/ngx-utils/plugins/scroll-event.plugin.js +52 -52
  50. package/esm2015/ngx-utils/services/acl.service.js +78 -78
  51. package/esm2015/ngx-utils/services/api.service.js +35 -35
  52. package/esm2015/ngx-utils/services/auth.service.js +14 -14
  53. package/esm2015/ngx-utils/services/base-http.client.js +46 -46
  54. package/esm2015/ngx-utils/services/base-http.service.js +274 -274
  55. package/esm2015/ngx-utils/services/config.service.js +95 -95
  56. package/esm2015/ngx-utils/services/error-handler.service.js +49 -49
  57. package/esm2015/ngx-utils/services/events.service.js +24 -24
  58. package/esm2015/ngx-utils/services/formatter.service.js +44 -44
  59. package/esm2015/ngx-utils/services/global-template.service.js +35 -35
  60. package/esm2015/ngx-utils/services/icon.service.js +24 -24
  61. package/esm2015/ngx-utils/services/language.service.js +117 -117
  62. package/esm2015/ngx-utils/services/open-api.service.js +41 -41
  63. package/esm2015/ngx-utils/services/promise.service.js +49 -49
  64. package/esm2015/ngx-utils/services/state.service.js +143 -143
  65. package/esm2015/ngx-utils/services/static-language.service.js +144 -144
  66. package/esm2015/ngx-utils/services/storage.service.js +48 -48
  67. package/esm2015/ngx-utils/services/toaster.service.js +29 -29
  68. package/esm2015/ngx-utils/services/translated-url.serializer.js +70 -70
  69. package/esm2015/ngx-utils/services/universal.service.js +73 -73
  70. package/esm2015/ngx-utils/utils/ajax-request-handler.js +40 -40
  71. package/esm2015/ngx-utils/utils/array.utils.js +100 -90
  72. package/esm2015/ngx-utils/utils/auth.guard.js +153 -153
  73. package/esm2015/ngx-utils/utils/canvas.utils.js +388 -388
  74. package/esm2015/ngx-utils/utils/date.utils.js +28 -28
  75. package/esm2015/ngx-utils/utils/file.utils.js +90 -90
  76. package/esm2015/ngx-utils/utils/generic-value.js +20 -20
  77. package/esm2015/ngx-utils/utils/geometry.js +132 -132
  78. package/esm2015/ngx-utils/utils/initializer.js +17 -17
  79. package/esm2015/ngx-utils/utils/loader.utils.js +55 -55
  80. package/esm2015/ngx-utils/utils/math.utils.js +15 -15
  81. package/esm2015/ngx-utils/utils/object.utils.js +248 -248
  82. package/esm2015/ngx-utils/utils/observable.utils.js +63 -63
  83. package/esm2015/ngx-utils/utils/reflect.utils.js +33 -33
  84. package/esm2015/ngx-utils/utils/set.utils.js +20 -20
  85. package/esm2015/ngx-utils/utils/string.utils.js +28 -28
  86. package/esm2015/ngx-utils/utils/timer.utils.js +52 -52
  87. package/esm2015/ngx-utils/utils/unique.utils.js +24 -24
  88. package/esm2015/ngx-utils/utils/vector.js +77 -77
  89. package/esm2015/public_api.js +83 -83
  90. package/esm2015/stemy-ngx-utils.js +7 -7
  91. package/fesm2015/stemy-ngx-utils.js +4552 -4537
  92. package/fesm2015/stemy-ngx-utils.js.map +1 -1
  93. package/ngx-utils/common-types.d.ts +284 -284
  94. package/ngx-utils/components/dynamic-table/dynamic-table.component.d.ts +43 -43
  95. package/ngx-utils/components/pagination-menu/pagination-menu.component.d.ts +28 -28
  96. package/ngx-utils/components/unordered-list/unordered-list.component.d.ts +22 -22
  97. package/ngx-utils/directives/async-method.directive.d.ts +16 -16
  98. package/ngx-utils/directives/background.directive.d.ts +14 -14
  99. package/ngx-utils/directives/dynamic-table-template.directive.d.ts +8 -8
  100. package/ngx-utils/directives/global-template.directive.d.ts +10 -10
  101. package/ngx-utils/directives/icon.directive.d.ts +20 -20
  102. package/ngx-utils/directives/ngx-template-outlet.directive.d.ts +14 -14
  103. package/ngx-utils/directives/pagination-item.directive.d.ts +12 -12
  104. package/ngx-utils/directives/pagination.directive.d.ts +22 -21
  105. package/ngx-utils/directives/resource-if.directive.d.ts +16 -16
  106. package/ngx-utils/directives/sticky-class.directive.d.ts +12 -12
  107. package/ngx-utils/directives/sticky.directive.d.ts +16 -16
  108. package/ngx-utils/directives/unordered-list-item.directive.d.ts +25 -25
  109. package/ngx-utils/directives/unordered-list-template.directive.d.ts +10 -10
  110. package/ngx-utils/ngx-utils.module.d.ts +76 -76
  111. package/ngx-utils/pipes/chunk.pipe.d.ts +4 -4
  112. package/ngx-utils/pipes/entries.pipe.d.ts +9 -9
  113. package/ngx-utils/pipes/extra-item-properties.pipe.d.ts +5 -5
  114. package/ngx-utils/pipes/filter.pipe.d.ts +5 -5
  115. package/ngx-utils/pipes/find.pipe.d.ts +5 -5
  116. package/ngx-utils/pipes/format-number.pipe.d.ts +7 -7
  117. package/ngx-utils/pipes/get-offset.pipe.d.ts +4 -4
  118. package/ngx-utils/pipes/get-type.pipe.d.ts +4 -4
  119. package/ngx-utils/pipes/global-template.pipe.d.ts +13 -13
  120. package/ngx-utils/pipes/group-by.pipe.d.ts +5 -5
  121. package/ngx-utils/pipes/is-type.pipe.d.ts +4 -4
  122. package/ngx-utils/pipes/join.pipe.d.ts +4 -4
  123. package/ngx-utils/pipes/keys.pipe.d.ts +4 -4
  124. package/ngx-utils/pipes/map.pipe.d.ts +5 -5
  125. package/ngx-utils/pipes/max.pipe.d.ts +4 -4
  126. package/ngx-utils/pipes/min.pipe.d.ts +4 -4
  127. package/ngx-utils/pipes/reduce.pipe.d.ts +5 -5
  128. package/ngx-utils/pipes/remap.pipe.d.ts +4 -4
  129. package/ngx-utils/pipes/replace.pipe.d.ts +4 -4
  130. package/ngx-utils/pipes/reverse.pipe.d.ts +4 -4
  131. package/ngx-utils/pipes/round.pipe.d.ts +7 -7
  132. package/ngx-utils/pipes/safe-html.pipe.d.ts +7 -7
  133. package/ngx-utils/pipes/translate.pipe.d.ts +15 -15
  134. package/ngx-utils/pipes/values.pipe.d.ts +4 -4
  135. package/ngx-utils/plugins/resize-event.plugin.d.ts +10 -10
  136. package/ngx-utils/plugins/scroll-event.plugin.d.ts +11 -11
  137. package/ngx-utils/services/acl.service.d.ts +12 -12
  138. package/ngx-utils/services/api.service.d.ts +14 -14
  139. package/ngx-utils/services/auth.service.d.ts +8 -8
  140. package/ngx-utils/services/base-http.client.d.ts +12 -12
  141. package/ngx-utils/services/base-http.service.d.ts +42 -42
  142. package/ngx-utils/services/config.service.d.ts +21 -21
  143. package/ngx-utils/services/error-handler.service.d.ts +10 -10
  144. package/ngx-utils/services/events.service.d.ts +11 -11
  145. package/ngx-utils/services/formatter.service.d.ts +12 -12
  146. package/ngx-utils/services/global-template.service.d.ts +16 -16
  147. package/ngx-utils/services/icon.service.d.ts +10 -10
  148. package/ngx-utils/services/language.service.d.ts +18 -18
  149. package/ngx-utils/services/open-api.service.d.ts +8 -8
  150. package/ngx-utils/services/promise.service.d.ts +15 -15
  151. package/ngx-utils/services/state.service.d.ts +41 -41
  152. package/ngx-utils/services/static-language.service.d.ts +41 -41
  153. package/ngx-utils/services/storage.service.d.ts +12 -12
  154. package/ngx-utils/services/toaster.service.d.ts +10 -10
  155. package/ngx-utils/services/translated-url.serializer.d.ts +16 -16
  156. package/ngx-utils/services/universal.service.d.ts +24 -24
  157. package/ngx-utils/utils/ajax-request-handler.d.ts +11 -11
  158. package/ngx-utils/utils/array.utils.d.ts +10 -9
  159. package/ngx-utils/utils/auth.guard.d.ts +26 -26
  160. package/ngx-utils/utils/canvas.utils.d.ts +13 -13
  161. package/ngx-utils/utils/date.utils.d.ts +8 -8
  162. package/ngx-utils/utils/file.utils.d.ts +14 -14
  163. package/ngx-utils/utils/generic-value.d.ts +8 -8
  164. package/ngx-utils/utils/geometry.d.ts +50 -50
  165. package/ngx-utils/utils/initializer.d.ts +11 -11
  166. package/ngx-utils/utils/loader.utils.d.ts +7 -7
  167. package/ngx-utils/utils/math.utils.d.ts +5 -5
  168. package/ngx-utils/utils/object.utils.d.ts +31 -31
  169. package/ngx-utils/utils/observable.utils.d.ts +12 -12
  170. package/ngx-utils/utils/reflect.utils.d.ts +9 -9
  171. package/ngx-utils/utils/set.utils.d.ts +4 -4
  172. package/ngx-utils/utils/string.utils.d.ts +7 -7
  173. package/ngx-utils/utils/timer.utils.d.ts +6 -6
  174. package/ngx-utils/utils/unique.utils.d.ts +5 -5
  175. package/ngx-utils/utils/vector.d.ts +23 -23
  176. package/package.json +1 -1
  177. package/public_api.d.ts +82 -82
  178. package/stemy-ngx-utils.d.ts +6 -6
  179. package/stemy-ngx-utils.metadata.json +1 -1
  180. package/tools/circular.js +116 -116
  181. package/tools/config.js +78 -78
  182. package/tools/icons.js +13 -13
@@ -1,232 +1,232 @@
1
- import { APP_INITIALIZER, ErrorHandler, NgModule } from "@angular/core";
2
- import { EVENT_MANAGER_PLUGINS } from "@angular/platform-browser";
3
- import { CommonModule } from "@angular/common";
4
- import { FormsModule } from "@angular/forms";
5
- import { UrlSerializer } from "@angular/router";
6
- import { DeviceDetectorService } from "ngx-device-detector";
7
- import { API_SERVICE, AUTH_SERVICE, CONFIG_SERVICE, ICON_SERVICE, LANGUAGE_SERVICE, PROMISE_SERVICE, TOASTER_SERVICE } from "./common-types";
8
- import { AuthGuard } from "./utils/auth.guard";
9
- import { AclService } from "./services/acl.service";
10
- import { ApiService } from "./services/api.service";
11
- import { StaticAuthService } from "./services/auth.service";
12
- import { BaseHttpClient } from "./services/base-http.client";
13
- import { BaseHttpService } from "./services/base-http.service";
14
- import { ConfigService } from "./services/config.service";
15
- import { ErrorHandlerService } from "./services/error-handler.service";
16
- import { EventsService } from "./services/events.service";
17
- import { FormatterService } from "./services/formatter.service";
18
- import { GlobalTemplateService } from "./services/global-template.service";
19
- import { IconService } from "./services/icon.service";
20
- import { LanguageService } from "./services/language.service";
21
- import { PromiseService } from "./services/promise.service";
22
- import { OpenApiService } from "./services/open-api.service";
23
- import { StateService } from "./services/state.service";
24
- import { StaticLanguageService } from "./services/static-language.service";
25
- import { StorageService } from "./services/storage.service";
26
- import { ConsoleToasterService } from "./services/toaster.service";
27
- import { TranslatedUrlSerializer } from "./services/translated-url.serializer";
28
- import { UniversalService } from "./services/universal.service";
29
- import { ResizeEventPlugin } from "./plugins/resize-event.plugin";
30
- import { ScrollEventPlugin } from "./plugins/scroll-event.plugin";
31
- import { AsyncMethodDirective } from "./directives/async-method.directive";
32
- import { BackgroundDirective } from "./directives/background.directive";
33
- import { DynamicTableTemplateDirective } from "./directives/dynamic-table-template.directive";
34
- import { GlobalTemplateDirective } from "./directives/global-template.directive";
35
- import { IconDirective } from "./directives/icon.directive";
36
- import { NgxTemplateOutletDirective } from "./directives/ngx-template-outlet.directive";
37
- import { PaginationDirective } from "./directives/pagination.directive";
38
- import { PaginationItemDirective } from "./directives/pagination-item.directive";
39
- import { ResourceIfDirective } from "./directives/resource-if.directive";
40
- import { StickyDirective } from "./directives/sticky.directive";
41
- import { StickyClassDirective } from "./directives/sticky-class.directive";
42
- import { UnorderedListItemDirective } from "./directives/unordered-list-item.directive";
43
- import { UnorderedListTemplateDirective } from "./directives/unordered-list-template.directive";
44
- import { ChunkPipe } from "./pipes/chunk.pipe";
45
- import { EntriesPipe } from "./pipes/entries.pipe";
46
- import { ExtraItemPropertiesPipe } from "./pipes/extra-item-properties.pipe";
47
- import { FilterPipe } from "./pipes/filter.pipe";
48
- import { FindPipe } from "./pipes/find.pipe";
49
- import { FormatNumberPipe } from "./pipes/format-number.pipe";
50
- import { GetOffsetPipe } from "./pipes/get-offset.pipe";
51
- import { GetTypePipe } from "./pipes/get-type.pipe";
52
- import { GlobalTemplatePipe } from "./pipes/global-template.pipe";
53
- import { GroupByPipe } from "./pipes/group-by.pipe";
54
- import { IsTypePipe } from "./pipes/is-type.pipe";
55
- import { JoinPipe } from "./pipes/join.pipe";
56
- import { KeysPipe } from "./pipes/keys.pipe";
57
- import { MapPipe } from "./pipes/map.pipe";
58
- import { MaxPipe } from "./pipes/max.pipe";
59
- import { MinPipe } from "./pipes/min.pipe";
60
- import { ReducePipe } from "./pipes/reduce.pipe";
61
- import { RemapPipe } from "./pipes/remap.pipe";
62
- import { ReplacePipe } from "./pipes/replace.pipe";
63
- import { ReversePipe } from "./pipes/reverse.pipe";
64
- import { RoundPipe } from "./pipes/round.pipe";
65
- import { SafeHtmlPipe } from "./pipes/safe-html.pipe";
66
- import { TranslatePipe } from "./pipes/translate.pipe";
67
- import { ValuesPipe } from "./pipes/values.pipe";
68
- import { DynamicTableComponent } from "./components/dynamic-table/dynamic-table.component";
69
- import { PaginationMenuComponent } from "./components/pagination-menu/pagination-menu.component";
70
- import { UnorderedListComponent } from "./components/unordered-list/unordered-list.component";
71
- // --- Pipes ---
72
- export const pipes = [
73
- ChunkPipe,
74
- EntriesPipe,
75
- ExtraItemPropertiesPipe,
76
- FilterPipe,
77
- FindPipe,
78
- FormatNumberPipe,
79
- GetOffsetPipe,
80
- GetTypePipe,
81
- GlobalTemplatePipe,
82
- GroupByPipe,
83
- IsTypePipe,
84
- JoinPipe,
85
- KeysPipe,
86
- MapPipe,
87
- MaxPipe,
88
- MinPipe,
89
- ReducePipe,
90
- RemapPipe,
91
- ReplacePipe,
92
- ReversePipe,
93
- RoundPipe,
94
- SafeHtmlPipe,
95
- TranslatePipe,
96
- ValuesPipe
97
- ];
98
- // --- Directives ---
99
- export const directives = [
100
- AsyncMethodDirective,
101
- BackgroundDirective,
102
- DynamicTableTemplateDirective,
103
- GlobalTemplateDirective,
104
- IconDirective,
105
- NgxTemplateOutletDirective,
106
- PaginationDirective,
107
- PaginationItemDirective,
108
- ResourceIfDirective,
109
- StickyDirective,
110
- StickyClassDirective,
111
- UnorderedListItemDirective,
112
- UnorderedListTemplateDirective
113
- ];
114
- // --- Components ---
115
- export const components = [
116
- DynamicTableComponent,
117
- PaginationMenuComponent,
118
- UnorderedListComponent
119
- ];
120
- export const providers = [
121
- ...pipes,
122
- BaseHttpClient,
123
- BaseHttpService,
124
- AuthGuard,
125
- AclService,
126
- ApiService,
127
- StaticAuthService,
128
- ConfigService,
129
- ErrorHandlerService,
130
- EventsService,
131
- FormatterService,
132
- GlobalTemplateService,
133
- IconService,
134
- LanguageService,
135
- OpenApiService,
136
- PromiseService,
137
- StateService,
138
- StaticLanguageService,
139
- StorageService,
140
- ConsoleToasterService,
141
- TranslatedUrlSerializer,
142
- UniversalService,
143
- DeviceDetectorService,
144
- {
145
- provide: EVENT_MANAGER_PLUGINS,
146
- useClass: ResizeEventPlugin,
147
- multi: true
148
- },
149
- {
150
- provide: EVENT_MANAGER_PLUGINS,
151
- useClass: ScrollEventPlugin,
152
- multi: true
153
- },
154
- {
155
- provide: UrlSerializer,
156
- useExisting: TranslatedUrlSerializer
157
- },
158
- {
159
- provide: ErrorHandler,
160
- useExisting: ErrorHandlerService
161
- }
162
- ];
163
- export function loadConfig(config) {
164
- return config.load;
165
- }
166
- export class NgxUtilsModule {
167
- static forRoot(config) {
168
- return {
169
- ngModule: NgxUtilsModule,
170
- providers: [
171
- ...providers,
172
- {
173
- provide: API_SERVICE,
174
- useExisting: (!config ? null : config.apiService) || ApiService
175
- },
176
- {
177
- provide: AUTH_SERVICE,
178
- useExisting: (!config ? null : config.authService) || StaticAuthService
179
- },
180
- {
181
- provide: ICON_SERVICE,
182
- useExisting: (!config ? null : config.iconService) || IconService
183
- },
184
- {
185
- provide: LANGUAGE_SERVICE,
186
- useExisting: (!config ? null : config.languageService) || StaticLanguageService
187
- },
188
- {
189
- provide: TOASTER_SERVICE,
190
- useExisting: (!config ? null : config.toasterService) || ConsoleToasterService
191
- },
192
- {
193
- provide: PROMISE_SERVICE,
194
- useExisting: (!config ? null : config.promiseService) || PromiseService
195
- },
196
- {
197
- provide: CONFIG_SERVICE,
198
- useExisting: (!config ? null : config.configService) || ConfigService
199
- },
200
- ...(config && config.configService ? [
201
- {
202
- provide: APP_INITIALIZER,
203
- useFactory: loadConfig,
204
- multi: true,
205
- deps: [CONFIG_SERVICE]
206
- }
207
- ] : [])
208
- ]
209
- };
210
- }
211
- }
212
- NgxUtilsModule.decorators = [
213
- { type: NgModule, args: [{
214
- declarations: [
215
- ...pipes,
216
- ...directives,
217
- ...components
218
- ],
219
- imports: [
220
- CommonModule,
221
- FormsModule
222
- ],
223
- exports: [
224
- ...pipes,
225
- ...directives,
226
- ...components,
227
- FormsModule
228
- ],
229
- providers: pipes
230
- },] }
231
- ];
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXV0aWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9zdGVteS9Xb3JrL25neC11dGlscy9zcmMvIiwic291cmNlcyI6WyJuZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBdUIsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE9BQU8sRUFDSCxXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxZQUFZLEVBR1osZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixlQUFlLEVBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FB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QUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksY0FBYztpQkFDMUU7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGNBQWM7b0JBQ3ZCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxhQUFhO2lCQUN4RTtnQkFDRCxHQUFHLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO29CQUNqQzt3QkFDSSxPQUFPLEVBQUUsZUFBZTt3QkFDeEIsVUFBVSxFQUFFLFVBQVU7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQztxQkFDekI7aUJBQ0osQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ1Y7U0FDSixDQUFDO0lBQ04sQ0FBQzs7O1lBOURKLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUU7b0JBQ1YsR0FBRyxLQUFLO29CQUNSLEdBQUcsVUFBVTtvQkFDYixHQUFHLFVBQVU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLFdBQVc7aUJBQ2Q7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLEdBQUcsS0FBSztvQkFDUixHQUFHLFVBQVU7b0JBQ2IsR0FBRyxVQUFVO29CQUNiLFdBQVc7aUJBQ2Q7Z0JBQ0QsU0FBUyxFQUFFLEtBQUs7YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FQUF9JTklUSUFMSVpFUiwgRXJyb3JIYW5kbGVyLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7RVZFTlRfTUFOQUdFUl9QTFVHSU5TfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtVcmxTZXJpYWxpemVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge0RldmljZURldGVjdG9yU2VydmljZX0gZnJvbSBcIm5neC1kZXZpY2UtZGV0ZWN0b3JcIjtcblxuaW1wb3J0IHtcbiAgICBBUElfU0VSVklDRSxcbiAgICBBVVRIX1NFUlZJQ0UsXG4gICAgQ09ORklHX1NFUlZJQ0UsXG4gICAgSUNPTl9TRVJWSUNFLFxuICAgIElDb25maWdTZXJ2aWNlLFxuICAgIElNb2R1bGVDb25maWcsXG4gICAgTEFOR1VBR0VfU0VSVklDRSxcbiAgICBQUk9NSVNFX1NFUlZJQ0UsXG4gICAgVE9BU1RFUl9TRVJWSUNFXG59IGZyb20gXCIuL2NvbW1vbi10eXBlc1wiO1xuXG5pbXBvcnQge0F1dGhHdWFyZH0gZnJvbSBcIi4vdXRpbHMvYXV0aC5ndWFyZFwiO1xuaW1wb3J0IHtBY2xTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hY2wuc2VydmljZVwiO1xuaW1wb3J0IHtBcGlTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xuaW1wb3J0IHtTdGF0aWNBdXRoU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XG5pbXBvcnQge0Jhc2VIdHRwQ2xpZW50fSBmcm9tIFwiLi9zZXJ2aWNlcy9iYXNlLWh0dHAuY2xpZW50XCI7XG5pbXBvcnQge0Jhc2VIdHRwU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYmFzZS1odHRwLnNlcnZpY2VcIjtcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2VcIjtcbmltcG9ydCB7RXJyb3JIYW5kbGVyU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvZXJyb3ItaGFuZGxlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0V2ZW50c1NlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlXCI7XG5pbXBvcnQge0Zvcm1hdHRlclNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0dsb2JhbFRlbXBsYXRlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvZ2xvYmFsLXRlbXBsYXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7SWNvblNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2ljb24uc2VydmljZVwiO1xuaW1wb3J0IHtMYW5ndWFnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2xhbmd1YWdlLnNlcnZpY2VcIjtcbmltcG9ydCB7UHJvbWlzZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3Byb21pc2Uuc2VydmljZVwiO1xuaW1wb3J0IHtPcGVuQXBpU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvb3Blbi1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHtTdGF0ZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3N0YXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7U3RhdGljTGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9zdGF0aWMtbGFuZ3VhZ2Uuc2VydmljZVwiO1xuaW1wb3J0IHtTdG9yYWdlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlXCI7XG5pbXBvcnQge0NvbnNvbGVUb2FzdGVyU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlXCI7XG5pbXBvcnQge1RyYW5zbGF0ZWRVcmxTZXJpYWxpemVyfSBmcm9tIFwiLi9zZXJ2aWNlcy90cmFuc2xhdGVkLXVybC5zZXJpYWxpemVyXCI7XG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3VuaXZlcnNhbC5zZXJ2aWNlXCI7XG5pbXBvcnQge1Jlc2l6ZUV2ZW50UGx1Z2lufSBmcm9tIFwiLi9wbHVnaW5zL3Jlc2l6ZS1ldmVudC5wbHVnaW5cIjtcbmltcG9ydCB7U2Nyb2xsRXZlbnRQbHVnaW59IGZyb20gXCIuL3BsdWdpbnMvc2Nyb2xsLWV2ZW50LnBsdWdpblwiO1xuaW1wb3J0IHtBc3luY01ldGhvZERpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9hc3luYy1tZXRob2QuZGlyZWN0aXZlXCI7XG5pbXBvcnQge0JhY2tncm91bmREaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvYmFja2dyb3VuZC5kaXJlY3RpdmVcIjtcbmltcG9ydCB7RHluYW1pY1RhYmxlVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvZHluYW1pYy10YWJsZS10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcbmltcG9ydCB7R2xvYmFsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvZ2xvYmFsLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHtJY29uRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2ljb24uZGlyZWN0aXZlXCI7XG5pbXBvcnQge05neFRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL25neC10ZW1wbGF0ZS1vdXRsZXQuZGlyZWN0aXZlXCI7XG5pbXBvcnQge1BhZ2luYXRpb25EaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi5kaXJlY3RpdmVcIjtcbmltcG9ydCB7UGFnaW5hdGlvbkl0ZW1EaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi1pdGVtLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHtSZXNvdXJjZUlmRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3Jlc291cmNlLWlmLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHtTdGlja3lEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvc3RpY2t5LmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHtTdGlja3lDbGFzc0RpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9zdGlja3ktY2xhc3MuZGlyZWN0aXZlXCI7XG5pbXBvcnQge1Vub3JkZXJlZExpc3RJdGVtRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LWl0ZW0uZGlyZWN0aXZlXCI7XG5pbXBvcnQge1Vub3JkZXJlZExpc3RUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy91bm9yZGVyZWQtbGlzdC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcblxuaW1wb3J0IHtDaHVua1BpcGV9IGZyb20gXCIuL3BpcGVzL2NodW5rLnBpcGVcIjtcbmltcG9ydCB7RW50cmllc1BpcGV9IGZyb20gXCIuL3BpcGVzL2VudHJpZXMucGlwZVwiO1xuaW1wb3J0IHtFeHRyYUl0ZW1Qcm9wZXJ0aWVzUGlwZX0gZnJvbSBcIi4vcGlwZXMvZXh0cmEtaXRlbS1wcm9wZXJ0aWVzLnBpcGVcIjtcbmltcG9ydCB7RmlsdGVyUGlwZX0gZnJvbSBcIi4vcGlwZXMvZmlsdGVyLnBpcGVcIjtcbmltcG9ydCB7RmluZFBpcGV9IGZyb20gXCIuL3BpcGVzL2ZpbmQucGlwZVwiO1xuaW1wb3J0IHtGb3JtYXROdW1iZXJQaXBlfSBmcm9tIFwiLi9waXBlcy9mb3JtYXQtbnVtYmVyLnBpcGVcIjtcbmltcG9ydCB7R2V0T2Zmc2V0UGlwZX0gZnJvbSBcIi4vcGlwZXMvZ2V0LW9mZnNldC5waXBlXCI7XG5pbXBvcnQge0dldFR5cGVQaXBlfSBmcm9tIFwiLi9waXBlcy9nZXQtdHlwZS5waXBlXCI7XG5pbXBvcnQge0dsb2JhbFRlbXBsYXRlUGlwZX0gZnJvbSBcIi4vcGlwZXMvZ2xvYmFsLXRlbXBsYXRlLnBpcGVcIjtcbmltcG9ydCB7R3JvdXBCeVBpcGV9IGZyb20gXCIuL3BpcGVzL2dyb3VwLWJ5LnBpcGVcIjtcbmltcG9ydCB7SXNUeXBlUGlwZX0gZnJvbSBcIi4vcGlwZXMvaXMtdHlwZS5waXBlXCI7XG5pbXBvcnQge0pvaW5QaXBlfSBmcm9tIFwiLi9waXBlcy9qb2luLnBpcGVcIjtcbmltcG9ydCB7S2V5c1BpcGV9IGZyb20gXCIuL3BpcGVzL2tleXMucGlwZVwiO1xuaW1wb3J0IHtNYXBQaXBlfSBmcm9tIFwiLi9waXBlcy9tYXAucGlwZVwiO1xuaW1wb3J0IHtNYXhQaXBlfSBmcm9tIFwiLi9waXBlcy9tYXgucGlwZVwiO1xuaW1wb3J0IHtNaW5QaXBlfSBmcm9tIFwiLi9waXBlcy9taW4ucGlwZVwiO1xuaW1wb3J0IHtSZWR1Y2VQaXBlfSBmcm9tIFwiLi9waXBlcy9yZWR1Y2UucGlwZVwiO1xuaW1wb3J0IHtSZW1hcFBpcGV9IGZyb20gXCIuL3BpcGVzL3JlbWFwLnBpcGVcIjtcbmltcG9ydCB7UmVwbGFjZVBpcGV9IGZyb20gXCIuL3BpcGVzL3JlcGxhY2UucGlwZVwiO1xuaW1wb3J0IHtSZXZlcnNlUGlwZX0gZnJvbSBcIi4vcGlwZXMvcmV2ZXJzZS5waXBlXCI7XG5pbXBvcnQge1JvdW5kUGlwZX0gZnJvbSBcIi4vcGlwZXMvcm91bmQucGlwZVwiO1xuaW1wb3J0IHtTYWZlSHRtbFBpcGV9IGZyb20gXCIuL3BpcGVzL3NhZmUtaHRtbC5waXBlXCI7XG5pbXBvcnQge1RyYW5zbGF0ZVBpcGV9IGZyb20gXCIuL3BpcGVzL3RyYW5zbGF0ZS5waXBlXCI7XG5pbXBvcnQge1ZhbHVlc1BpcGV9IGZyb20gXCIuL3BpcGVzL3ZhbHVlcy5waXBlXCI7XG5cbmltcG9ydCB7RHluYW1pY1RhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnRcIjtcbmltcG9ydCB7UGFnaW5hdGlvbk1lbnVDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvcGFnaW5hdGlvbi1tZW51L3BhZ2luYXRpb24tbWVudS5jb21wb25lbnRcIjtcbmltcG9ydCB7VW5vcmRlcmVkTGlzdENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy91bm9yZGVyZWQtbGlzdC91bm9yZGVyZWQtbGlzdC5jb21wb25lbnRcIjtcblxuLy8gLS0tIFBpcGVzIC0tLVxuZXhwb3J0IGNvbnN0IHBpcGVzID0gW1xuICAgIENodW5rUGlwZSxcbiAgICBFbnRyaWVzUGlwZSxcbiAgICBFeHRyYUl0ZW1Qcm9wZXJ0aWVzUGlwZSxcbiAgICBGaWx0ZXJQaXBlLFxuICAgIEZpbmRQaXBlLFxuICAgIEZvcm1hdE51bWJlclBpcGUsXG4gICAgR2V0T2Zmc2V0UGlwZSxcbiAgICBHZXRUeXBlUGlwZSxcbiAgICBHbG9iYWxUZW1wbGF0ZVBpcGUsXG4gICAgR3JvdXBCeVBpcGUsXG4gICAgSXNUeXBlUGlwZSxcbiAgICBKb2luUGlwZSxcbiAgICBLZXlzUGlwZSxcbiAgICBNYXBQaXBlLFxuICAgIE1heFBpcGUsXG4gICAgTWluUGlwZSxcbiAgICBSZWR1Y2VQaXBlLFxuICAgIFJlbWFwUGlwZSxcbiAgICBSZXBsYWNlUGlwZSxcbiAgICBSZXZlcnNlUGlwZSxcbiAgICBSb3VuZFBpcGUsXG4gICAgU2FmZUh0bWxQaXBlLFxuICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgVmFsdWVzUGlwZVxuXTtcblxuLy8gLS0tIERpcmVjdGl2ZXMgLS0tXG5leHBvcnQgY29uc3QgZGlyZWN0aXZlcyA9IFtcbiAgICBBc3luY01ldGhvZERpcmVjdGl2ZSxcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxuICAgIER5bmFtaWNUYWJsZVRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEdsb2JhbFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEljb25EaXJlY3RpdmUsXG4gICAgTmd4VGVtcGxhdGVPdXRsZXREaXJlY3RpdmUsXG4gICAgUGFnaW5hdGlvbkRpcmVjdGl2ZSxcbiAgICBQYWdpbmF0aW9uSXRlbURpcmVjdGl2ZSxcbiAgICBSZXNvdXJjZUlmRGlyZWN0aXZlLFxuICAgIFN0aWNreURpcmVjdGl2ZSxcbiAgICBTdGlja3lDbGFzc0RpcmVjdGl2ZSxcbiAgICBVbm9yZGVyZWRMaXN0SXRlbURpcmVjdGl2ZSxcbiAgICBVbm9yZGVyZWRMaXN0VGVtcGxhdGVEaXJlY3RpdmVcbl07XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuZXhwb3J0IGNvbnN0IGNvbXBvbmVudHMgPSBbXG4gICAgRHluYW1pY1RhYmxlQ29tcG9uZW50LFxuICAgIFBhZ2luYXRpb25NZW51Q29tcG9uZW50LFxuICAgIFVub3JkZXJlZExpc3RDb21wb25lbnRcbl07XG5cbmV4cG9ydCBjb25zdCBwcm92aWRlcnMgPSBbXG4gICAgLi4ucGlwZXMsXG4gICAgQmFzZUh0dHBDbGllbnQsXG4gICAgQmFzZUh0dHBTZXJ2aWNlLFxuICAgIEF1dGhHdWFyZCxcbiAgICBBY2xTZXJ2aWNlLFxuICAgIEFwaVNlcnZpY2UsXG4gICAgU3RhdGljQXV0aFNlcnZpY2UsXG4gICAgQ29uZmlnU2VydmljZSxcbiAgICBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgIEV2ZW50c1NlcnZpY2UsXG4gICAgRm9ybWF0dGVyU2VydmljZSxcbiAgICBHbG9iYWxUZW1wbGF0ZVNlcnZpY2UsXG4gICAgSWNvblNlcnZpY2UsXG4gICAgTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIE9wZW5BcGlTZXJ2aWNlLFxuICAgIFByb21pc2VTZXJ2aWNlLFxuICAgIFN0YXRlU2VydmljZSxcbiAgICBTdGF0aWNMYW5ndWFnZVNlcnZpY2UsXG4gICAgU3RvcmFnZVNlcnZpY2UsXG4gICAgQ29uc29sZVRvYXN0ZXJTZXJ2aWNlLFxuICAgIFRyYW5zbGF0ZWRVcmxTZXJpYWxpemVyLFxuICAgIFVuaXZlcnNhbFNlcnZpY2UsXG4gICAgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogRVZFTlRfTUFOQUdFUl9QTFVHSU5TLFxuICAgICAgICB1c2VDbGFzczogUmVzaXplRXZlbnRQbHVnaW4sXG4gICAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IEVWRU5UX01BTkFHRVJfUExVR0lOUyxcbiAgICAgICAgdXNlQ2xhc3M6IFNjcm9sbEV2ZW50UGx1Z2luLFxuICAgICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBVcmxTZXJpYWxpemVyLFxuICAgICAgICB1c2VFeGlzdGluZzogVHJhbnNsYXRlZFVybFNlcmlhbGl6ZXJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogRXJyb3JIYW5kbGVyLFxuICAgICAgICB1c2VFeGlzdGluZzogRXJyb3JIYW5kbGVyU2VydmljZVxuICAgIH1cblxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRDb25maWcoY29uZmlnOiBJQ29uZmlnU2VydmljZSk6IGFueSB7XG4gICAgcmV0dXJuIGNvbmZpZy5sb2FkO1xufVxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICAuLi5waXBlcyxcbiAgICAgICAgLi4uZGlyZWN0aXZlcyxcbiAgICAgICAgLi4uY29tcG9uZW50c1xuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIC4uLnBpcGVzLFxuICAgICAgICAuLi5kaXJlY3RpdmVzLFxuICAgICAgICAuLi5jb21wb25lbnRzLFxuICAgICAgICBGb3Jtc01vZHVsZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBwaXBlc1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hVdGlsc01vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogSU1vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4VXRpbHNNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hVdGlsc01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIC4uLnByb3ZpZGVycyxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQSV9TRVJWSUNFLFxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmFwaVNlcnZpY2UpIHx8IEFwaVNlcnZpY2VcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVVUSF9TRVJWSUNFLFxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmF1dGhTZXJ2aWNlKSB8fCBTdGF0aWNBdXRoU2VydmljZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBJQ09OX1NFUlZJQ0UsXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuaWNvblNlcnZpY2UpIHx8IEljb25TZXJ2aWNlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IExBTkdVQUdFX1NFUlZJQ0UsXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcubGFuZ3VhZ2VTZXJ2aWNlKSB8fCBTdGF0aWNMYW5ndWFnZVNlcnZpY2VcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogVE9BU1RFUl9TRVJWSUNFLFxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLnRvYXN0ZXJTZXJ2aWNlKSB8fCBDb25zb2xlVG9hc3RlclNlcnZpY2VcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUFJPTUlTRV9TRVJWSUNFLFxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLnByb21pc2VTZXJ2aWNlKSB8fCBQcm9taXNlU2VydmljZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBDT05GSUdfU0VSVklDRSxcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5jb25maWdTZXJ2aWNlKSB8fCBDb25maWdTZXJ2aWNlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAuLi4oY29uZmlnICYmIGNvbmZpZy5jb25maWdTZXJ2aWNlID8gW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBsb2FkQ29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXBzOiBbQ09ORklHX1NFUlZJQ0VdXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdIDogW10pXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
1
+ import { APP_INITIALIZER, ErrorHandler, NgModule } from "@angular/core";
2
+ import { EVENT_MANAGER_PLUGINS } from "@angular/platform-browser";
3
+ import { CommonModule } from "@angular/common";
4
+ import { FormsModule } from "@angular/forms";
5
+ import { UrlSerializer } from "@angular/router";
6
+ import { DeviceDetectorService } from "ngx-device-detector";
7
+ import { API_SERVICE, AUTH_SERVICE, CONFIG_SERVICE, ICON_SERVICE, LANGUAGE_SERVICE, PROMISE_SERVICE, TOASTER_SERVICE } from "./common-types";
8
+ import { AuthGuard } from "./utils/auth.guard";
9
+ import { AclService } from "./services/acl.service";
10
+ import { ApiService } from "./services/api.service";
11
+ import { StaticAuthService } from "./services/auth.service";
12
+ import { BaseHttpClient } from "./services/base-http.client";
13
+ import { BaseHttpService } from "./services/base-http.service";
14
+ import { ConfigService } from "./services/config.service";
15
+ import { ErrorHandlerService } from "./services/error-handler.service";
16
+ import { EventsService } from "./services/events.service";
17
+ import { FormatterService } from "./services/formatter.service";
18
+ import { GlobalTemplateService } from "./services/global-template.service";
19
+ import { IconService } from "./services/icon.service";
20
+ import { LanguageService } from "./services/language.service";
21
+ import { PromiseService } from "./services/promise.service";
22
+ import { OpenApiService } from "./services/open-api.service";
23
+ import { StateService } from "./services/state.service";
24
+ import { StaticLanguageService } from "./services/static-language.service";
25
+ import { StorageService } from "./services/storage.service";
26
+ import { ConsoleToasterService } from "./services/toaster.service";
27
+ import { TranslatedUrlSerializer } from "./services/translated-url.serializer";
28
+ import { UniversalService } from "./services/universal.service";
29
+ import { ResizeEventPlugin } from "./plugins/resize-event.plugin";
30
+ import { ScrollEventPlugin } from "./plugins/scroll-event.plugin";
31
+ import { AsyncMethodDirective } from "./directives/async-method.directive";
32
+ import { BackgroundDirective } from "./directives/background.directive";
33
+ import { DynamicTableTemplateDirective } from "./directives/dynamic-table-template.directive";
34
+ import { GlobalTemplateDirective } from "./directives/global-template.directive";
35
+ import { IconDirective } from "./directives/icon.directive";
36
+ import { NgxTemplateOutletDirective } from "./directives/ngx-template-outlet.directive";
37
+ import { PaginationDirective } from "./directives/pagination.directive";
38
+ import { PaginationItemDirective } from "./directives/pagination-item.directive";
39
+ import { ResourceIfDirective } from "./directives/resource-if.directive";
40
+ import { StickyDirective } from "./directives/sticky.directive";
41
+ import { StickyClassDirective } from "./directives/sticky-class.directive";
42
+ import { UnorderedListItemDirective } from "./directives/unordered-list-item.directive";
43
+ import { UnorderedListTemplateDirective } from "./directives/unordered-list-template.directive";
44
+ import { ChunkPipe } from "./pipes/chunk.pipe";
45
+ import { EntriesPipe } from "./pipes/entries.pipe";
46
+ import { ExtraItemPropertiesPipe } from "./pipes/extra-item-properties.pipe";
47
+ import { FilterPipe } from "./pipes/filter.pipe";
48
+ import { FindPipe } from "./pipes/find.pipe";
49
+ import { FormatNumberPipe } from "./pipes/format-number.pipe";
50
+ import { GetOffsetPipe } from "./pipes/get-offset.pipe";
51
+ import { GetTypePipe } from "./pipes/get-type.pipe";
52
+ import { GlobalTemplatePipe } from "./pipes/global-template.pipe";
53
+ import { GroupByPipe } from "./pipes/group-by.pipe";
54
+ import { IsTypePipe } from "./pipes/is-type.pipe";
55
+ import { JoinPipe } from "./pipes/join.pipe";
56
+ import { KeysPipe } from "./pipes/keys.pipe";
57
+ import { MapPipe } from "./pipes/map.pipe";
58
+ import { MaxPipe } from "./pipes/max.pipe";
59
+ import { MinPipe } from "./pipes/min.pipe";
60
+ import { ReducePipe } from "./pipes/reduce.pipe";
61
+ import { RemapPipe } from "./pipes/remap.pipe";
62
+ import { ReplacePipe } from "./pipes/replace.pipe";
63
+ import { ReversePipe } from "./pipes/reverse.pipe";
64
+ import { RoundPipe } from "./pipes/round.pipe";
65
+ import { SafeHtmlPipe } from "./pipes/safe-html.pipe";
66
+ import { TranslatePipe } from "./pipes/translate.pipe";
67
+ import { ValuesPipe } from "./pipes/values.pipe";
68
+ import { DynamicTableComponent } from "./components/dynamic-table/dynamic-table.component";
69
+ import { PaginationMenuComponent } from "./components/pagination-menu/pagination-menu.component";
70
+ import { UnorderedListComponent } from "./components/unordered-list/unordered-list.component";
71
+ // --- Pipes ---
72
+ export const pipes = [
73
+ ChunkPipe,
74
+ EntriesPipe,
75
+ ExtraItemPropertiesPipe,
76
+ FilterPipe,
77
+ FindPipe,
78
+ FormatNumberPipe,
79
+ GetOffsetPipe,
80
+ GetTypePipe,
81
+ GlobalTemplatePipe,
82
+ GroupByPipe,
83
+ IsTypePipe,
84
+ JoinPipe,
85
+ KeysPipe,
86
+ MapPipe,
87
+ MaxPipe,
88
+ MinPipe,
89
+ ReducePipe,
90
+ RemapPipe,
91
+ ReplacePipe,
92
+ ReversePipe,
93
+ RoundPipe,
94
+ SafeHtmlPipe,
95
+ TranslatePipe,
96
+ ValuesPipe
97
+ ];
98
+ // --- Directives ---
99
+ export const directives = [
100
+ AsyncMethodDirective,
101
+ BackgroundDirective,
102
+ DynamicTableTemplateDirective,
103
+ GlobalTemplateDirective,
104
+ IconDirective,
105
+ NgxTemplateOutletDirective,
106
+ PaginationDirective,
107
+ PaginationItemDirective,
108
+ ResourceIfDirective,
109
+ StickyDirective,
110
+ StickyClassDirective,
111
+ UnorderedListItemDirective,
112
+ UnorderedListTemplateDirective
113
+ ];
114
+ // --- Components ---
115
+ export const components = [
116
+ DynamicTableComponent,
117
+ PaginationMenuComponent,
118
+ UnorderedListComponent
119
+ ];
120
+ export const providers = [
121
+ ...pipes,
122
+ BaseHttpClient,
123
+ BaseHttpService,
124
+ AuthGuard,
125
+ AclService,
126
+ ApiService,
127
+ StaticAuthService,
128
+ ConfigService,
129
+ ErrorHandlerService,
130
+ EventsService,
131
+ FormatterService,
132
+ GlobalTemplateService,
133
+ IconService,
134
+ LanguageService,
135
+ OpenApiService,
136
+ PromiseService,
137
+ StateService,
138
+ StaticLanguageService,
139
+ StorageService,
140
+ ConsoleToasterService,
141
+ TranslatedUrlSerializer,
142
+ UniversalService,
143
+ DeviceDetectorService,
144
+ {
145
+ provide: EVENT_MANAGER_PLUGINS,
146
+ useClass: ResizeEventPlugin,
147
+ multi: true
148
+ },
149
+ {
150
+ provide: EVENT_MANAGER_PLUGINS,
151
+ useClass: ScrollEventPlugin,
152
+ multi: true
153
+ },
154
+ {
155
+ provide: UrlSerializer,
156
+ useExisting: TranslatedUrlSerializer
157
+ },
158
+ {
159
+ provide: ErrorHandler,
160
+ useExisting: ErrorHandlerService
161
+ }
162
+ ];
163
+ export function loadConfig(config) {
164
+ return config.load;
165
+ }
166
+ export class NgxUtilsModule {
167
+ static forRoot(config) {
168
+ return {
169
+ ngModule: NgxUtilsModule,
170
+ providers: [
171
+ ...providers,
172
+ {
173
+ provide: API_SERVICE,
174
+ useExisting: (!config ? null : config.apiService) || ApiService
175
+ },
176
+ {
177
+ provide: AUTH_SERVICE,
178
+ useExisting: (!config ? null : config.authService) || StaticAuthService
179
+ },
180
+ {
181
+ provide: ICON_SERVICE,
182
+ useExisting: (!config ? null : config.iconService) || IconService
183
+ },
184
+ {
185
+ provide: LANGUAGE_SERVICE,
186
+ useExisting: (!config ? null : config.languageService) || StaticLanguageService
187
+ },
188
+ {
189
+ provide: TOASTER_SERVICE,
190
+ useExisting: (!config ? null : config.toasterService) || ConsoleToasterService
191
+ },
192
+ {
193
+ provide: PROMISE_SERVICE,
194
+ useExisting: (!config ? null : config.promiseService) || PromiseService
195
+ },
196
+ {
197
+ provide: CONFIG_SERVICE,
198
+ useExisting: (!config ? null : config.configService) || ConfigService
199
+ },
200
+ ...(config && config.configService ? [
201
+ {
202
+ provide: APP_INITIALIZER,
203
+ useFactory: loadConfig,
204
+ multi: true,
205
+ deps: [CONFIG_SERVICE]
206
+ }
207
+ ] : [])
208
+ ]
209
+ };
210
+ }
211
+ }
212
+ NgxUtilsModule.decorators = [
213
+ { type: NgModule, args: [{
214
+ declarations: [
215
+ ...pipes,
216
+ ...directives,
217
+ ...components
218
+ ],
219
+ imports: [
220
+ CommonModule,
221
+ FormsModule
222
+ ],
223
+ exports: [
224
+ ...pipes,
225
+ ...directives,
226
+ ...components,
227
+ FormsModule
228
+ ],
229
+ providers: pipes
230
+ },] }
231
+ ];
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXV0aWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJEOi9Xb3JrL25neC11dGlscy9zcmMvIiwic291cmNlcyI6WyJuZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBdUIsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE9BQU8sRUFDSCxXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxZQUFZLEVBR1osZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixlQUFlLEVBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFDLGFB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SUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksY0FBYztpQkFDMUU7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGNBQWM7b0JBQ3ZCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxhQUFhO2lCQUN4RTtnQkFDRCxHQUFHLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO29CQUNqQzt3QkFDSSxPQUFPLEVBQUUsZUFBZTt3QkFDeEIsVUFBVSxFQUFFLFVBQVU7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQztxQkFDekI7aUJBQ0osQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ1Y7U0FDSixDQUFDO0lBQ04sQ0FBQzs7O1lBOURKLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUU7b0JBQ1YsR0FBRyxLQUFLO29CQUNSLEdBQUcsVUFBVTtvQkFDYixHQUFHLFVBQVU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLFdBQVc7aUJBQ2Q7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLEdBQUcsS0FBSztvQkFDUixHQUFHLFVBQVU7b0JBQ2IsR0FBRyxVQUFVO29CQUNiLFdBQVc7aUJBQ2Q7Z0JBQ0QsU0FBUyxFQUFFLEtBQUs7YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FQUF9JTklUSUFMSVpFUiwgRXJyb3JIYW5kbGVyLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtFVkVOVF9NQU5BR0VSX1BMVUdJTlN9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge1VybFNlcmlhbGl6ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtEZXZpY2VEZXRlY3RvclNlcnZpY2V9IGZyb20gXCJuZ3gtZGV2aWNlLWRldGVjdG9yXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQVBJX1NFUlZJQ0UsXHJcbiAgICBBVVRIX1NFUlZJQ0UsXHJcbiAgICBDT05GSUdfU0VSVklDRSxcclxuICAgIElDT05fU0VSVklDRSxcclxuICAgIElDb25maWdTZXJ2aWNlLFxyXG4gICAgSU1vZHVsZUNvbmZpZyxcclxuICAgIExBTkdVQUdFX1NFUlZJQ0UsXHJcbiAgICBQUk9NSVNFX1NFUlZJQ0UsXHJcbiAgICBUT0FTVEVSX1NFUlZJQ0VcclxufSBmcm9tIFwiLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbmltcG9ydCB7QXV0aEd1YXJkfSBmcm9tIFwiLi91dGlscy9hdXRoLmd1YXJkXCI7XHJcbmltcG9ydCB7QWNsU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYWNsLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBcGlTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0YXRpY0F1dGhTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtCYXNlSHR0cENsaWVudH0gZnJvbSBcIi4vc2VydmljZXMvYmFzZS1odHRwLmNsaWVudFwiO1xyXG5pbXBvcnQge0Jhc2VIdHRwU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYmFzZS1odHRwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZVwiO1xyXG5pbXBvcnQge0Vycm9ySGFuZGxlclNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2Vycm9yLWhhbmRsZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge0V2ZW50c1NlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Rm9ybWF0dGVyU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvZm9ybWF0dGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtHbG9iYWxUZW1wbGF0ZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2dsb2JhbC10ZW1wbGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvblNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2ljb24uc2VydmljZVwiO1xyXG5pbXBvcnQge0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge1Byb21pc2VTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9wcm9taXNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtPcGVuQXBpU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvb3Blbi1hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0YXRlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvc3RhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0YXRpY0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvc3RhdGljLWxhbmd1YWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdG9yYWdlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q29uc29sZVRvYXN0ZXJTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy90b2FzdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2xhdGVkVXJsU2VyaWFsaXplcn0gZnJvbSBcIi4vc2VydmljZXMvdHJhbnNsYXRlZC11cmwuc2VyaWFsaXplclwiO1xyXG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3VuaXZlcnNhbC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UmVzaXplRXZlbnRQbHVnaW59IGZyb20gXCIuL3BsdWdpbnMvcmVzaXplLWV2ZW50LnBsdWdpblwiO1xyXG5pbXBvcnQge1Njcm9sbEV2ZW50UGx1Z2lufSBmcm9tIFwiLi9wbHVnaW5zL3Njcm9sbC1ldmVudC5wbHVnaW5cIjtcclxuaW1wb3J0IHtBc3luY01ldGhvZERpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9hc3luYy1tZXRob2QuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7QmFja2dyb3VuZERpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9iYWNrZ3JvdW5kLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge0R5bmFtaWNUYWJsZVRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2R5bmFtaWMtdGFibGUtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7R2xvYmFsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvZ2xvYmFsLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge0ljb25EaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtOZ3hUZW1wbGF0ZU91dGxldERpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9uZ3gtdGVtcGxhdGUtb3V0bGV0LmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1BhZ2luYXRpb25EaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtQYWdpbmF0aW9uSXRlbURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9wYWdpbmF0aW9uLWl0ZW0uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7UmVzb3VyY2VJZkRpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9yZXNvdXJjZS1pZi5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtTdGlja3lEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvc3RpY2t5LmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1N0aWNreUNsYXNzRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3N0aWNreS1jbGFzcy5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtVbm9yZGVyZWRMaXN0SXRlbURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy91bm9yZGVyZWQtbGlzdC1pdGVtLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1Vub3JkZXJlZExpc3RUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy91bm9yZGVyZWQtbGlzdC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuXHJcbmltcG9ydCB7Q2h1bmtQaXBlfSBmcm9tIFwiLi9waXBlcy9jaHVuay5waXBlXCI7XHJcbmltcG9ydCB7RW50cmllc1BpcGV9IGZyb20gXCIuL3BpcGVzL2VudHJpZXMucGlwZVwiO1xyXG5pbXBvcnQge0V4dHJhSXRlbVByb3BlcnRpZXNQaXBlfSBmcm9tIFwiLi9waXBlcy9leHRyYS1pdGVtLXByb3BlcnRpZXMucGlwZVwiO1xyXG5pbXBvcnQge0ZpbHRlclBpcGV9IGZyb20gXCIuL3BpcGVzL2ZpbHRlci5waXBlXCI7XHJcbmltcG9ydCB7RmluZFBpcGV9IGZyb20gXCIuL3BpcGVzL2ZpbmQucGlwZVwiO1xyXG5pbXBvcnQge0Zvcm1hdE51bWJlclBpcGV9IGZyb20gXCIuL3BpcGVzL2Zvcm1hdC1udW1iZXIucGlwZVwiO1xyXG5pbXBvcnQge0dldE9mZnNldFBpcGV9IGZyb20gXCIuL3BpcGVzL2dldC1vZmZzZXQucGlwZVwiO1xyXG5pbXBvcnQge0dldFR5cGVQaXBlfSBmcm9tIFwiLi9waXBlcy9nZXQtdHlwZS5waXBlXCI7XHJcbmltcG9ydCB7R2xvYmFsVGVtcGxhdGVQaXBlfSBmcm9tIFwiLi9waXBlcy9nbG9iYWwtdGVtcGxhdGUucGlwZVwiO1xyXG5pbXBvcnQge0dyb3VwQnlQaXBlfSBmcm9tIFwiLi9waXBlcy9ncm91cC1ieS5waXBlXCI7XHJcbmltcG9ydCB7SXNUeXBlUGlwZX0gZnJvbSBcIi4vcGlwZXMvaXMtdHlwZS5waXBlXCI7XHJcbmltcG9ydCB7Sm9pblBpcGV9IGZyb20gXCIuL3BpcGVzL2pvaW4ucGlwZVwiO1xyXG5pbXBvcnQge0tleXNQaXBlfSBmcm9tIFwiLi9waXBlcy9rZXlzLnBpcGVcIjtcclxuaW1wb3J0IHtNYXBQaXBlfSBmcm9tIFwiLi9waXBlcy9tYXAucGlwZVwiO1xyXG5pbXBvcnQge01heFBpcGV9IGZyb20gXCIuL3BpcGVzL21heC5waXBlXCI7XHJcbmltcG9ydCB7TWluUGlwZX0gZnJvbSBcIi4vcGlwZXMvbWluLnBpcGVcIjtcclxuaW1wb3J0IHtSZWR1Y2VQaXBlfSBmcm9tIFwiLi9waXBlcy9yZWR1Y2UucGlwZVwiO1xyXG5pbXBvcnQge1JlbWFwUGlwZX0gZnJvbSBcIi4vcGlwZXMvcmVtYXAucGlwZVwiO1xyXG5pbXBvcnQge1JlcGxhY2VQaXBlfSBmcm9tIFwiLi9waXBlcy9yZXBsYWNlLnBpcGVcIjtcclxuaW1wb3J0IHtSZXZlcnNlUGlwZX0gZnJvbSBcIi4vcGlwZXMvcmV2ZXJzZS5waXBlXCI7XHJcbmltcG9ydCB7Um91bmRQaXBlfSBmcm9tIFwiLi9waXBlcy9yb3VuZC5waXBlXCI7XHJcbmltcG9ydCB7U2FmZUh0bWxQaXBlfSBmcm9tIFwiLi9waXBlcy9zYWZlLWh0bWwucGlwZVwiO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVBpcGV9IGZyb20gXCIuL3BpcGVzL3RyYW5zbGF0ZS5waXBlXCI7XHJcbmltcG9ydCB7VmFsdWVzUGlwZX0gZnJvbSBcIi4vcGlwZXMvdmFsdWVzLnBpcGVcIjtcclxuXHJcbmltcG9ydCB7RHluYW1pY1RhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtQYWdpbmF0aW9uTWVudUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9wYWdpbmF0aW9uLW1lbnUvcGFnaW5hdGlvbi1tZW51LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1Vub3JkZXJlZExpc3RDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvdW5vcmRlcmVkLWxpc3QvdW5vcmRlcmVkLWxpc3QuY29tcG9uZW50XCI7XHJcblxyXG4vLyAtLS0gUGlwZXMgLS0tXHJcbmV4cG9ydCBjb25zdCBwaXBlcyA9IFtcclxuICAgIENodW5rUGlwZSxcclxuICAgIEVudHJpZXNQaXBlLFxyXG4gICAgRXh0cmFJdGVtUHJvcGVydGllc1BpcGUsXHJcbiAgICBGaWx0ZXJQaXBlLFxyXG4gICAgRmluZFBpcGUsXHJcbiAgICBGb3JtYXROdW1iZXJQaXBlLFxyXG4gICAgR2V0T2Zmc2V0UGlwZSxcclxuICAgIEdldFR5cGVQaXBlLFxyXG4gICAgR2xvYmFsVGVtcGxhdGVQaXBlLFxyXG4gICAgR3JvdXBCeVBpcGUsXHJcbiAgICBJc1R5cGVQaXBlLFxyXG4gICAgSm9pblBpcGUsXHJcbiAgICBLZXlzUGlwZSxcclxuICAgIE1hcFBpcGUsXHJcbiAgICBNYXhQaXBlLFxyXG4gICAgTWluUGlwZSxcclxuICAgIFJlZHVjZVBpcGUsXHJcbiAgICBSZW1hcFBpcGUsXHJcbiAgICBSZXBsYWNlUGlwZSxcclxuICAgIFJldmVyc2VQaXBlLFxyXG4gICAgUm91bmRQaXBlLFxyXG4gICAgU2FmZUh0bWxQaXBlLFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICAgIFZhbHVlc1BpcGVcclxuXTtcclxuXHJcbi8vIC0tLSBEaXJlY3RpdmVzIC0tLVxyXG5leHBvcnQgY29uc3QgZGlyZWN0aXZlcyA9IFtcclxuICAgIEFzeW5jTWV0aG9kRGlyZWN0aXZlLFxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIER5bmFtaWNUYWJsZVRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gICAgR2xvYmFsVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICBJY29uRGlyZWN0aXZlLFxyXG4gICAgTmd4VGVtcGxhdGVPdXRsZXREaXJlY3RpdmUsXHJcbiAgICBQYWdpbmF0aW9uRGlyZWN0aXZlLFxyXG4gICAgUGFnaW5hdGlvbkl0ZW1EaXJlY3RpdmUsXHJcbiAgICBSZXNvdXJjZUlmRGlyZWN0aXZlLFxyXG4gICAgU3RpY2t5RGlyZWN0aXZlLFxyXG4gICAgU3RpY2t5Q2xhc3NEaXJlY3RpdmUsXHJcbiAgICBVbm9yZGVyZWRMaXN0SXRlbURpcmVjdGl2ZSxcclxuICAgIFVub3JkZXJlZExpc3RUZW1wbGF0ZURpcmVjdGl2ZVxyXG5dO1xyXG5cclxuLy8gLS0tIENvbXBvbmVudHMgLS0tXHJcbmV4cG9ydCBjb25zdCBjb21wb25lbnRzID0gW1xyXG4gICAgRHluYW1pY1RhYmxlQ29tcG9uZW50LFxyXG4gICAgUGFnaW5hdGlvbk1lbnVDb21wb25lbnQsXHJcbiAgICBVbm9yZGVyZWRMaXN0Q29tcG9uZW50XHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgcHJvdmlkZXJzID0gW1xyXG4gICAgLi4ucGlwZXMsXHJcbiAgICBCYXNlSHR0cENsaWVudCxcclxuICAgIEJhc2VIdHRwU2VydmljZSxcclxuICAgIEF1dGhHdWFyZCxcclxuICAgIEFjbFNlcnZpY2UsXHJcbiAgICBBcGlTZXJ2aWNlLFxyXG4gICAgU3RhdGljQXV0aFNlcnZpY2UsXHJcbiAgICBDb25maWdTZXJ2aWNlLFxyXG4gICAgRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICAgIEV2ZW50c1NlcnZpY2UsXHJcbiAgICBGb3JtYXR0ZXJTZXJ2aWNlLFxyXG4gICAgR2xvYmFsVGVtcGxhdGVTZXJ2aWNlLFxyXG4gICAgSWNvblNlcnZpY2UsXHJcbiAgICBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBPcGVuQXBpU2VydmljZSxcclxuICAgIFByb21pc2VTZXJ2aWNlLFxyXG4gICAgU3RhdGVTZXJ2aWNlLFxyXG4gICAgU3RhdGljTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBDb25zb2xlVG9hc3RlclNlcnZpY2UsXHJcbiAgICBUcmFuc2xhdGVkVXJsU2VyaWFsaXplcixcclxuICAgIFVuaXZlcnNhbFNlcnZpY2UsXHJcbiAgICBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogRVZFTlRfTUFOQUdFUl9QTFVHSU5TLFxyXG4gICAgICAgIHVzZUNsYXNzOiBSZXNpemVFdmVudFBsdWdpbixcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwcm92aWRlOiBFVkVOVF9NQU5BR0VSX1BMVUdJTlMsXHJcbiAgICAgICAgdXNlQ2xhc3M6IFNjcm9sbEV2ZW50UGx1Z2luLFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHByb3ZpZGU6IFVybFNlcmlhbGl6ZXIsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IFRyYW5zbGF0ZWRVcmxTZXJpYWxpemVyXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHByb3ZpZGU6IEVycm9ySGFuZGxlcixcclxuICAgICAgICB1c2VFeGlzdGluZzogRXJyb3JIYW5kbGVyU2VydmljZVxyXG4gICAgfVxyXG5cclxuXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkQ29uZmlnKGNvbmZpZzogSUNvbmZpZ1NlcnZpY2UpOiBhbnkge1xyXG4gICAgcmV0dXJuIGNvbmZpZy5sb2FkO1xyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgLi4ucGlwZXMsXHJcbiAgICAgICAgLi4uZGlyZWN0aXZlcyxcclxuICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZVxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICAuLi5waXBlcyxcclxuICAgICAgICAuLi5kaXJlY3RpdmVzLFxyXG4gICAgICAgIC4uLmNvbXBvbmVudHMsXHJcbiAgICAgICAgRm9ybXNNb2R1bGVcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IHBpcGVzXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hVdGlsc01vZHVsZSB7XHJcbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBJTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hVdGlsc01vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hVdGlsc01vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICAuLi5wcm92aWRlcnMsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBJX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5hcGlTZXJ2aWNlKSB8fCBBcGlTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFVVEhfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmF1dGhTZXJ2aWNlKSB8fCBTdGF0aWNBdXRoU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBJQ09OX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5pY29uU2VydmljZSkgfHwgSWNvblNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTEFOR1VBR0VfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmxhbmd1YWdlU2VydmljZSkgfHwgU3RhdGljTGFuZ3VhZ2VTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFRPQVNURVJfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLnRvYXN0ZXJTZXJ2aWNlKSB8fCBDb25zb2xlVG9hc3RlclNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUFJPTUlTRV9TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcucHJvbWlzZVNlcnZpY2UpIHx8IFByb21pc2VTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IENPTkZJR19TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuY29uZmlnU2VydmljZSkgfHwgQ29uZmlnU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIC4uLihjb25maWcgJiYgY29uZmlnLmNvbmZpZ1NlcnZpY2UgPyBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvYWRDb25maWcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXBzOiBbQ09ORklHX1NFUlZJQ0VdXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXSA6IFtdKVxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,21 +1,21 @@
1
- import { Pipe } from "@angular/core";
2
- export class ChunkPipe {
3
- transform(items, count) {
4
- const result = [];
5
- let subResult = null;
6
- items.forEach((item, index) => {
7
- if (index % count == 0) {
8
- subResult = [];
9
- result.push(subResult);
10
- }
11
- subResult.push(item);
12
- });
13
- return result;
14
- }
15
- }
16
- ChunkPipe.decorators = [
17
- { type: Pipe, args: [{
18
- name: "chunk"
19
- },] }
20
- ];
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmsucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9zdGVteS9Xb3JrL25neC11dGlscy9zcmMvIiwic291cmNlcyI6WyJuZ3gtdXRpbHMvcGlwZXMvY2h1bmsucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUtsRCxNQUFNLE9BQU8sU0FBUztJQUNsQixTQUFTLENBQUMsS0FBWSxFQUFFLEtBQWE7UUFDakMsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLElBQUksU0FBUyxHQUFVLElBQUksQ0FBQztRQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzFCLElBQUksS0FBSyxHQUFHLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ3BCLFNBQVMsR0FBRyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxQjtZQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzs7WUFmSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLE9BQU87YUFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiBcImNodW5rXCJcbn0pXG5leHBvcnQgY2xhc3MgQ2h1bmtQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGl0ZW1zOiBhbnlbXSwgY291bnQ6IG51bWJlcik6IGFueVtdIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdO1xuICAgICAgICBsZXQgc3ViUmVzdWx0OiBhbnlbXSA9IG51bGw7XG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5kZXggJSBjb3VudCA9PSAwKSB7XG4gICAgICAgICAgICAgICAgc3ViUmVzdWx0ID0gW107XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goc3ViUmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1YlJlc3VsdC5wdXNoKGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXX0=
1
+ import { Pipe } from "@angular/core";
2
+ export class ChunkPipe {
3
+ transform(items, count) {
4
+ const result = [];
5
+ let subResult = null;
6
+ items.forEach((item, index) => {
7
+ if (index % count == 0) {
8
+ subResult = [];
9
+ result.push(subResult);
10
+ }
11
+ subResult.push(item);
12
+ });
13
+ return result;
14
+ }
15
+ }
16
+ ChunkPipe.decorators = [
17
+ { type: Pipe, args: [{
18
+ name: "chunk"
19
+ },] }
20
+ ];
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmsucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJEOi9Xb3JrL25neC11dGlscy9zcmMvIiwic291cmNlcyI6WyJuZ3gtdXRpbHMvcGlwZXMvY2h1bmsucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUtsRCxNQUFNLE9BQU8sU0FBUztJQUNsQixTQUFTLENBQUMsS0FBWSxFQUFFLEtBQWE7UUFDakMsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLElBQUksU0FBUyxHQUFVLElBQUksQ0FBQztRQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzFCLElBQUksS0FBSyxHQUFHLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ3BCLFNBQVMsR0FBRyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxQjtZQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzs7WUFmSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLE9BQU87YUFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImNodW5rXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIENodW5rUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKGl0ZW1zOiBhbnlbXSwgY291bnQ6IG51bWJlcik6IGFueVtdIHtcclxuICAgICAgICBjb25zdCByZXN1bHQ6IGFueVtdID0gW107XHJcbiAgICAgICAgbGV0IHN1YlJlc3VsdDogYW55W10gPSBudWxsO1xyXG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCAlIGNvdW50ID09IDApIHtcclxuICAgICAgICAgICAgICAgIHN1YlJlc3VsdCA9IFtdO1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goc3ViUmVzdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdWJSZXN1bHQucHVzaChpdGVtKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==