@angular/material 19.0.0-next.0 → 19.0.0-next.10

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 (836) hide show
  1. package/_index.scss +7 -7
  2. package/autocomplete/_autocomplete-theme.scss +37 -24
  3. package/autocomplete/index.d.ts +5 -15
  4. package/badge/_badge-theme.scss +38 -24
  5. package/badge/index.d.ts +3 -7
  6. package/bottom-sheet/_bottom-sheet-theme.scss +32 -20
  7. package/bottom-sheet/index.d.ts +5 -15
  8. package/button/_button-base.scss +2 -4
  9. package/button/_button-theme.scss +229 -105
  10. package/button/_fab-theme.scss +95 -44
  11. package/button/_icon-button-theme.scss +38 -25
  12. package/button/index.d.ts +24 -36
  13. package/button-toggle/_button-toggle-theme.scss +62 -37
  14. package/button-toggle/index.d.ts +5 -8
  15. package/card/_card-theme.scss +79 -38
  16. package/card/index.d.ts +2 -2
  17. package/checkbox/_checkbox-common.scss +9 -9
  18. package/checkbox/_checkbox-theme.scss +16 -10
  19. package/checkbox/index.d.ts +16 -14
  20. package/chips/_chips-theme.scss +64 -30
  21. package/chips/index.d.ts +19 -35
  22. package/core/_core-theme.scss +59 -55
  23. package/core/_core.scss +23 -12
  24. package/core/focus-indicators/_private.scss +21 -82
  25. package/core/index.d.ts +116 -200
  26. package/core/option/_optgroup-theme.scss +29 -18
  27. package/core/option/_option-theme.scss +34 -21
  28. package/core/ripple/_ripple-theme.scss +33 -21
  29. package/core/ripple/_ripple.scss +1 -1
  30. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +54 -27
  31. package/core/style/_elevation.scss +1 -1
  32. package/core/style/_list-common.scss +2 -2
  33. package/core/style/_menu-common.scss +2 -1
  34. package/core/style/_sass-utils.scss +4 -0
  35. package/core/theming/_all-theme.scss +3 -0
  36. package/core/theming/_config-validation.scss +4 -4
  37. package/core/theming/_definition.scss +12 -2
  38. package/core/theming/_palettes.scss +132 -45
  39. package/core/tokens/_density.scss +1 -0
  40. package/core/tokens/_m3-system.scss +281 -0
  41. package/core/tokens/_m3-tokens.scss +8 -149
  42. package/core/tokens/_token-utils.scss +104 -46
  43. package/core/tokens/m2/_index.scss +2 -0
  44. package/core/tokens/m2/mat/_badge.scss +12 -3
  45. package/core/tokens/m2/mat/_datepicker.scss +1 -1
  46. package/core/tokens/m2/mat/_timepicker.scss +44 -0
  47. package/core/tokens/m2/mdc/_radio.scss +1 -1
  48. package/core/tokens/m3/_index.scss +2 -0
  49. package/core/tokens/m3/definitions/_md-comp-elevated-card.scss +1 -1
  50. package/core/tokens/m3/definitions/_md-sys-color.scss +6 -6
  51. package/core/tokens/m3/mat/_badge.scss +3 -0
  52. package/core/tokens/m3/mat/_datepicker.scss +2 -2
  53. package/core/tokens/m3/mat/_sidenav.scss +0 -1
  54. package/core/tokens/m3/mat/_timepicker.scss +22 -0
  55. package/core/typography/_all-typography.scss +2 -0
  56. package/datepicker/_datepicker-theme.scss +53 -32
  57. package/datepicker/index.d.ts +45 -71
  58. package/dialog/_dialog-theme.scss +46 -23
  59. package/dialog/index.d.ts +17 -38
  60. package/dialog/testing/index.d.ts +1 -1
  61. package/divider/_divider-theme.scss +28 -17
  62. package/expansion/_expansion-theme.scss +36 -24
  63. package/expansion/index.d.ts +9 -13
  64. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  65. package/fesm2022/autocomplete.mjs +43 -75
  66. package/fesm2022/autocomplete.mjs.map +1 -1
  67. package/fesm2022/badge/testing.mjs.map +1 -1
  68. package/fesm2022/badge.mjs +25 -45
  69. package/fesm2022/badge.mjs.map +1 -1
  70. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  71. package/fesm2022/bottom-sheet.mjs +26 -41
  72. package/fesm2022/bottom-sheet.mjs.map +1 -1
  73. package/fesm2022/button/testing.mjs.map +1 -1
  74. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  75. package/fesm2022/button-toggle.mjs +30 -45
  76. package/fesm2022/button-toggle.mjs.map +1 -1
  77. package/fesm2022/button.mjs +79 -157
  78. package/fesm2022/button.mjs.map +1 -1
  79. package/fesm2022/card/testing.mjs.map +1 -1
  80. package/fesm2022/card.mjs +53 -68
  81. package/fesm2022/card.mjs.map +1 -1
  82. package/fesm2022/checkbox/testing.mjs.map +1 -1
  83. package/fesm2022/checkbox.mjs +41 -44
  84. package/fesm2022/checkbox.mjs.map +1 -1
  85. package/fesm2022/chips/testing.mjs.map +1 -1
  86. package/fesm2022/chips.mjs +131 -184
  87. package/fesm2022/chips.mjs.map +1 -1
  88. package/fesm2022/core/testing.mjs.map +1 -1
  89. package/fesm2022/core.mjs +370 -411
  90. package/fesm2022/core.mjs.map +1 -1
  91. package/fesm2022/datepicker/testing.mjs.map +1 -1
  92. package/fesm2022/datepicker.mjs +208 -349
  93. package/fesm2022/datepicker.mjs.map +1 -1
  94. package/fesm2022/dialog/testing.mjs +3 -4
  95. package/fesm2022/dialog/testing.mjs.map +1 -1
  96. package/fesm2022/dialog.mjs +51 -114
  97. package/fesm2022/dialog.mjs.map +1 -1
  98. package/fesm2022/divider/testing.mjs.map +1 -1
  99. package/fesm2022/divider.mjs +8 -8
  100. package/fesm2022/divider.mjs.map +1 -1
  101. package/fesm2022/expansion/testing.mjs.map +1 -1
  102. package/fesm2022/expansion.mjs +60 -98
  103. package/fesm2022/expansion.mjs.map +1 -1
  104. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  105. package/fesm2022/form-field/testing.mjs.map +1 -1
  106. package/fesm2022/form-field.mjs +91 -102
  107. package/fesm2022/form-field.mjs.map +1 -1
  108. package/fesm2022/grid-list/testing.mjs.map +1 -1
  109. package/fesm2022/grid-list.mjs +39 -49
  110. package/fesm2022/grid-list.mjs.map +1 -1
  111. package/fesm2022/icon/testing.mjs +7 -7
  112. package/fesm2022/icon/testing.mjs.map +1 -1
  113. package/fesm2022/icon.mjs +24 -34
  114. package/fesm2022/icon.mjs.map +1 -1
  115. package/fesm2022/input/testing.mjs +7 -1
  116. package/fesm2022/input/testing.mjs.map +1 -1
  117. package/fesm2022/input.mjs +99 -66
  118. package/fesm2022/input.mjs.map +1 -1
  119. package/fesm2022/list/testing.mjs.map +1 -1
  120. package/fesm2022/list.mjs +112 -158
  121. package/fesm2022/list.mjs.map +1 -1
  122. package/fesm2022/material.mjs.map +1 -1
  123. package/fesm2022/menu/testing.mjs.map +1 -1
  124. package/fesm2022/menu.mjs +69 -118
  125. package/fesm2022/menu.mjs.map +1 -1
  126. package/fesm2022/paginator/testing.mjs +2 -2
  127. package/fesm2022/paginator/testing.mjs.map +1 -1
  128. package/fesm2022/paginator.mjs +11 -11
  129. package/fesm2022/paginator.mjs.map +1 -1
  130. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  131. package/fesm2022/progress-bar.mjs +19 -26
  132. package/fesm2022/progress-bar.mjs.map +1 -1
  133. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  134. package/fesm2022/progress-spinner.mjs +15 -21
  135. package/fesm2022/progress-spinner.mjs.map +1 -1
  136. package/fesm2022/radio/testing.mjs.map +1 -1
  137. package/fesm2022/radio.mjs +33 -45
  138. package/fesm2022/radio.mjs.map +1 -1
  139. package/fesm2022/select/testing.mjs.map +1 -1
  140. package/fesm2022/select.mjs +39 -72
  141. package/fesm2022/select.mjs.map +1 -1
  142. package/fesm2022/sidenav/testing.mjs.map +1 -1
  143. package/fesm2022/sidenav.mjs +72 -94
  144. package/fesm2022/sidenav.mjs.map +1 -1
  145. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  146. package/fesm2022/slide-toggle.mjs +31 -38
  147. package/fesm2022/slide-toggle.mjs.map +1 -1
  148. package/fesm2022/slider/testing.mjs.map +1 -1
  149. package/fesm2022/slider.mjs +66 -74
  150. package/fesm2022/slider.mjs.map +1 -1
  151. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  152. package/fesm2022/snack-bar.mjs +52 -68
  153. package/fesm2022/snack-bar.mjs.map +1 -1
  154. package/fesm2022/sort/testing.mjs.map +1 -1
  155. package/fesm2022/sort.mjs +34 -52
  156. package/fesm2022/sort.mjs.map +1 -1
  157. package/fesm2022/stepper/testing.mjs.map +1 -1
  158. package/fesm2022/stepper.mjs +63 -77
  159. package/fesm2022/stepper.mjs.map +1 -1
  160. package/fesm2022/table/testing.mjs.map +1 -1
  161. package/fesm2022/table.mjs +59 -75
  162. package/fesm2022/table.mjs.map +1 -1
  163. package/fesm2022/tabs/testing.mjs.map +1 -1
  164. package/fesm2022/tabs.mjs +140 -199
  165. package/fesm2022/tabs.mjs.map +1 -1
  166. package/fesm2022/timepicker/testing.mjs +196 -0
  167. package/fesm2022/timepicker/testing.mjs.map +1 -0
  168. package/fesm2022/timepicker.mjs +842 -0
  169. package/fesm2022/timepicker.mjs.map +1 -0
  170. package/fesm2022/toolbar/testing.mjs.map +1 -1
  171. package/fesm2022/toolbar.mjs +18 -23
  172. package/fesm2022/toolbar.mjs.map +1 -1
  173. package/fesm2022/tooltip/testing.mjs.map +1 -1
  174. package/fesm2022/tooltip.mjs +69 -75
  175. package/fesm2022/tooltip.mjs.map +1 -1
  176. package/fesm2022/tree/testing.mjs.map +1 -1
  177. package/fesm2022/tree.mjs +36 -69
  178. package/fesm2022/tree.mjs.map +1 -1
  179. package/form-field/_form-field-high-contrast.scss +4 -4
  180. package/form-field/_form-field-theme.scss +114 -61
  181. package/form-field/_mdc-text-field-structure.scss +57 -49
  182. package/form-field/index.d.ts +13 -25
  183. package/grid-list/_grid-list-theme.scss +25 -15
  184. package/grid-list/index.d.ts +6 -8
  185. package/icon/_icon-theme.scss +22 -14
  186. package/icon/index.d.ts +3 -3
  187. package/input/_input-theme.scss +18 -11
  188. package/input/index.d.ts +24 -9
  189. package/list/_list-inherited-structure.scss +1 -13
  190. package/list/_list-item-hcm-indicator.scss +1 -1
  191. package/list/_list-theme.scss +89 -47
  192. package/list/index.d.ts +10 -14
  193. package/menu/_menu-theme.scss +33 -21
  194. package/menu/index.d.ts +15 -50
  195. package/package.json +10 -146
  196. package/paginator/_paginator-theme.scss +39 -23
  197. package/prebuilt-themes/azure-blue.css +1 -1
  198. package/prebuilt-themes/cyan-orange.css +1 -1
  199. package/prebuilt-themes/deeppurple-amber.css +1 -1
  200. package/prebuilt-themes/indigo-pink.css +1 -1
  201. package/prebuilt-themes/magenta-violet.css +1 -1
  202. package/prebuilt-themes/pink-bluegrey.css +1 -1
  203. package/prebuilt-themes/purple-green.css +1 -1
  204. package/prebuilt-themes/rose-red.css +1 -1
  205. package/progress-bar/_progress-bar-theme.scss +20 -16
  206. package/progress-bar/index.d.ts +3 -5
  207. package/progress-spinner/_progress-spinner-theme.scss +41 -25
  208. package/progress-spinner/index.d.ts +2 -2
  209. package/radio/_radio-theme.scss +60 -32
  210. package/radio/index.d.ts +5 -8
  211. package/schematics/collection.json +3 -3
  212. package/schematics/ng-add/fonts/material-fonts.d.ts +1 -1
  213. package/schematics/ng-add/fonts/material-fonts.js +2 -2
  214. package/schematics/ng-add/fonts/material-fonts.mjs +2 -2
  215. package/schematics/ng-add/index.d.ts +1 -1
  216. package/schematics/ng-add/index.js +3 -3
  217. package/schematics/ng-add/index.mjs +3 -3
  218. package/schematics/ng-add/package-config.d.ts +1 -1
  219. package/schematics/ng-add/package-config.js +2 -2
  220. package/schematics/ng-add/package-config.mjs +2 -2
  221. package/schematics/ng-add/schema.d.ts +1 -1
  222. package/schematics/ng-add/schema.js +2 -2
  223. package/schematics/ng-add/schema.mjs +2 -2
  224. package/schematics/ng-add/setup-project.d.ts +1 -1
  225. package/schematics/ng-add/setup-project.js +3 -3
  226. package/schematics/ng-add/setup-project.mjs +3 -3
  227. package/schematics/ng-add/theming/create-custom-theme.d.ts +1 -1
  228. package/schematics/ng-add/theming/create-custom-theme.js +2 -7
  229. package/schematics/ng-add/theming/create-custom-theme.mjs +2 -7
  230. package/schematics/ng-add/theming/theming.d.ts +1 -1
  231. package/schematics/ng-add/theming/theming.js +2 -2
  232. package/schematics/ng-add/theming/theming.mjs +2 -2
  233. package/schematics/ng-generate/address-form/index.d.ts +1 -1
  234. package/schematics/ng-generate/address-form/index.js +2 -2
  235. package/schematics/ng-generate/address-form/index.mjs +2 -2
  236. package/schematics/ng-generate/address-form/schema.d.ts +1 -1
  237. package/schematics/ng-generate/address-form/schema.js +2 -2
  238. package/schematics/ng-generate/address-form/schema.mjs +2 -2
  239. package/schematics/ng-generate/dashboard/index.d.ts +1 -1
  240. package/schematics/ng-generate/dashboard/index.js +2 -2
  241. package/schematics/ng-generate/dashboard/index.mjs +2 -2
  242. package/schematics/ng-generate/dashboard/schema.d.ts +1 -1
  243. package/schematics/ng-generate/dashboard/schema.js +2 -2
  244. package/schematics/ng-generate/dashboard/schema.mjs +2 -2
  245. package/schematics/ng-generate/navigation/index.d.ts +1 -1
  246. package/schematics/ng-generate/navigation/index.js +2 -2
  247. package/schematics/ng-generate/navigation/index.mjs +2 -2
  248. package/schematics/ng-generate/navigation/schema.d.ts +1 -1
  249. package/schematics/ng-generate/navigation/schema.js +2 -2
  250. package/schematics/ng-generate/navigation/schema.mjs +2 -2
  251. package/schematics/ng-generate/table/index.d.ts +1 -1
  252. package/schematics/ng-generate/table/index.js +2 -2
  253. package/schematics/ng-generate/table/index.mjs +2 -2
  254. package/schematics/ng-generate/table/schema.d.ts +1 -1
  255. package/schematics/ng-generate/table/schema.js +2 -2
  256. package/schematics/ng-generate/table/schema.mjs +2 -2
  257. package/schematics/ng-generate/{m3-theme → theme-color}/index_bundled.js +481 -289
  258. package/schematics/ng-generate/theme-color/index_bundled.js.map +7 -0
  259. package/schematics/ng-generate/{m3-theme → theme-color}/schema.json +7 -13
  260. package/schematics/ng-generate/tree/index.d.ts +1 -1
  261. package/schematics/ng-generate/tree/index.js +2 -2
  262. package/schematics/ng-generate/tree/index.mjs +2 -2
  263. package/schematics/ng-generate/tree/schema.d.ts +1 -1
  264. package/schematics/ng-generate/tree/schema.js +2 -2
  265. package/schematics/ng-generate/tree/schema.mjs +2 -2
  266. package/schematics/ng-update/index_bundled.js +6545 -29
  267. package/schematics/ng-update/index_bundled.js.map +4 -4
  268. package/select/_select-theme.scss +38 -25
  269. package/select/index.d.ts +5 -15
  270. package/sidenav/_sidenav-theme.scss +28 -17
  271. package/sidenav/index.d.ts +7 -17
  272. package/slide-toggle/_slide-toggle-theme.scss +61 -35
  273. package/slide-toggle/index.d.ts +2 -2
  274. package/slider/_slider-theme.scss +62 -38
  275. package/slider/index.d.ts +8 -8
  276. package/snack-bar/_snack-bar-theme.scss +29 -17
  277. package/snack-bar/index.d.ts +6 -22
  278. package/sort/_sort-theme.scss +33 -21
  279. package/sort/index.d.ts +4 -20
  280. package/stepper/_stepper-theme.scss +40 -27
  281. package/stepper/index.d.ts +6 -13
  282. package/table/_table-theme.scss +36 -23
  283. package/tabs/_tabs-common.scss +13 -11
  284. package/tabs/_tabs-theme.scss +97 -50
  285. package/tabs/index.d.ts +28 -35
  286. package/timepicker/_timepicker-theme.scss +124 -0
  287. package/timepicker/index.d.ts +297 -0
  288. package/timepicker/testing/index.d.ts +113 -0
  289. package/toolbar/_toolbar-theme.scss +35 -22
  290. package/toolbar/index.d.ts +3 -4
  291. package/tooltip/_tooltip-theme.scss +18 -15
  292. package/tooltip/index.d.ts +5 -12
  293. package/tree/_tree-theme.scss +33 -21
  294. package/tree/index.d.ts +5 -18
  295. package/core/focus-indicators/_focus-indicators-theme.scss +0 -11
  296. package/core/focus-indicators/_focus-indicators.scss +0 -6
  297. package/esm2022/autocomplete/animations.mjs +0 -24
  298. package/esm2022/autocomplete/autocomplete-origin.mjs +0 -31
  299. package/esm2022/autocomplete/autocomplete-trigger.mjs +0 -902
  300. package/esm2022/autocomplete/autocomplete.mjs +0 -238
  301. package/esm2022/autocomplete/autocomplete_public_index.mjs +0 -5
  302. package/esm2022/autocomplete/index.mjs +0 -9
  303. package/esm2022/autocomplete/module.mjs +0 -61
  304. package/esm2022/autocomplete/public-api.mjs +0 -14
  305. package/esm2022/autocomplete/testing/autocomplete-harness-filters.mjs +0 -9
  306. package/esm2022/autocomplete/testing/autocomplete-harness.mjs +0 -105
  307. package/esm2022/autocomplete/testing/index.mjs +0 -9
  308. package/esm2022/autocomplete/testing/public-api.mjs +0 -10
  309. package/esm2022/badge/badge-module.mjs +0 -27
  310. package/esm2022/badge/badge.mjs +0 -301
  311. package/esm2022/badge/badge_public_index.mjs +0 -5
  312. package/esm2022/badge/index.mjs +0 -9
  313. package/esm2022/badge/public-api.mjs +0 -10
  314. package/esm2022/badge/testing/badge-harness-filters.mjs +0 -9
  315. package/esm2022/badge/testing/badge-harness.mjs +0 -71
  316. package/esm2022/badge/testing/index.mjs +0 -9
  317. package/esm2022/badge/testing/public-api.mjs +0 -10
  318. package/esm2022/bottom-sheet/bottom-sheet-animations.mjs +0 -26
  319. package/esm2022/bottom-sheet/bottom-sheet-config.mjs +0 -48
  320. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +0 -85
  321. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +0 -28
  322. package/esm2022/bottom-sheet/bottom-sheet-ref.mjs +0 -104
  323. package/esm2022/bottom-sheet/bottom-sheet.mjs +0 -115
  324. package/esm2022/bottom-sheet/bottom-sheet_public_index.mjs +0 -5
  325. package/esm2022/bottom-sheet/index.mjs +0 -9
  326. package/esm2022/bottom-sheet/public-api.mjs +0 -14
  327. package/esm2022/bottom-sheet/testing/bottom-sheet-harness-filters.mjs +0 -9
  328. package/esm2022/bottom-sheet/testing/bottom-sheet-harness.mjs +0 -35
  329. package/esm2022/bottom-sheet/testing/index.mjs +0 -9
  330. package/esm2022/bottom-sheet/testing/public-api.mjs +0 -10
  331. package/esm2022/button/button-base.mjs +0 -230
  332. package/esm2022/button/button.mjs +0 -67
  333. package/esm2022/button/button_public_index.mjs +0 -5
  334. package/esm2022/button/fab.mjs +0 -166
  335. package/esm2022/button/icon-button.mjs +0 -56
  336. package/esm2022/button/index.mjs +0 -9
  337. package/esm2022/button/module.mjs +0 -65
  338. package/esm2022/button/public-api.mjs +0 -13
  339. package/esm2022/button/testing/button-harness-filters.mjs +0 -9
  340. package/esm2022/button/testing/button-harness.mjs +0 -80
  341. package/esm2022/button/testing/index.mjs +0 -9
  342. package/esm2022/button/testing/public-api.mjs +0 -10
  343. package/esm2022/button-toggle/button-toggle-module.mjs +0 -24
  344. package/esm2022/button-toggle/button-toggle.mjs +0 -651
  345. package/esm2022/button-toggle/button-toggle_public_index.mjs +0 -5
  346. package/esm2022/button-toggle/index.mjs +0 -9
  347. package/esm2022/button-toggle/public-api.mjs +0 -10
  348. package/esm2022/button-toggle/testing/button-toggle-group-harness-filters.mjs +0 -9
  349. package/esm2022/button-toggle/testing/button-toggle-group-harness.mjs +0 -47
  350. package/esm2022/button-toggle/testing/button-toggle-harness-filters.mjs +0 -9
  351. package/esm2022/button-toggle/testing/button-toggle-harness.mjs +0 -105
  352. package/esm2022/button-toggle/testing/index.mjs +0 -9
  353. package/esm2022/button-toggle/testing/public-api.mjs +0 -12
  354. package/esm2022/card/card.mjs +0 -273
  355. package/esm2022/card/card_public_index.mjs +0 -5
  356. package/esm2022/card/index.mjs +0 -9
  357. package/esm2022/card/module.mjs +0 -67
  358. package/esm2022/card/public-api.mjs +0 -10
  359. package/esm2022/card/testing/card-harness-filters.mjs +0 -9
  360. package/esm2022/card/testing/card-harness.mjs +0 -50
  361. package/esm2022/card/testing/index.mjs +0 -9
  362. package/esm2022/card/testing/public-api.mjs +0 -10
  363. package/esm2022/checkbox/checkbox-config.mjs +0 -22
  364. package/esm2022/checkbox/checkbox-required-validator.mjs +0 -41
  365. package/esm2022/checkbox/checkbox.mjs +0 -443
  366. package/esm2022/checkbox/checkbox_public_index.mjs +0 -5
  367. package/esm2022/checkbox/index.mjs +0 -9
  368. package/esm2022/checkbox/module.mjs +0 -41
  369. package/esm2022/checkbox/public-api.mjs +0 -12
  370. package/esm2022/checkbox/testing/checkbox-harness-filters.mjs +0 -9
  371. package/esm2022/checkbox/testing/checkbox-harness.mjs +0 -138
  372. package/esm2022/checkbox/testing/index.mjs +0 -9
  373. package/esm2022/checkbox/testing/public-api.mjs +0 -9
  374. package/esm2022/chips/chip-action.mjs +0 -113
  375. package/esm2022/chips/chip-edit-input.mjs +0 -61
  376. package/esm2022/chips/chip-grid.mjs +0 -420
  377. package/esm2022/chips/chip-icons.mjs +0 -107
  378. package/esm2022/chips/chip-input.mjs +0 -192
  379. package/esm2022/chips/chip-listbox.mjs +0 -369
  380. package/esm2022/chips/chip-option.mjs +0 -190
  381. package/esm2022/chips/chip-row.mjs +0 -173
  382. package/esm2022/chips/chip-set.mjs +0 -283
  383. package/esm2022/chips/chip-text-control.mjs +0 -9
  384. package/esm2022/chips/chip.mjs +0 -322
  385. package/esm2022/chips/chips_public_index.mjs +0 -5
  386. package/esm2022/chips/index.mjs +0 -9
  387. package/esm2022/chips/module.mjs +0 -85
  388. package/esm2022/chips/public-api.mjs +0 -20
  389. package/esm2022/chips/testing/chip-avatar-harness.mjs +0 -22
  390. package/esm2022/chips/testing/chip-edit-input-harness.mjs +0 -33
  391. package/esm2022/chips/testing/chip-grid-harness.mjs +0 -45
  392. package/esm2022/chips/testing/chip-harness-filters.mjs +0 -9
  393. package/esm2022/chips/testing/chip-harness.mjs +0 -62
  394. package/esm2022/chips/testing/chip-input-harness.mjs +0 -85
  395. package/esm2022/chips/testing/chip-listbox-harness.mjs +0 -61
  396. package/esm2022/chips/testing/chip-option-harness.mjs +0 -45
  397. package/esm2022/chips/testing/chip-remove-harness.mjs +0 -26
  398. package/esm2022/chips/testing/chip-row-harness.mjs +0 -40
  399. package/esm2022/chips/testing/chip-set-harness.mjs +0 -26
  400. package/esm2022/chips/testing/index.mjs +0 -9
  401. package/esm2022/chips/testing/public-api.mjs +0 -19
  402. package/esm2022/chips/tokens.mjs +0 -39
  403. package/esm2022/core/animation/animation.mjs +0 -21
  404. package/esm2022/core/common-behaviors/color.mjs +0 -33
  405. package/esm2022/core/common-behaviors/common-module.mjs +0 -127
  406. package/esm2022/core/common-behaviors/constructor.mjs +0 -9
  407. package/esm2022/core/common-behaviors/disable-ripple.mjs +0 -24
  408. package/esm2022/core/common-behaviors/disabled.mjs +0 -23
  409. package/esm2022/core/common-behaviors/error-state.mjs +0 -66
  410. package/esm2022/core/common-behaviors/index.mjs +0 -15
  411. package/esm2022/core/common-behaviors/initialized.mjs +0 -62
  412. package/esm2022/core/common-behaviors/tabindex.mjs +0 -25
  413. package/esm2022/core/core_public_index.mjs +0 -5
  414. package/esm2022/core/datetime/date-adapter.mjs +0 -109
  415. package/esm2022/core/datetime/date-formats.mjs +0 -10
  416. package/esm2022/core/datetime/index.mjs +0 -46
  417. package/esm2022/core/datetime/native-date-adapter.mjs +0 -221
  418. package/esm2022/core/datetime/native-date-formats.mjs +0 -19
  419. package/esm2022/core/error/error-options.mjs +0 -33
  420. package/esm2022/core/index.mjs +0 -9
  421. package/esm2022/core/internal-form-field/internal-form-field.mjs +0 -29
  422. package/esm2022/core/line/line.mjs +0 -64
  423. package/esm2022/core/option/index.mjs +0 -30
  424. package/esm2022/core/option/optgroup.mjs +0 -71
  425. package/esm2022/core/option/option-parent.mjs +0 -13
  426. package/esm2022/core/option/option.mjs +0 -283
  427. package/esm2022/core/private/index.mjs +0 -9
  428. package/esm2022/core/private/ripple-loader.mjs +0 -160
  429. package/esm2022/core/public-api.mjs +0 -19
  430. package/esm2022/core/ripple/index.mjs +0 -27
  431. package/esm2022/core/ripple/ripple-event-manager.mjs +0 -69
  432. package/esm2022/core/ripple/ripple-ref.mjs +0 -39
  433. package/esm2022/core/ripple/ripple-renderer.mjs +0 -354
  434. package/esm2022/core/ripple/ripple.mjs +0 -156
  435. package/esm2022/core/selection/index.mjs +0 -10
  436. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +0 -24
  437. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +0 -62
  438. package/esm2022/core/testing/index.mjs +0 -9
  439. package/esm2022/core/testing/optgroup-harness-filters.mjs +0 -9
  440. package/esm2022/core/testing/optgroup-harness.mjs +0 -43
  441. package/esm2022/core/testing/option-harness-filters.mjs +0 -9
  442. package/esm2022/core/testing/option-harness.mjs +0 -53
  443. package/esm2022/core/testing/public-api.mjs +0 -12
  444. package/esm2022/core/version.mjs +0 -11
  445. package/esm2022/datepicker/aria-accessible-name.mjs +0 -159
  446. package/esm2022/datepicker/calendar-body.mjs +0 -509
  447. package/esm2022/datepicker/calendar.mjs +0 -426
  448. package/esm2022/datepicker/date-range-input-parts.mjs +0 -372
  449. package/esm2022/datepicker/date-range-input.mjs +0 -369
  450. package/esm2022/datepicker/date-range-picker.mjs +0 -51
  451. package/esm2022/datepicker/date-range-selection-strategy.mjs +0 -97
  452. package/esm2022/datepicker/date-selection-model.mjs +0 -188
  453. package/esm2022/datepicker/datepicker-actions.mjs +0 -91
  454. package/esm2022/datepicker/datepicker-animations.mjs +0 -35
  455. package/esm2022/datepicker/datepicker-base.mjs +0 -609
  456. package/esm2022/datepicker/datepicker-errors.mjs +0 -14
  457. package/esm2022/datepicker/datepicker-input-base.mjs +0 -311
  458. package/esm2022/datepicker/datepicker-input.mjs +0 -200
  459. package/esm2022/datepicker/datepicker-intl.mjs +0 -69
  460. package/esm2022/datepicker/datepicker-module.mjs +0 -138
  461. package/esm2022/datepicker/datepicker-toggle.mjs +0 -113
  462. package/esm2022/datepicker/datepicker.mjs +0 -38
  463. package/esm2022/datepicker/datepicker_public_index.mjs +0 -5
  464. package/esm2022/datepicker/index.mjs +0 -9
  465. package/esm2022/datepicker/month-view.mjs +0 -460
  466. package/esm2022/datepicker/multi-year-view.mjs +0 -330
  467. package/esm2022/datepicker/public-api.mjs +0 -27
  468. package/esm2022/datepicker/testing/calendar-cell-harness.mjs +0 -138
  469. package/esm2022/datepicker/testing/calendar-harness.mjs +0 -83
  470. package/esm2022/datepicker/testing/date-range-input-harness.mjs +0 -98
  471. package/esm2022/datepicker/testing/datepicker-harness-filters.mjs +0 -9
  472. package/esm2022/datepicker/testing/datepicker-input-harness-base.mjs +0 -81
  473. package/esm2022/datepicker/testing/datepicker-input-harness.mjs +0 -58
  474. package/esm2022/datepicker/testing/datepicker-toggle-harness.mjs +0 -41
  475. package/esm2022/datepicker/testing/datepicker-trigger-harness-base.mjs +0 -65
  476. package/esm2022/datepicker/testing/index.mjs +0 -9
  477. package/esm2022/datepicker/testing/public-api.mjs +0 -14
  478. package/esm2022/datepicker/year-view.mjs +0 -324
  479. package/esm2022/dialog/dialog-animations.mjs +0 -38
  480. package/esm2022/dialog/dialog-config.mjs +0 -59
  481. package/esm2022/dialog/dialog-container.mjs +0 -253
  482. package/esm2022/dialog/dialog-content-directives.mjs +0 -212
  483. package/esm2022/dialog/dialog-ref.mjs +0 -177
  484. package/esm2022/dialog/dialog.mjs +0 -212
  485. package/esm2022/dialog/dialog_public_index.mjs +0 -5
  486. package/esm2022/dialog/index.mjs +0 -9
  487. package/esm2022/dialog/module.mjs +0 -45
  488. package/esm2022/dialog/public-api.mjs +0 -15
  489. package/esm2022/dialog/testing/dialog-harness-filters.mjs +0 -9
  490. package/esm2022/dialog/testing/dialog-harness.mjs +0 -84
  491. package/esm2022/dialog/testing/dialog-opener.mjs +0 -58
  492. package/esm2022/dialog/testing/index.mjs +0 -10
  493. package/esm2022/dialog/testing/public-api.mjs +0 -10
  494. package/esm2022/divider/divider-module.mjs +0 -24
  495. package/esm2022/divider/divider.mjs +0 -48
  496. package/esm2022/divider/divider_public_index.mjs +0 -5
  497. package/esm2022/divider/index.mjs +0 -9
  498. package/esm2022/divider/public-api.mjs +0 -10
  499. package/esm2022/divider/testing/divider-harness-filters.mjs +0 -9
  500. package/esm2022/divider/testing/divider-harness.mjs +0 -22
  501. package/esm2022/divider/testing/index.mjs +0 -9
  502. package/esm2022/divider/testing/public-api.mjs +0 -10
  503. package/esm2022/expansion/accordion-base.mjs +0 -14
  504. package/esm2022/expansion/accordion.mjs +0 -96
  505. package/esm2022/expansion/expansion-animations.mjs +0 -51
  506. package/esm2022/expansion/expansion-module.mjs +0 -65
  507. package/esm2022/expansion/expansion-panel-base.mjs +0 -14
  508. package/esm2022/expansion/expansion-panel-content.mjs +0 -35
  509. package/esm2022/expansion/expansion-panel-header.mjs +0 -218
  510. package/esm2022/expansion/expansion-panel.mjs +0 -211
  511. package/esm2022/expansion/expansion_public_index.mjs +0 -5
  512. package/esm2022/expansion/index.mjs +0 -9
  513. package/esm2022/expansion/public-api.mjs +0 -16
  514. package/esm2022/expansion/testing/accordion-harness.mjs +0 -31
  515. package/esm2022/expansion/testing/expansion-harness-filters.mjs +0 -9
  516. package/esm2022/expansion/testing/expansion-harness.mjs +0 -128
  517. package/esm2022/expansion/testing/index.mjs +0 -9
  518. package/esm2022/expansion/testing/public-api.mjs +0 -11
  519. package/esm2022/form-field/directives/error.mjs +0 -48
  520. package/esm2022/form-field/directives/floating-label.mjs +0 -135
  521. package/esm2022/form-field/directives/hint.mjs +0 -40
  522. package/esm2022/form-field/directives/label.mjs +0 -22
  523. package/esm2022/form-field/directives/line-ripple.mjs +0 -60
  524. package/esm2022/form-field/directives/notched-outline.mjs +0 -66
  525. package/esm2022/form-field/directives/prefix.mjs +0 -38
  526. package/esm2022/form-field/directives/suffix.mjs +0 -38
  527. package/esm2022/form-field/form-field-animations.mjs +0 -24
  528. package/esm2022/form-field/form-field-control.mjs +0 -11
  529. package/esm2022/form-field/form-field-errors.mjs +0 -20
  530. package/esm2022/form-field/form-field.mjs +0 -620
  531. package/esm2022/form-field/form-field_public_index.mjs +0 -5
  532. package/esm2022/form-field/index.mjs +0 -9
  533. package/esm2022/form-field/module.mjs +0 -51
  534. package/esm2022/form-field/public-api.mjs +0 -18
  535. package/esm2022/form-field/testing/control/form-field-control-harness.mjs +0 -15
  536. package/esm2022/form-field/testing/control/index.mjs +0 -9
  537. package/esm2022/form-field/testing/error-harness.mjs +0 -29
  538. package/esm2022/form-field/testing/form-field-harness-filters.mjs +0 -9
  539. package/esm2022/form-field/testing/form-field-harness.mjs +0 -179
  540. package/esm2022/form-field/testing/index.mjs +0 -9
  541. package/esm2022/form-field/testing/public-api.mjs +0 -15
  542. package/esm2022/grid-list/grid-list-base.mjs +0 -14
  543. package/esm2022/grid-list/grid-list-module.mjs +0 -59
  544. package/esm2022/grid-list/grid-list.mjs +0 -146
  545. package/esm2022/grid-list/grid-list_public_index.mjs +0 -5
  546. package/esm2022/grid-list/grid-tile.mjs +0 -128
  547. package/esm2022/grid-list/index.mjs +0 -9
  548. package/esm2022/grid-list/public-api.mjs +0 -14
  549. package/esm2022/grid-list/testing/grid-list-harness-filters.mjs +0 -9
  550. package/esm2022/grid-list/testing/grid-list-harness.mjs +0 -76
  551. package/esm2022/grid-list/testing/grid-tile-harness.mjs +0 -71
  552. package/esm2022/grid-list/testing/index.mjs +0 -9
  553. package/esm2022/grid-list/testing/public-api.mjs +0 -11
  554. package/esm2022/grid-list/tile-coordinator.mjs +0 -145
  555. package/esm2022/grid-list/tile-styler.mjs +0 -231
  556. package/esm2022/icon/fake-svgs.mjs +0 -62
  557. package/esm2022/icon/icon-module.mjs +0 -24
  558. package/esm2022/icon/icon-registry.mjs +0 -593
  559. package/esm2022/icon/icon.mjs +0 -379
  560. package/esm2022/icon/icon_public_index.mjs +0 -5
  561. package/esm2022/icon/index.mjs +0 -9
  562. package/esm2022/icon/public-api.mjs +0 -11
  563. package/esm2022/icon/testing/fake-icon-registry.mjs +0 -92
  564. package/esm2022/icon/testing/icon-harness-filters.mjs +0 -14
  565. package/esm2022/icon/testing/icon-harness.mjs +0 -60
  566. package/esm2022/icon/testing/index.mjs +0 -9
  567. package/esm2022/icon/testing/public-api.mjs +0 -11
  568. package/esm2022/icon/testing/testing_public_index.mjs +0 -5
  569. package/esm2022/icon/trusted-types.mjs +0 -43
  570. package/esm2022/index.mjs +0 -14
  571. package/esm2022/input/index.mjs +0 -9
  572. package/esm2022/input/input-errors.mjs +0 -12
  573. package/esm2022/input/input-value-accessor.mjs +0 -16
  574. package/esm2022/input/input.mjs +0 -490
  575. package/esm2022/input/input_public_index.mjs +0 -5
  576. package/esm2022/input/module.mjs +0 -26
  577. package/esm2022/input/public-api.mjs +0 -14
  578. package/esm2022/input/testing/index.mjs +0 -9
  579. package/esm2022/input/testing/input-harness-filters.mjs +0 -9
  580. package/esm2022/input/testing/input-harness.mjs +0 -113
  581. package/esm2022/input/testing/native-option-harness.mjs +0 -42
  582. package/esm2022/input/testing/native-select-harness-filters.mjs +0 -9
  583. package/esm2022/input/testing/native-select-harness.mjs +0 -79
  584. package/esm2022/input/testing/public-api.mjs +0 -13
  585. package/esm2022/list/action-list.mjs +0 -31
  586. package/esm2022/list/index.mjs +0 -9
  587. package/esm2022/list/list-base.mjs +0 -284
  588. package/esm2022/list/list-item-sections.mjs +0 -144
  589. package/esm2022/list/list-module.mjs +0 -97
  590. package/esm2022/list/list-option-types.mjs +0 -16
  591. package/esm2022/list/list-option.mjs +0 -295
  592. package/esm2022/list/list.mjs +0 -103
  593. package/esm2022/list/list_public_index.mjs +0 -5
  594. package/esm2022/list/nav-list.mjs +0 -37
  595. package/esm2022/list/public-api.mjs +0 -18
  596. package/esm2022/list/selection-list.mjs +0 -391
  597. package/esm2022/list/subheader.mjs +0 -28
  598. package/esm2022/list/testing/action-list-harness.mjs +0 -59
  599. package/esm2022/list/testing/index.mjs +0 -9
  600. package/esm2022/list/testing/list-harness-base.mjs +0 -95
  601. package/esm2022/list/testing/list-harness-filters.mjs +0 -9
  602. package/esm2022/list/testing/list-harness.mjs +0 -41
  603. package/esm2022/list/testing/list-item-harness-base.mjs +0 -162
  604. package/esm2022/list/testing/nav-list-harness.mjs +0 -69
  605. package/esm2022/list/testing/public-api.mjs +0 -14
  606. package/esm2022/list/testing/selection-list-harness.mjs +0 -122
  607. package/esm2022/list/tokens.mjs +0 -11
  608. package/esm2022/menu/index.mjs +0 -9
  609. package/esm2022/menu/menu-animations.mjs +0 -61
  610. package/esm2022/menu/menu-content.mjs +0 -87
  611. package/esm2022/menu/menu-errors.mjs +0 -35
  612. package/esm2022/menu/menu-item.mjs +0 -148
  613. package/esm2022/menu/menu-panel.mjs +0 -14
  614. package/esm2022/menu/menu-positions.mjs +0 -9
  615. package/esm2022/menu/menu-trigger.mjs +0 -542
  616. package/esm2022/menu/menu.mjs +0 -405
  617. package/esm2022/menu/menu_public_index.mjs +0 -5
  618. package/esm2022/menu/module.mjs +0 -63
  619. package/esm2022/menu/public-api.mjs +0 -16
  620. package/esm2022/menu/testing/index.mjs +0 -9
  621. package/esm2022/menu/testing/menu-harness-filters.mjs +0 -9
  622. package/esm2022/menu/testing/menu-harness.mjs +0 -166
  623. package/esm2022/menu/testing/public-api.mjs +0 -10
  624. package/esm2022/paginator/index.mjs +0 -9
  625. package/esm2022/paginator/module.mjs +0 -28
  626. package/esm2022/paginator/paginator-intl.mjs +0 -62
  627. package/esm2022/paginator/paginator.mjs +0 -266
  628. package/esm2022/paginator/paginator_public_index.mjs +0 -5
  629. package/esm2022/paginator/public-api.mjs +0 -11
  630. package/esm2022/paginator/testing/index.mjs +0 -9
  631. package/esm2022/paginator/testing/paginator-harness-filters.mjs +0 -9
  632. package/esm2022/paginator/testing/paginator-harness.mjs +0 -98
  633. package/esm2022/paginator/testing/public-api.mjs +0 -10
  634. package/esm2022/progress-bar/index.mjs +0 -9
  635. package/esm2022/progress-bar/module.mjs +0 -24
  636. package/esm2022/progress-bar/progress-bar.mjs +0 -181
  637. package/esm2022/progress-bar/progress-bar_public_index.mjs +0 -5
  638. package/esm2022/progress-bar/public-api.mjs +0 -10
  639. package/esm2022/progress-bar/testing/index.mjs +0 -9
  640. package/esm2022/progress-bar/testing/progress-bar-harness-filters.mjs +0 -9
  641. package/esm2022/progress-bar/testing/progress-bar-harness.mjs +0 -33
  642. package/esm2022/progress-bar/testing/public-api.mjs +0 -10
  643. package/esm2022/progress-bar/testing/testing_public_index.mjs +0 -5
  644. package/esm2022/progress-spinner/index.mjs +0 -9
  645. package/esm2022/progress-spinner/module.mjs +0 -25
  646. package/esm2022/progress-spinner/progress-spinner.mjs +0 -166
  647. package/esm2022/progress-spinner/progress-spinner_public_index.mjs +0 -5
  648. package/esm2022/progress-spinner/public-api.mjs +0 -10
  649. package/esm2022/progress-spinner/testing/index.mjs +0 -9
  650. package/esm2022/progress-spinner/testing/progress-spinner-harness-filters.mjs +0 -9
  651. package/esm2022/progress-spinner/testing/progress-spinner-harness.mjs +0 -35
  652. package/esm2022/progress-spinner/testing/public-api.mjs +0 -10
  653. package/esm2022/progress-spinner/testing/testing_public_index.mjs +0 -5
  654. package/esm2022/radio/index.mjs +0 -9
  655. package/esm2022/radio/module.mjs +0 -25
  656. package/esm2022/radio/public-api.mjs +0 -10
  657. package/esm2022/radio/radio.mjs +0 -680
  658. package/esm2022/radio/radio_public_index.mjs +0 -5
  659. package/esm2022/radio/testing/index.mjs +0 -9
  660. package/esm2022/radio/testing/public-api.mjs +0 -10
  661. package/esm2022/radio/testing/radio-harness-filters.mjs +0 -9
  662. package/esm2022/radio/testing/radio-harness.mjs +0 -228
  663. package/esm2022/select/index.mjs +0 -9
  664. package/esm2022/select/module.mjs +0 -59
  665. package/esm2022/select/public-api.mjs +0 -15
  666. package/esm2022/select/select-animations.mjs +0 -38
  667. package/esm2022/select/select-errors.mjs +0 -35
  668. package/esm2022/select/select.mjs +0 -1160
  669. package/esm2022/select/select_public_index.mjs +0 -5
  670. package/esm2022/select/testing/index.mjs +0 -9
  671. package/esm2022/select/testing/public-api.mjs +0 -10
  672. package/esm2022/select/testing/select-harness-filters.mjs +0 -9
  673. package/esm2022/select/testing/select-harness.mjs +0 -129
  674. package/esm2022/sidenav/drawer-animations.mjs +0 -33
  675. package/esm2022/sidenav/drawer.mjs +0 -863
  676. package/esm2022/sidenav/index.mjs +0 -9
  677. package/esm2022/sidenav/public-api.mjs +0 -12
  678. package/esm2022/sidenav/sidenav-module.mjs +0 -60
  679. package/esm2022/sidenav/sidenav.mjs +0 -148
  680. package/esm2022/sidenav/sidenav_public_index.mjs +0 -5
  681. package/esm2022/sidenav/testing/drawer-container-harness.mjs +0 -36
  682. package/esm2022/sidenav/testing/drawer-content-harness.mjs +0 -23
  683. package/esm2022/sidenav/testing/drawer-harness-filters.mjs +0 -9
  684. package/esm2022/sidenav/testing/drawer-harness.mjs +0 -49
  685. package/esm2022/sidenav/testing/index.mjs +0 -9
  686. package/esm2022/sidenav/testing/public-api.mjs +0 -15
  687. package/esm2022/sidenav/testing/sidenav-container-harness.mjs +0 -36
  688. package/esm2022/sidenav/testing/sidenav-content-harness.mjs +0 -23
  689. package/esm2022/sidenav/testing/sidenav-harness.mjs +0 -28
  690. package/esm2022/slide-toggle/index.mjs +0 -9
  691. package/esm2022/slide-toggle/module.mjs +0 -41
  692. package/esm2022/slide-toggle/public-api.mjs +0 -12
  693. package/esm2022/slide-toggle/slide-toggle-config.mjs +0 -14
  694. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +0 -44
  695. package/esm2022/slide-toggle/slide-toggle.mjs +0 -273
  696. package/esm2022/slide-toggle/slide-toggle_public_index.mjs +0 -5
  697. package/esm2022/slide-toggle/testing/index.mjs +0 -9
  698. package/esm2022/slide-toggle/testing/public-api.mjs +0 -10
  699. package/esm2022/slide-toggle/testing/slide-toggle-harness-filters.mjs +0 -9
  700. package/esm2022/slide-toggle/testing/slide-toggle-harness.mjs +0 -110
  701. package/esm2022/slider/index.mjs +0 -9
  702. package/esm2022/slider/module.mjs +0 -39
  703. package/esm2022/slider/public-api.mjs +0 -13
  704. package/esm2022/slider/slider-input.mjs +0 -701
  705. package/esm2022/slider/slider-interface.mjs +0 -56
  706. package/esm2022/slider/slider-thumb.mjs +0 -231
  707. package/esm2022/slider/slider.mjs +0 -746
  708. package/esm2022/slider/slider_public_index.mjs +0 -5
  709. package/esm2022/slider/testing/index.mjs +0 -9
  710. package/esm2022/slider/testing/public-api.mjs +0 -11
  711. package/esm2022/slider/testing/slider-harness-filters.mjs +0 -7
  712. package/esm2022/slider/testing/slider-harness.mjs +0 -67
  713. package/esm2022/slider/testing/slider-thumb-harness.mjs +0 -95
  714. package/esm2022/snack-bar/index.mjs +0 -9
  715. package/esm2022/snack-bar/module.mjs +0 -47
  716. package/esm2022/snack-bar/public-api.mjs +0 -16
  717. package/esm2022/snack-bar/simple-snack-bar.mjs +0 -40
  718. package/esm2022/snack-bar/snack-bar-animations.mjs +0 -30
  719. package/esm2022/snack-bar/snack-bar-config.mjs +0 -33
  720. package/esm2022/snack-bar/snack-bar-container.mjs +0 -277
  721. package/esm2022/snack-bar/snack-bar-content.mjs +0 -55
  722. package/esm2022/snack-bar/snack-bar-ref.mjs +0 -89
  723. package/esm2022/snack-bar/snack-bar.mjs +0 -267
  724. package/esm2022/snack-bar/snack-bar_public_index.mjs +0 -5
  725. package/esm2022/snack-bar/testing/index.mjs +0 -9
  726. package/esm2022/snack-bar/testing/public-api.mjs +0 -10
  727. package/esm2022/snack-bar/testing/snack-bar-harness-filters.mjs +0 -9
  728. package/esm2022/snack-bar/testing/snack-bar-harness.mjs +0 -101
  729. package/esm2022/sort/index.mjs +0 -9
  730. package/esm2022/sort/public-api.mjs +0 -14
  731. package/esm2022/sort/sort-animations.mjs +0 -69
  732. package/esm2022/sort/sort-direction.mjs +0 -9
  733. package/esm2022/sort/sort-errors.mjs +0 -24
  734. package/esm2022/sort/sort-header-intl.mjs +0 -41
  735. package/esm2022/sort/sort-header.mjs +0 -317
  736. package/esm2022/sort/sort-module.mjs +0 -27
  737. package/esm2022/sort/sort.mjs +0 -155
  738. package/esm2022/sort/sort_public_index.mjs +0 -5
  739. package/esm2022/sort/testing/index.mjs +0 -9
  740. package/esm2022/sort/testing/public-api.mjs +0 -11
  741. package/esm2022/sort/testing/sort-harness-filters.mjs +0 -2
  742. package/esm2022/sort/testing/sort-harness.mjs +0 -36
  743. package/esm2022/sort/testing/sort-header-harness.mjs +0 -56
  744. package/esm2022/stepper/index.mjs +0 -9
  745. package/esm2022/stepper/public-api.mjs +0 -17
  746. package/esm2022/stepper/step-content.mjs +0 -27
  747. package/esm2022/stepper/step-header.mjs +0 -105
  748. package/esm2022/stepper/step-label.mjs +0 -22
  749. package/esm2022/stepper/stepper-animations.mjs +0 -47
  750. package/esm2022/stepper/stepper-button.mjs +0 -43
  751. package/esm2022/stepper/stepper-icon.mjs +0 -30
  752. package/esm2022/stepper/stepper-intl.mjs +0 -43
  753. package/esm2022/stepper/stepper-module.mjs +0 -88
  754. package/esm2022/stepper/stepper.mjs +0 -205
  755. package/esm2022/stepper/stepper_public_index.mjs +0 -5
  756. package/esm2022/stepper/testing/index.mjs +0 -9
  757. package/esm2022/stepper/testing/public-api.mjs +0 -12
  758. package/esm2022/stepper/testing/step-harness-filters.mjs +0 -7
  759. package/esm2022/stepper/testing/step-harness.mjs +0 -90
  760. package/esm2022/stepper/testing/stepper-button-harnesses.mjs +0 -48
  761. package/esm2022/stepper/testing/stepper-harness.mjs +0 -51
  762. package/esm2022/table/cell.mjs +0 -147
  763. package/esm2022/table/index.mjs +0 -9
  764. package/esm2022/table/module.mjs +0 -93
  765. package/esm2022/table/public-api.mjs +0 -14
  766. package/esm2022/table/row.mjs +0 -163
  767. package/esm2022/table/table-data-source.mjs +0 -317
  768. package/esm2022/table/table.mjs +0 -122
  769. package/esm2022/table/table_public_index.mjs +0 -5
  770. package/esm2022/table/testing/cell-harness.mjs +0 -77
  771. package/esm2022/table/testing/index.mjs +0 -9
  772. package/esm2022/table/testing/public-api.mjs +0 -12
  773. package/esm2022/table/testing/row-harness.mjs +0 -84
  774. package/esm2022/table/testing/table-harness-filters.mjs +0 -2
  775. package/esm2022/table/testing/table-harness.mjs +0 -86
  776. package/esm2022/table/text-column.mjs +0 -60
  777. package/esm2022/tabs/index.mjs +0 -9
  778. package/esm2022/tabs/ink-bar.mjs +0 -149
  779. package/esm2022/tabs/module.mjs +0 -60
  780. package/esm2022/tabs/paginated-tab-header.mjs +0 -539
  781. package/esm2022/tabs/public-api.mjs +0 -21
  782. package/esm2022/tabs/tab-body.mjs +0 -199
  783. package/esm2022/tabs/tab-config.mjs +0 -11
  784. package/esm2022/tabs/tab-content.mjs +0 -32
  785. package/esm2022/tabs/tab-group.mjs +0 -469
  786. package/esm2022/tabs/tab-header.mjs +0 -86
  787. package/esm2022/tabs/tab-label-wrapper.mjs +0 -49
  788. package/esm2022/tabs/tab-label.mjs +0 -44
  789. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -388
  790. package/esm2022/tabs/tab.mjs +0 -128
  791. package/esm2022/tabs/tabs-animations.mjs +0 -45
  792. package/esm2022/tabs/tabs_public_index.mjs +0 -5
  793. package/esm2022/tabs/testing/index.mjs +0 -9
  794. package/esm2022/tabs/testing/public-api.mjs +0 -13
  795. package/esm2022/tabs/testing/tab-group-harness.mjs +0 -56
  796. package/esm2022/tabs/testing/tab-harness-filters.mjs +0 -2
  797. package/esm2022/tabs/testing/tab-harness.mjs +0 -66
  798. package/esm2022/tabs/testing/tab-link-harness.mjs +0 -40
  799. package/esm2022/tabs/testing/tab-nav-bar-harness.mjs +0 -66
  800. package/esm2022/tabs/testing/tab-nav-panel-harness.mjs +0 -27
  801. package/esm2022/toolbar/index.mjs +0 -9
  802. package/esm2022/toolbar/public-api.mjs +0 -10
  803. package/esm2022/toolbar/testing/index.mjs +0 -9
  804. package/esm2022/toolbar/testing/public-api.mjs +0 -10
  805. package/esm2022/toolbar/testing/toolbar-harness-filters.mjs +0 -9
  806. package/esm2022/toolbar/testing/toolbar-harness.mjs +0 -44
  807. package/esm2022/toolbar/toolbar-module.mjs +0 -24
  808. package/esm2022/toolbar/toolbar.mjs +0 -84
  809. package/esm2022/toolbar/toolbar_public_index.mjs +0 -5
  810. package/esm2022/tooltip/index.mjs +0 -9
  811. package/esm2022/tooltip/module.mjs +0 -29
  812. package/esm2022/tooltip/public-api.mjs +0 -11
  813. package/esm2022/tooltip/testing/index.mjs +0 -9
  814. package/esm2022/tooltip/testing/public-api.mjs +0 -10
  815. package/esm2022/tooltip/testing/tooltip-harness-filters.mjs +0 -9
  816. package/esm2022/tooltip/testing/tooltip-harness.mjs +0 -66
  817. package/esm2022/tooltip/tooltip-animations.mjs +0 -24
  818. package/esm2022/tooltip/tooltip.mjs +0 -920
  819. package/esm2022/tooltip/tooltip_public_index.mjs +0 -5
  820. package/esm2022/tree/data-source/flat-data-source.mjs +0 -156
  821. package/esm2022/tree/data-source/nested-data-source.mjs +0 -38
  822. package/esm2022/tree/index.mjs +0 -9
  823. package/esm2022/tree/node.mjs +0 -220
  824. package/esm2022/tree/outlet.mjs +0 -46
  825. package/esm2022/tree/padding.mjs +0 -46
  826. package/esm2022/tree/public-api.mjs +0 -16
  827. package/esm2022/tree/testing/index.mjs +0 -9
  828. package/esm2022/tree/testing/node-harness.mjs +0 -73
  829. package/esm2022/tree/testing/public-api.mjs +0 -11
  830. package/esm2022/tree/testing/tree-harness-filters.mjs +0 -9
  831. package/esm2022/tree/testing/tree-harness.mjs +0 -123
  832. package/esm2022/tree/toggle.mjs +0 -27
  833. package/esm2022/tree/tree-module.mjs +0 -50
  834. package/esm2022/tree/tree.mjs +0 -34
  835. package/esm2022/tree/tree_public_index.mjs +0 -5
  836. package/schematics/ng-generate/m3-theme/index_bundled.js.map +0 -7
@@ -1,145 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /**
9
- * Class for determining, from a list of tiles, the (row, col) position of each of those tiles
10
- * in the grid. This is necessary (rather than just rendering the tiles in normal document flow)
11
- * because the tiles can have a rowspan.
12
- *
13
- * The positioning algorithm greedily places each tile as soon as it encounters a gap in the grid
14
- * large enough to accommodate it so that the tiles still render in the same order in which they
15
- * are given.
16
- *
17
- * The basis of the algorithm is the use of an array to track the already placed tiles. Each
18
- * element of the array corresponds to a column, and the value indicates how many cells in that
19
- * column are already occupied; zero indicates an empty cell. Moving "down" to the next row
20
- * decrements each value in the tracking array (indicating that the column is one cell closer to
21
- * being free).
22
- *
23
- * @docs-private
24
- */
25
- export class TileCoordinator {
26
- constructor() {
27
- /** Index at which the search for the next gap will start. */
28
- this.columnIndex = 0;
29
- /** The current row index. */
30
- this.rowIndex = 0;
31
- }
32
- /** Gets the total number of rows occupied by tiles */
33
- get rowCount() {
34
- return this.rowIndex + 1;
35
- }
36
- /**
37
- * Gets the total span of rows occupied by tiles.
38
- * Ex: A list with 1 row that contains a tile with rowspan 2 will have a total rowspan of 2.
39
- */
40
- get rowspan() {
41
- const lastRowMax = Math.max(...this.tracker);
42
- // if any of the tiles has a rowspan that pushes it beyond the total row count,
43
- // add the difference to the rowcount
44
- return lastRowMax > 1 ? this.rowCount + lastRowMax - 1 : this.rowCount;
45
- }
46
- /**
47
- * Updates the tile positions.
48
- * @param numColumns Amount of columns in the grid.
49
- * @param tiles Tiles to be positioned.
50
- */
51
- update(numColumns, tiles) {
52
- this.columnIndex = 0;
53
- this.rowIndex = 0;
54
- this.tracker = new Array(numColumns);
55
- this.tracker.fill(0, 0, this.tracker.length);
56
- this.positions = tiles.map(tile => this._trackTile(tile));
57
- }
58
- /** Calculates the row and col position of a tile. */
59
- _trackTile(tile) {
60
- // Find a gap large enough for this tile.
61
- const gapStartIndex = this._findMatchingGap(tile.colspan);
62
- // Place tile in the resulting gap.
63
- this._markTilePosition(gapStartIndex, tile);
64
- // The next time we look for a gap, the search will start at columnIndex, which should be
65
- // immediately after the tile that has just been placed.
66
- this.columnIndex = gapStartIndex + tile.colspan;
67
- return new TilePosition(this.rowIndex, gapStartIndex);
68
- }
69
- /** Finds the next available space large enough to fit the tile. */
70
- _findMatchingGap(tileCols) {
71
- if (tileCols > this.tracker.length && (typeof ngDevMode === 'undefined' || ngDevMode)) {
72
- throw Error(`mat-grid-list: tile with colspan ${tileCols} is wider than ` +
73
- `grid with cols="${this.tracker.length}".`);
74
- }
75
- // Start index is inclusive, end index is exclusive.
76
- let gapStartIndex = -1;
77
- let gapEndIndex = -1;
78
- // Look for a gap large enough to fit the given tile. Empty spaces are marked with a zero.
79
- do {
80
- // If we've reached the end of the row, go to the next row.
81
- if (this.columnIndex + tileCols > this.tracker.length) {
82
- this._nextRow();
83
- gapStartIndex = this.tracker.indexOf(0, this.columnIndex);
84
- gapEndIndex = this._findGapEndIndex(gapStartIndex);
85
- continue;
86
- }
87
- gapStartIndex = this.tracker.indexOf(0, this.columnIndex);
88
- // If there are no more empty spaces in this row at all, move on to the next row.
89
- if (gapStartIndex == -1) {
90
- this._nextRow();
91
- gapStartIndex = this.tracker.indexOf(0, this.columnIndex);
92
- gapEndIndex = this._findGapEndIndex(gapStartIndex);
93
- continue;
94
- }
95
- gapEndIndex = this._findGapEndIndex(gapStartIndex);
96
- // If a gap large enough isn't found, we want to start looking immediately after the current
97
- // gap on the next iteration.
98
- this.columnIndex = gapStartIndex + 1;
99
- // Continue iterating until we find a gap wide enough for this tile. Since gapEndIndex is
100
- // exclusive, gapEndIndex is 0 means we didn't find a gap and should continue.
101
- } while (gapEndIndex - gapStartIndex < tileCols || gapEndIndex == 0);
102
- // If we still didn't manage to find a gap, ensure that the index is
103
- // at least zero so the tile doesn't get pulled out of the grid.
104
- return Math.max(gapStartIndex, 0);
105
- }
106
- /** Move "down" to the next row. */
107
- _nextRow() {
108
- this.columnIndex = 0;
109
- this.rowIndex++;
110
- // Decrement all spaces by one to reflect moving down one row.
111
- for (let i = 0; i < this.tracker.length; i++) {
112
- this.tracker[i] = Math.max(0, this.tracker[i] - 1);
113
- }
114
- }
115
- /**
116
- * Finds the end index (exclusive) of a gap given the index from which to start looking.
117
- * The gap ends when a non-zero value is found.
118
- */
119
- _findGapEndIndex(gapStartIndex) {
120
- for (let i = gapStartIndex + 1; i < this.tracker.length; i++) {
121
- if (this.tracker[i] != 0) {
122
- return i;
123
- }
124
- }
125
- // The gap ends with the end of the row.
126
- return this.tracker.length;
127
- }
128
- /** Update the tile tracker to account for the given tile in the given space. */
129
- _markTilePosition(start, tile) {
130
- for (let i = 0; i < tile.colspan; i++) {
131
- this.tracker[start + i] = tile.rowspan;
132
- }
133
- }
134
- }
135
- /**
136
- * Simple data structure for tile position (row, col).
137
- * @docs-private
138
- */
139
- export class TilePosition {
140
- constructor(row, col) {
141
- this.row = row;
142
- this.col = col;
143
- }
144
- }
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1jb29yZGluYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9ncmlkLWxpc3QvdGlsZS1jb29yZGluYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFhSDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBSUUsNkRBQTZEO1FBQzdELGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBRXhCLDZCQUE2QjtRQUM3QixhQUFRLEdBQVcsQ0FBQyxDQUFDO0lBa0l2QixDQUFDO0lBaElDLHNEQUFzRDtJQUN0RCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLE9BQU87UUFDVCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLCtFQUErRTtRQUMvRSxxQ0FBcUM7UUFDckMsT0FBTyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekUsQ0FBQztJQUtEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBa0IsRUFBRSxLQUFhO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFD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UTtJQUNqQixDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVzY3JpYmluZyBhIHRpbGUuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGlsZSB7XG4gIC8qKiBBbW91bnQgb2Ygcm93cyB0aGF0IHRoZSB0aWxlIHRha2VzIHVwLiAqL1xuICByb3dzcGFuOiBudW1iZXI7XG4gIC8qKiBBbW91bnQgb2YgY29sdW1ucyB0aGF0IHRoZSB0aWxlIHRha2VzIHVwLiAqL1xuICBjb2xzcGFuOiBudW1iZXI7XG59XG5cbi8qKlxuICogQ2xhc3MgZm9yIGRldGVybWluaW5nLCBmcm9tIGEgbGlzdCBvZiB0aWxlcywgdGhlIChyb3csIGNvbCkgcG9zaXRpb24gb2YgZWFjaCBvZiB0aG9zZSB0aWxlc1xuICogaW4gdGhlIGdyaWQuIFRoaXMgaXMgbmVjZXNzYXJ5IChyYXRoZXIgdGhhbiBqdXN0IHJlbmRlcmluZyB0aGUgdGlsZXMgaW4gbm9ybWFsIGRvY3VtZW50IGZsb3cpXG4gKiBiZWNhdXNlIHRoZSB0aWxlcyBjYW4gaGF2ZSBhIHJvd3NwYW4uXG4gKlxuICogVGhlIHBvc2l0aW9uaW5nIGFsZ29yaXRobSBncmVlZGlseSBwbGFjZXMgZWFjaCB0aWxlIGFzIHNvb24gYXMgaXQgZW5jb3VudGVycyBhIGdhcCBpbiB0aGUgZ3JpZFxuICogbGFyZ2UgZW5vdWdoIHRvIGFjY29tbW9kYXRlIGl0IHNvIHRoYXQgdGhlIHRpbGVzIHN0aWxsIHJlbmRlciBpbiB0aGUgc2FtZSBvcmRlciBpbiB3aGljaCB0aGV5XG4gKiBhcmUgZ2l2ZW4uXG4gKlxuICogVGhlIGJhc2lzIG9mIHRoZSBhbGdvcml0aG0gaXMgdGhlIHVzZSBvZiBhbiBhcnJheSB0byB0cmFjayB0aGUgYWxyZWFkeSBwbGFjZWQgdGlsZXMuIEVhY2hcbiAqIGVsZW1lbnQgb2YgdGhlIGFycmF5IGNvcnJlc3BvbmRzIHRvIGEgY29sdW1uLCBhbmQgdGhlIHZhbHVlIGluZGljYXRlcyBob3cgbWFueSBjZWxscyBpbiB0aGF0XG4gKiBjb2x1bW4gYXJlIGFscmVhZHkgb2NjdXBpZWQ7IHplcm8gaW5kaWNhdGVzIGFuIGVtcHR5IGNlbGwuIE1vdmluZyBcImRvd25cIiB0byB0aGUgbmV4dCByb3dcbiAqIGRlY3JlbWVudHMgZWFjaCB2YWx1ZSBpbiB0aGUgdHJhY2tpbmcgYXJyYXkgKGluZGljYXRpbmcgdGhhdCB0aGUgY29sdW1uIGlzIG9uZSBjZWxsIGNsb3NlciB0b1xuICogYmVpbmcgZnJlZSkuXG4gKlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgVGlsZUNvb3JkaW5hdG9yIHtcbiAgLyoqIFRyYWNraW5nIGFycmF5IChzZWUgY2xhc3MgZGVzY3JpcHRpb24pLiAqL1xuICB0cmFja2VyOiBudW1iZXJbXTtcblxuICAvKiogSW5kZXggYXQgd2hpY2ggdGhlIHNlYXJjaCBmb3IgdGhlIG5leHQgZ2FwIHdpbGwgc3RhcnQuICovXG4gIGNvbHVtbkluZGV4OiBudW1iZXIgPSAwO1xuXG4gIC8qKiBUaGUgY3VycmVudCByb3cgaW5kZXguICovXG4gIHJvd0luZGV4OiBudW1iZXIgPSAwO1xuXG4gIC8qKiBHZXRzIHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cyBvY2N1cGllZCBieSB0aWxlcyAqL1xuICBnZXQgcm93Q291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yb3dJbmRleCArIDE7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdG90YWwgc3BhbiBvZiByb3dzIG9jY3VwaWVkIGJ5IHRpbGVzLlxuICAgKiBFeDogQSBsaXN0IHdpdGggMSByb3cgdGhhdCBjb250YWlucyBhIHRpbGUgd2l0aCByb3dzcGFuIDIgd2lsbCBoYXZlIGEgdG90YWwgcm93c3BhbiBvZiAyLlxuICAgKi9cbiAgZ2V0IHJvd3NwYW4oKSB7XG4gICAgY29uc3QgbGFzdFJvd01heCA9IE1hdGgubWF4KC4uLnRoaXMudHJhY2tlcik7XG4gICAgLy8gaWYgYW55IG9mIHRoZSB0aWxlcyBoYXMgYSByb3dzcGFuIHRoYXQgcHVzaGVzIGl0IGJleW9uZCB0aGUgdG90YWwgcm93IGNvdW50LFxuICAgIC8vIGFkZCB0aGUgZGlmZmVyZW5jZSB0byB0aGUgcm93Y291bnRcbiAgICByZXR1cm4gbGFzdFJvd01heCA+IDEgPyB0aGlzLnJvd0NvdW50ICsgbGFzdFJvd01heCAtIDEgOiB0aGlzLnJvd0NvdW50O1xuICB9XG5cbiAgLyoqIFRoZSBjb21wdXRlZCAocm93LCBjb2wpIHBvc2l0aW9uIG9mIGVhY2ggdGlsZSAodGhlIG91dHB1dCkuICovXG4gIHBvc2l0aW9uczogVGlsZVBvc2l0aW9uW107XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHRpbGUgcG9zaXRpb25zLlxuICAgKiBAcGFyYW0gbnVtQ29sdW1ucyBBbW91bnQgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiAgICogQHBhcmFtIHRpbGVzIFRpbGVzIHRvIGJlIHBvc2l0aW9uZWQuXG4gICAqL1xuICB1cGRhdGUobnVtQ29sdW1uczogbnVtYmVyLCB0aWxlczogVGlsZVtdKSB7XG4gICAgdGhpcy5jb2x1bW5JbmRleCA9IDA7XG4gICAgdGhpcy5yb3dJbmRleCA9IDA7XG5cbiAgICB0aGlzLnRyYWNrZXIgPSBuZXcgQXJyYXkobnVtQ29sdW1ucyk7XG4gICAgdGhpcy50cmFja2VyLmZpbGwoMCwgMCwgdGhpcy50cmFja2VyLmxlbmd0aCk7XG4gICAgdGhpcy5wb3NpdGlvbnMgPSB0aWxlcy5tYXAodGlsZSA9PiB0aGlzLl90cmFja1RpbGUodGlsZSkpO1xuICB9XG5cbiAgLyoqIENhbGN1bGF0ZXMgdGhlIHJvdyBhbmQgY29sIHBvc2l0aW9uIG9mIGEgdGlsZS4gKi9cbiAgcHJpdmF0ZSBfdHJhY2tUaWxlKHRpbGU6IFRpbGUpOiBUaWxlUG9zaXRpb24ge1xuICAgIC8vIEZpbmQgYSBnYXAgbGFyZ2UgZW5vdWdoIGZvciB0aGlzIHRpbGUuXG4gICAgY29uc3QgZ2FwU3RhcnRJbmRleCA9IHRoaXMuX2ZpbmRNYXRjaGluZ0dhcCh0aWxlLmNvbHNwYW4pO1xuXG4gICAgLy8gUGxhY2UgdGlsZSBpbiB0aGUgcmVzdWx0aW5nIGdhcC5cbiAgICB0aGlzLl9tYXJrVGlsZVBvc2l0aW9uKGdhcFN0YXJ0SW5kZXgsIHRpbGUpO1xuXG4gICAgLy8gVGhlIG5leHQgdGltZSB3ZSBsb29rIGZvciBhIGdhcCwgdGhlIHNlYXJjaCB3aWxsIHN0YXJ0IGF0IGNvbHVtbkluZGV4LCB3aGljaCBzaG91bGQgYmVcbiAgICAvLyBpbW1lZGlhdGVseSBhZnRlciB0aGUgdGlsZSB0aGF0IGhhcyBqdXN0IGJlZW4gcGxhY2VkLlxuICAgIHRoaXMuY29sdW1uSW5kZXggPSBnYXBTdGFydEluZGV4ICsgdGlsZS5jb2xzcGFuO1xuXG4gICAgcmV0dXJuIG5ldyBUaWxlUG9zaXRpb24odGhpcy5yb3dJbmRleCwgZ2FwU3RhcnRJbmRleCk7XG4gIH1cblxuICAvKiogRmluZHMgdGhlIG5leHQgYXZhaWxhYmxlIHNwYWNlIGxhcmdlIGVub3VnaCB0byBmaXQgdGhlIHRpbGUuICovXG4gIHByaXZhdGUgX2ZpbmRNYXRjaGluZ0dhcCh0aWxlQ29sczogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAodGlsZUNvbHMgPiB0aGlzLnRyYWNrZXIubGVuZ3RoICYmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgYG1hdC1ncmlkLWxpc3Q6IHRpbGUgd2l0aCBjb2xzcGFuICR7dGlsZUNvbHN9IGlzIHdpZGVyIHRoYW4gYCArXG4gICAgICAgICAgYGdyaWQgd2l0aCBjb2xzPVwiJHt0aGlzLnRyYWNrZXIubGVuZ3RofVwiLmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFN0YXJ0IGluZGV4IGlzIGluY2x1c2l2ZSwgZW5kIGluZGV4IGlzIGV4Y2x1c2l2ZS5cbiAgICBsZXQgZ2FwU3RhcnRJbmRleCA9IC0xO1xuICAgIGxldCBnYXBFbmRJbmRleCA9IC0xO1xuXG4gICAgLy8gTG9vayBmb3IgYSBnYXAgbGFyZ2UgZW5vdWdoIHRvIGZpdCB0aGUgZ2l2ZW4gdGlsZS4gRW1wdHkgc3BhY2VzIGFyZSBtYXJrZWQgd2l0aCBhIHplcm8uXG4gICAgZG8ge1xuICAgICAgLy8gSWYgd2UndmUgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSByb3csIGdvIHRvIHRoZSBuZXh0IHJvdy5cbiAgICAgIGlmICh0aGlzLmNvbHVtbkluZGV4ICsgdGlsZUNvbHMgPiB0aGlzLnRyYWNrZXIubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuX25leHRSb3coKTtcbiAgICAgICAgZ2FwU3RhcnRJbmRleCA9IHRoaXMudHJhY2tlci5pbmRleE9mKDAsIHRoaXMuY29sdW1uSW5kZXgpO1xuICAgICAgICBnYXBFbmRJbmRleCA9IHRoaXMuX2ZpbmRHYXBFbmRJbmRleChnYXBTdGFydEluZGV4KTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGdhcFN0YXJ0SW5kZXggPSB0aGlzLnRyYWNrZXIuaW5kZXhPZigwLCB0aGlzLmNvbHVtbkluZGV4KTtcblxuICAgICAgLy8gSWYgdGhlcmUgYXJlIG5vIG1vcmUgZW1wdHkgc3BhY2VzIGluIHRoaXMgcm93IGF0IGFsbCwgbW92ZSBvbiB0byB0aGUgbmV4dCByb3cuXG4gICAgICBpZiAoZ2FwU3RhcnRJbmRleCA9PSAtMSkge1xuICAgICAgICB0aGlzLl9uZXh0Um93KCk7XG4gICAgICAgIGdhcFN0YXJ0SW5kZXggPSB0aGlzLnRyYWNrZXIuaW5kZXhPZigwLCB0aGlzLmNvbHVtbkluZGV4KTtcbiAgICAgICAgZ2FwRW5kSW5kZXggPSB0aGlzLl9maW5kR2FwRW5kSW5kZXgoZ2FwU3RhcnRJbmRleCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBnYXBFbmRJbmRleCA9IHRoaXMuX2ZpbmRHYXBFbmRJbmRleChnYXBTdGFydEluZGV4KTtcblxuICAgICAgLy8gSWYgYSBnYXAgbGFyZ2UgZW5vdWdoIGlzbid0IGZvdW5kLCB3ZSB3YW50IHRvIHN0YXJ0IGxvb2tpbmcgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGN1cnJlbnRcbiAgICAgIC8vIGdhcCBvbiB0aGUgbmV4dCBpdGVyYXRpb24uXG4gICAgICB0aGlzLmNvbHVtbkluZGV4ID0gZ2FwU3RhcnRJbmRleCArIDE7XG5cbiAgICAgIC8vIENvbnRpbnVlIGl0ZXJhdGluZyB1bnRpbCB3ZSBmaW5kIGEgZ2FwIHdpZGUgZW5vdWdoIGZvciB0aGlzIHRpbGUuIFNpbmNlIGdhcEVuZEluZGV4IGlzXG4gICAgICAvLyBleGNsdXNpdmUsIGdhcEVuZEluZGV4IGlzIDAgbWVhbnMgd2UgZGlkbid0IGZpbmQgYSBnYXAgYW5kIHNob3VsZCBjb250aW51ZS5cbiAgICB9IHdoaWxlIChnYXBFbmRJbmRleCAtIGdhcFN0YXJ0SW5kZXggPCB0aWxlQ29scyB8fCBnYXBFbmRJbmRleCA9PSAwKTtcblxuICAgIC8vIElmIHdlIHN0aWxsIGRpZG4ndCBtYW5hZ2UgdG8gZmluZCBhIGdhcCwgZW5zdXJlIHRoYXQgdGhlIGluZGV4IGlzXG4gICAgLy8gYXQgbGVhc3QgemVybyBzbyB0aGUgdGlsZSBkb2Vzbid0IGdldCBwdWxsZWQgb3V0IG9mIHRoZSBncmlkLlxuICAgIHJldHVybiBNYXRoLm1heChnYXBTdGFydEluZGV4LCAwKTtcbiAgfVxuXG4gIC8qKiBNb3ZlIFwiZG93blwiIHRvIHRoZSBuZXh0IHJvdy4gKi9cbiAgcHJpdmF0ZSBfbmV4dFJvdygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbkluZGV4ID0gMDtcbiAgICB0aGlzLnJvd0luZGV4Kys7XG5cbiAgICAvLyBEZWNyZW1lbnQgYWxsIHNwYWNlcyBieSBvbmUgdG8gcmVmbGVjdCBtb3ZpbmcgZG93biBvbmUgcm93LlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50cmFja2VyLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLnRyYWNrZXJbaV0gPSBNYXRoLm1heCgwLCB0aGlzLnRyYWNrZXJbaV0gLSAxKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGVuZCBpbmRleCAoZXhjbHVzaXZlKSBvZiBhIGdhcCBnaXZlbiB0aGUgaW5kZXggZnJvbSB3aGljaCB0byBzdGFydCBsb29raW5nLlxuICAgKiBUaGUgZ2FwIGVuZHMgd2hlbiBhIG5vbi16ZXJvIHZhbHVlIGlzIGZvdW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBfZmluZEdhcEVuZEluZGV4KGdhcFN0YXJ0SW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgZm9yIChsZXQgaSA9IGdhcFN0YXJ0SW5kZXggKyAxOyBpIDwgdGhpcy50cmFja2VyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGhpcy50cmFja2VyW2ldICE9IDApIHtcbiAgICAgICAgcmV0dXJuIGk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhlIGdhcCBlbmRzIHdpdGggdGhlIGVuZCBvZiB0aGUgcm93LlxuICAgIHJldHVybiB0aGlzLnRyYWNrZXIubGVuZ3RoO1xuICB9XG5cbiAgLyoqIFVwZGF0ZSB0aGUgdGlsZSB0cmFja2VyIHRvIGFjY291bnQgZm9yIHRoZSBnaXZlbiB0aWxlIGluIHRoZSBnaXZlbiBzcGFjZS4gKi9cbiAgcHJpdmF0ZSBfbWFya1RpbGVQb3NpdGlvbihzdGFydDogbnVtYmVyLCB0aWxlOiBUaWxlKTogdm9pZCB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aWxlLmNvbHNwYW47IGkrKykge1xuICAgICAgdGhpcy50cmFja2VyW3N0YXJ0ICsgaV0gPSB0aWxlLnJvd3NwYW47XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogU2ltcGxlIGRhdGEgc3RydWN0dXJlIGZvciB0aWxlIHBvc2l0aW9uIChyb3csIGNvbCkuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBUaWxlUG9zaXRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcm93OiBudW1iZXIsXG4gICAgcHVibGljIGNvbDogbnVtYmVyLFxuICApIHt9XG59XG4iXX0=
@@ -1,231 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /**
9
- * RegExp that can be used to check whether a value will
10
- * be allowed inside a CSS `calc()` expression.
11
- */
12
- const cssCalcAllowedValue = /^-?\d+((\.\d+)?[A-Za-z%$]?)+$/;
13
- /**
14
- * Sets the style properties for an individual tile, given the position calculated by the
15
- * Tile Coordinator.
16
- * @docs-private
17
- */
18
- export class TileStyler {
19
- constructor() {
20
- this._rows = 0;
21
- this._rowspan = 0;
22
- }
23
- /**
24
- * Adds grid-list layout info once it is available. Cannot be processed in the constructor
25
- * because these properties haven't been calculated by that point.
26
- *
27
- * @param gutterSize Size of the grid's gutter.
28
- * @param tracker Instance of the TileCoordinator.
29
- * @param cols Amount of columns in the grid.
30
- * @param direction Layout direction of the grid.
31
- */
32
- init(gutterSize, tracker, cols, direction) {
33
- this._gutterSize = normalizeUnits(gutterSize);
34
- this._rows = tracker.rowCount;
35
- this._rowspan = tracker.rowspan;
36
- this._cols = cols;
37
- this._direction = direction;
38
- }
39
- /**
40
- * Computes the amount of space a single 1x1 tile would take up (width or height).
41
- * Used as a basis for other calculations.
42
- * @param sizePercent Percent of the total grid-list space that one 1x1 tile would take up.
43
- * @param gutterFraction Fraction of the gutter size taken up by one 1x1 tile.
44
- * @return The size of a 1x1 tile as an expression that can be evaluated via CSS calc().
45
- */
46
- getBaseTileSize(sizePercent, gutterFraction) {
47
- // Take the base size percent (as would be if evenly dividing the size between cells),
48
- // and then subtracting the size of one gutter. However, since there are no gutters on the
49
- // edges, each tile only uses a fraction (gutterShare = numGutters / numCells) of the gutter
50
- // size. (Imagine having one gutter per tile, and then breaking up the extra gutter on the
51
- // edge evenly among the cells).
52
- return `(${sizePercent}% - (${this._gutterSize} * ${gutterFraction}))`;
53
- }
54
- /**
55
- * Gets The horizontal or vertical position of a tile, e.g., the 'top' or 'left' property value.
56
- * @param offset Number of tiles that have already been rendered in the row/column.
57
- * @param baseSize Base size of a 1x1 tile (as computed in getBaseTileSize).
58
- * @return Position of the tile as a CSS calc() expression.
59
- */
60
- getTilePosition(baseSize, offset) {
61
- // The position comes the size of a 1x1 tile plus gutter for each previous tile in the
62
- // row/column (offset).
63
- return offset === 0 ? '0' : calc(`(${baseSize} + ${this._gutterSize}) * ${offset}`);
64
- }
65
- /**
66
- * Gets the actual size of a tile, e.g., width or height, taking rowspan or colspan into account.
67
- * @param baseSize Base size of a 1x1 tile (as computed in getBaseTileSize).
68
- * @param span The tile's rowspan or colspan.
69
- * @return Size of the tile as a CSS calc() expression.
70
- */
71
- getTileSize(baseSize, span) {
72
- return `(${baseSize} * ${span}) + (${span - 1} * ${this._gutterSize})`;
73
- }
74
- /**
75
- * Sets the style properties to be applied to a tile for the given row and column index.
76
- * @param tile Tile to which to apply the styling.
77
- * @param rowIndex Index of the tile's row.
78
- * @param colIndex Index of the tile's column.
79
- */
80
- setStyle(tile, rowIndex, colIndex) {
81
- // Percent of the available horizontal space that one column takes up.
82
- let percentWidthPerTile = 100 / this._cols;
83
- // Fraction of the vertical gutter size that each column takes up.
84
- // For example, if there are 5 columns, each column uses 4/5 = 0.8 times the gutter width.
85
- let gutterWidthFractionPerTile = (this._cols - 1) / this._cols;
86
- this.setColStyles(tile, colIndex, percentWidthPerTile, gutterWidthFractionPerTile);
87
- this.setRowStyles(tile, rowIndex, percentWidthPerTile, gutterWidthFractionPerTile);
88
- }
89
- /** Sets the horizontal placement of the tile in the list. */
90
- setColStyles(tile, colIndex, percentWidth, gutterWidth) {
91
- // Base horizontal size of a column.
92
- let baseTileWidth = this.getBaseTileSize(percentWidth, gutterWidth);
93
- // The width and horizontal position of each tile is always calculated the same way, but the
94
- // height and vertical position depends on the rowMode.
95
- let side = this._direction === 'rtl' ? 'right' : 'left';
96
- tile._setStyle(side, this.getTilePosition(baseTileWidth, colIndex));
97
- tile._setStyle('width', calc(this.getTileSize(baseTileWidth, tile.colspan)));
98
- }
99
- /**
100
- * Calculates the total size taken up by gutters across one axis of a list.
101
- */
102
- getGutterSpan() {
103
- return `${this._gutterSize} * (${this._rowspan} - 1)`;
104
- }
105
- /**
106
- * Calculates the total size taken up by tiles across one axis of a list.
107
- * @param tileHeight Height of the tile.
108
- */
109
- getTileSpan(tileHeight) {
110
- return `${this._rowspan} * ${this.getTileSize(tileHeight, 1)}`;
111
- }
112
- /**
113
- * Calculates the computed height and returns the correct style property to set.
114
- * This method can be implemented by each type of TileStyler.
115
- * @docs-private
116
- */
117
- getComputedHeight() {
118
- return null;
119
- }
120
- }
121
- /**
122
- * This type of styler is instantiated when the user passes in a fixed row height.
123
- * Example `<mat-grid-list cols="3" rowHeight="100px">`
124
- * @docs-private
125
- */
126
- export class FixedTileStyler extends TileStyler {
127
- constructor(fixedRowHeight) {
128
- super();
129
- this.fixedRowHeight = fixedRowHeight;
130
- }
131
- init(gutterSize, tracker, cols, direction) {
132
- super.init(gutterSize, tracker, cols, direction);
133
- this.fixedRowHeight = normalizeUnits(this.fixedRowHeight);
134
- if (!cssCalcAllowedValue.test(this.fixedRowHeight) &&
135
- (typeof ngDevMode === 'undefined' || ngDevMode)) {
136
- throw Error(`Invalid value "${this.fixedRowHeight}" set as rowHeight.`);
137
- }
138
- }
139
- setRowStyles(tile, rowIndex) {
140
- tile._setStyle('top', this.getTilePosition(this.fixedRowHeight, rowIndex));
141
- tile._setStyle('height', calc(this.getTileSize(this.fixedRowHeight, tile.rowspan)));
142
- }
143
- getComputedHeight() {
144
- return ['height', calc(`${this.getTileSpan(this.fixedRowHeight)} + ${this.getGutterSpan()}`)];
145
- }
146
- reset(list) {
147
- list._setListStyle(['height', null]);
148
- if (list._tiles) {
149
- list._tiles.forEach(tile => {
150
- tile._setStyle('top', null);
151
- tile._setStyle('height', null);
152
- });
153
- }
154
- }
155
- }
156
- /**
157
- * This type of styler is instantiated when the user passes in a width:height ratio
158
- * for the row height. Example `<mat-grid-list cols="3" rowHeight="3:1">`
159
- * @docs-private
160
- */
161
- export class RatioTileStyler extends TileStyler {
162
- constructor(value) {
163
- super();
164
- this._parseRatio(value);
165
- }
166
- setRowStyles(tile, rowIndex, percentWidth, gutterWidth) {
167
- let percentHeightPerTile = percentWidth / this.rowHeightRatio;
168
- this.baseTileHeight = this.getBaseTileSize(percentHeightPerTile, gutterWidth);
169
- // Use padding-top and margin-top to maintain the given aspect ratio, as
170
- // a percentage-based value for these properties is applied versus the *width* of the
171
- // containing block. See http://www.w3.org/TR/CSS2/box.html#margin-properties
172
- tile._setStyle('marginTop', this.getTilePosition(this.baseTileHeight, rowIndex));
173
- tile._setStyle('paddingTop', calc(this.getTileSize(this.baseTileHeight, tile.rowspan)));
174
- }
175
- getComputedHeight() {
176
- return [
177
- 'paddingBottom',
178
- calc(`${this.getTileSpan(this.baseTileHeight)} + ${this.getGutterSpan()}`),
179
- ];
180
- }
181
- reset(list) {
182
- list._setListStyle(['paddingBottom', null]);
183
- list._tiles.forEach(tile => {
184
- tile._setStyle('marginTop', null);
185
- tile._setStyle('paddingTop', null);
186
- });
187
- }
188
- _parseRatio(value) {
189
- const ratioParts = value.split(':');
190
- if (ratioParts.length !== 2 && (typeof ngDevMode === 'undefined' || ngDevMode)) {
191
- throw Error(`mat-grid-list: invalid ratio given for row-height: "${value}"`);
192
- }
193
- this.rowHeightRatio = parseFloat(ratioParts[0]) / parseFloat(ratioParts[1]);
194
- }
195
- }
196
- /**
197
- * This type of styler is instantiated when the user selects a "fit" row height mode.
198
- * In other words, the row height will reflect the total height of the container divided
199
- * by the number of rows. Example `<mat-grid-list cols="3" rowHeight="fit">`
200
- *
201
- * @docs-private
202
- */
203
- export class FitTileStyler extends TileStyler {
204
- setRowStyles(tile, rowIndex) {
205
- // Percent of the available vertical space that one row takes up.
206
- let percentHeightPerTile = 100 / this._rowspan;
207
- // Fraction of the horizontal gutter size that each column takes up.
208
- let gutterHeightPerTile = (this._rows - 1) / this._rows;
209
- // Base vertical size of a column.
210
- let baseTileHeight = this.getBaseTileSize(percentHeightPerTile, gutterHeightPerTile);
211
- tile._setStyle('top', this.getTilePosition(baseTileHeight, rowIndex));
212
- tile._setStyle('height', calc(this.getTileSize(baseTileHeight, tile.rowspan)));
213
- }
214
- reset(list) {
215
- if (list._tiles) {
216
- list._tiles.forEach(tile => {
217
- tile._setStyle('top', null);
218
- tile._setStyle('height', null);
219
- });
220
- }
221
- }
222
- }
223
- /** Wraps a CSS string in a calc function */
224
- function calc(exp) {
225
- return `calc(${exp})`;
226
- }
227
- /** Appends pixels to a CSS string if no units are given. */
228
- function normalizeUnits(value) {
229
- return value.match(/([A-Za-z%]+)$/) ? value : `${value}px`;
230
- }
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1zdHlsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvZ3JpZC1saXN0L3RpbGUtc3R5bGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQU1IOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsK0JBQStCLENBQUM7QUFRNUQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUFoQztRQUVFLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDbEIsYUFBUSxHQUFXLENBQUMsQ0FBQztJQW1JdkIsQ0FBQztJQS9IQzs7Ozs7Ozs7T0FRRztJQUNILElBQUksQ0FBQyxVQUFrQixFQUFFLE9BQXdCLEVBQUUsSUFBWSxFQUFFLFNBQWlCO1FBQ2hGLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGVBQWUsQ0FBQyxXQUFtQixFQUFFLGNBQXNCO1FBQ3pELHNGQUFzRjtRQUN0RiwwRkFBMEY7UUFDMUYsNEZBQTRGO1FBQzVGLDBGQUEwRjtRQUMxRixnQ0FBZ0M7UUFDaEMsT0FBTyxJQUFJLFdBQVcsUUFBUSxJQUFJLENBQUMsV0FBVyxNQUFNLGNBQWMsSUFBSSxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxRQUFnQixFQUFFLE1BQWM7UUFDOUMsc0ZBQXNGO1FBQ3RGLHVCQUF1QjtRQUN2QixPQUFPLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxD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LElBQXFCO1FBQ3pCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBRUQsNENBQTRDO0FBQzVDLFNBQVMsSUFBSSxDQUFDLEdBQVc7SUFDdkIsT0FBTyxRQUFRLEdBQUcsR0FBRyxDQUFDO0FBQ3hCLENBQUM7QUFFRCw0REFBNEQ7QUFDNUQsU0FBUyxjQUFjLENBQUMsS0FBYTtJQUNuQyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0R3JpZFRpbGV9IGZyb20gJy4vZ3JpZC10aWxlJztcbmltcG9ydCB7VGlsZUNvb3JkaW5hdG9yfSBmcm9tICcuL3RpbGUtY29vcmRpbmF0b3InO1xuXG4vKipcbiAqIFJlZ0V4cCB0aGF0IGNhbiBiZSB1c2VkIHRvIGNoZWNrIHdoZXRoZXIgYSB2YWx1ZSB3aWxsXG4gKiBiZSBhbGxvd2VkIGluc2lkZSBhIENTUyBgY2FsYygpYCBleHByZXNzaW9uLlxuICovXG5jb25zdCBjc3NDYWxjQWxsb3dlZFZhbHVlID0gL14tP1xcZCsoKFxcLlxcZCspP1tBLVphLXolJF0/KSskLztcblxuLyoqIE9iamVjdCB0aGF0IGNhbiBiZSBzdHlsZWQgYnkgdGhlIGBUaWxlU3R5bGVyYC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGlsZVN0eWxlVGFyZ2V0IHtcbiAgX3NldExpc3RTdHlsZShzdHlsZTogW3N0cmluZywgc3RyaW5nIHwgbnVsbF0gfCBudWxsKTogdm9pZDtcbiAgX3RpbGVzOiBRdWVyeUxpc3Q8TWF0R3JpZFRpbGU+O1xufVxuXG4vKipcbiAqIFNldHMgdGhlIHN0eWxlIHByb3BlcnRpZXMgZm9yIGFuIGluZGl2aWR1YWwgdGlsZSwgZ2l2ZW4gdGhlIHBvc2l0aW9uIGNhbGN1bGF0ZWQgYnkgdGhlXG4gKiBUaWxlIENvb3JkaW5hdG9yLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGlsZVN0eWxlciB7XG4gIF9ndXR0ZXJTaXplOiBzdHJpbmc7XG4gIF9yb3dzOiBudW1iZXIgPSAwO1xuICBfcm93c3BhbjogbnVtYmVyID0gMDtcbiAgX2NvbHM6IG51bWJlcjtcbiAgX2RpcmVjdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRzIGdyaWQtbGlzdCBsYXlvdXQgaW5mbyBvbmNlIGl0IGlzIGF2YWlsYWJsZS4gQ2Fubm90IGJlIHByb2Nlc3NlZCBpbiB0aGUgY29uc3RydWN0b3JcbiAgICogYmVjYXVzZSB0aGVzZSBwcm9wZXJ0aWVzIGhhdmVuJ3QgYmVlbiBjYWxjdWxhdGVkIGJ5IHRoYXQgcG9pbnQuXG4gICAqXG4gICAqIEBwYXJhbSBndXR0ZXJTaXplIFNpemUgb2YgdGhlIGdyaWQncyBndXR0ZXIuXG4gICAqIEBwYXJhbSB0cmFja2VyIEluc3RhbmNlIG9mIHRoZSBUaWxlQ29vcmRpbmF0b3IuXG4gICAqIEBwYXJhbSBjb2xzIEFtb3VudCBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuICAgKiBAcGFyYW0gZGlyZWN0aW9uIExheW91dCBkaXJlY3Rpb24gb2YgdGhlIGdyaWQuXG4gICAqL1xuICBpbml0KGd1dHRlclNpemU6IHN0cmluZywgdHJhY2tlcjogVGlsZUNvb3JkaW5hdG9yLCBjb2xzOiBudW1iZXIsIGRpcmVjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fZ3V0dGVyU2l6ZSA9IG5vcm1hbGl6ZVVuaXRzKGd1dHRlclNpemUpO1xuICAgIHRoaXMuX3Jvd3MgPSB0cmFja2VyLnJvd0NvdW50O1xuICAgIHRoaXMuX3Jvd3NwYW4gPSB0cmFja2VyLnJvd3NwYW47XG4gICAgdGhpcy5fY29scyA9IGNvbHM7XG4gICAgdGhpcy5fZGlyZWN0aW9uID0gZGlyZWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIHRoZSBhbW91bnQgb2Ygc3BhY2UgYSBzaW5nbGUgMXgxIHRpbGUgd291bGQgdGFrZSB1cCAod2lkdGggb3IgaGVpZ2h0KS5cbiAgICogVXNlZCBhcyBhIGJhc2lzIGZvciBvdGhlciBjYWxjdWxhdGlvbnMuXG4gICAqIEBwYXJhbSBzaXplUGVyY2VudCBQZXJjZW50IG9mIHRoZSB0b3RhbCBncmlkLWxpc3Qgc3BhY2UgdGhhdCBvbmUgMXgxIHRpbGUgd291bGQgdGFrZSB1cC5cbiAgICogQHBhcmFtIGd1dHRlckZyYWN0aW9uIEZyYWN0aW9uIG9mIHRoZSBndXR0ZXIgc2l6ZSB0YWtlbiB1cCBieSBvbmUgMXgxIHRpbGUuXG4gICAqIEByZXR1cm4gVGhlIHNpemUgb2YgYSAxeDEgdGlsZSBhcyBhbiBleHByZXNzaW9uIHRoYXQgY2FuIGJlIGV2YWx1YXRlZCB2aWEgQ1NTIGNhbGMoKS5cbiAgICovXG4gIGdldEJhc2VUaWxlU2l6ZShzaXplUGVyY2VudDogbnVtYmVyLCBndXR0ZXJGcmFjdGlvbjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAvLyBUYWtlIHRoZSBiYXNlIHNpemUgcGVyY2VudCAoYXMgd291bGQgYmUgaWYgZXZlbmx5IGRpdmlkaW5nIHRoZSBzaXplIGJldHdlZW4gY2VsbHMpLFxuICAgIC8vIGFuZCB0aGVuIHN1YnRyYWN0aW5nIHRoZSBzaXplIG9mIG9uZSBndXR0ZXIuIEhvd2V2ZXIsIHNpbmNlIHRoZXJlIGFyZSBubyBndXR0ZXJzIG9uIHRoZVxuICAgIC8vIGVkZ2VzLCBlYWNoIHRpbGUgb25seSB1c2VzIGEgZnJhY3Rpb24gKGd1dHRlclNoYXJlID0gbnVtR3V0dGVycyAvIG51bUNlbGxzKSBvZiB0aGUgZ3V0dGVyXG4gICAgLy8gc2l6ZS4gKEltYWdpbmUgaGF2aW5nIG9uZSBndXR0ZXIgcGVyIHRpbGUsIGFuZCB0aGVuIGJyZWFraW5nIHVwIHRoZSBleHRyYSBndXR0ZXIgb24gdGhlXG4gICAgLy8gZWRnZSBldmVubHkgYW1vbmcgdGhlIGNlbGxzKS5cbiAgICByZXR1cm4gYCgke3NpemVQZXJjZW50fSUgLSAoJHt0aGlzLl9ndXR0ZXJTaXplfSAqICR7Z3V0dGVyRnJhY3Rpb259KSlgO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgVGhlIGhvcml6b250YWwgb3IgdmVydGljYWwgcG9zaXRpb24gb2YgYSB0aWxlLCBlLmcuLCB0aGUgJ3RvcCcgb3IgJ2xlZnQnIHByb3BlcnR5IHZhbHVlLlxuICAgKiBAcGFyYW0gb2Zmc2V0IE51bWJlciBvZiB0aWxlcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIHJlbmRlcmVkIGluIHRoZSByb3cvY29sdW1uLlxuICAgKiBAcGFyYW0gYmFzZVNpemUgQmFzZSBzaXplIG9mIGEgMXgxIHRpbGUgKGFzIGNvbXB1dGVkIGluIGdldEJhc2VUaWxlU2l6ZSkuXG4gICAqIEByZXR1cm4gUG9zaXRpb24gb2YgdGhlIHRpbGUgYXMgYSBDU1MgY2FsYygpIGV4cHJlc3Npb24uXG4gICAqL1xuICBnZXRUaWxlUG9zaXRpb24oYmFzZVNpemU6IHN0cmluZywgb2Zmc2V0OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIC8vIFRoZSBwb3NpdGlvbiBjb21lcyB0aGUgc2l6ZSBvZiBhIDF4MSB0aWxlIHBsdXMgZ3V0dGVyIGZvciBlYWNoIHByZXZpb3VzIHRpbGUgaW4gdGhlXG4gICAgLy8gcm93L2NvbHVtbiAob2Zmc2V0KS5cbiAgICByZXR1cm4gb2Zmc2V0ID09PSAwID8gJzAnIDogY2FsYyhgKCR7YmFzZVNpemV9ICsgJHt0aGlzLl9ndXR0ZXJTaXplfSkgKiAke29mZnNldH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhY3R1YWwgc2l6ZSBvZiBhIHRpbGUsIGUuZy4sIHdpZHRoIG9yIGhlaWdodCwgdGFraW5nIHJvd3NwYW4gb3IgY29sc3BhbiBpbnRvIGFjY291bnQuXG4gICAqIEBwYXJhbSBiYXNlU2l6ZSBCYXNlIHNpemUgb2YgYSAxeDEgdGlsZSAoYXMgY29tcHV0ZWQgaW4gZ2V0QmFzZVRpbGVTaXplKS5cbiAgICogQHBhcmFtIHNwYW4gVGhlIHRpbGUncyByb3dzcGFuIG9yIGNvbHNwYW4uXG4gICAqIEByZXR1cm4gU2l6ZSBvZiB0aGUgdGlsZSBhcyBhIENTUyBjYWxjKCkgZXhwcmVzc2lvbi5cbiAgICovXG4gIGdldFRpbGVTaXplKGJhc2VTaXplOiBzdHJpbmcsIHNwYW46IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAoJHtiYXNlU2l6ZX0gKiAke3NwYW59KSArICgke3NwYW4gLSAxfSAqICR7dGhpcy5fZ3V0dGVyU2l6ZX0pYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzdHlsZSBwcm9wZXJ0aWVzIHRvIGJlIGFwcGxpZWQgdG8gYSB0aWxlIGZvciB0aGUgZ2l2ZW4gcm93IGFuZCBjb2x1bW4gaW5kZXguXG4gICAqIEBwYXJhbSB0aWxlIFRpbGUgdG8gd2hpY2ggdG8gYXBwbHkgdGhlIHN0eWxpbmcuXG4gICAqIEBwYXJhbSByb3dJbmRleCBJbmRleCBvZiB0aGUgdGlsZSdzIHJvdy5cbiAgICogQHBhcmFtIGNvbEluZGV4IEluZGV4IG9mIHRoZSB0aWxlJ3MgY29sdW1uLlxuICAgKi9cbiAgc2V0U3R5bGUodGlsZTogTWF0R3JpZFRpbGUsIHJvd0luZGV4OiBudW1iZXIsIGNvbEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAvLyBQZXJjZW50IG9mIHRoZSBhdmFpbGFibGUgaG9yaXpvbnRhbCBzcGFjZSB0aGF0IG9uZSBjb2x1bW4gdGFrZXMgdXAuXG4gICAgbGV0IHBlcmNlbnRXaWR0aFBlclRpbGUgPSAxMDAgLyB0aGlzLl9jb2xzO1xuXG4gICAgLy8gRnJhY3Rpb24gb2YgdGhlIHZlcnRpY2FsIGd1dHRlciBzaXplIHRoYXQgZWFjaCBjb2x1bW4gdGFrZXMgdXAuXG4gICAgLy8gRm9yIGV4YW1wbGUsIGlmIHRoZXJlIGFyZSA1IGNvbHVtbnMsIGVhY2ggY29sdW1uIHVzZXMgNC81ID0gMC44IHRpbWVzIHRoZSBndXR0ZXIgd2lkdGguXG4gICAgbGV0IGd1dHRlcldpZHRoRnJhY3Rpb25QZXJUaWxlID0gKHRoaXMuX2NvbHMgLSAxKSAvIHRoaXMuX2NvbHM7XG5cbiAgICB0aGlzLnNldENvbFN0eWxlcyh0aWxlLCBjb2xJbmRleCwgcGVyY2VudFdpZHRoUGVyVGlsZSwgZ3V0dGVyV2lkdGhGcmFjdGlvblBlclRpbGUpO1xuICAgIHRoaXMuc2V0Um93U3R5bGVzKHRpbGUsIHJvd0luZGV4LCBwZXJjZW50V2lkdGhQZXJUaWxlLCBndXR0ZXJXaWR0aEZyYWN0aW9uUGVyVGlsZSk7XG4gIH1cblxuICAvKiogU2V0cyB0aGUgaG9yaXpvbnRhbCBwbGFjZW1lbnQgb2YgdGhlIHRpbGUgaW4gdGhlIGxpc3QuICovXG4gIHNldENvbFN0eWxlcyh0aWxlOiBNYXRHcmlkVGlsZSwgY29sSW5kZXg6IG51bWJlciwgcGVyY2VudFdpZHRoOiBudW1iZXIsIGd1dHRlcldpZHRoOiBudW1iZXIpIHtcbiAgICAvLyBCYXNlIGhvcml6b250YWwgc2l6ZSBvZiBhIGNvbHVtbi5cbiAgICBsZXQgYmFzZVRpbGVXaWR0aCA9IHRoaXMuZ2V0QmFzZVRpbGVTaXplKHBlcmNlbnRXaWR0aCwgZ3V0dGVyV2lkdGgpO1xuXG4gICAgLy8gVGhlIHdpZHRoIGFuZCBob3Jpem9udGFsIHBvc2l0aW9uIG9mIGVhY2ggdGlsZSBpcyBhbHdheXMgY2FsY3VsYXRlZCB0aGUgc2FtZSB3YXksIGJ1dCB0aGVcbiAgICAvLyBoZWlnaHQgYW5kIHZlcnRpY2FsIHBvc2l0aW9uIGRlcGVuZHMgb24gdGhlIHJvd01vZGUuXG4gICAgbGV0IHNpZGUgPSB0aGlzLl9kaXJlY3Rpb24gPT09ICdydGwnID8gJ3JpZ2h0JyA6ICdsZWZ0JztcbiAgICB0aWxlLl9zZXRTdHlsZShzaWRlLCB0aGlzLmdldFRpbGVQb3NpdGlvbihiYXNlVGlsZVdpZHRoLCBjb2xJbmRleCkpO1xuICAgIHRpbGUuX3NldFN0eWxlKCd3aWR0aCcsIGNhbGModGhpcy5nZXRUaWxlU2l6ZShiYXNlVGlsZVdpZHRoLCB0aWxlLmNvbHNwYW4pKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgdG90YWwgc2l6ZSB0YWtlbiB1cCBieSBndXR0ZXJzIGFjcm9zcyBvbmUgYXhpcyBvZiBhIGxpc3QuXG4gICAqL1xuICBnZXRHdXR0ZXJTcGFuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuX2d1dHRlclNpemV9ICogKCR7dGhpcy5fcm93c3Bhbn0gLSAxKWA7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgdG90YWwgc2l6ZSB0YWtlbiB1cCBieSB0aWxlcyBhY3Jvc3Mgb25lIGF4aXMgb2YgYSBsaXN0LlxuICAgKiBAcGFyYW0gdGlsZUhlaWdodCBIZWlnaHQgb2YgdGhlIHRpbGUuXG4gICAqL1xuICBnZXRUaWxlU3Bhbih0aWxlSGVpZ2h0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLl9yb3dzcGFufSAqICR7dGhpcy5nZXRUaWxlU2l6ZSh0aWxlSGVpZ2h0LCAxKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZlcnRpY2FsIHBsYWNlbWVudCBvZiB0aGUgdGlsZSBpbiB0aGUgbGlzdC5cbiAgICogVGhpcyBtZXRob2Qgd2lsbCBiZSBpbXBsZW1lbnRlZCBieSBlYWNoIHR5cGUgb2YgVGlsZVN0eWxlci5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgYWJzdHJhY3Qgc2V0Um93U3R5bGVzKFxuICAgIHRpbGU6IE1hdEdyaWRUaWxlLFxuICAgIHJvd0luZGV4OiBudW1iZXIsXG4gICAgcGVyY2VudFdpZHRoOiBudW1iZXIsXG4gICAgZ3V0dGVyV2lkdGg6IG51bWJlcixcbiAgKTogdm9pZDtcblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgY29tcHV0ZWQgaGVpZ2h0IGFuZCByZXR1cm5zIHRoZSBjb3JyZWN0IHN0eWxlIHByb3BlcnR5IHRvIHNldC5cbiAgICogVGhpcyBtZXRob2QgY2FuIGJlIGltcGxlbWVudGVkIGJ5IGVhY2ggdHlwZSBvZiBUaWxlU3R5bGVyLlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBnZXRDb21wdXRlZEhlaWdodCgpOiBbc3RyaW5nLCBzdHJpbmddIHwgbnVsbCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHRpbGUgc3R5bGVyIGlzIHN3YXBwZWQgb3V0IHdpdGggYSBkaWZmZXJlbnQgb25lLiBUbyBiZSB1c2VkIGZvciBjbGVhbnVwLlxuICAgKiBAcGFyYW0gbGlzdCBHcmlkIGxpc3QgdGhhdCB0aGUgc3R5bGVyIHdhcyBhdHRhY2hlZCB0by5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgYWJzdHJhY3QgcmVzZXQobGlzdDogVGlsZVN0eWxlVGFyZ2V0KTogdm9pZDtcbn1cblxuLyoqXG4gKiBUaGlzIHR5cGUgb2Ygc3R5bGVyIGlzIGluc3RhbnRpYXRlZCB3aGVuIHRoZSB1c2VyIHBhc3NlcyBpbiBhIGZpeGVkIHJvdyBoZWlnaHQuXG4gKiBFeGFtcGxlIGA8bWF0LWdyaWQtbGlzdCBjb2xzPVwiM1wiIHJvd0hlaWdodD1cIjEwMHB4XCI+YFxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgRml4ZWRUaWxlU3R5bGVyIGV4dGVuZHMgVGlsZVN0eWxlciB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmaXhlZFJvd0hlaWdodDogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGluaXQoZ3V0dGVyU2l6ZTogc3RyaW5nLCB0cmFja2VyOiBUaWxlQ29vcmRpbmF0b3IsIGNvbHM6IG51bWJlciwgZGlyZWN0aW9uOiBzdHJpbmcpIHtcbiAgICBzdXBlci5pbml0KGd1dHRlclNpemUsIHRyYWNrZXIsIGNvbHMsIGRpcmVjdGlvbik7XG4gICAgdGhpcy5maXhlZFJvd0hlaWdodCA9IG5vcm1hbGl6ZVVuaXRzKHRoaXMuZml4ZWRSb3dIZWlnaHQpO1xuXG4gICAgaWYgKFxuICAgICAgIWNzc0NhbGNBbGxvd2VkVmFsdWUudGVzdCh0aGlzLmZpeGVkUm93SGVpZ2h0KSAmJlxuICAgICAgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSlcbiAgICApIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHZhbHVlIFwiJHt0aGlzLmZpeGVkUm93SGVpZ2h0fVwiIHNldCBhcyByb3dIZWlnaHQuYCk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgc2V0Um93U3R5bGVzKHRpbGU6IE1hdEdyaWRUaWxlLCByb3dJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGlsZS5fc2V0U3R5bGUoJ3RvcCcsIHRoaXMuZ2V0VGlsZVBvc2l0aW9uKHRoaXMuZml4ZWRSb3dIZWlnaHQsIHJvd0luZGV4KSk7XG4gICAgdGlsZS5fc2V0U3R5bGUoJ2hlaWdodCcsIGNhbGModGhpcy5nZXRUaWxlU2l6ZSh0aGlzLmZpeGVkUm93SGVpZ2h0LCB0aWxlLnJvd3NwYW4pKSk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRDb21wdXRlZEhlaWdodCgpOiBbc3RyaW5nLCBzdHJpbmddIHtcbiAgICByZXR1cm4gWydoZWlnaHQnLCBjYWxjKGAke3RoaXMuZ2V0VGlsZVNwYW4odGhpcy5maXhlZFJvd0hlaWdodCl9ICsgJHt0aGlzLmdldEd1dHRlclNwYW4oKX1gKV07XG4gIH1cblxuICBvdmVycmlkZSByZXNldChsaXN0OiBUaWxlU3R5bGVUYXJnZXQpIHtcbiAgICBsaXN0Ll9zZXRMaXN0U3R5bGUoWydoZWlnaHQnLCBudWxsXSk7XG5cbiAgICBpZiAobGlzdC5fdGlsZXMpIHtcbiAgICAgIGxpc3QuX3RpbGVzLmZvckVhY2godGlsZSA9PiB7XG4gICAgICAgIHRpbGUuX3NldFN0eWxlKCd0b3AnLCBudWxsKTtcbiAgICAgICAgdGlsZS5fc2V0U3R5bGUoJ2hlaWdodCcsIG51bGwpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVGhpcyB0eXBlIG9mIHN0eWxlciBpcyBpbnN0YW50aWF0ZWQgd2hlbiB0aGUgdXNlciBwYXNzZXMgaW4gYSB3aWR0aDpoZWlnaHQgcmF0aW9cbiAqIGZvciB0aGUgcm93IGhlaWdodC4gIEV4YW1wbGUgYDxtYXQtZ3JpZC1saXN0IGNvbHM9XCIzXCIgcm93SGVpZ2h0PVwiMzoxXCI+YFxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgY2xhc3MgUmF0aW9UaWxlU3R5bGVyIGV4dGVuZHMgVGlsZVN0eWxlciB7XG4gIC8qKiBSYXRpbyB3aWR0aDpoZWlnaHQgZ2l2ZW4gYnkgdXNlciB0byBkZXRlcm1pbmUgcm93IGhlaWdodC4gKi9cbiAgcm93SGVpZ2h0UmF0aW86IG51bWJlcjtcbiAgYmFzZVRpbGVIZWlnaHQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9wYXJzZVJhdGlvKHZhbHVlKTtcbiAgfVxuXG4gIHNldFJvd1N0eWxlcyhcbiAgICB0aWxlOiBNYXRHcmlkVGlsZSxcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIHBlcmNlbnRXaWR0aDogbnVtYmVyLFxuICAgIGd1dHRlcldpZHRoOiBudW1iZXIsXG4gICk6IHZvaWQge1xuICAgIGxldCBwZXJjZW50SGVpZ2h0UGVyVGlsZSA9IHBlcmNlbnRXaWR0aCAvIHRoaXMucm93SGVpZ2h0UmF0aW87XG4gICAgdGhpcy5iYXNlVGlsZUhlaWdodCA9IHRoaXMuZ2V0QmFzZVRpbGVTaXplKHBlcmNlbnRIZWlnaHRQZXJUaWxlLCBndXR0ZXJXaWR0aCk7XG5cbiAgICAvLyBVc2UgcGFkZGluZy10b3AgYW5kIG1hcmdpbi10b3AgdG8gbWFpbnRhaW4gdGhlIGdpdmVuIGFzcGVjdCByYXRpbywgYXNcbiAgICAvLyBhIHBlcmNlbnRhZ2UtYmFzZWQgdmFsdWUgZm9yIHRoZXNlIHByb3BlcnRpZXMgaXMgYXBwbGllZCB2ZXJzdXMgdGhlICp3aWR0aCogb2YgdGhlXG4gICAgLy8gY29udGFpbmluZyBibG9jay4gU2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIvYm94Lmh0bWwjbWFyZ2luLXByb3BlcnRpZXNcbiAgICB0aWxlLl9zZXRTdHlsZSgnbWFyZ2luVG9wJywgdGhpcy5nZXRUaWxlUG9zaXRpb24odGhpcy5iYXNlVGlsZUhlaWdodCwgcm93SW5kZXgpKTtcbiAgICB0aWxlLl9zZXRTdHlsZSgncGFkZGluZ1RvcCcsIGNhbGModGhpcy5nZXRUaWxlU2l6ZSh0aGlzLmJhc2VUaWxlSGVpZ2h0LCB0aWxlLnJvd3NwYW4pKSk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRDb21wdXRlZEhlaWdodCgpOiBbc3RyaW5nLCBzdHJpbmddIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ3BhZGRpbmdCb3R0b20nLFxuICAgICAgY2FsYyhgJHt0aGlzLmdldFRpbGVTcGFuKHRoaXMuYmFzZVRpbGVIZWlnaHQpfSArICR7dGhpcy5nZXRHdXR0ZXJTcGFuKCl9YCksXG4gICAgXTtcbiAgfVxuXG4gIHJlc2V0KGxpc3Q6IFRpbGVTdHlsZVRhcmdldCkge1xuICAgIGxpc3QuX3NldExpc3RTdHlsZShbJ3BhZGRpbmdCb3R0b20nLCBudWxsXSk7XG5cbiAgICBsaXN0Ll90aWxlcy5mb3JFYWNoKHRpbGUgPT4ge1xuICAgICAgdGlsZS5fc2V0U3R5bGUoJ21hcmdpblRvcCcsIG51bGwpO1xuICAgICAgdGlsZS5fc2V0U3R5bGUoJ3BhZGRpbmdUb3AnLCBudWxsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3BhcnNlUmF0aW8odmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHJhdGlvUGFydHMgPSB2YWx1ZS5zcGxpdCgnOicpO1xuXG4gICAgaWYgKHJhdGlvUGFydHMubGVuZ3RoICE9PSAyICYmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpKSB7XG4gICAgICB0aHJvdyBFcnJvcihgbWF0LWdyaWQtbGlzdDogaW52YWxpZCByYXRpbyBnaXZlbiBmb3Igcm93LWhlaWdodDogXCIke3ZhbHVlfVwiYCk7XG4gICAgfVxuXG4gICAgdGhpcy5yb3dIZWlnaHRSYXRpbyA9IHBhcnNlRmxvYXQocmF0aW9QYXJ0c1swXSkgLyBwYXJzZUZsb2F0KHJhdGlvUGFydHNbMV0pO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyB0eXBlIG9mIHN0eWxlciBpcyBpbnN0YW50aWF0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGEgXCJmaXRcIiByb3cgaGVpZ2h0IG1vZGUuXG4gKiBJbiBvdGhlciB3b3JkcywgdGhlIHJvdyBoZWlnaHQgd2lsbCByZWZsZWN0IHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGNvbnRhaW5lciBkaXZpZGVkXG4gKiBieSB0aGUgbnVtYmVyIG9mIHJvd3MuICBFeGFtcGxlIGA8bWF0LWdyaWQtbGlzdCBjb2xzPVwiM1wiIHJvd0hlaWdodD1cImZpdFwiPmBcbiAqXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBGaXRUaWxlU3R5bGVyIGV4dGVuZHMgVGlsZVN0eWxlciB7XG4gIHNldFJvd1N0eWxlcyh0aWxlOiBNYXRHcmlkVGlsZSwgcm93SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIC8vIFBlcmNlbnQgb2YgdGhlIGF2YWlsYWJsZSB2ZXJ0aWNhbCBzcGFjZSB0aGF0IG9uZSByb3cgdGFrZXMgdXAuXG4gICAgbGV0IHBlcmNlbnRIZWlnaHRQZXJUaWxlID0gMTAwIC8gdGhpcy5fcm93c3BhbjtcblxuICAgIC8vIEZyYWN0aW9uIG9mIHRoZSBob3Jpem9udGFsIGd1dHRlciBzaXplIHRoYXQgZWFjaCBjb2x1bW4gdGFrZXMgdXAuXG4gICAgbGV0IGd1dHRlckhlaWdodFBlclRpbGUgPSAodGhpcy5fcm93cyAtIDEpIC8gdGhpcy5fcm93cztcblxuICAgIC8vIEJhc2UgdmVydGljYWwgc2l6ZSBvZiBhIGNvbHVtbi5cbiAgICBsZXQgYmFzZVRpbGVIZWlnaHQgPSB0aGlzLmdldEJhc2VUaWxlU2l6ZShwZXJjZW50SGVpZ2h0UGVyVGlsZSwgZ3V0dGVySGVpZ2h0UGVyVGlsZSk7XG5cbiAgICB0aWxlLl9zZXRTdHlsZSgndG9wJywgdGhpcy5nZXRUaWxlUG9zaXRpb24oYmFzZVRpbGVIZWlnaHQsIHJvd0luZGV4KSk7XG4gICAgdGlsZS5fc2V0U3R5bGUoJ2hlaWdodCcsIGNhbGModGhpcy5nZXRUaWxlU2l6ZShiYXNlVGlsZUhlaWdodCwgdGlsZS5yb3dzcGFuKSkpO1xuICB9XG5cbiAgcmVzZXQobGlzdDogVGlsZVN0eWxlVGFyZ2V0KSB7XG4gICAgaWYgKGxpc3QuX3RpbGVzKSB7XG4gICAgICBsaXN0Ll90aWxlcy5mb3JFYWNoKHRpbGUgPT4ge1xuICAgICAgICB0aWxlLl9zZXRTdHlsZSgndG9wJywgbnVsbCk7XG4gICAgICAgIHRpbGUuX3NldFN0eWxlKCdoZWlnaHQnLCBudWxsKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKiogV3JhcHMgYSBDU1Mgc3RyaW5nIGluIGEgY2FsYyBmdW5jdGlvbiAqL1xuZnVuY3Rpb24gY2FsYyhleHA6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgY2FsYygke2V4cH0pYDtcbn1cblxuLyoqIEFwcGVuZHMgcGl4ZWxzIHRvIGEgQ1NTIHN0cmluZyBpZiBubyB1bml0cyBhcmUgZ2l2ZW4uICovXG5mdW5jdGlvbiBub3JtYWxpemVVbml0cyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlLm1hdGNoKC8oW0EtWmEteiVdKykkLykgPyB2YWx1ZSA6IGAke3ZhbHVlfXB4YDtcbn1cbiJdfQ==
@@ -1,62 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /**
9
- * Fake URLs and associated SVG documents used by tests.
10
- * The ID attribute is used to load the icons, the name attribute is only used for testing.
11
- * @docs-private
12
- */
13
- export const FAKE_SVGS = {
14
- cat: '<svg><path id="meow" name="meow"></path></svg>',
15
- dog: '<svg><path id="woof" name="woof"></path></svg>',
16
- dogWithSpaces: '<svg><path id="woof says the dog" name="woof"></path></svg>',
17
- farmSet1: `
18
- <svg>
19
- <defs>
20
- <g id="pig" name="pig"><path name="oink"></path></g>
21
- <g id="cow" name="cow"><path name="moo"></path></g>
22
- </defs>
23
- </svg>
24
- `,
25
- farmSet2: `
26
- <svg>
27
- <defs>
28
- <g id="cow" name="cow"><path name="moo moo"></path></g>
29
- <g id="sheep" name="sheep"><path name="baa"></path></g>
30
- </defs>
31
- </svg>
32
- `,
33
- farmSet3: `
34
- <svg>
35
- <symbol id="duck" name="duck">
36
- <path id="quack" name="quack"></path>
37
- </symbol>
38
- </svg>
39
- `,
40
- farmSet4: `
41
- <svg>
42
- <defs>
43
- <g id="pig with spaces" name="pig"><path name="oink"></path></g>
44
- </defs>
45
- </svg>
46
- `,
47
- farmSet5: `
48
- <svg>
49
- <symbol id="duck" viewBox="0 0 13 37">
50
- <path id="quack" name="quack"></path>
51
- </symbol>
52
- </svg>
53
- `,
54
- arrows: `
55
- <svg>
56
- <defs>
57
- <svg id="left-arrow" name="left-arrow"><path name="left"></path></svg>
58
- <svg id="right-arrow" name="right-arrow"><path name="right"></path></svg>
59
- </defs>
60
- </svg> `,
61
- };
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZS1zdmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL2ljb24vZmFrZS1zdmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDdkIsR0FBRyxFQUFFLGdEQUFnRDtJQUNyRCxHQUFHLEVBQUUsZ0RBQWdEO0lBQ3JELGFBQWEsRUFBRSw2REFBNkQ7SUFDNUUsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7SUFDRCxRQUFRLEVBQUU7Ozs7Ozs7R0FPVDtJQUNELFFBQVEsRUFBRTs7Ozs7O0dBTVQ7SUFDRCxRQUFRLEVBQUU7Ozs7OztHQU1UO0lBQ0QsUUFBUSxFQUFFOzs7Ozs7R0FNVDtJQUNELE1BQU0sRUFBRTs7Ozs7O2FBTUc7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogRmFrZSBVUkxzIGFuZCBhc3NvY2lhdGVkIFNWRyBkb2N1bWVudHMgdXNlZCBieSB0ZXN0cy5cbiAqIFRoZSBJRCBhdHRyaWJ1dGUgaXMgdXNlZCB0byBsb2FkIHRoZSBpY29ucywgdGhlIG5hbWUgYXR0cmlidXRlIGlzIG9ubHkgdXNlZCBmb3IgdGVzdGluZy5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IEZBS0VfU1ZHUyA9IHtcbiAgY2F0OiAnPHN2Zz48cGF0aCBpZD1cIm1lb3dcIiBuYW1lPVwibWVvd1wiPjwvcGF0aD48L3N2Zz4nLFxuICBkb2c6ICc8c3ZnPjxwYXRoIGlkPVwid29vZlwiIG5hbWU9XCJ3b29mXCI+PC9wYXRoPjwvc3ZnPicsXG4gIGRvZ1dpdGhTcGFjZXM6ICc8c3ZnPjxwYXRoIGlkPVwid29vZiBzYXlzIHRoZSBkb2dcIiBuYW1lPVwid29vZlwiPjwvcGF0aD48L3N2Zz4nLFxuICBmYXJtU2V0MTogYFxuICAgIDxzdmc+XG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGcgaWQ9XCJwaWdcIiBuYW1lPVwicGlnXCI+PHBhdGggbmFtZT1cIm9pbmtcIj48L3BhdGg+PC9nPlxuICAgICAgICA8ZyBpZD1cImNvd1wiIG5hbWU9XCJjb3dcIj48cGF0aCBuYW1lPVwibW9vXCI+PC9wYXRoPjwvZz5cbiAgICAgIDwvZGVmcz5cbiAgICA8L3N2Zz5cbiAgYCxcbiAgZmFybVNldDI6IGBcbiAgICA8c3ZnPlxuICAgICAgPGRlZnM+XG4gICAgICAgIDxnIGlkPVwiY293XCIgbmFtZT1cImNvd1wiPjxwYXRoIG5hbWU9XCJtb28gbW9vXCI+PC9wYXRoPjwvZz5cbiAgICAgICAgPGcgaWQ9XCJzaGVlcFwiIG5hbWU9XCJzaGVlcFwiPjxwYXRoIG5hbWU9XCJiYWFcIj48L3BhdGg+PC9nPlxuICAgICAgPC9kZWZzPlxuICAgIDwvc3ZnPlxuICBgLFxuICBmYXJtU2V0MzogYFxuICAgIDxzdmc+XG4gICAgICA8c3ltYm9sIGlkPVwiZHVja1wiIG5hbWU9XCJkdWNrXCI+XG4gICAgICAgIDxwYXRoIGlkPVwicXVhY2tcIiBuYW1lPVwicXVhY2tcIj48L3BhdGg+XG4gICAgICA8L3N5bWJvbD5cbiAgICA8L3N2Zz5cbiAgYCxcbiAgZmFybVNldDQ6IGBcbiAgICA8c3ZnPlxuICAgICAgPGRlZnM+XG4gICAgICAgIDxnIGlkPVwicGlnIHdpdGggc3BhY2VzXCIgbmFtZT1cInBpZ1wiPjxwYXRoIG5hbWU9XCJvaW5rXCI+PC9wYXRoPjwvZz5cbiAgICAgIDwvZGVmcz5cbiAgICA8L3N2Zz5cbiAgYCxcbiAgZmFybVNldDU6IGBcbiAgICA8c3ZnPlxuICAgICAgPHN5bWJvbCBpZD1cImR1Y2tcIiB2aWV3Qm94PVwiMCAwIDEzIDM3XCI+XG4gICAgICAgIDxwYXRoIGlkPVwicXVhY2tcIiBuYW1lPVwicXVhY2tcIj48L3BhdGg+XG4gICAgICA8L3N5bWJvbD5cbiAgICA8L3N2Zz5cbiAgYCxcbiAgYXJyb3dzOiBgXG4gICAgPHN2Zz5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8c3ZnIGlkPVwibGVmdC1hcnJvd1wiIG5hbWU9XCJsZWZ0LWFycm93XCI+PHBhdGggbmFtZT1cImxlZnRcIj48L3BhdGg+PC9zdmc+XG4gICAgICAgIDxzdmcgaWQ9XCJyaWdodC1hcnJvd1wiIG5hbWU9XCJyaWdodC1hcnJvd1wiPjxwYXRoIG5hbWU9XCJyaWdodFwiPjwvcGF0aD48L3N2Zz5cbiAgICAgIDwvZGVmcz5cbiAgICA8L3N2Zz4gIGAsXG59O1xuIl19
@@ -1,24 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- import { NgModule } from '@angular/core';
9
- import { MatCommonModule } from '@angular/material/core';
10
- import { MatIcon } from './icon';
11
- import * as i0 from "@angular/core";
12
- export class MatIconModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatIconModule, imports: [MatCommonModule, MatIcon], exports: [MatIcon, MatCommonModule] }); }
15
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatIconModule, imports: [MatCommonModule, MatCommonModule] }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatIconModule, decorators: [{
18
- type: NgModule,
19
- args: [{
20
- imports: [MatCommonModule, MatIcon],
21
- exports: [MatIcon, MatCommonModule],
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvaWNvbi9pY29uLW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDOztBQU0vQixNQUFNLE9BQU8sYUFBYTtxSEFBYixhQUFhO3NIQUFiLGFBQWEsWUFIZCxlQUFlLEVBQUUsT0FBTyxhQUN4QixPQUFPLEVBQUUsZUFBZTtzSEFFdkIsYUFBYSxZQUhkLGVBQWUsRUFDTixlQUFlOztrR0FFdkIsYUFBYTtrQkFKekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7TWF0SWNvbn0gZnJvbSAnLi9pY29uJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW01hdENvbW1vbk1vZHVsZSwgTWF0SWNvbl0sXG4gIGV4cG9ydHM6IFtNYXRJY29uLCBNYXRDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRJY29uTW9kdWxlIHt9XG4iXX0=