@gouvfr/dsfr 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (754) hide show
  1. package/.config/config.js +1 -1
  2. package/.config/config.json +43 -38
  3. package/.config/icon.json +1 -1
  4. package/.config/icon.scss +2 -4
  5. package/dist/component/accordion/accordion.css +1 -1
  6. package/dist/component/accordion/accordion.legacy.css +1 -1
  7. package/dist/component/accordion/accordion.legacy.min.css +1 -1
  8. package/dist/component/accordion/accordion.main.css +1 -1
  9. package/dist/component/accordion/accordion.main.min.css +1 -1
  10. package/dist/component/accordion/accordion.min.css +1 -1
  11. package/dist/component/accordion/accordion.module.js +2 -2
  12. package/dist/component/accordion/accordion.module.js.map +1 -1
  13. package/dist/component/accordion/accordion.module.min.js +1 -1
  14. package/dist/component/accordion/accordion.module.min.js.map +1 -1
  15. package/dist/component/accordion/accordion.nomodule.js +2 -2
  16. package/dist/component/accordion/accordion.nomodule.js.map +1 -1
  17. package/dist/component/accordion/accordion.nomodule.min.js +1 -1
  18. package/dist/component/accordion/accordion.nomodule.min.js.map +1 -1
  19. package/dist/component/alert/alert.css +1 -1
  20. package/dist/component/alert/alert.legacy.css +1 -1
  21. package/dist/component/alert/alert.legacy.min.css +1 -1
  22. package/dist/component/alert/alert.main.css +1 -1
  23. package/dist/component/alert/alert.main.min.css +1 -1
  24. package/dist/component/alert/alert.min.css +1 -1
  25. package/dist/component/badge/badge.css +1 -1
  26. package/dist/component/badge/badge.legacy.css +1 -1
  27. package/dist/component/badge/badge.legacy.min.css +1 -1
  28. package/dist/component/badge/badge.main.css +1 -1
  29. package/dist/component/badge/badge.main.min.css +1 -1
  30. package/dist/component/badge/badge.min.css +1 -1
  31. package/dist/component/breadcrumb/breadcrumb.css +1 -1
  32. package/dist/component/breadcrumb/breadcrumb.legacy.css +1 -1
  33. package/dist/component/breadcrumb/breadcrumb.legacy.min.css +1 -1
  34. package/dist/component/breadcrumb/breadcrumb.main.css +1 -1
  35. package/dist/component/breadcrumb/breadcrumb.main.min.css +1 -1
  36. package/dist/component/breadcrumb/breadcrumb.min.css +1 -1
  37. package/dist/component/breadcrumb/breadcrumb.module.js +2 -2
  38. package/dist/component/breadcrumb/breadcrumb.module.js.map +1 -1
  39. package/dist/component/breadcrumb/breadcrumb.module.min.js +1 -1
  40. package/dist/component/breadcrumb/breadcrumb.module.min.js.map +1 -1
  41. package/dist/component/breadcrumb/breadcrumb.nomodule.js +2 -2
  42. package/dist/component/breadcrumb/breadcrumb.nomodule.js.map +1 -1
  43. package/dist/component/breadcrumb/breadcrumb.nomodule.min.js +1 -1
  44. package/dist/component/breadcrumb/breadcrumb.nomodule.min.js.map +1 -1
  45. package/dist/component/button/button.css +1 -1
  46. package/dist/component/button/button.legacy.css +1 -1
  47. package/dist/component/button/button.legacy.min.css +1 -1
  48. package/dist/component/button/button.main.css +1 -1
  49. package/dist/component/button/button.main.min.css +1 -1
  50. package/dist/component/button/button.min.css +1 -1
  51. package/dist/component/button/button.module.js +2 -2
  52. package/dist/component/button/button.module.js.map +1 -1
  53. package/dist/component/button/button.module.min.js +1 -1
  54. package/dist/component/button/button.module.min.js.map +1 -1
  55. package/dist/component/button/button.nomodule.js +2 -2
  56. package/dist/component/button/button.nomodule.js.map +1 -1
  57. package/dist/component/button/button.nomodule.min.js +1 -1
  58. package/dist/component/button/button.nomodule.min.js.map +1 -1
  59. package/dist/component/callout/callout.css +1 -1
  60. package/dist/component/callout/callout.legacy.css +1 -1
  61. package/dist/component/callout/callout.legacy.min.css +1 -1
  62. package/dist/component/callout/callout.main.css +1 -1
  63. package/dist/component/callout/callout.main.min.css +1 -1
  64. package/dist/component/callout/callout.min.css +1 -1
  65. package/dist/component/card/card.css +1 -1
  66. package/dist/component/card/card.legacy.css +1 -1
  67. package/dist/component/card/card.legacy.min.css +1 -1
  68. package/dist/component/card/card.main.css +1 -1
  69. package/dist/component/card/card.main.min.css +1 -1
  70. package/dist/component/card/card.min.css +1 -1
  71. package/dist/component/checkbox/checkbox.css +1 -1
  72. package/dist/component/checkbox/checkbox.legacy.css +1 -1
  73. package/dist/component/checkbox/checkbox.legacy.min.css +1 -1
  74. package/dist/component/checkbox/checkbox.main.css +1 -1
  75. package/dist/component/checkbox/checkbox.main.min.css +1 -1
  76. package/dist/component/checkbox/checkbox.min.css +1 -1
  77. package/dist/component/component.css +1 -1
  78. package/dist/component/component.legacy.css +1 -1
  79. package/dist/component/component.legacy.min.css +1 -1
  80. package/dist/component/component.main.css +1 -1
  81. package/dist/component/component.main.min.css +1 -1
  82. package/dist/component/component.min.css +1 -1
  83. package/dist/component/component.module.js +11 -8
  84. package/dist/component/component.module.js.map +1 -1
  85. package/dist/component/component.module.min.js +2 -2
  86. package/dist/component/component.module.min.js.map +1 -1
  87. package/dist/component/component.nomodule.js +11 -8
  88. package/dist/component/component.nomodule.js.map +1 -1
  89. package/dist/component/component.nomodule.min.js +2 -2
  90. package/dist/component/component.nomodule.min.js.map +1 -1
  91. package/dist/component/connect/connect.css +1 -1
  92. package/dist/component/connect/connect.legacy.css +1 -1
  93. package/dist/component/connect/connect.legacy.min.css +1 -1
  94. package/dist/component/connect/connect.main.css +1 -1
  95. package/dist/component/connect/connect.main.min.css +1 -1
  96. package/dist/component/connect/connect.min.css +1 -1
  97. package/dist/component/consent/consent.css +1 -1
  98. package/dist/component/consent/consent.legacy.css +1 -1
  99. package/dist/component/consent/consent.legacy.min.css +1 -1
  100. package/dist/component/consent/consent.main.css +1 -1
  101. package/dist/component/consent/consent.main.min.css +1 -1
  102. package/dist/component/consent/consent.min.css +1 -1
  103. package/dist/component/content/content.css +1 -1
  104. package/dist/component/content/content.legacy.css +1 -1
  105. package/dist/component/content/content.legacy.min.css +1 -1
  106. package/dist/component/content/content.main.css +1 -1
  107. package/dist/component/content/content.main.min.css +1 -1
  108. package/dist/component/content/content.min.css +1 -1
  109. package/dist/component/display/display.module.js +2 -2
  110. package/dist/component/display/display.module.js.map +1 -1
  111. package/dist/component/display/display.module.min.js +1 -1
  112. package/dist/component/display/display.module.min.js.map +1 -1
  113. package/dist/component/display/display.nomodule.js +2 -2
  114. package/dist/component/display/display.nomodule.js.map +1 -1
  115. package/dist/component/display/display.nomodule.min.js +1 -1
  116. package/dist/component/display/display.nomodule.min.js.map +1 -1
  117. package/dist/component/download/download.css +1 -1
  118. package/dist/component/download/download.min.css +1 -1
  119. package/dist/component/download/download.module.js +11 -8
  120. package/dist/component/download/download.module.js.map +1 -1
  121. package/dist/component/download/download.module.min.js +2 -2
  122. package/dist/component/download/download.module.min.js.map +1 -1
  123. package/dist/component/download/download.nomodule.js +11 -8
  124. package/dist/component/download/download.nomodule.js.map +1 -1
  125. package/dist/component/download/download.nomodule.min.js +2 -2
  126. package/dist/component/download/download.nomodule.min.js.map +1 -1
  127. package/dist/component/follow/follow.css +1 -1
  128. package/dist/component/follow/follow.legacy.css +1 -1
  129. package/dist/component/follow/follow.legacy.min.css +1 -1
  130. package/dist/component/follow/follow.main.css +1 -1
  131. package/dist/component/follow/follow.main.min.css +1 -1
  132. package/dist/component/follow/follow.min.css +1 -1
  133. package/dist/component/footer/footer.css +1 -1
  134. package/dist/component/footer/footer.legacy.css +1 -1
  135. package/dist/component/footer/footer.legacy.min.css +1 -1
  136. package/dist/component/footer/footer.main.css +1 -1
  137. package/dist/component/footer/footer.main.min.css +1 -1
  138. package/dist/component/footer/footer.min.css +1 -1
  139. package/dist/component/form/form.css +1 -1
  140. package/dist/component/form/form.legacy.css +1 -1
  141. package/dist/component/form/form.legacy.min.css +1 -1
  142. package/dist/component/form/form.main.css +1 -1
  143. package/dist/component/form/form.main.min.css +1 -1
  144. package/dist/component/form/form.min.css +1 -1
  145. package/dist/component/header/header.css +1 -1
  146. package/dist/component/header/header.legacy.css +1 -1
  147. package/dist/component/header/header.legacy.min.css +1 -1
  148. package/dist/component/header/header.main.css +1 -1
  149. package/dist/component/header/header.main.min.css +1 -1
  150. package/dist/component/header/header.min.css +1 -1
  151. package/dist/component/header/header.module.js +2 -2
  152. package/dist/component/header/header.module.js.map +1 -1
  153. package/dist/component/header/header.module.min.js +1 -1
  154. package/dist/component/header/header.module.min.js.map +1 -1
  155. package/dist/component/header/header.nomodule.js +2 -2
  156. package/dist/component/header/header.nomodule.js.map +1 -1
  157. package/dist/component/header/header.nomodule.min.js +1 -1
  158. package/dist/component/header/header.nomodule.min.js.map +1 -1
  159. package/dist/component/highlight/highlight.css +1 -1
  160. package/dist/component/highlight/highlight.legacy.css +1 -1
  161. package/dist/component/highlight/highlight.legacy.min.css +1 -1
  162. package/dist/component/highlight/highlight.main.css +1 -1
  163. package/dist/component/highlight/highlight.main.min.css +1 -1
  164. package/dist/component/highlight/highlight.min.css +1 -1
  165. package/dist/component/input/input.css +1 -1
  166. package/dist/component/input/input.legacy.css +1 -1
  167. package/dist/component/input/input.legacy.min.css +1 -1
  168. package/dist/component/input/input.main.css +1 -1
  169. package/dist/component/input/input.main.min.css +1 -1
  170. package/dist/component/input/input.min.css +1 -1
  171. package/dist/component/link/link.css +1 -1
  172. package/dist/component/link/link.legacy.css +1 -1
  173. package/dist/component/link/link.legacy.min.css +1 -1
  174. package/dist/component/link/link.main.css +1 -1
  175. package/dist/component/link/link.main.min.css +1 -1
  176. package/dist/component/link/link.min.css +1 -1
  177. package/dist/component/logo/logo.css +1 -1
  178. package/dist/component/logo/logo.legacy.css +1 -1
  179. package/dist/component/logo/logo.legacy.min.css +1 -1
  180. package/dist/component/logo/logo.main.css +1 -1
  181. package/dist/component/logo/logo.main.min.css +1 -1
  182. package/dist/component/logo/logo.min.css +1 -1
  183. package/dist/component/modal/modal.css +1 -1
  184. package/dist/component/modal/modal.legacy.css +1 -1
  185. package/dist/component/modal/modal.legacy.min.css +1 -1
  186. package/dist/component/modal/modal.main.css +1 -1
  187. package/dist/component/modal/modal.main.min.css +1 -1
  188. package/dist/component/modal/modal.min.css +1 -1
  189. package/dist/component/modal/modal.module.js +2 -2
  190. package/dist/component/modal/modal.module.js.map +1 -1
  191. package/dist/component/modal/modal.module.min.js +1 -1
  192. package/dist/component/modal/modal.module.min.js.map +1 -1
  193. package/dist/component/modal/modal.nomodule.js +2 -2
  194. package/dist/component/modal/modal.nomodule.js.map +1 -1
  195. package/dist/component/modal/modal.nomodule.min.js +1 -1
  196. package/dist/component/modal/modal.nomodule.min.js.map +1 -1
  197. package/dist/component/navigation/navigation.css +1 -1
  198. package/dist/component/navigation/navigation.legacy.css +1 -1
  199. package/dist/component/navigation/navigation.legacy.min.css +1 -1
  200. package/dist/component/navigation/navigation.main.css +1 -1
  201. package/dist/component/navigation/navigation.main.min.css +1 -1
  202. package/dist/component/navigation/navigation.min.css +1 -1
  203. package/dist/component/navigation/navigation.module.js +2 -2
  204. package/dist/component/navigation/navigation.module.js.map +1 -1
  205. package/dist/component/navigation/navigation.module.min.js +1 -1
  206. package/dist/component/navigation/navigation.module.min.js.map +1 -1
  207. package/dist/component/navigation/navigation.nomodule.js +2 -2
  208. package/dist/component/navigation/navigation.nomodule.js.map +1 -1
  209. package/dist/component/navigation/navigation.nomodule.min.js +1 -1
  210. package/dist/component/navigation/navigation.nomodule.min.js.map +1 -1
  211. package/dist/component/pagination/pagination.css +1 -1
  212. package/dist/component/pagination/pagination.legacy.css +1 -1
  213. package/dist/component/pagination/pagination.legacy.min.css +1 -1
  214. package/dist/component/pagination/pagination.main.css +1 -1
  215. package/dist/component/pagination/pagination.main.min.css +1 -1
  216. package/dist/component/pagination/pagination.min.css +1 -1
  217. package/dist/component/quote/quote.css +1 -1
  218. package/dist/component/quote/quote.legacy.css +1 -1
  219. package/dist/component/quote/quote.legacy.min.css +1 -1
  220. package/dist/component/quote/quote.main.css +1 -1
  221. package/dist/component/quote/quote.main.min.css +1 -1
  222. package/dist/component/quote/quote.min.css +1 -1
  223. package/dist/component/radio/radio.css +1 -1
  224. package/dist/component/radio/radio.legacy.css +1 -1
  225. package/dist/component/radio/radio.legacy.min.css +1 -1
  226. package/dist/component/radio/radio.main.css +1 -1
  227. package/dist/component/radio/radio.main.min.css +1 -1
  228. package/dist/component/radio/radio.min.css +1 -1
  229. package/dist/component/search/search.css +1 -1
  230. package/dist/component/search/search.legacy.css +1 -1
  231. package/dist/component/search/search.legacy.min.css +1 -1
  232. package/dist/component/search/search.main.css +1 -1
  233. package/dist/component/search/search.main.min.css +1 -1
  234. package/dist/component/search/search.min.css +1 -1
  235. package/dist/component/select/select.css +1 -1
  236. package/dist/component/select/select.legacy.css +1 -1
  237. package/dist/component/select/select.legacy.min.css +1 -1
  238. package/dist/component/select/select.main.css +1 -1
  239. package/dist/component/select/select.main.min.css +1 -1
  240. package/dist/component/select/select.min.css +1 -1
  241. package/dist/component/share/share.css +1 -1
  242. package/dist/component/share/share.legacy.css +1 -1
  243. package/dist/component/share/share.legacy.min.css +1 -1
  244. package/dist/component/share/share.main.css +1 -1
  245. package/dist/component/share/share.main.min.css +1 -1
  246. package/dist/component/share/share.min.css +1 -1
  247. package/dist/component/sidemenu/sidemenu.css +1 -1
  248. package/dist/component/sidemenu/sidemenu.legacy.css +1 -1
  249. package/dist/component/sidemenu/sidemenu.legacy.min.css +1 -1
  250. package/dist/component/sidemenu/sidemenu.main.css +1 -1
  251. package/dist/component/sidemenu/sidemenu.main.min.css +1 -1
  252. package/dist/component/sidemenu/sidemenu.min.css +1 -1
  253. package/dist/component/sidemenu/sidemenu.module.js +2 -2
  254. package/dist/component/sidemenu/sidemenu.module.js.map +1 -1
  255. package/dist/component/sidemenu/sidemenu.module.min.js +1 -1
  256. package/dist/component/sidemenu/sidemenu.module.min.js.map +1 -1
  257. package/dist/component/sidemenu/sidemenu.nomodule.js +2 -2
  258. package/dist/component/sidemenu/sidemenu.nomodule.js.map +1 -1
  259. package/dist/component/sidemenu/sidemenu.nomodule.min.js +1 -1
  260. package/dist/component/sidemenu/sidemenu.nomodule.min.js.map +1 -1
  261. package/dist/component/skiplink/skiplink.css +1 -1
  262. package/dist/component/skiplink/skiplink.legacy.css +1 -1
  263. package/dist/component/skiplink/skiplink.legacy.min.css +1 -1
  264. package/dist/component/skiplink/skiplink.main.css +1 -1
  265. package/dist/component/skiplink/skiplink.main.min.css +1 -1
  266. package/dist/component/skiplink/skiplink.min.css +1 -1
  267. package/dist/component/summary/summary.css +1 -1
  268. package/dist/component/summary/summary.legacy.css +1 -1
  269. package/dist/component/summary/summary.legacy.min.css +1 -1
  270. package/dist/component/summary/summary.main.css +1 -1
  271. package/dist/component/summary/summary.main.min.css +1 -1
  272. package/dist/component/summary/summary.min.css +1 -1
  273. package/dist/component/tab/tab.css +1 -1
  274. package/dist/component/tab/tab.legacy.css +1 -1
  275. package/dist/component/tab/tab.legacy.min.css +1 -1
  276. package/dist/component/tab/tab.main.css +1 -1
  277. package/dist/component/tab/tab.main.min.css +1 -1
  278. package/dist/component/tab/tab.min.css +1 -1
  279. package/dist/component/tab/tab.module.js +2 -2
  280. package/dist/component/tab/tab.module.js.map +1 -1
  281. package/dist/component/tab/tab.module.min.js +1 -1
  282. package/dist/component/tab/tab.module.min.js.map +1 -1
  283. package/dist/component/tab/tab.nomodule.js +2 -2
  284. package/dist/component/tab/tab.nomodule.js.map +1 -1
  285. package/dist/component/tab/tab.nomodule.min.js +1 -1
  286. package/dist/component/tab/tab.nomodule.min.js.map +1 -1
  287. package/dist/component/table/table.css +1 -1
  288. package/dist/component/table/table.legacy.css +1 -1
  289. package/dist/component/table/table.legacy.min.css +1 -1
  290. package/dist/component/table/table.main.css +1 -1
  291. package/dist/component/table/table.main.min.css +1 -1
  292. package/dist/component/table/table.min.css +1 -1
  293. package/dist/component/table/table.module.js +2 -2
  294. package/dist/component/table/table.module.js.map +1 -1
  295. package/dist/component/table/table.module.min.js +1 -1
  296. package/dist/component/table/table.module.min.js.map +1 -1
  297. package/dist/component/table/table.nomodule.js +2 -2
  298. package/dist/component/table/table.nomodule.js.map +1 -1
  299. package/dist/component/table/table.nomodule.min.js +1 -1
  300. package/dist/component/table/table.nomodule.min.js.map +1 -1
  301. package/dist/component/tag/tag.css +1 -1
  302. package/dist/component/tag/tag.legacy.css +1 -1
  303. package/dist/component/tag/tag.legacy.min.css +1 -1
  304. package/dist/component/tag/tag.main.css +1 -1
  305. package/dist/component/tag/tag.main.min.css +1 -1
  306. package/dist/component/tag/tag.min.css +1 -1
  307. package/dist/component/tag/tag.module.js +2 -2
  308. package/dist/component/tag/tag.module.js.map +1 -1
  309. package/dist/component/tag/tag.module.min.js +1 -1
  310. package/dist/component/tag/tag.module.min.js.map +1 -1
  311. package/dist/component/tag/tag.nomodule.js +2 -2
  312. package/dist/component/tag/tag.nomodule.js.map +1 -1
  313. package/dist/component/tag/tag.nomodule.min.js +1 -1
  314. package/dist/component/tag/tag.nomodule.min.js.map +1 -1
  315. package/dist/component/tile/tile.css +1 -1
  316. package/dist/component/tile/tile.legacy.css +1 -1
  317. package/dist/component/tile/tile.legacy.min.css +1 -1
  318. package/dist/component/tile/tile.main.css +1 -1
  319. package/dist/component/tile/tile.main.min.css +1 -1
  320. package/dist/component/tile/tile.min.css +1 -1
  321. package/dist/component/toggle/toggle.css +1 -1
  322. package/dist/component/toggle/toggle.legacy.css +1 -1
  323. package/dist/component/toggle/toggle.legacy.min.css +1 -1
  324. package/dist/component/toggle/toggle.main.css +1 -1
  325. package/dist/component/toggle/toggle.main.min.css +1 -1
  326. package/dist/component/toggle/toggle.min.css +1 -1
  327. package/dist/component/toggle/toggle.module.js +2 -2
  328. package/dist/component/toggle/toggle.module.js.map +1 -1
  329. package/dist/component/toggle/toggle.module.min.js +1 -1
  330. package/dist/component/toggle/toggle.module.min.js.map +1 -1
  331. package/dist/component/toggle/toggle.nomodule.js +2 -2
  332. package/dist/component/toggle/toggle.nomodule.js.map +1 -1
  333. package/dist/component/toggle/toggle.nomodule.min.js +1 -1
  334. package/dist/component/toggle/toggle.nomodule.min.js.map +1 -1
  335. package/dist/component/upload/upload.css +1 -1
  336. package/dist/component/upload/upload.min.css +1 -1
  337. package/dist/core/core.css +1 -1
  338. package/dist/core/core.legacy.css +1 -1
  339. package/dist/core/core.legacy.min.css +1 -1
  340. package/dist/core/core.main.css +1 -1
  341. package/dist/core/core.main.min.css +1 -1
  342. package/dist/core/core.min.css +1 -1
  343. package/dist/core/core.module.js +2 -2
  344. package/dist/core/core.module.js.map +1 -1
  345. package/dist/core/core.module.min.js +2 -2
  346. package/dist/core/core.module.min.js.map +1 -1
  347. package/dist/core/core.nomodule.js +2 -2
  348. package/dist/core/core.nomodule.js.map +1 -1
  349. package/dist/core/core.nomodule.min.js +2 -2
  350. package/dist/core/core.nomodule.min.js.map +1 -1
  351. package/dist/dsfr/dsfr.css +1 -1
  352. package/dist/dsfr/dsfr.legacy.css +1 -1
  353. package/dist/dsfr/dsfr.legacy.min.css +1 -1
  354. package/dist/dsfr/dsfr.main.css +1 -1
  355. package/dist/dsfr/dsfr.main.min.css +1 -1
  356. package/dist/dsfr/dsfr.min.css +1 -1
  357. package/dist/dsfr/dsfr.module.js +11 -8
  358. package/dist/dsfr/dsfr.module.js.map +1 -1
  359. package/dist/dsfr/dsfr.module.min.js +2 -2
  360. package/dist/dsfr/dsfr.module.min.js.map +1 -1
  361. package/dist/dsfr/{dsfr-deprecated.nomodule.js → dsfr.nomodule.js} +12 -9
  362. package/dist/dsfr/dsfr.nomodule.js.map +1 -0
  363. package/dist/dsfr/{dsfr-deprecated.nomodule.min.js → dsfr.nomodule.min.js} +3 -3
  364. package/dist/dsfr/dsfr.nomodule.min.js.map +1 -0
  365. package/dist/dsfr.css +1 -1
  366. package/dist/dsfr.legacy.css +1 -1
  367. package/dist/dsfr.legacy.min.css +1 -1
  368. package/dist/dsfr.main.css +1 -1
  369. package/dist/dsfr.main.min.css +1 -1
  370. package/dist/dsfr.min.css +1 -1
  371. package/dist/dsfr.module.js +11 -8
  372. package/dist/dsfr.module.js.map +1 -1
  373. package/dist/dsfr.module.min.js +2 -2
  374. package/dist/dsfr.module.min.js.map +1 -1
  375. package/dist/dsfr.nomodule.js +11 -8
  376. package/dist/dsfr.nomodule.js.map +1 -1
  377. package/dist/dsfr.nomodule.min.js +2 -2
  378. package/dist/dsfr.nomodule.min.js.map +1 -1
  379. package/dist/icons/system/{delete-line.svg → delete-bin-fill.svg} +0 -0
  380. package/dist/icons/system/{delete-fill.svg → delete-bin-line.svg} +0 -0
  381. package/dist/legacy/legacy.nomodule.js +1 -1
  382. package/dist/legacy/legacy.nomodule.min.js +1 -1
  383. package/dist/scheme/scheme.css +1 -1
  384. package/dist/scheme/scheme.min.css +1 -1
  385. package/dist/scheme/scheme.module.js +2 -2
  386. package/dist/scheme/scheme.module.js.map +1 -1
  387. package/dist/scheme/scheme.module.min.js +1 -1
  388. package/dist/scheme/scheme.module.min.js.map +1 -1
  389. package/dist/utility/README.md +12 -1
  390. package/dist/utility/icons/README.md +7 -1
  391. package/dist/utility/icons/icons-buildings/README.md +7 -1
  392. package/dist/utility/icons/icons-buildings/icons-buildings.css +19 -1
  393. package/dist/utility/icons/icons-buildings/icons-buildings.css.map +1 -1
  394. package/dist/utility/icons/icons-buildings/icons-buildings.legacy.css +9 -1
  395. package/dist/utility/icons/icons-buildings/icons-buildings.legacy.css.map +1 -1
  396. package/dist/utility/icons/icons-buildings/icons-buildings.legacy.min.css +2 -2
  397. package/dist/utility/icons/icons-buildings/icons-buildings.legacy.min.css.map +1 -1
  398. package/dist/utility/icons/icons-buildings/icons-buildings.main.css +11 -1
  399. package/dist/utility/icons/icons-buildings/icons-buildings.main.css.map +1 -1
  400. package/dist/utility/icons/icons-buildings/icons-buildings.main.min.css +2 -2
  401. package/dist/utility/icons/icons-buildings/icons-buildings.main.min.css.map +1 -1
  402. package/dist/utility/icons/icons-buildings/icons-buildings.min.css +3 -3
  403. package/dist/utility/icons/icons-buildings/icons-buildings.min.css.map +1 -1
  404. package/dist/utility/icons/icons-business/README.md +7 -1
  405. package/dist/utility/icons/icons-business/icons-business.css +100 -1
  406. package/dist/utility/icons/icons-business/icons-business.css.map +1 -1
  407. package/dist/utility/icons/icons-business/icons-business.legacy.css +45 -1
  408. package/dist/utility/icons/icons-business/icons-business.legacy.css.map +1 -1
  409. package/dist/utility/icons/icons-business/icons-business.legacy.min.css +2 -2
  410. package/dist/utility/icons/icons-business/icons-business.legacy.min.css.map +1 -1
  411. package/dist/utility/icons/icons-business/icons-business.main.css +56 -1
  412. package/dist/utility/icons/icons-business/icons-business.main.css.map +1 -1
  413. package/dist/utility/icons/icons-business/icons-business.main.min.css +2 -2
  414. package/dist/utility/icons/icons-business/icons-business.main.min.css.map +1 -1
  415. package/dist/utility/icons/icons-business/icons-business.min.css +3 -3
  416. package/dist/utility/icons/icons-business/icons-business.min.css.map +1 -1
  417. package/dist/utility/icons/icons-communication/README.md +7 -1
  418. package/dist/utility/icons/icons-communication/icons-communication.css +1 -1
  419. package/dist/utility/icons/icons-communication/icons-communication.css.map +1 -1
  420. package/dist/utility/icons/icons-communication/icons-communication.legacy.css +1 -1
  421. package/dist/utility/icons/icons-communication/icons-communication.legacy.min.css +1 -1
  422. package/dist/utility/icons/icons-communication/icons-communication.main.css +1 -1
  423. package/dist/utility/icons/icons-communication/icons-communication.main.css.map +1 -1
  424. package/dist/utility/icons/icons-communication/icons-communication.main.min.css +1 -1
  425. package/dist/utility/icons/icons-communication/icons-communication.min.css +1 -1
  426. package/dist/utility/icons/icons-design/README.md +7 -1
  427. package/dist/utility/icons/icons-design/icons-design.css +19 -1
  428. package/dist/utility/icons/icons-design/icons-design.css.map +1 -1
  429. package/dist/utility/icons/icons-design/icons-design.legacy.css +9 -1
  430. package/dist/utility/icons/icons-design/icons-design.legacy.css.map +1 -1
  431. package/dist/utility/icons/icons-design/icons-design.legacy.min.css +2 -2
  432. package/dist/utility/icons/icons-design/icons-design.legacy.min.css.map +1 -1
  433. package/dist/utility/icons/icons-design/icons-design.main.css +11 -1
  434. package/dist/utility/icons/icons-design/icons-design.main.css.map +1 -1
  435. package/dist/utility/icons/icons-design/icons-design.main.min.css +2 -2
  436. package/dist/utility/icons/icons-design/icons-design.main.min.css.map +1 -1
  437. package/dist/utility/icons/icons-design/icons-design.min.css +3 -3
  438. package/dist/utility/icons/icons-design/icons-design.min.css.map +1 -1
  439. package/dist/utility/icons/icons-development/README.md +7 -1
  440. package/dist/utility/icons/icons-development/icons-development.css +1 -1
  441. package/dist/utility/icons/icons-development/icons-development.css.map +1 -1
  442. package/dist/utility/icons/icons-development/icons-development.legacy.css +1 -1
  443. package/dist/utility/icons/icons-development/icons-development.legacy.min.css +1 -1
  444. package/dist/utility/icons/icons-development/icons-development.main.css +1 -1
  445. package/dist/utility/icons/icons-development/icons-development.main.css.map +1 -1
  446. package/dist/utility/icons/icons-development/icons-development.main.min.css +1 -1
  447. package/dist/utility/icons/icons-development/icons-development.min.css +1 -1
  448. package/dist/utility/icons/icons-device/README.md +7 -1
  449. package/dist/utility/icons/icons-device/icons-device.css +55 -1
  450. package/dist/utility/icons/icons-device/icons-device.css.map +1 -1
  451. package/dist/utility/icons/icons-device/icons-device.legacy.css +25 -1
  452. package/dist/utility/icons/icons-device/icons-device.legacy.css.map +1 -1
  453. package/dist/utility/icons/icons-device/icons-device.legacy.min.css +2 -2
  454. package/dist/utility/icons/icons-device/icons-device.legacy.min.css.map +1 -1
  455. package/dist/utility/icons/icons-device/icons-device.main.css +31 -1
  456. package/dist/utility/icons/icons-device/icons-device.main.css.map +1 -1
  457. package/dist/utility/icons/icons-device/icons-device.main.min.css +2 -2
  458. package/dist/utility/icons/icons-device/icons-device.main.min.css.map +1 -1
  459. package/dist/utility/icons/icons-device/icons-device.min.css +3 -3
  460. package/dist/utility/icons/icons-device/icons-device.min.css.map +1 -1
  461. package/dist/utility/icons/icons-document/README.md +7 -1
  462. package/dist/utility/icons/icons-document/icons-document.css +55 -1
  463. package/dist/utility/icons/icons-document/icons-document.css.map +1 -1
  464. package/dist/utility/icons/icons-document/icons-document.legacy.css +25 -1
  465. package/dist/utility/icons/icons-document/icons-document.legacy.css.map +1 -1
  466. package/dist/utility/icons/icons-document/icons-document.legacy.min.css +2 -2
  467. package/dist/utility/icons/icons-document/icons-document.legacy.min.css.map +1 -1
  468. package/dist/utility/icons/icons-document/icons-document.main.css +31 -1
  469. package/dist/utility/icons/icons-document/icons-document.main.css.map +1 -1
  470. package/dist/utility/icons/icons-document/icons-document.main.min.css +2 -2
  471. package/dist/utility/icons/icons-document/icons-document.main.min.css.map +1 -1
  472. package/dist/utility/icons/icons-document/icons-document.min.css +3 -3
  473. package/dist/utility/icons/icons-document/icons-document.min.css.map +1 -1
  474. package/dist/utility/icons/icons-editor/README.md +7 -1
  475. package/dist/utility/icons/icons-editor/icons-editor.css +64 -1
  476. package/dist/utility/icons/icons-editor/icons-editor.css.map +1 -1
  477. package/dist/utility/icons/icons-editor/icons-editor.legacy.css +29 -1
  478. package/dist/utility/icons/icons-editor/icons-editor.legacy.css.map +1 -1
  479. package/dist/utility/icons/icons-editor/icons-editor.legacy.min.css +2 -2
  480. package/dist/utility/icons/icons-editor/icons-editor.legacy.min.css.map +1 -1
  481. package/dist/utility/icons/icons-editor/icons-editor.main.css +36 -1
  482. package/dist/utility/icons/icons-editor/icons-editor.main.css.map +1 -1
  483. package/dist/utility/icons/icons-editor/icons-editor.main.min.css +2 -2
  484. package/dist/utility/icons/icons-editor/icons-editor.main.min.css.map +1 -1
  485. package/dist/utility/icons/icons-editor/icons-editor.min.css +3 -3
  486. package/dist/utility/icons/icons-editor/icons-editor.min.css.map +1 -1
  487. package/dist/utility/icons/icons-finance/README.md +7 -1
  488. package/dist/utility/icons/icons-finance/icons-finance.css +1 -1
  489. package/dist/utility/icons/icons-finance/icons-finance.css.map +1 -1
  490. package/dist/utility/icons/icons-finance/icons-finance.legacy.css +1 -1
  491. package/dist/utility/icons/icons-finance/icons-finance.legacy.min.css +1 -1
  492. package/dist/utility/icons/icons-finance/icons-finance.main.css +1 -1
  493. package/dist/utility/icons/icons-finance/icons-finance.main.css.map +1 -1
  494. package/dist/utility/icons/icons-finance/icons-finance.main.min.css +1 -1
  495. package/dist/utility/icons/icons-finance/icons-finance.min.css +1 -1
  496. package/dist/utility/icons/icons-health/README.md +7 -1
  497. package/dist/utility/icons/icons-health/icons-health.css +1 -1
  498. package/dist/utility/icons/icons-health/icons-health.css.map +1 -1
  499. package/dist/utility/icons/icons-health/icons-health.legacy.css +1 -1
  500. package/dist/utility/icons/icons-health/icons-health.legacy.min.css +1 -1
  501. package/dist/utility/icons/icons-health/icons-health.main.css +1 -1
  502. package/dist/utility/icons/icons-health/icons-health.main.css.map +1 -1
  503. package/dist/utility/icons/icons-health/icons-health.main.min.css +1 -1
  504. package/dist/utility/icons/icons-health/icons-health.min.css +1 -1
  505. package/dist/utility/icons/icons-logo/README.md +7 -1
  506. package/dist/utility/icons/icons-logo/icons-logo.css +253 -1
  507. package/dist/utility/icons/icons-logo/icons-logo.css.map +1 -1
  508. package/dist/utility/icons/icons-logo/icons-logo.legacy.css +113 -1
  509. package/dist/utility/icons/icons-logo/icons-logo.legacy.css.map +1 -1
  510. package/dist/utility/icons/icons-logo/icons-logo.legacy.min.css +2 -2
  511. package/dist/utility/icons/icons-logo/icons-logo.legacy.min.css.map +1 -1
  512. package/dist/utility/icons/icons-logo/icons-logo.main.css +141 -1
  513. package/dist/utility/icons/icons-logo/icons-logo.main.css.map +1 -1
  514. package/dist/utility/icons/icons-logo/icons-logo.main.min.css +2 -2
  515. package/dist/utility/icons/icons-logo/icons-logo.main.min.css.map +1 -1
  516. package/dist/utility/icons/icons-logo/icons-logo.min.css +3 -3
  517. package/dist/utility/icons/icons-logo/icons-logo.min.css.map +1 -1
  518. package/dist/utility/icons/icons-map/README.md +7 -1
  519. package/dist/utility/icons/icons-map/icons-map.css +37 -1
  520. package/dist/utility/icons/icons-map/icons-map.css.map +1 -1
  521. package/dist/utility/icons/icons-map/icons-map.legacy.css +17 -1
  522. package/dist/utility/icons/icons-map/icons-map.legacy.css.map +1 -1
  523. package/dist/utility/icons/icons-map/icons-map.legacy.min.css +2 -2
  524. package/dist/utility/icons/icons-map/icons-map.legacy.min.css.map +1 -1
  525. package/dist/utility/icons/icons-map/icons-map.main.css +21 -1
  526. package/dist/utility/icons/icons-map/icons-map.main.css.map +1 -1
  527. package/dist/utility/icons/icons-map/icons-map.main.min.css +2 -2
  528. package/dist/utility/icons/icons-map/icons-map.main.min.css.map +1 -1
  529. package/dist/utility/icons/icons-map/icons-map.min.css +3 -3
  530. package/dist/utility/icons/icons-map/icons-map.min.css.map +1 -1
  531. package/dist/utility/icons/icons-media/README.md +7 -1
  532. package/dist/utility/icons/icons-media/icons-media.css +145 -1
  533. package/dist/utility/icons/icons-media/icons-media.css.map +1 -1
  534. package/dist/utility/icons/icons-media/icons-media.legacy.css +65 -1
  535. package/dist/utility/icons/icons-media/icons-media.legacy.css.map +1 -1
  536. package/dist/utility/icons/icons-media/icons-media.legacy.min.css +2 -2
  537. package/dist/utility/icons/icons-media/icons-media.legacy.min.css.map +1 -1
  538. package/dist/utility/icons/icons-media/icons-media.main.css +81 -1
  539. package/dist/utility/icons/icons-media/icons-media.main.css.map +1 -1
  540. package/dist/utility/icons/icons-media/icons-media.main.min.css +2 -2
  541. package/dist/utility/icons/icons-media/icons-media.main.min.css.map +1 -1
  542. package/dist/utility/icons/icons-media/icons-media.min.css +3 -3
  543. package/dist/utility/icons/icons-media/icons-media.min.css.map +1 -1
  544. package/dist/utility/icons/icons-others/README.md +7 -1
  545. package/dist/utility/icons/icons-others/icons-others.css +1 -1
  546. package/dist/utility/icons/icons-others/icons-others.css.map +1 -1
  547. package/dist/utility/icons/icons-others/icons-others.legacy.css +1 -1
  548. package/dist/utility/icons/icons-others/icons-others.legacy.min.css +1 -1
  549. package/dist/utility/icons/icons-others/icons-others.main.css +1 -1
  550. package/dist/utility/icons/icons-others/icons-others.main.css.map +1 -1
  551. package/dist/utility/icons/icons-others/icons-others.main.min.css +1 -1
  552. package/dist/utility/icons/icons-others/icons-others.min.css +1 -1
  553. package/dist/utility/icons/icons-system/README.md +7 -1
  554. package/dist/utility/icons/icons-system/icons-system.css +49 -29
  555. package/dist/utility/icons/icons-system/icons-system.css.map +1 -1
  556. package/dist/utility/icons/icons-system/icons-system.legacy.css +23 -13
  557. package/dist/utility/icons/icons-system/icons-system.legacy.css.map +1 -1
  558. package/dist/utility/icons/icons-system/icons-system.legacy.min.css +2 -2
  559. package/dist/utility/icons/icons-system/icons-system.legacy.min.css.map +1 -1
  560. package/dist/utility/icons/icons-system/icons-system.main.css +27 -17
  561. package/dist/utility/icons/icons-system/icons-system.main.css.map +1 -1
  562. package/dist/utility/icons/icons-system/icons-system.main.min.css +2 -2
  563. package/dist/utility/icons/icons-system/icons-system.main.min.css.map +1 -1
  564. package/dist/utility/icons/icons-system/icons-system.min.css +3 -3
  565. package/dist/utility/icons/icons-system/icons-system.min.css.map +1 -1
  566. package/dist/utility/icons/icons-user/README.md +7 -1
  567. package/dist/utility/icons/icons-user/icons-user.css +55 -19
  568. package/dist/utility/icons/icons-user/icons-user.css.map +1 -1
  569. package/dist/utility/icons/icons-user/icons-user.legacy.css +25 -9
  570. package/dist/utility/icons/icons-user/icons-user.legacy.css.map +1 -1
  571. package/dist/utility/icons/icons-user/icons-user.legacy.min.css +2 -2
  572. package/dist/utility/icons/icons-user/icons-user.legacy.min.css.map +1 -1
  573. package/dist/utility/icons/icons-user/icons-user.main.css +31 -11
  574. package/dist/utility/icons/icons-user/icons-user.main.css.map +1 -1
  575. package/dist/utility/icons/icons-user/icons-user.main.min.css +2 -2
  576. package/dist/utility/icons/icons-user/icons-user.main.min.css.map +1 -1
  577. package/dist/utility/icons/icons-user/icons-user.min.css +3 -3
  578. package/dist/utility/icons/icons-user/icons-user.min.css.map +1 -1
  579. package/dist/utility/icons/icons-weather/README.md +7 -1
  580. package/dist/utility/icons/icons-weather/icons-weather.css +19 -1
  581. package/dist/utility/icons/icons-weather/icons-weather.css.map +1 -1
  582. package/dist/utility/icons/icons-weather/icons-weather.legacy.css +9 -1
  583. package/dist/utility/icons/icons-weather/icons-weather.legacy.css.map +1 -1
  584. package/dist/utility/icons/icons-weather/icons-weather.legacy.min.css +2 -2
  585. package/dist/utility/icons/icons-weather/icons-weather.legacy.min.css.map +1 -1
  586. package/dist/utility/icons/icons-weather/icons-weather.main.css +11 -1
  587. package/dist/utility/icons/icons-weather/icons-weather.main.css.map +1 -1
  588. package/dist/utility/icons/icons-weather/icons-weather.main.min.css +2 -2
  589. package/dist/utility/icons/icons-weather/icons-weather.main.min.css.map +1 -1
  590. package/dist/utility/icons/icons-weather/icons-weather.min.css +3 -3
  591. package/dist/utility/icons/icons-weather/icons-weather.min.css.map +1 -1
  592. package/dist/utility/icons/icons.css +861 -49
  593. package/dist/utility/icons/icons.css.map +1 -1
  594. package/dist/utility/icons/icons.legacy.css +383 -21
  595. package/dist/utility/icons/icons.legacy.css.map +1 -1
  596. package/dist/utility/icons/icons.legacy.min.css +2 -2
  597. package/dist/utility/icons/icons.legacy.min.css.map +1 -1
  598. package/dist/utility/icons/icons.main.css +477 -27
  599. package/dist/utility/icons/icons.main.css.map +1 -1
  600. package/dist/utility/icons/icons.main.min.css +2 -2
  601. package/dist/utility/icons/icons.main.min.css.map +1 -1
  602. package/dist/utility/icons/icons.min.css +3 -3
  603. package/dist/utility/icons/icons.min.css.map +1 -1
  604. package/dist/utility/utility.css +861 -49
  605. package/dist/utility/utility.css.map +1 -1
  606. package/dist/utility/utility.legacy.css +383 -21
  607. package/dist/utility/utility.legacy.css.map +1 -1
  608. package/dist/utility/utility.legacy.min.css +2 -2
  609. package/dist/utility/utility.legacy.min.css.map +1 -1
  610. package/dist/utility/utility.main.css +477 -27
  611. package/dist/utility/utility.main.css.map +1 -1
  612. package/dist/utility/utility.main.min.css +2 -2
  613. package/dist/utility/utility.main.min.css.map +1 -1
  614. package/dist/utility/utility.min.css +3 -3
  615. package/dist/utility/utility.min.css.map +1 -1
  616. package/example/component/accordion/index.html +111 -141
  617. package/example/component/tab/index.html +100 -105
  618. package/example/component/table/index.html +98 -98
  619. package/example/utility/icons/icons-buildings/index.html +2 -0
  620. package/example/utility/icons/icons-business/index.html +2 -0
  621. package/example/utility/icons/icons-communication/index.html +2 -0
  622. package/example/utility/icons/icons-design/index.html +2 -0
  623. package/example/utility/icons/icons-development/index.html +2 -0
  624. package/example/utility/icons/icons-device/index.html +2 -0
  625. package/example/utility/icons/icons-document/index.html +2 -0
  626. package/example/utility/icons/icons-editor/index.html +2 -0
  627. package/example/utility/icons/icons-finance/index.html +2 -0
  628. package/example/utility/icons/icons-health/index.html +2 -0
  629. package/example/utility/icons/icons-logo/index.html +2 -0
  630. package/example/utility/icons/icons-map/index.html +2 -0
  631. package/example/utility/icons/icons-media/index.html +2 -0
  632. package/example/utility/icons/icons-others/index.html +2 -0
  633. package/example/utility/icons/icons-system/index.html +8 -6
  634. package/example/utility/icons/icons-user/index.html +46 -74
  635. package/example/utility/icons/icons-weather/index.html +18 -16
  636. package/example/utility/icons/index.html +2 -0
  637. package/example/utility/index.html +13 -0
  638. package/package.json +1 -1
  639. package/src/component/download/script/download/assess-file.js +9 -5
  640. package/src/component/download/script/download/download-selector.js +0 -1
  641. package/src/core/icon/system/{delete-line.svg → delete-bin-fill.svg} +0 -0
  642. package/src/core/icon/system/{delete-fill.svg → delete-bin-line.svg} +0 -0
  643. package/src/utility/.folder.yml +8 -1
  644. package/src/utility/icons/.folder.yml +2 -2
  645. package/src/utility/icons/deprecated/style/_setting.scss +1 -0
  646. package/src/utility/icons/icons-buildings/.package.yml +2 -2
  647. package/src/utility/icons/icons-buildings/deprecated/style/_legacy.scss +8 -0
  648. package/src/utility/icons/icons-buildings/deprecated/style/_module.scss +6 -0
  649. package/src/utility/icons/icons-buildings/deprecated/style/_setting.scss +1 -0
  650. package/src/utility/icons/icons-buildings/legacy.scss +4 -0
  651. package/src/utility/icons/icons-buildings/main.scss +4 -0
  652. package/src/utility/icons/icons-business/.package.yml +2 -2
  653. package/src/utility/icons/icons-business/deprecated/style/_legacy.scss +8 -0
  654. package/src/utility/icons/icons-business/deprecated/style/_module.scss +6 -0
  655. package/src/utility/icons/icons-business/deprecated/style/_setting.scss +1 -0
  656. package/src/utility/icons/icons-business/legacy.scss +4 -0
  657. package/src/utility/icons/icons-business/main.scss +4 -0
  658. package/src/utility/icons/icons-communication/.package.yml +2 -2
  659. package/src/utility/icons/icons-communication/deprecated/style/_legacy.scss +8 -0
  660. package/src/utility/icons/icons-communication/deprecated/style/_module.scss +6 -0
  661. package/src/utility/icons/icons-communication/deprecated/style/_setting.scss +1 -0
  662. package/src/utility/icons/icons-communication/legacy.scss +4 -0
  663. package/src/utility/icons/icons-communication/main.scss +4 -0
  664. package/src/utility/icons/icons-design/.package.yml +2 -2
  665. package/src/utility/icons/icons-design/deprecated/style/_legacy.scss +8 -0
  666. package/src/utility/icons/icons-design/deprecated/style/_module.scss +6 -0
  667. package/src/utility/icons/icons-design/deprecated/style/_setting.scss +1 -0
  668. package/src/utility/icons/icons-design/legacy.scss +4 -0
  669. package/src/utility/icons/icons-design/main.scss +4 -0
  670. package/src/utility/icons/icons-development/.package.yml +2 -2
  671. package/src/utility/icons/icons-development/deprecated/style/_legacy.scss +8 -0
  672. package/src/utility/icons/icons-development/deprecated/style/_module.scss +6 -0
  673. package/src/utility/icons/icons-development/deprecated/style/_setting.scss +1 -0
  674. package/src/utility/icons/icons-development/legacy.scss +4 -0
  675. package/src/utility/icons/icons-development/main.scss +4 -0
  676. package/src/utility/icons/icons-device/.package.yml +2 -2
  677. package/src/utility/icons/icons-device/deprecated/style/_legacy.scss +8 -0
  678. package/src/utility/icons/icons-device/deprecated/style/_module.scss +6 -0
  679. package/src/utility/icons/icons-device/deprecated/style/_setting.scss +1 -0
  680. package/src/utility/icons/icons-device/legacy.scss +4 -0
  681. package/src/utility/icons/icons-device/main.scss +4 -0
  682. package/src/utility/icons/icons-document/.package.yml +2 -2
  683. package/src/utility/icons/icons-document/deprecated/style/_legacy.scss +8 -0
  684. package/src/utility/icons/icons-document/deprecated/style/_module.scss +6 -0
  685. package/src/utility/icons/icons-document/deprecated/style/_setting.scss +1 -0
  686. package/src/utility/icons/icons-document/legacy.scss +4 -0
  687. package/src/utility/icons/icons-document/main.scss +4 -0
  688. package/src/utility/icons/icons-editor/.package.yml +2 -2
  689. package/src/utility/icons/icons-editor/deprecated/style/_legacy.scss +8 -0
  690. package/src/utility/icons/icons-editor/deprecated/style/_module.scss +6 -0
  691. package/src/utility/icons/icons-editor/deprecated/style/_setting.scss +1 -0
  692. package/src/utility/icons/icons-editor/legacy.scss +4 -0
  693. package/src/utility/icons/icons-editor/main.scss +4 -0
  694. package/src/utility/icons/icons-finance/.package.yml +2 -2
  695. package/src/utility/icons/icons-finance/deprecated/style/_legacy.scss +8 -0
  696. package/src/utility/icons/icons-finance/deprecated/style/_module.scss +6 -0
  697. package/src/utility/icons/icons-finance/deprecated/style/_setting.scss +1 -0
  698. package/src/utility/icons/icons-finance/legacy.scss +4 -0
  699. package/src/utility/icons/icons-finance/main.scss +4 -0
  700. package/src/utility/icons/icons-health/.package.yml +2 -2
  701. package/src/utility/icons/icons-health/deprecated/style/_legacy.scss +8 -0
  702. package/src/utility/icons/icons-health/deprecated/style/_module.scss +6 -0
  703. package/src/utility/icons/icons-health/deprecated/style/_setting.scss +1 -0
  704. package/src/utility/icons/icons-health/legacy.scss +4 -0
  705. package/src/utility/icons/icons-health/main.scss +4 -0
  706. package/src/utility/icons/icons-logo/.package.yml +2 -2
  707. package/src/utility/icons/icons-logo/deprecated/style/_legacy.scss +8 -0
  708. package/src/utility/icons/icons-logo/deprecated/style/_module.scss +6 -0
  709. package/src/utility/icons/icons-logo/deprecated/style/_setting.scss +1 -0
  710. package/src/utility/icons/icons-logo/legacy.scss +4 -0
  711. package/src/utility/icons/icons-logo/main.scss +4 -0
  712. package/src/utility/icons/icons-map/.package.yml +2 -2
  713. package/src/utility/icons/icons-map/deprecated/style/_legacy.scss +8 -0
  714. package/src/utility/icons/icons-map/deprecated/style/_module.scss +6 -0
  715. package/src/utility/icons/icons-map/deprecated/style/_setting.scss +1 -0
  716. package/src/utility/icons/icons-map/legacy.scss +4 -0
  717. package/src/utility/icons/icons-map/main.scss +4 -0
  718. package/src/utility/icons/icons-media/.package.yml +2 -2
  719. package/src/utility/icons/icons-media/deprecated/style/_legacy.scss +24 -0
  720. package/src/utility/icons/icons-media/deprecated/style/_module.scss +22 -0
  721. package/src/utility/icons/icons-media/deprecated/style/_setting.scss +1 -0
  722. package/src/utility/icons/icons-media/legacy.scss +4 -0
  723. package/src/utility/icons/icons-media/main.scss +4 -0
  724. package/src/utility/icons/icons-others/.package.yml +2 -2
  725. package/src/utility/icons/icons-others/deprecated/style/_legacy.scss +8 -0
  726. package/src/utility/icons/icons-others/deprecated/style/_module.scss +6 -0
  727. package/src/utility/icons/icons-others/deprecated/style/_setting.scss +1 -0
  728. package/src/utility/icons/icons-others/legacy.scss +4 -0
  729. package/src/utility/icons/icons-others/main.scss +4 -0
  730. package/src/utility/icons/icons-system/.package.yml +2 -2
  731. package/src/utility/icons/icons-system/deprecated/style/_legacy.scss +16 -0
  732. package/src/utility/icons/icons-system/deprecated/style/_module.scss +16 -0
  733. package/src/utility/icons/icons-system/deprecated/style/_setting.scss +1 -0
  734. package/src/utility/icons/icons-system/legacy.scss +1 -1
  735. package/src/utility/icons/icons-system/main.scss +1 -1
  736. package/src/utility/icons/icons-user/.package.yml +2 -2
  737. package/src/utility/icons/icons-user/deprecated/style/_legacy.scss +24 -0
  738. package/src/utility/icons/icons-user/deprecated/style/_module.scss +22 -0
  739. package/src/utility/icons/icons-user/deprecated/style/_setting.scss +1 -0
  740. package/src/utility/icons/icons-user/legacy.scss +4 -0
  741. package/src/utility/icons/icons-user/main.scss +4 -0
  742. package/src/utility/icons/icons-weather/.package.yml +2 -2
  743. package/src/utility/icons/icons-weather/deprecated/style/_legacy.scss +8 -0
  744. package/src/utility/icons/icons-weather/deprecated/style/_module.scss +6 -0
  745. package/src/utility/icons/icons-weather/deprecated/style/_setting.scss +1 -0
  746. package/src/utility/icons/icons-weather/legacy.scss +4 -0
  747. package/src/utility/icons/icons-weather/main.scss +4 -0
  748. package/dist/dsfr/dsfr-deprecated.nomodule.js.map +0 -1
  749. package/dist/dsfr/dsfr-deprecated.nomodule.min.js.map +0 -1
  750. package/dist/icons/user/account-fill.svg +0 -1
  751. package/dist/icons/user/account-line.svg +0 -1
  752. package/src/core/icon/user/account-fill.svg +0 -1
  753. package/src/core/icon/user/account-line.svg +0 -1
  754. package/src/utility/icons/icons-system/deprecated/style/_settings.scss +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"component.module.js","sources":["../../.config/config.js","../../src/core/api.js","../../src/component/accordion/script/accordion/accordion-selector.js","../../src/component/accordion/script/accordion/accordions-group.js","../../src/component/accordion/index.js","../../src/component/accordion/main.js","../../src/component/button/script/button/button-selector.js","../../src/component/button/index.js","../../src/component/button/main.js","../../src/component/breadcrumb/script/breadcrumb/breadcrumb.js","../../src/component/breadcrumb/script/breadcrumb/breadcrumb-selector.js","../../src/component/breadcrumb/index.js","../../src/component/breadcrumb/main.js","../../src/component/toggle/script/toggle/toggle-input.js","../../src/component/toggle/script/toggle/toggle-status-label.js","../../src/component/toggle/script/toggle/toggle-selector.js","../../src/component/toggle/index.js","../../src/component/toggle/main.js","../../src/component/sidemenu/script/sidemenu/sidemenu-selector.js","../../src/component/sidemenu/script/sidemenu/sidemenu-list.js","../../src/component/sidemenu/index.js","../../src/component/sidemenu/main.js","../../src/component/modal/script/modal/modal-selector.js","../../src/component/modal/script/modal/modal-button.js","../../src/component/modal/script/modal/modal-attribute.js","../../src/component/modal/script/modal/modal.js","../../src/component/modal/script/modal/focus-trap.js","../../src/component/modal/script/modal/modals-group.js","../../src/component/modal/script/modal/modal-body.js","../../src/component/modal/index.js","../../src/component/modal/main.js","../../src/component/navigation/script/navigation/navigation-selector.js","../../src/component/navigation/script/navigation/navigation-item.js","../../src/component/navigation/script/navigation/navigation-mouse-position.js","../../src/component/navigation/script/navigation/navigation.js","../../src/component/navigation/index.js","../../src/component/navigation/main.js","../../src/component/tab/script/tab/tab-button.js","../../src/component/tab/script/tab/tab-selector.js","../../src/component/tab/script/tab/tab-panel-direction.js","../../src/component/tab/script/tab/tab-panel.js","../../src/component/tab/script/tab/tabs-group.js","../../src/component/tab/script/tab/tabs-list.js","../../src/component/tab/index.js","../../src/component/tab/main.js","../../src/component/table/script/table/table-emission.js","../../src/component/table/script/table/table.js","../../src/component/table/script/table/table-selector.js","../../src/component/table/script/table/table-element.js","../../src/component/table/script/table/table-caption.js","../../src/component/table/index.js","../../src/component/table/main.js","../../src/component/tag/script/tag/tag-selector.js","../../src/component/tag/index.js","../../src/component/tag/main.js","../../src/component/download/script/download/download-selector.js","../../src/component/download/script/download/assess-file.js","../../src/component/download/index.js","../../src/component/download/main.js","../../src/component/header/script/header/header-selector.js","../../src/component/header/script/header/header-links.js","../../src/component/header/script/header/header-modal.js","../../src/component/header/index.js","../../src/component/header/main.js","../../src/component/display/script/display/display-selector.js","../../src/component/display/script/display/display.js","../../src/component/display/index.js","../../src/component/display/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.5.0'\r\n};\r\n\r\nexport default config;\r\n","import config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import api from '../../api.js';\n\nexport const AccordionSelector = {\n GROUP: api.internals.ns.selector('accordions-group'),\n COLLAPSE: `${api.internals.ns.selector('accordion')} > ${api.internals.ns.selector('collapse')}`\n};\n","import api from '../../api.js';\nimport { AccordionSelector } from './accordion-selector.js';\n\nclass AccordionsGroup extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'AccordionsGroup';\n }\n\n validate (member) {\n return member.node.matches(AccordionSelector.COLLAPSE);\n }\n}\n\nexport { AccordionsGroup };\n","import api from './api.js';\nimport { AccordionsGroup } from './script/accordion/accordions-group.js';\nimport { AccordionSelector } from './script/accordion/accordion-selector.js';\n\napi.accordion = {\n AccordionSelector: AccordionSelector,\n AccordionsGroup: AccordionsGroup\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.accordion.AccordionSelector.GROUP, api.accordion.AccordionsGroup);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const ButtonSelector = {\n EQUISIZED_BUTTON: `${api.internals.ns.selector('btns-group--equisized')} ${api.internals.ns.selector('btn')}`,\n EQUISIZED_GROUP: api.internals.ns.selector('btns-group--equisized')\n};\n","import api from './api.js';\nimport { ButtonSelector } from './script/button/button-selector';\n\napi.button = {\n ButtonSelector: ButtonSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.button.ButtonSelector.EQUISIZED_BUTTON, api.core.Equisized);\napi.internals.register(api.button.ButtonSelector.EQUISIZED_GROUP, api.core.EquisizedsGroup);\n\nexport default api;\n","import api from '../../api.js';\n\nclass Breadcrumb extends api.core.Instance {\n constructor () {\n super();\n this.count = 0;\n this.focusing = this.focus.bind(this);\n }\n\n static get instanceClassName () {\n return 'Breadcrumb';\n }\n\n init () {\n this.getCollapse();\n this.isResizing = true;\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n focus: scope.focus.bind(scope),\n disclose: scope.collapse.disclose.bind(scope.collapse)\n });\n }\n\n getCollapse () {\n const collapse = this.collapse;\n if (collapse) {\n collapse.listen(api.core.DisclosureEvent.DISCLOSE, this.focusing);\n } else {\n this.addAscent(api.core.DisclosureEmission.ADDED, this.getCollapse.bind(this));\n }\n }\n\n resize () {\n const collapse = this.collapse;\n const links = this.links;\n if (!collapse || !links.length) return;\n\n if (this.isBreakpoint(api.core.Breakpoints.MD)) {\n if (collapse.buttonHasFocus) links[0].focus();\n } else {\n if (links.indexOf(document.activeElement) > -1) collapse.focus();\n }\n }\n\n get links () {\n return [...this.querySelectorAll('a[href]')];\n }\n\n get collapse () {\n return this.element.getDescendantInstances(api.core.Collapse.instanceClassName, null, true)[0];\n }\n\n focus () {\n this.count = 0;\n this._focus();\n }\n\n _focus () {\n const link = this.links[0];\n if (!link) return;\n link.focus();\n this.request(this.verify.bind(this));\n }\n\n verify () {\n this.count++;\n if (this.count > 100) return;\n const link = this.links[0];\n if (!link) return;\n if (document.activeElement !== link) this._focus();\n }\n}\n\nexport { Breadcrumb };\n","import api from '../../api.js';\n\nexport const BreadcrumbSelector = {\n BREADCRUMB: api.internals.ns.selector('breadcrumb')\n};\n","import api from './api.js';\nimport { Breadcrumb } from './script/breadcrumb/breadcrumb.js';\nimport { BreadcrumbSelector } from './script/breadcrumb/breadcrumb-selector.js';\n\napi.breadcrumb = {\n BreadcrumbSelector: BreadcrumbSelector,\n Breadcrumb: Breadcrumb\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.breadcrumb.BreadcrumbSelector.BREADCRUMB, api.breadcrumb.Breadcrumb);\n\nexport default api;\n","import api from '../../api.js';\n\nclass ToggleInput extends api.core.Instance {\n static get instanceClassName () {\n return 'ToggleInput';\n }\n\n get isChecked () {\n return this.hasAttribute('checked');\n }\n}\n\nexport { ToggleInput };\n","import api from '../../api.js';\nimport { ToggleInput } from './toggle-input.js';\n\nclass ToggleStatusLabel extends api.core.Instance {\n static get instanceClassName () {\n return 'ToggleStatusLabel';\n }\n\n init () {\n this.register(`input[id=\"${this.getAttribute('for')}\"]`, ToggleInput);\n this.update();\n this.isSwappingFont = true;\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n update: scope.update.bind(scope)\n });\n }\n\n get input () {\n return this.getRegisteredInstances('ToggleInput')[0];\n }\n\n update () {\n this.node.style.removeProperty('--toggle-status-width');\n const checked = this.input.isChecked;\n\n const style = getComputedStyle(this.node, ':before');\n let maxWidth = parseFloat(style.width);\n this.input.node.checked = !checked;\n\n const style2 = getComputedStyle(this.node, ':before');\n const width = parseFloat(style2.width);\n if (width > maxWidth) maxWidth = width;\n this.input.node.checked = checked;\n\n this.node.style.setProperty('--toggle-status-width', (maxWidth / 16) + 'rem');\n }\n\n swapFont (families) {\n this.update();\n }\n}\n\nexport { ToggleStatusLabel };\n","import api from '../../api.js';\n\nexport const ToggleSelector = {\n STATUS_LABEL: `${api.internals.ns.selector('toggle__label')}${api.internals.ns.attr.selector('checked-label')}${api.internals.ns.attr.selector('unchecked-label')}`\n};\n","import api from './api.js';\nimport { ToggleStatusLabel } from './script/toggle/toggle-status-label.js';\nimport { ToggleSelector } from './script/toggle/toggle-selector.js';\n// import { ToggleInput } from './script/toggle/toggle-input.js';\n\napi.toggle = {\n ToggleStatusLabel: ToggleStatusLabel,\n ToggleSelector: ToggleSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.toggle.ToggleSelector.STATUS_LABEL, api.toggle.ToggleStatusLabel);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const SidemenuSelector = {\n LIST: api.internals.ns.selector('sidemenu__list'),\n COLLAPSE: `${api.internals.ns.selector('sidemenu__item')} > ${api.internals.ns.selector('collapse')}`\n};\n","import api from '../../api.js';\nimport { SidemenuSelector } from './sidemenu-selector.js';\n\nclass SidemenuList extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'SidemenuList';\n }\n\n validate (member) {\n return member.node.matches(SidemenuSelector.COLLAPSE);\n }\n}\n\nexport { SidemenuList };\n","import api from './api.js';\nimport { SidemenuList } from './script/sidemenu/sidemenu-list.js';\nimport { SidemenuSelector } from './script/sidemenu/sidemenu-selector.js';\n\napi.sidemenu = {\n SidemenuList: SidemenuList,\n SidemenuSelector: SidemenuSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.sidemenu.SidemenuSelector.LIST, api.sidemenu.SidemenuList);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const ModalSelector = {\n MODAL: api.internals.ns.selector('modal'),\n SCROLL_SHADOW: api.internals.ns.selector('scroll-shadow'),\n BODY: api.internals.ns.selector('modal__body')\n};\n","import api from '../../api.js';\n\nclass ModalButton extends api.core.DisclosureButton {\n constructor () {\n super(api.core.DisclosureType.OPENED);\n }\n\n static get instanceClassName () {\n return 'ModalButton';\n }\n}\n\nexport { ModalButton };\n","import api from '../../api';\n\nexport const ModalAttribute = {\n CONCEALING_BACKDROP: api.internals.ns.attr('concealing-backdrop')\n};\n","import api from '../../api.js';\nimport { ModalSelector } from './modal-selector.js';\nimport { ModalButton } from './modal-button.js';\nimport { ModalAttribute } from './modal-attribute';\n\nclass Modal extends api.core.Disclosure {\n constructor () {\n super(api.core.DisclosureType.OPENED, ModalSelector.MODAL, ModalButton, 'ModalsGroup');\n this.scrolling = this.resize.bind(this, false);\n this.resizing = this.resize.bind(this, true);\n }\n\n static get instanceClassName () {\n return 'Modal';\n }\n\n init () {\n super.init();\n this.listen('click', this.click.bind(this));\n this.listenKey(api.core.KeyCodes.ESCAPE, this.conceal.bind(this, false, false), true, true);\n }\n\n get body () {\n return this.element.getDescendantInstances('ModalBody', 'Modal')[0];\n }\n\n click (e) {\n if (e.target === this.node && this.getAttribute(ModalAttribute.CONCEALING_BACKDROP) !== 'false') this.conceal();\n }\n\n disclose (withhold) {\n if (!super.disclose(withhold)) return false;\n if (this.body) this.body.activate();\n this.isScrollLocked = true;\n this.setAttribute('aria-modal', 'true');\n this.setAttribute('open', 'true');\n return true;\n }\n\n conceal (withhold, preventFocus) {\n if (!super.conceal(withhold, preventFocus)) return false;\n this.isScrollLocked = false;\n this.removeAttribute('aria-modal');\n this.removeAttribute('open');\n if (this.body) this.body.deactivate();\n return true;\n }\n}\n\nexport { Modal };\n","import api from '../../api.js';\n\nconst unordereds = [\n '[tabindex=\"0\"]',\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'details>summary:first-of-type',\n 'details',\n 'iframe'\n];\n\nconst UNORDEREDS = unordereds.join();\n\nconst ordereds = [\n '[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])'\n];\n\nconst ORDEREDS = ordereds.join();\n\nconst IS_STUNNING = false;\n\nconst isFocusable = (element, container) => {\n if (!(element instanceof Element)) return false;\n const style = window.getComputedStyle(element);\n if (!style) return false;\n if (style.visibility === 'hidden') return false;\n if (container === undefined) container = element;\n\n while (container.contains(element)) {\n if (style.display === 'none') return false;\n element = element.parentElement;\n }\n\n return true;\n};\n\nclass FocusTrap {\n constructor (onTrap, onUntrap) {\n this.element = null;\n this.activeElement = null;\n this.onTrap = onTrap;\n this.onUntrap = onUntrap;\n this.waiting = this.wait.bind(this);\n this.handling = this.handle.bind(this);\n this.focusing = this.maintainFocus.bind(this);\n this.current = null;\n }\n\n get trapped () { return this.element !== null; }\n\n trap (element) {\n if (this.trapped) this.untrap();\n\n this.element = element;\n this.isTrapping = true;\n this.wait();\n\n if (this.onTrap) this.onTrap();\n }\n\n wait () {\n if (!isFocusable(this.element)) {\n window.requestAnimationFrame(this.waiting);\n return;\n }\n\n this.trapping();\n }\n\n trapping () {\n if (!this.isTrapping) return;\n this.isTrapping = false;\n const focusables = this.focusables;\n if (focusables.length) focusables[0].focus();\n this.element.setAttribute('aria-modal', true);\n window.addEventListener('keydown', this.handling);\n document.body.addEventListener('focus', this.focusing, true);\n\n if (IS_STUNNING) {\n this.stunneds = [];\n this.stun(document.body);\n }\n }\n\n stun (node) {\n for (const child of node.children) {\n if (child === this.element) continue;\n if (child.contains(this.element)) {\n this.stun(child);\n continue;\n }\n this.stunneds.push(new Stunned(child));\n }\n }\n\n maintainFocus (event) {\n if (!this.element.contains(event.target)) {\n const focusables = this.focusables;\n if (focusables.length === 0) return;\n const first = focusables[0];\n event.preventDefault();\n first.focus();\n }\n }\n\n handle (e) {\n if (e.keyCode !== 9) return;\n\n const focusables = this.focusables;\n if (focusables.length === 0) return;\n\n const first = focusables[0];\n const last = focusables[focusables.length - 1];\n\n const index = focusables.indexOf(document.activeElement);\n\n if (e.shiftKey) {\n if (!this.element.contains(document.activeElement) || index < 1) {\n e.preventDefault();\n last.focus();\n } else if (document.activeElement.tabIndex > 0 || focusables[index - 1].tabIndex > 0) {\n e.preventDefault();\n focusables[index - 1].focus();\n }\n } else {\n if (!this.element.contains(document.activeElement) || index === focusables.length - 1 || index === -1) {\n e.preventDefault();\n first.focus();\n } else if (document.activeElement.tabIndex > 0) {\n e.preventDefault();\n focusables[index + 1].focus();\n }\n }\n }\n\n get focusables () {\n let unordereds = api.internals.dom.querySelectorAllArray(this.element, UNORDEREDS);\n\n /**\n * filtrage des radiobutttons de même name (la navigations d'un groupe de radio se fait à la flèche et non pas au tab\n **/\n const radios = api.internals.dom.querySelectorAllArray(document.documentElement, 'input[type=\"radio\"]');\n\n if (radios.length) {\n const groups = {};\n\n for (const radio of radios) {\n const name = radio.getAttribute('name');\n if (groups[name] === undefined) groups[name] = new RadioButtonGroup(name);\n groups[name].push(radio);\n }\n\n unordereds = unordereds.filter((unordered) => {\n if (unordered.tagName.toLowerCase() !== 'input' || unordered.getAttribute('type').toLowerCase() !== 'radio') return true;\n const name = unordered.getAttribute('name');\n return groups[name].keep(unordered);\n });\n }\n\n const ordereds = api.internals.dom.querySelectorAllArray(this.element, ORDEREDS);\n\n ordereds.sort((a, b) => a.tabIndex - b.tabIndex);\n\n const noDuplicates = unordereds.filter((element) => ordereds.indexOf(element) === -1);\n const concateneds = ordereds.concat(noDuplicates);\n return concateneds.filter((element) => element.tabIndex !== '-1' && isFocusable(element, this.element));\n }\n\n untrap () {\n if (!this.trapped) return;\n this.isTrapping = false;\n\n this.element.removeAttribute('aria-modal');\n window.removeEventListener('keydown', this.handling);\n document.body.removeEventListener('focus', this.focusing, true);\n\n this.element = null;\n\n if (IS_STUNNING) {\n for (const stunned of this.stunneds) stunned.unstun();\n this.stunneds = [];\n }\n\n if (this.onUntrap) this.onUntrap();\n }\n\n dispose () {\n this.untrap();\n }\n}\n\nclass Stunned {\n constructor (element) {\n this.element = element;\n // this.hidden = element.getAttribute('aria-hidden');\n this.inert = element.getAttribute('inert');\n\n // this.element.setAttribute('aria-hidden', true);\n this.element.setAttribute('inert', '');\n }\n\n unstun () {\n /*\n if (this.hidden === null) this.element.removeAttribute('aria-hidden');\n else this.element.setAttribute('aria-hidden', this.hidden);\n */\n\n if (this.inert === null) this.element.removeAttribute('inert');\n else this.element.setAttribute('inert', this.inert);\n }\n}\n\nclass RadioButtonGroup {\n constructor (name) {\n this.name = name;\n this.buttons = [];\n }\n\n push (button) {\n this.buttons.push(button);\n if (button === document.activeElement || button.checked || this.selected === undefined) this.selected = button;\n }\n\n keep (button) {\n return this.selected === button;\n }\n}\n\nexport { FocusTrap };\n","import api from '../../api.js';\nimport { FocusTrap } from './focus-trap.js';\n\nclass ModalsGroup extends api.core.DisclosuresGroup {\n constructor () {\n super('Modal', false);\n this.focusTrap = new FocusTrap();\n }\n\n static get instanceClassName () {\n return 'ModalsGroup';\n }\n\n apply (value, initial) {\n super.apply(value, initial);\n if (this.current === null) this.focusTrap.untrap();\n else this.focusTrap.trap(this.current.node);\n }\n}\n\nexport { ModalsGroup };\n","import api from '../../api.js';\nimport { ModalSelector } from './modal-selector.js';\n\nconst OFFSET = 32; // 32px => 8v => 2rem\n\nclass ModalBody extends api.core.Instance {\n static get instanceClassName () {\n return 'ModalBody';\n }\n\n init () {\n this.listen('scroll', this.shade.bind(this));\n }\n\n activate () {\n this.isResizing = true;\n this.resize();\n }\n\n deactivate () {\n this.isResizing = false;\n }\n\n shade () {\n if (this.node.scrollHeight > this.node.clientHeight) {\n if (this.node.offsetHeight + this.node.scrollTop >= this.node.scrollHeight) {\n this.removeClass(ModalSelector.SCROLL_SHADOW);\n } else {\n this.addClass(ModalSelector.SCROLL_SHADOW);\n }\n } else {\n this.removeClass(ModalSelector.SCROLL_SHADOW);\n }\n }\n\n resize () {\n this.adjust();\n this.request(this.adjust.bind(this));\n }\n\n adjust () {\n const offset = OFFSET * (this.isBreakpoint(api.core.Breakpoints.MD) ? 2 : 1);\n if (this.isLegacy) this.style.maxHeight = `${window.innerHeight - offset}px`;\n else this.style.setProperty('--modal-max-height', `${window.innerHeight - offset}px`);\n this.shade();\n }\n}\n\nexport { ModalBody };\n","import api from './api.js';\n\nimport { Modal } from './script/modal/modal.js';\nimport { ModalButton } from './script/modal/modal-button.js';\nimport { ModalsGroup } from './script/modal/modals-group.js';\nimport { ModalBody } from './script/modal/modal-body.js';\nimport { ModalSelector } from './script/modal/modal-selector.js';\n\napi.modal = {\n Modal: Modal,\n ModalButton: ModalButton,\n ModalBody: ModalBody,\n ModalsGroup: ModalsGroup,\n ModalSelector: ModalSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.modal.ModalSelector.MODAL, api.modal.Modal);\napi.internals.register(api.modal.ModalSelector.BODY, api.modal.ModalBody);\napi.internals.register(api.core.RootSelector.ROOT, api.modal.ModalsGroup);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const NavigationSelector = {\n NAVIGATION: api.internals.ns.selector('nav'),\n COLLAPSE: `${api.internals.ns.selector('nav__item')} > ${api.internals.ns.selector('collapse')}`,\n ITEM: api.internals.ns.selector('nav__item'),\n ITEM_RIGHT: api.internals.ns('nav__item--align-right'),\n MENU: api.internals.ns.selector('menu')\n};\n","import api from '../../api.js';\nimport { NavigationSelector } from './navigation-selector.js';\n\nclass NavigationItem extends api.core.Instance {\n constructor () {\n super();\n this._isRightAligned = false;\n }\n\n static get instanceClassName () {\n return 'NavigationItem';\n }\n\n init () {\n this.addAscent(api.core.DisclosureEmission.ADDED, this.calculate.bind(this));\n this.addAscent(api.core.DisclosureEmission.REMOVED, this.calculate.bind(this));\n this.isResizing = true;\n this.calculate();\n }\n\n resize () {\n this.calculate();\n }\n\n calculate () {\n const collapse = this.element.getDescendantInstances(api.core.Collapse.instanceClassName, null, true)[0];\n if (collapse && this.isBreakpoint(api.core.Breakpoints.LG) && collapse.element.node.matches(NavigationSelector.MENU)) {\n const right = this.element.node.parentElement.getBoundingClientRect().right;\n const width = collapse.element.node.getBoundingClientRect().width;\n const left = this.element.node.getBoundingClientRect().left;\n this.isRightAligned = left + width > right;\n } else this.isRightAligned = false;\n }\n\n get isRightAligned () {\n return this._isRightAligned;\n }\n\n set isRightAligned (value) {\n if (this._isRightAligned === value) return;\n this._isRightAligned = value;\n if (value) api.internals.dom.addClass(this.element.node, NavigationSelector.ITEM_RIGHT);\n else api.internals.dom.removeClass(this.element.node, NavigationSelector.ITEM_RIGHT);\n }\n}\n\nexport { NavigationItem };\n","export const NavigationMousePosition = {\n NONE: -1,\n INSIDE: 0,\n OUTSIDE: 1\n};\n","import api from '../../api.js';\nimport { NavigationSelector } from './navigation-selector.js';\nimport { NavigationMousePosition } from './navigation-mouse-position.js';\n\nclass Navigation extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'Navigation';\n }\n\n init () {\n super.init();\n this.clicked = false;\n this.out = false;\n this.listen('focusout', this.focusOut.bind(this));\n this.listen('mousedown', this.down.bind(this));\n }\n\n validate (member) {\n return member.element.node.matches(NavigationSelector.COLLAPSE);\n }\n\n down (e) {\n if (!this.isBreakpoint(api.core.Breakpoints.LG) || this.index === -1 || !this.current) return;\n this.position = this.current.element.node.contains(e.target) ? NavigationMousePosition.INSIDE : NavigationMousePosition.OUTSIDE;\n this.request(this.getPosition.bind(this));\n }\n\n focusOut (e) {\n if (!this.isBreakpoint(api.core.Breakpoints.LG)) return;\n this.out = true;\n this.request(this.getPosition.bind(this));\n }\n\n getPosition () {\n if (this.out) {\n switch (this.position) {\n case NavigationMousePosition.OUTSIDE:\n this.index = -1;\n break;\n\n case NavigationMousePosition.INSIDE:\n if (this.current) this.current.focus();\n break;\n\n default:\n if (this.index > -1 && !this.current.hasFocus) this.index = -1;\n }\n }\n this.position = NavigationMousePosition.NONE;\n this.out = false;\n }\n\n get index () { return super.index; }\n\n set index (value) {\n if (value === -1 && this.current !== null && this.current.hasFocus) this.current.focus();\n super.index = value;\n }\n}\n\nexport { Navigation };\n","import api from './api.js';\nimport { NavigationItem } from './script/navigation/navigation-item.js';\nimport { Navigation } from './script/navigation/navigation.js';\nimport { NavigationSelector } from './script/navigation/navigation-selector.js';\nimport { NavigationMousePosition } from './script/navigation/navigation-mouse-position.js';\n\napi.navigation = {\n Navigation: Navigation,\n NavigationItem: NavigationItem,\n NavigationMousePosition: NavigationMousePosition,\n NavigationSelector: NavigationSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.navigation.NavigationSelector.NAVIGATION, api.navigation.Navigation);\napi.internals.register(api.navigation.NavigationSelector.ITEM, api.navigation.NavigationItem);\n\nexport default api;\n","import api from '../../api.js';\n\n/**\n * TabButton correspond au bouton cliquable qui change le panel\n * TabButton étend de DisclosureButton qui ajoute/enelve l'attribut aria-selected,\n * Et change l'attributte tabindex a 0 si le boutton est actif (value=true), -1 s'il n'est pas actif (value=false)\n */\nclass TabButton extends api.core.DisclosureButton {\n constructor () {\n super(api.core.DisclosureType.SELECT);\n }\n\n static get instanceClassName () {\n return 'TabButton';\n }\n\n apply (value) {\n super.apply(value);\n if (this.isPrimary) {\n this.setAttribute('tabindex', value ? '0' : '-1');\n if (value) {\n if (this.list) this.list.focalize(this);\n }\n }\n }\n\n get list () {\n return this.element.getAscendantInstance('TabsList', 'TabsGroup');\n }\n}\n\nexport { TabButton };\n","import api from '../../api.js';\n\nexport const TabSelector = {\n TAB: api.internals.ns.selector('tabs__tab'),\n GROUP: api.internals.ns.selector('tabs'),\n PANEL: api.internals.ns.selector('tabs__panel'),\n LIST: api.internals.ns.selector('tabs__list'),\n SHADOW: api.internals.ns.selector('tabs__shadow'),\n SHADOW_LEFT: api.internals.ns.selector('tabs__shadow--left'),\n SHADOW_RIGHT: api.internals.ns.selector('tabs__shadow--right'),\n PANEL_START: api.internals.ns.selector('tabs__panel--direction-start'),\n PANEL_END: api.internals.ns.selector('tabs__panel--direction-end')\n};\n","export const TabPanelDirection = {\n START: 'direction-start',\n END: 'direction-end',\n NONE: 'none'\n};\n","import api from '../../api.js';\nimport { TabButton } from './tab-button.js';\nimport { TabSelector } from './tab-selector.js';\nimport { TabPanelDirection } from './tab-panel-direction.js';\n\n/**\n * Tab coorespond au panel d'un élement Tabs (tab panel)\n * Tab étend disclosure qui ajoute/enleve le modifier --selected,\n * et ajoute/eleve l'attribut hidden, sur le panel\n */\nclass TabPanel extends api.core.Disclosure {\n constructor () {\n super(api.core.DisclosureType.SELECT, TabSelector.PANEL, TabButton, 'TabsGroup');\n this._direction = TabPanelDirection.NONE;\n this._isPreventingTransition = false;\n }\n\n static get instanceClassName () {\n return 'TabPanel';\n }\n\n get direction () {\n return this._direction;\n }\n\n set direction (value) {\n if (value === this._direction) return;\n switch (this._direction) {\n case TabPanelDirection.START:\n this.removeClass(TabSelector.PANEL_START);\n break;\n\n case TabPanelDirection.END:\n this.removeClass(TabSelector.PANEL_END);\n break;\n\n case TabPanelDirection.NONE:\n break;\n\n default:\n return;\n }\n\n this._direction = value;\n\n switch (this._direction) {\n case TabPanelDirection.START:\n this.addClass(TabSelector.PANEL_START);\n break;\n\n case TabPanelDirection.END:\n this.addClass(TabSelector.PANEL_END);\n break;\n }\n }\n\n get isPreventingTransition () {\n return this._isPreventingTransition;\n }\n\n set isPreventingTransition (value) {\n if (this._isPreventingTransition === value) return;\n if (value) this.addClass(api.internals.motion.TransitionSelector.NONE);\n else this.removeClass(api.internals.motion.TransitionSelector.NONE);\n this._isPreventingTransition = value === true;\n }\n\n translate (direction, initial) {\n this.isPreventingTransition = initial;\n this.direction = direction;\n }\n\n reset () {\n this.group.index = 0;\n }\n}\n\nexport { TabPanel };\n","import api from '../../api.js';\nimport { TabPanelDirection } from './tab-panel-direction.js';\n\n/**\n* TabGroup est la classe étendue de DiscosuresGroup\n* Correspond à un objet Tabs avec plusieurs tab-button & Tab (panel)\n*/\nclass TabsGroup extends api.core.DisclosuresGroup {\n constructor () {\n super('TabPanel');\n }\n\n static get instanceClassName () {\n return 'TabsGroup';\n }\n\n init () {\n super.init();\n this.listen('transitionend', this.transitionend.bind(this));\n this.listenKey(api.core.KeyCodes.RIGHT, this.pressRight.bind(this), true, true);\n this.listenKey(api.core.KeyCodes.LEFT, this.pressLeft.bind(this), true, true);\n this.listenKey(api.core.KeyCodes.HOME, this.pressHome.bind(this), true, true);\n this.listenKey(api.core.KeyCodes.END, this.pressEnd.bind(this), true, true);\n this.isRendering = true;\n\n if (this.list) this.list.apply();\n }\n\n get list () {\n return this.element.getDescendantInstances('TabsList', 'TabsGroup', true)[0];\n }\n\n transitionend (e) {\n this.isPreventingTransition = true;\n }\n\n get buttonHasFocus () {\n return this.members.some(member => member.buttonHasFocus);\n }\n\n /**\n * Selectionne l'element suivant de la liste si on est sur un bouton\n * Si on est à la fin on retourne au début\n */\n pressRight () {\n if (this.buttonHasFocus) {\n if (this.index < this.length - 1) {\n this.index++;\n } else {\n this.index = 0;\n }\n\n this.focus();\n }\n };\n\n /**\n * Selectionne l'element précédent de la liste si on est sur un bouton\n * Si on est au debut retourne a la fin\n */\n pressLeft () {\n if (this.buttonHasFocus) {\n if (this.index > 0) {\n this.index--;\n } else {\n this.index = this.length - 1;\n }\n\n this.focus();\n }\n };\n\n /**\n * Selectionne le permier element de la liste si on est sur un bouton\n */\n pressHome () {\n if (this.buttonHasFocus) {\n this.index = 0;\n this.focus();\n }\n };\n\n /**\n * Selectionne le dernier element de la liste si on est sur un bouton\n */\n pressEnd () {\n if (this.buttonHasFocus) {\n this.index = this.length - 1;\n this.focus();\n }\n };\n\n focus () {\n if (this.current) {\n this.current.focus();\n }\n }\n\n apply () {\n for (let i = 0; i < this._index; i++) this.members[i].translate(TabPanelDirection.START);\n this.current.translate(TabPanelDirection.NONE);\n for (let i = this._index + 1; i < this.length; i++) this.members[i].translate(TabPanelDirection.END);\n this.isPreventingTransition = false;\n }\n\n get isPreventingTransition () {\n return this._isPreventingTransition;\n }\n\n set isPreventingTransition (value) {\n if (this._isPreventingTransition === value) return;\n if (value) this.addClass(api.internals.motion.TransitionSelector.NONE);\n else this.removeClass(api.internals.motion.TransitionSelector.NONE);\n this._isPreventingTransition = value === true;\n }\n\n render () {\n if (this.current === null) return;\n const paneHeight = Math.round(this.current.node.offsetHeight);\n if (this.panelHeight === paneHeight) return;\n this.panelHeight = paneHeight;\n let listHeight = 0;\n if (this.list) listHeight = this.list.node.offsetHeight;\n this.style.setProperty('--tabs-height', (this.panelHeight + listHeight) + 'px');\n }\n}\n\nexport { TabsGroup };\n","import api from '../../api.js';\nimport { TabSelector } from './tab-selector';\n\nconst FOCALIZE_OFFSET = 16;\nconst SCROLL_OFFSET = 16; // valeur en px du scroll avant laquelle le shadow s'active ou se desactive\n\nclass TabsList extends api.core.Instance {\n static get instanceClassName () {\n return 'TabsList';\n }\n\n init () {\n this.listen('scroll', this.scroll.bind(this));\n this.isResizing = true;\n }\n\n get group () {\n return this.element.getAscendantInstance('TabsGroup', 'TabsList');\n }\n\n focalize (btn) {\n const btnRect = btn.getRect();\n const listRect = this.getRect();\n const actualScroll = this.node.scrollLeft;\n if (btnRect.left < listRect.left) this.node.scrollTo(actualScroll - listRect.left + btnRect.left - FOCALIZE_OFFSET, 0);\n else if (btnRect.right > listRect.right) this.node.scrollTo(actualScroll - listRect.right + btnRect.right + FOCALIZE_OFFSET, 0);\n }\n\n get isScrolling () {\n return this._isScrolling;\n }\n\n set isScrolling (value) {\n if (this._isScrolling === value) return;\n this._isScrolling = value;\n this.apply();\n }\n\n apply () {\n if (!this.group) return;\n if (this._isScrolling) {\n this.group.addClass(TabSelector.SHADOW);\n this.scroll();\n } else {\n this.group.removeClass(TabSelector.SHADOW_RIGHT);\n this.group.removeClass(TabSelector.SHADOW_LEFT);\n this.group.removeClass(TabSelector.SHADOW);\n }\n }\n\n /* ajoute la classe fr-table__shadow-left ou fr-table__shadow-right sur fr-table en fonction d'une valeur de scroll et du sens (right, left) */\n scroll () {\n if (!this.group) return;\n const scrollLeft = this.node.scrollLeft;\n const isMin = scrollLeft <= SCROLL_OFFSET;\n const max = this.node.scrollWidth - this.node.clientWidth - SCROLL_OFFSET;\n\n const isMax = Math.abs(scrollLeft) >= max;\n const isRtl = document.documentElement.getAttribute('dir') === 'rtl';\n const minSelector = isRtl ? TabSelector.SHADOW_RIGHT : TabSelector.SHADOW_LEFT;\n const maxSelector = isRtl ? TabSelector.SHADOW_LEFT : TabSelector.SHADOW_RIGHT;\n\n if (isMin) {\n this.group.removeClass(minSelector);\n } else {\n this.group.addClass(minSelector);\n }\n\n if (isMax) {\n this.group.removeClass(maxSelector);\n } else {\n this.group.addClass(maxSelector);\n }\n }\n\n resize () {\n this.isScrolling = this.node.scrollWidth > this.node.clientWidth + SCROLL_OFFSET;\n }\n\n dispose () {\n this.isScrolling = false;\n }\n}\n\nexport { TabsList };\n","import api from './api.js';\nimport { TabPanel } from './script/tab/tab-panel.js';\nimport { TabButton } from './script/tab/tab-button.js';\nimport { TabsGroup } from './script/tab/tabs-group.js';\nimport { TabsList } from './script/tab/tabs-list.js';\nimport { TabSelector } from './script/tab/tab-selector.js';\n\napi.tab = {\n TabPanel: TabPanel,\n TabButton: TabButton,\n TabsGroup: TabsGroup,\n TabsList: TabsList,\n TabSelector: TabSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.tab.TabSelector.PANEL, api.tab.TabPanel);\napi.internals.register(api.tab.TabSelector.GROUP, api.tab.TabsGroup);\napi.internals.register(api.tab.TabSelector.LIST, api.tab.TabsList);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const TableEmission = {\n SCROLLABLE: api.internals.ns.emission('table', 'scrollable'),\n CHANGE: api.internals.ns.emission('table', 'change'),\n CAPTION_HEIGHT: api.internals.ns.emission('table', 'captionheight')\n};\n","import api from '../../api.js';\nimport { TableEmission } from './table-emission.js';\n\nconst PADDING = '1rem'; // padding de 4v sur le caption\n\nclass Table extends api.core.Instance {\n static get instanceClassName () {\n return 'Table';\n }\n\n init () {\n this.addAscent(TableEmission.CAPTION_HEIGHT, this.setCaptionHeight.bind(this));\n }\n\n setCaptionHeight (value) {\n this.setProperty('--table-offset', `calc(${value}px + ${PADDING})`);\n }\n}\n\nexport { Table };\n","import api from '../../api.js';\n\nexport const TableSelector = {\n TABLE: api.internals.ns.selector('table'),\n SHADOW: api.internals.ns.selector('table__shadow'),\n SHADOW_LEFT: api.internals.ns.selector('table__shadow--left'),\n SHADOW_RIGHT: api.internals.ns.selector('table__shadow--right'),\n ELEMENT: `${api.internals.ns.selector('table')}:not(${api.internals.ns.selector('table--no-scroll')}) table`,\n CAPTION: `${api.internals.ns.selector('table')} table caption`\n};\n","import api from '../../api.js';\nimport { TableSelector } from './table-selector.js';\n\nconst SCROLL_OFFSET = 8; // valeur en px du scroll avant laquelle le shadow s'active ou se desactive\n\nclass TableElement extends api.core.Instance {\n static get instanceClassName () {\n return 'TableElement';\n }\n\n init () {\n this.listen('scroll', this.scroll.bind(this));\n this.content = this.querySelector('tbody');\n this.isResizing = true;\n }\n\n get isScrolling () {\n return this._isScrolling;\n }\n\n set isScrolling (value) {\n if (this._isScrolling === value) return;\n this._isScrolling = value;\n\n if (value) {\n this.addClass(TableSelector.SHADOW);\n this.scroll();\n } else {\n this.removeClass(TableSelector.SHADOW);\n this.removeClass(TableSelector.SHADOW_LEFT);\n this.removeClass(TableSelector.SHADOW_RIGHT);\n }\n }\n\n /* ajoute la classe fr-table__shadow-left ou fr-table__shadow-right sur fr-table en fonction d'une valeur de scroll et du sens (right, left) */\n scroll () {\n const isMin = this.node.scrollLeft <= SCROLL_OFFSET;\n const max = this.content.offsetWidth - this.node.offsetWidth - SCROLL_OFFSET;\n const isMax = Math.abs(this.node.scrollLeft) >= max;\n const isRtl = document.documentElement.getAttribute('dir') === 'rtl';\n const minSelector = isRtl ? TableSelector.SHADOW_RIGHT : TableSelector.SHADOW_LEFT;\n const maxSelector = isRtl ? TableSelector.SHADOW_LEFT : TableSelector.SHADOW_RIGHT;\n\n if (isMin) {\n this.removeClass(minSelector);\n } else {\n this.addClass(minSelector);\n }\n\n if (isMax) {\n this.removeClass(maxSelector);\n } else {\n this.addClass(maxSelector);\n }\n }\n\n resize () {\n this.isScrolling = this.content.offsetWidth > this.node.offsetWidth;\n }\n\n dispose () {\n this.isScrolling = false;\n }\n}\n\nexport { TableElement };\n","import api from '../../api.js';\nimport { TableEmission } from './table-emission.js';\n\nclass TableCaption extends api.core.Instance {\n static get instanceClassName () {\n return 'TableCaption';\n }\n\n init () {\n this.height = 0;\n this.isResizing = true;\n }\n\n resize () {\n const height = this.getRect().height;\n if (this.height === height) return;\n this.height = height;\n this.ascend(TableEmission.CAPTION_HEIGHT, height);\n }\n}\n\nexport { TableCaption };\n","import api from './api.js';\nimport { Table } from './script/table/table.js';\nimport { TableElement } from './script/table/table-element.js';\nimport { TableSelector } from './script/table/table-selector.js';\nimport { TableCaption } from './script/table/table-caption.js';\n\napi.table = {\n Table: Table,\n TableElement: TableElement,\n TableCaption: TableCaption,\n TableSelector: TableSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.table.TableSelector.TABLE, api.table.Table);\napi.internals.register(api.table.TableSelector.ELEMENT, api.table.TableElement);\napi.internals.register(api.table.TableSelector.CAPTION, api.table.TableCaption);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const TagSelector = {\n TAG_PRESSABLE: `${api.internals.ns.selector('tag')}[aria-pressed]`\n};\n","import api from './api.js';\nimport { TagSelector } from './script/tag/tag-selector';\n\napi.tag = {\n TagSelector: TagSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.tag.TagSelector.TAG_PRESSABLE, api.core.Toggle);\n\nexport default api;\n","import api from '../../api.js';\n\nconsole.log(api.internals.ns.attr.selector('assess-file'));\nexport const DownloadSelector = {\n DOWNLOAD_ASSESS_FILE: `${api.internals.ns.attr.selector('assess-file')}`,\n DOWNLOAD_DETAIL: `${api.internals.ns.selector('download__detail')}`\n};\n","import api from '../../api.js';\nimport { DownloadSelector } from './download-selector';\n\nclass AssessFile extends api.core.Instance {\n static get instanceClassName () {\n return 'AssessFile';\n }\n\n init () {\n this.lang = this.getLang(this.node);\n this.href = this.getAttribute('href');\n\n this.hreflang = this.getAttribute('hreflang');\n this.file = {};\n this.detail = this.querySelector(DownloadSelector.DOWNLOAD_DETAIL);\n this.update();\n }\n\n getFileLength () {\n if (this.href === undefined) {\n this.length = -1;\n return;\n }\n\n fetch(this.href, { method: 'HEAD', mode: 'cors' }).then(response => {\n this.length = response.headers.get('content-length') || -1;\n if (this.length === -1) {\n console.warn('Impossible de détecter le poids du fichier ' + this.href + '\\nErreur de récupération de l\\'en-tête HTTP : \"content-length\"');\n }\n this.update();\n });\n }\n\n update () {\n // TODO V2: implémenter async\n if (this.legacy) this.length = -1;\n\n if (!this.length) {\n this.getFileLength();\n return;\n }\n\n const details = [];\n if (this.detail) {\n if (this.href) {\n const extension = this.parseExtension(this.href);\n if (extension) details.push(extension.toUpperCase());\n }\n\n if (this.length !== -1) {\n details.push(this.bytesToSize(this.length));\n }\n\n if (this.hreflang) {\n const displayNameLang = new Intl.DisplayNames([this.lang], { type: 'language' });\n const langName = displayNameLang.of(this.hreflang);\n const capitalizeLangName = langName.charAt(0).toUpperCase() + langName.slice(1);\n details.push(capitalizeLangName);\n }\n\n this.detail.innerHTML = details.join(' - ');\n }\n }\n\n getLang (elem) {\n if (elem.lang) return elem.lang;\n if (document.documentElement === elem) return window.navigator.language;\n return this.getLang(elem.parentElement);\n }\n\n parseExtension (url) {\n const regexExtension = /\\.(\\w{1,9})(?:$|[?#])/;\n return url.match(regexExtension)[0].replace('.', '');\n }\n\n bytesToSize (bytes) {\n if (bytes === -1) return null;\n\n let sizeUnits = ['octets', 'ko', 'Mo', 'Go', 'To'];\n if (this.getAttribute(api.internals.ns.attr('assess-file')) === 'bytes') {\n sizeUnits = ['bytes', 'KB', 'MB', 'GB', 'TB'];\n }\n\n const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1000)), 10);\n if (i === 0) return `${bytes} ${sizeUnits[i]}`;\n\n const size = bytes / (1000 ** i);\n const roundedSize = Math.round((size + Number.EPSILON) * 100) / 100; // arrondi a 2 décimal\n const stringSize = String(roundedSize).replace('.', ',');\n\n return `${stringSize} ${sizeUnits[i]}`;\n }\n}\n\nexport { AssessFile };\n","import api from './api.js';\nimport { AssessFile } from './script/download/assess-file.js';\nimport { DownloadSelector } from './script/download/download-selector';\n\napi.download = {\n DownloadSelector: DownloadSelector,\n AssessFile: AssessFile\n\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.download.DownloadSelector.DOWNLOAD_ASSESS_FILE, api.download.AssessFile);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const HeaderSelector = {\n HEADER: api.internals.ns.selector('header'),\n TOOLS_LINKS: api.internals.ns.selector('header__tools-links'),\n MENU_LINKS: api.internals.ns.selector('header__menu-links'),\n BUTTONS: `${api.internals.ns.selector('header__tools-links')} ${api.internals.ns.selector('btns-group')}, ${api.internals.ns.selector('header__tools-links')} ${api.internals.ns.selector('links-group')}`,\n MODALS: `${api.internals.ns.selector('header__search')}${api.internals.ns.selector('modal')}, ${api.internals.ns.selector('header__menu')}${api.internals.ns.selector('modal')}`\n};\n","import api from '../../api.js';\nimport { HeaderSelector } from './header-selector.js';\n\nclass HeaderLinks extends api.core.Instance {\n static get instanceClassName () {\n return 'HeaderLinks';\n }\n\n init () {\n const header = this.queryParentSelector(HeaderSelector.HEADER);\n this.toolsLinks = header.querySelector(HeaderSelector.TOOLS_LINKS);\n this.menuLinks = header.querySelector(HeaderSelector.MENU_LINKS);\n\n const toolsHtml = this.toolsLinks.innerHTML.replace(/ +/g, ' ');\n const menuHtml = this.menuLinks.innerHTML.replace(/ +/g, ' ');\n\n if (toolsHtml === menuHtml) return;\n\n switch (api.mode) {\n case api.Modes.ANGULAR:\n case api.Modes.REACT:\n case api.Modes.VUE:\n api.inspector.warn(`header__tools-links content is different from header__menu-links content.\nAs you're using a dynamic framework, you should handle duplication of this content yourself, please refer to documentation: \n${api.header.doc}`);\n break;\n\n default:\n this.menuLinks.innerHTML = this.toolsLinks.innerHTML;\n }\n }\n}\n\nexport { HeaderLinks };\n","import api from '../../api.js';\n\nclass HeaderModal extends api.core.Instance {\n static get instanceClassName () {\n return 'HeaderModal';\n }\n\n init () {\n this.isResizing = true;\n }\n\n resize () {\n if (this.isBreakpoint(api.core.Breakpoints.LG)) this.unqualify();\n else this.qualify();\n }\n\n qualify () {\n this.setAttribute('role', 'dialog');\n const modal = this.element.getInstance('Modal');\n if (!modal) return;\n const buttons = modal.buttons;\n let id = '';\n for (const button of buttons) {\n id = button.id || id;\n if (button.isPrimary && id) break;\n }\n this.setAttribute('aria-labelledby', id);\n }\n\n unqualify () {\n const modal = this.element.getInstance('Modal');\n if (modal) modal.conceal();\n this.removeAttribute('role');\n this.removeAttribute('aria-labelledby');\n }\n}\n\nexport { HeaderModal };\n","import api from './api.js';\nimport { HeaderLinks } from './script/header/header-links.js';\nimport { HeaderModal } from './script/header/header-modal.js';\nimport { HeaderSelector } from './script/header/header-selector.js';\n\napi.header = {\n HeaderLinks: HeaderLinks,\n HeaderModal: HeaderModal,\n HeaderSelector: HeaderSelector,\n doc: 'https://gouvfr.atlassian.net/wiki/spaces/DB/pages/222789846/En-t+te+-+Header'\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.header.HeaderSelector.BUTTONS, api.header.HeaderLinks);\napi.internals.register(api.header.HeaderSelector.MODALS, api.header.HeaderModal);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const DisplaySelector = {\n DISPLAY: api.internals.ns.selector('display'),\n RADIO_BUTTONS: `input[name=\"${api.internals.ns('radios-theme')}\"]`,\n FIELDSET: api.internals.ns.selector('fieldset')\n};\n","import api from '../../api.js';\nimport { DisplaySelector } from './display-selector.js';\n\nclass Display extends api.core.Instance {\n static get instanceClassName () {\n return 'Display';\n }\n\n init () {\n this.radios = this.querySelectorAll(DisplaySelector.RADIO_BUTTONS);\n\n if (api.scheme) {\n this.changing = this.change.bind(this);\n for (const radio of this.radios) radio.addEventListener('change', this.changing);\n this.addDescent(api.scheme.SchemeEmission.SCHEME, this.apply.bind(this));\n this.ascend(api.scheme.SchemeEmission.ASK);\n } else {\n this.querySelector(DisplaySelector.FIELDSET).setAttribute('disabled', '');\n }\n }\n\n get scheme () {\n return this._scheme;\n }\n\n set scheme (value) {\n if (this._scheme === value || !api.scheme) return;\n switch (value) {\n case api.scheme.SchemeValue.SYSTEM:\n case api.scheme.SchemeValue.LIGHT:\n case api.scheme.SchemeValue.DARK:\n this._scheme = value;\n for (const radio of this.radios) {\n radio.checked = radio.value === value;\n }\n this.ascend(api.scheme.SchemeEmission.SCHEME, value);\n break;\n }\n }\n\n change () {\n for (const radio of this.radios) {\n if (radio.checked) {\n this.scheme = radio.value;\n return;\n }\n }\n }\n\n apply (value) {\n this.scheme = value;\n }\n\n dispose () {\n for (const radio of this.radios) radio.removeEventListener('change', this.changing);\n }\n}\n\nexport { Display };\n","import api from './api.js';\nimport { Display } from './script/display/display.js';\nimport { DisplaySelector } from './script/display/display-selector.js';\n\napi.display = {\n Display: Display,\n DisplaySelector: DisplaySelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.display.DisplaySelector.DISPLAY, api.display.Display);\n\nexport default api;\n"],"names":["SCROLL_OFFSET"],"mappings":"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"}
1
+ {"version":3,"file":"component.module.js","sources":["../../.config/config.js","../../src/core/api.js","../../src/component/accordion/script/accordion/accordion-selector.js","../../src/component/accordion/script/accordion/accordions-group.js","../../src/component/accordion/index.js","../../src/component/accordion/main.js","../../src/component/button/script/button/button-selector.js","../../src/component/button/index.js","../../src/component/button/main.js","../../src/component/breadcrumb/script/breadcrumb/breadcrumb.js","../../src/component/breadcrumb/script/breadcrumb/breadcrumb-selector.js","../../src/component/breadcrumb/index.js","../../src/component/breadcrumb/main.js","../../src/component/toggle/script/toggle/toggle-input.js","../../src/component/toggle/script/toggle/toggle-status-label.js","../../src/component/toggle/script/toggle/toggle-selector.js","../../src/component/toggle/index.js","../../src/component/toggle/main.js","../../src/component/sidemenu/script/sidemenu/sidemenu-selector.js","../../src/component/sidemenu/script/sidemenu/sidemenu-list.js","../../src/component/sidemenu/index.js","../../src/component/sidemenu/main.js","../../src/component/modal/script/modal/modal-selector.js","../../src/component/modal/script/modal/modal-button.js","../../src/component/modal/script/modal/modal-attribute.js","../../src/component/modal/script/modal/modal.js","../../src/component/modal/script/modal/focus-trap.js","../../src/component/modal/script/modal/modals-group.js","../../src/component/modal/script/modal/modal-body.js","../../src/component/modal/index.js","../../src/component/modal/main.js","../../src/component/navigation/script/navigation/navigation-selector.js","../../src/component/navigation/script/navigation/navigation-item.js","../../src/component/navigation/script/navigation/navigation-mouse-position.js","../../src/component/navigation/script/navigation/navigation.js","../../src/component/navigation/index.js","../../src/component/navigation/main.js","../../src/component/tab/script/tab/tab-button.js","../../src/component/tab/script/tab/tab-selector.js","../../src/component/tab/script/tab/tab-panel-direction.js","../../src/component/tab/script/tab/tab-panel.js","../../src/component/tab/script/tab/tabs-group.js","../../src/component/tab/script/tab/tabs-list.js","../../src/component/tab/index.js","../../src/component/tab/main.js","../../src/component/table/script/table/table-emission.js","../../src/component/table/script/table/table.js","../../src/component/table/script/table/table-selector.js","../../src/component/table/script/table/table-element.js","../../src/component/table/script/table/table-caption.js","../../src/component/table/index.js","../../src/component/table/main.js","../../src/component/tag/script/tag/tag-selector.js","../../src/component/tag/index.js","../../src/component/tag/main.js","../../src/component/download/script/download/download-selector.js","../../src/component/download/script/download/assess-file.js","../../src/component/download/index.js","../../src/component/download/main.js","../../src/component/header/script/header/header-selector.js","../../src/component/header/script/header/header-links.js","../../src/component/header/script/header/header-modal.js","../../src/component/header/index.js","../../src/component/header/main.js","../../src/component/display/script/display/display-selector.js","../../src/component/display/script/display/display.js","../../src/component/display/index.js","../../src/component/display/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.5.1'\r\n};\r\n\r\nexport default config;\r\n","import config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import api from '../../api.js';\n\nexport const AccordionSelector = {\n GROUP: api.internals.ns.selector('accordions-group'),\n COLLAPSE: `${api.internals.ns.selector('accordion')} > ${api.internals.ns.selector('collapse')}`\n};\n","import api from '../../api.js';\nimport { AccordionSelector } from './accordion-selector.js';\n\nclass AccordionsGroup extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'AccordionsGroup';\n }\n\n validate (member) {\n return member.node.matches(AccordionSelector.COLLAPSE);\n }\n}\n\nexport { AccordionsGroup };\n","import api from './api.js';\nimport { AccordionsGroup } from './script/accordion/accordions-group.js';\nimport { AccordionSelector } from './script/accordion/accordion-selector.js';\n\napi.accordion = {\n AccordionSelector: AccordionSelector,\n AccordionsGroup: AccordionsGroup\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.accordion.AccordionSelector.GROUP, api.accordion.AccordionsGroup);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const ButtonSelector = {\n EQUISIZED_BUTTON: `${api.internals.ns.selector('btns-group--equisized')} ${api.internals.ns.selector('btn')}`,\n EQUISIZED_GROUP: api.internals.ns.selector('btns-group--equisized')\n};\n","import api from './api.js';\nimport { ButtonSelector } from './script/button/button-selector';\n\napi.button = {\n ButtonSelector: ButtonSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.button.ButtonSelector.EQUISIZED_BUTTON, api.core.Equisized);\napi.internals.register(api.button.ButtonSelector.EQUISIZED_GROUP, api.core.EquisizedsGroup);\n\nexport default api;\n","import api from '../../api.js';\n\nclass Breadcrumb extends api.core.Instance {\n constructor () {\n super();\n this.count = 0;\n this.focusing = this.focus.bind(this);\n }\n\n static get instanceClassName () {\n return 'Breadcrumb';\n }\n\n init () {\n this.getCollapse();\n this.isResizing = true;\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n focus: scope.focus.bind(scope),\n disclose: scope.collapse.disclose.bind(scope.collapse)\n });\n }\n\n getCollapse () {\n const collapse = this.collapse;\n if (collapse) {\n collapse.listen(api.core.DisclosureEvent.DISCLOSE, this.focusing);\n } else {\n this.addAscent(api.core.DisclosureEmission.ADDED, this.getCollapse.bind(this));\n }\n }\n\n resize () {\n const collapse = this.collapse;\n const links = this.links;\n if (!collapse || !links.length) return;\n\n if (this.isBreakpoint(api.core.Breakpoints.MD)) {\n if (collapse.buttonHasFocus) links[0].focus();\n } else {\n if (links.indexOf(document.activeElement) > -1) collapse.focus();\n }\n }\n\n get links () {\n return [...this.querySelectorAll('a[href]')];\n }\n\n get collapse () {\n return this.element.getDescendantInstances(api.core.Collapse.instanceClassName, null, true)[0];\n }\n\n focus () {\n this.count = 0;\n this._focus();\n }\n\n _focus () {\n const link = this.links[0];\n if (!link) return;\n link.focus();\n this.request(this.verify.bind(this));\n }\n\n verify () {\n this.count++;\n if (this.count > 100) return;\n const link = this.links[0];\n if (!link) return;\n if (document.activeElement !== link) this._focus();\n }\n}\n\nexport { Breadcrumb };\n","import api from '../../api.js';\n\nexport const BreadcrumbSelector = {\n BREADCRUMB: api.internals.ns.selector('breadcrumb')\n};\n","import api from './api.js';\nimport { Breadcrumb } from './script/breadcrumb/breadcrumb.js';\nimport { BreadcrumbSelector } from './script/breadcrumb/breadcrumb-selector.js';\n\napi.breadcrumb = {\n BreadcrumbSelector: BreadcrumbSelector,\n Breadcrumb: Breadcrumb\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.breadcrumb.BreadcrumbSelector.BREADCRUMB, api.breadcrumb.Breadcrumb);\n\nexport default api;\n","import api from '../../api.js';\n\nclass ToggleInput extends api.core.Instance {\n static get instanceClassName () {\n return 'ToggleInput';\n }\n\n get isChecked () {\n return this.hasAttribute('checked');\n }\n}\n\nexport { ToggleInput };\n","import api from '../../api.js';\nimport { ToggleInput } from './toggle-input.js';\n\nclass ToggleStatusLabel extends api.core.Instance {\n static get instanceClassName () {\n return 'ToggleStatusLabel';\n }\n\n init () {\n this.register(`input[id=\"${this.getAttribute('for')}\"]`, ToggleInput);\n this.update();\n this.isSwappingFont = true;\n }\n\n get proxy () {\n const scope = this;\n return Object.assign(super.proxy, {\n update: scope.update.bind(scope)\n });\n }\n\n get input () {\n return this.getRegisteredInstances('ToggleInput')[0];\n }\n\n update () {\n this.node.style.removeProperty('--toggle-status-width');\n const checked = this.input.isChecked;\n\n const style = getComputedStyle(this.node, ':before');\n let maxWidth = parseFloat(style.width);\n this.input.node.checked = !checked;\n\n const style2 = getComputedStyle(this.node, ':before');\n const width = parseFloat(style2.width);\n if (width > maxWidth) maxWidth = width;\n this.input.node.checked = checked;\n\n this.node.style.setProperty('--toggle-status-width', (maxWidth / 16) + 'rem');\n }\n\n swapFont (families) {\n this.update();\n }\n}\n\nexport { ToggleStatusLabel };\n","import api from '../../api.js';\n\nexport const ToggleSelector = {\n STATUS_LABEL: `${api.internals.ns.selector('toggle__label')}${api.internals.ns.attr.selector('checked-label')}${api.internals.ns.attr.selector('unchecked-label')}`\n};\n","import api from './api.js';\nimport { ToggleStatusLabel } from './script/toggle/toggle-status-label.js';\nimport { ToggleSelector } from './script/toggle/toggle-selector.js';\n// import { ToggleInput } from './script/toggle/toggle-input.js';\n\napi.toggle = {\n ToggleStatusLabel: ToggleStatusLabel,\n ToggleSelector: ToggleSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.toggle.ToggleSelector.STATUS_LABEL, api.toggle.ToggleStatusLabel);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const SidemenuSelector = {\n LIST: api.internals.ns.selector('sidemenu__list'),\n COLLAPSE: `${api.internals.ns.selector('sidemenu__item')} > ${api.internals.ns.selector('collapse')}`\n};\n","import api from '../../api.js';\nimport { SidemenuSelector } from './sidemenu-selector.js';\n\nclass SidemenuList extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'SidemenuList';\n }\n\n validate (member) {\n return member.node.matches(SidemenuSelector.COLLAPSE);\n }\n}\n\nexport { SidemenuList };\n","import api from './api.js';\nimport { SidemenuList } from './script/sidemenu/sidemenu-list.js';\nimport { SidemenuSelector } from './script/sidemenu/sidemenu-selector.js';\n\napi.sidemenu = {\n SidemenuList: SidemenuList,\n SidemenuSelector: SidemenuSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.sidemenu.SidemenuSelector.LIST, api.sidemenu.SidemenuList);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const ModalSelector = {\n MODAL: api.internals.ns.selector('modal'),\n SCROLL_SHADOW: api.internals.ns.selector('scroll-shadow'),\n BODY: api.internals.ns.selector('modal__body')\n};\n","import api from '../../api.js';\n\nclass ModalButton extends api.core.DisclosureButton {\n constructor () {\n super(api.core.DisclosureType.OPENED);\n }\n\n static get instanceClassName () {\n return 'ModalButton';\n }\n}\n\nexport { ModalButton };\n","import api from '../../api';\n\nexport const ModalAttribute = {\n CONCEALING_BACKDROP: api.internals.ns.attr('concealing-backdrop')\n};\n","import api from '../../api.js';\nimport { ModalSelector } from './modal-selector.js';\nimport { ModalButton } from './modal-button.js';\nimport { ModalAttribute } from './modal-attribute';\n\nclass Modal extends api.core.Disclosure {\n constructor () {\n super(api.core.DisclosureType.OPENED, ModalSelector.MODAL, ModalButton, 'ModalsGroup');\n this.scrolling = this.resize.bind(this, false);\n this.resizing = this.resize.bind(this, true);\n }\n\n static get instanceClassName () {\n return 'Modal';\n }\n\n init () {\n super.init();\n this.listen('click', this.click.bind(this));\n this.listenKey(api.core.KeyCodes.ESCAPE, this.conceal.bind(this, false, false), true, true);\n }\n\n get body () {\n return this.element.getDescendantInstances('ModalBody', 'Modal')[0];\n }\n\n click (e) {\n if (e.target === this.node && this.getAttribute(ModalAttribute.CONCEALING_BACKDROP) !== 'false') this.conceal();\n }\n\n disclose (withhold) {\n if (!super.disclose(withhold)) return false;\n if (this.body) this.body.activate();\n this.isScrollLocked = true;\n this.setAttribute('aria-modal', 'true');\n this.setAttribute('open', 'true');\n return true;\n }\n\n conceal (withhold, preventFocus) {\n if (!super.conceal(withhold, preventFocus)) return false;\n this.isScrollLocked = false;\n this.removeAttribute('aria-modal');\n this.removeAttribute('open');\n if (this.body) this.body.deactivate();\n return true;\n }\n}\n\nexport { Modal };\n","import api from '../../api.js';\n\nconst unordereds = [\n '[tabindex=\"0\"]',\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'details>summary:first-of-type',\n 'details',\n 'iframe'\n];\n\nconst UNORDEREDS = unordereds.join();\n\nconst ordereds = [\n '[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])'\n];\n\nconst ORDEREDS = ordereds.join();\n\nconst IS_STUNNING = false;\n\nconst isFocusable = (element, container) => {\n if (!(element instanceof Element)) return false;\n const style = window.getComputedStyle(element);\n if (!style) return false;\n if (style.visibility === 'hidden') return false;\n if (container === undefined) container = element;\n\n while (container.contains(element)) {\n if (style.display === 'none') return false;\n element = element.parentElement;\n }\n\n return true;\n};\n\nclass FocusTrap {\n constructor (onTrap, onUntrap) {\n this.element = null;\n this.activeElement = null;\n this.onTrap = onTrap;\n this.onUntrap = onUntrap;\n this.waiting = this.wait.bind(this);\n this.handling = this.handle.bind(this);\n this.focusing = this.maintainFocus.bind(this);\n this.current = null;\n }\n\n get trapped () { return this.element !== null; }\n\n trap (element) {\n if (this.trapped) this.untrap();\n\n this.element = element;\n this.isTrapping = true;\n this.wait();\n\n if (this.onTrap) this.onTrap();\n }\n\n wait () {\n if (!isFocusable(this.element)) {\n window.requestAnimationFrame(this.waiting);\n return;\n }\n\n this.trapping();\n }\n\n trapping () {\n if (!this.isTrapping) return;\n this.isTrapping = false;\n const focusables = this.focusables;\n if (focusables.length) focusables[0].focus();\n this.element.setAttribute('aria-modal', true);\n window.addEventListener('keydown', this.handling);\n document.body.addEventListener('focus', this.focusing, true);\n\n if (IS_STUNNING) {\n this.stunneds = [];\n this.stun(document.body);\n }\n }\n\n stun (node) {\n for (const child of node.children) {\n if (child === this.element) continue;\n if (child.contains(this.element)) {\n this.stun(child);\n continue;\n }\n this.stunneds.push(new Stunned(child));\n }\n }\n\n maintainFocus (event) {\n if (!this.element.contains(event.target)) {\n const focusables = this.focusables;\n if (focusables.length === 0) return;\n const first = focusables[0];\n event.preventDefault();\n first.focus();\n }\n }\n\n handle (e) {\n if (e.keyCode !== 9) return;\n\n const focusables = this.focusables;\n if (focusables.length === 0) return;\n\n const first = focusables[0];\n const last = focusables[focusables.length - 1];\n\n const index = focusables.indexOf(document.activeElement);\n\n if (e.shiftKey) {\n if (!this.element.contains(document.activeElement) || index < 1) {\n e.preventDefault();\n last.focus();\n } else if (document.activeElement.tabIndex > 0 || focusables[index - 1].tabIndex > 0) {\n e.preventDefault();\n focusables[index - 1].focus();\n }\n } else {\n if (!this.element.contains(document.activeElement) || index === focusables.length - 1 || index === -1) {\n e.preventDefault();\n first.focus();\n } else if (document.activeElement.tabIndex > 0) {\n e.preventDefault();\n focusables[index + 1].focus();\n }\n }\n }\n\n get focusables () {\n let unordereds = api.internals.dom.querySelectorAllArray(this.element, UNORDEREDS);\n\n /**\n * filtrage des radiobutttons de même name (la navigations d'un groupe de radio se fait à la flèche et non pas au tab\n **/\n const radios = api.internals.dom.querySelectorAllArray(document.documentElement, 'input[type=\"radio\"]');\n\n if (radios.length) {\n const groups = {};\n\n for (const radio of radios) {\n const name = radio.getAttribute('name');\n if (groups[name] === undefined) groups[name] = new RadioButtonGroup(name);\n groups[name].push(radio);\n }\n\n unordereds = unordereds.filter((unordered) => {\n if (unordered.tagName.toLowerCase() !== 'input' || unordered.getAttribute('type').toLowerCase() !== 'radio') return true;\n const name = unordered.getAttribute('name');\n return groups[name].keep(unordered);\n });\n }\n\n const ordereds = api.internals.dom.querySelectorAllArray(this.element, ORDEREDS);\n\n ordereds.sort((a, b) => a.tabIndex - b.tabIndex);\n\n const noDuplicates = unordereds.filter((element) => ordereds.indexOf(element) === -1);\n const concateneds = ordereds.concat(noDuplicates);\n return concateneds.filter((element) => element.tabIndex !== '-1' && isFocusable(element, this.element));\n }\n\n untrap () {\n if (!this.trapped) return;\n this.isTrapping = false;\n\n this.element.removeAttribute('aria-modal');\n window.removeEventListener('keydown', this.handling);\n document.body.removeEventListener('focus', this.focusing, true);\n\n this.element = null;\n\n if (IS_STUNNING) {\n for (const stunned of this.stunneds) stunned.unstun();\n this.stunneds = [];\n }\n\n if (this.onUntrap) this.onUntrap();\n }\n\n dispose () {\n this.untrap();\n }\n}\n\nclass Stunned {\n constructor (element) {\n this.element = element;\n // this.hidden = element.getAttribute('aria-hidden');\n this.inert = element.getAttribute('inert');\n\n // this.element.setAttribute('aria-hidden', true);\n this.element.setAttribute('inert', '');\n }\n\n unstun () {\n /*\n if (this.hidden === null) this.element.removeAttribute('aria-hidden');\n else this.element.setAttribute('aria-hidden', this.hidden);\n */\n\n if (this.inert === null) this.element.removeAttribute('inert');\n else this.element.setAttribute('inert', this.inert);\n }\n}\n\nclass RadioButtonGroup {\n constructor (name) {\n this.name = name;\n this.buttons = [];\n }\n\n push (button) {\n this.buttons.push(button);\n if (button === document.activeElement || button.checked || this.selected === undefined) this.selected = button;\n }\n\n keep (button) {\n return this.selected === button;\n }\n}\n\nexport { FocusTrap };\n","import api from '../../api.js';\nimport { FocusTrap } from './focus-trap.js';\n\nclass ModalsGroup extends api.core.DisclosuresGroup {\n constructor () {\n super('Modal', false);\n this.focusTrap = new FocusTrap();\n }\n\n static get instanceClassName () {\n return 'ModalsGroup';\n }\n\n apply (value, initial) {\n super.apply(value, initial);\n if (this.current === null) this.focusTrap.untrap();\n else this.focusTrap.trap(this.current.node);\n }\n}\n\nexport { ModalsGroup };\n","import api from '../../api.js';\nimport { ModalSelector } from './modal-selector.js';\n\nconst OFFSET = 32; // 32px => 8v => 2rem\n\nclass ModalBody extends api.core.Instance {\n static get instanceClassName () {\n return 'ModalBody';\n }\n\n init () {\n this.listen('scroll', this.shade.bind(this));\n }\n\n activate () {\n this.isResizing = true;\n this.resize();\n }\n\n deactivate () {\n this.isResizing = false;\n }\n\n shade () {\n if (this.node.scrollHeight > this.node.clientHeight) {\n if (this.node.offsetHeight + this.node.scrollTop >= this.node.scrollHeight) {\n this.removeClass(ModalSelector.SCROLL_SHADOW);\n } else {\n this.addClass(ModalSelector.SCROLL_SHADOW);\n }\n } else {\n this.removeClass(ModalSelector.SCROLL_SHADOW);\n }\n }\n\n resize () {\n this.adjust();\n this.request(this.adjust.bind(this));\n }\n\n adjust () {\n const offset = OFFSET * (this.isBreakpoint(api.core.Breakpoints.MD) ? 2 : 1);\n if (this.isLegacy) this.style.maxHeight = `${window.innerHeight - offset}px`;\n else this.style.setProperty('--modal-max-height', `${window.innerHeight - offset}px`);\n this.shade();\n }\n}\n\nexport { ModalBody };\n","import api from './api.js';\n\nimport { Modal } from './script/modal/modal.js';\nimport { ModalButton } from './script/modal/modal-button.js';\nimport { ModalsGroup } from './script/modal/modals-group.js';\nimport { ModalBody } from './script/modal/modal-body.js';\nimport { ModalSelector } from './script/modal/modal-selector.js';\n\napi.modal = {\n Modal: Modal,\n ModalButton: ModalButton,\n ModalBody: ModalBody,\n ModalsGroup: ModalsGroup,\n ModalSelector: ModalSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.modal.ModalSelector.MODAL, api.modal.Modal);\napi.internals.register(api.modal.ModalSelector.BODY, api.modal.ModalBody);\napi.internals.register(api.core.RootSelector.ROOT, api.modal.ModalsGroup);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const NavigationSelector = {\n NAVIGATION: api.internals.ns.selector('nav'),\n COLLAPSE: `${api.internals.ns.selector('nav__item')} > ${api.internals.ns.selector('collapse')}`,\n ITEM: api.internals.ns.selector('nav__item'),\n ITEM_RIGHT: api.internals.ns('nav__item--align-right'),\n MENU: api.internals.ns.selector('menu')\n};\n","import api from '../../api.js';\nimport { NavigationSelector } from './navigation-selector.js';\n\nclass NavigationItem extends api.core.Instance {\n constructor () {\n super();\n this._isRightAligned = false;\n }\n\n static get instanceClassName () {\n return 'NavigationItem';\n }\n\n init () {\n this.addAscent(api.core.DisclosureEmission.ADDED, this.calculate.bind(this));\n this.addAscent(api.core.DisclosureEmission.REMOVED, this.calculate.bind(this));\n this.isResizing = true;\n this.calculate();\n }\n\n resize () {\n this.calculate();\n }\n\n calculate () {\n const collapse = this.element.getDescendantInstances(api.core.Collapse.instanceClassName, null, true)[0];\n if (collapse && this.isBreakpoint(api.core.Breakpoints.LG) && collapse.element.node.matches(NavigationSelector.MENU)) {\n const right = this.element.node.parentElement.getBoundingClientRect().right;\n const width = collapse.element.node.getBoundingClientRect().width;\n const left = this.element.node.getBoundingClientRect().left;\n this.isRightAligned = left + width > right;\n } else this.isRightAligned = false;\n }\n\n get isRightAligned () {\n return this._isRightAligned;\n }\n\n set isRightAligned (value) {\n if (this._isRightAligned === value) return;\n this._isRightAligned = value;\n if (value) api.internals.dom.addClass(this.element.node, NavigationSelector.ITEM_RIGHT);\n else api.internals.dom.removeClass(this.element.node, NavigationSelector.ITEM_RIGHT);\n }\n}\n\nexport { NavigationItem };\n","export const NavigationMousePosition = {\n NONE: -1,\n INSIDE: 0,\n OUTSIDE: 1\n};\n","import api from '../../api.js';\nimport { NavigationSelector } from './navigation-selector.js';\nimport { NavigationMousePosition } from './navigation-mouse-position.js';\n\nclass Navigation extends api.core.CollapsesGroup {\n static get instanceClassName () {\n return 'Navigation';\n }\n\n init () {\n super.init();\n this.clicked = false;\n this.out = false;\n this.listen('focusout', this.focusOut.bind(this));\n this.listen('mousedown', this.down.bind(this));\n }\n\n validate (member) {\n return member.element.node.matches(NavigationSelector.COLLAPSE);\n }\n\n down (e) {\n if (!this.isBreakpoint(api.core.Breakpoints.LG) || this.index === -1 || !this.current) return;\n this.position = this.current.element.node.contains(e.target) ? NavigationMousePosition.INSIDE : NavigationMousePosition.OUTSIDE;\n this.request(this.getPosition.bind(this));\n }\n\n focusOut (e) {\n if (!this.isBreakpoint(api.core.Breakpoints.LG)) return;\n this.out = true;\n this.request(this.getPosition.bind(this));\n }\n\n getPosition () {\n if (this.out) {\n switch (this.position) {\n case NavigationMousePosition.OUTSIDE:\n this.index = -1;\n break;\n\n case NavigationMousePosition.INSIDE:\n if (this.current) this.current.focus();\n break;\n\n default:\n if (this.index > -1 && !this.current.hasFocus) this.index = -1;\n }\n }\n this.position = NavigationMousePosition.NONE;\n this.out = false;\n }\n\n get index () { return super.index; }\n\n set index (value) {\n if (value === -1 && this.current !== null && this.current.hasFocus) this.current.focus();\n super.index = value;\n }\n}\n\nexport { Navigation };\n","import api from './api.js';\nimport { NavigationItem } from './script/navigation/navigation-item.js';\nimport { Navigation } from './script/navigation/navigation.js';\nimport { NavigationSelector } from './script/navigation/navigation-selector.js';\nimport { NavigationMousePosition } from './script/navigation/navigation-mouse-position.js';\n\napi.navigation = {\n Navigation: Navigation,\n NavigationItem: NavigationItem,\n NavigationMousePosition: NavigationMousePosition,\n NavigationSelector: NavigationSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.navigation.NavigationSelector.NAVIGATION, api.navigation.Navigation);\napi.internals.register(api.navigation.NavigationSelector.ITEM, api.navigation.NavigationItem);\n\nexport default api;\n","import api from '../../api.js';\n\n/**\n * TabButton correspond au bouton cliquable qui change le panel\n * TabButton étend de DisclosureButton qui ajoute/enelve l'attribut aria-selected,\n * Et change l'attributte tabindex a 0 si le boutton est actif (value=true), -1 s'il n'est pas actif (value=false)\n */\nclass TabButton extends api.core.DisclosureButton {\n constructor () {\n super(api.core.DisclosureType.SELECT);\n }\n\n static get instanceClassName () {\n return 'TabButton';\n }\n\n apply (value) {\n super.apply(value);\n if (this.isPrimary) {\n this.setAttribute('tabindex', value ? '0' : '-1');\n if (value) {\n if (this.list) this.list.focalize(this);\n }\n }\n }\n\n get list () {\n return this.element.getAscendantInstance('TabsList', 'TabsGroup');\n }\n}\n\nexport { TabButton };\n","import api from '../../api.js';\n\nexport const TabSelector = {\n TAB: api.internals.ns.selector('tabs__tab'),\n GROUP: api.internals.ns.selector('tabs'),\n PANEL: api.internals.ns.selector('tabs__panel'),\n LIST: api.internals.ns.selector('tabs__list'),\n SHADOW: api.internals.ns.selector('tabs__shadow'),\n SHADOW_LEFT: api.internals.ns.selector('tabs__shadow--left'),\n SHADOW_RIGHT: api.internals.ns.selector('tabs__shadow--right'),\n PANEL_START: api.internals.ns.selector('tabs__panel--direction-start'),\n PANEL_END: api.internals.ns.selector('tabs__panel--direction-end')\n};\n","export const TabPanelDirection = {\n START: 'direction-start',\n END: 'direction-end',\n NONE: 'none'\n};\n","import api from '../../api.js';\nimport { TabButton } from './tab-button.js';\nimport { TabSelector } from './tab-selector.js';\nimport { TabPanelDirection } from './tab-panel-direction.js';\n\n/**\n * Tab coorespond au panel d'un élement Tabs (tab panel)\n * Tab étend disclosure qui ajoute/enleve le modifier --selected,\n * et ajoute/eleve l'attribut hidden, sur le panel\n */\nclass TabPanel extends api.core.Disclosure {\n constructor () {\n super(api.core.DisclosureType.SELECT, TabSelector.PANEL, TabButton, 'TabsGroup');\n this._direction = TabPanelDirection.NONE;\n this._isPreventingTransition = false;\n }\n\n static get instanceClassName () {\n return 'TabPanel';\n }\n\n get direction () {\n return this._direction;\n }\n\n set direction (value) {\n if (value === this._direction) return;\n switch (this._direction) {\n case TabPanelDirection.START:\n this.removeClass(TabSelector.PANEL_START);\n break;\n\n case TabPanelDirection.END:\n this.removeClass(TabSelector.PANEL_END);\n break;\n\n case TabPanelDirection.NONE:\n break;\n\n default:\n return;\n }\n\n this._direction = value;\n\n switch (this._direction) {\n case TabPanelDirection.START:\n this.addClass(TabSelector.PANEL_START);\n break;\n\n case TabPanelDirection.END:\n this.addClass(TabSelector.PANEL_END);\n break;\n }\n }\n\n get isPreventingTransition () {\n return this._isPreventingTransition;\n }\n\n set isPreventingTransition (value) {\n if (this._isPreventingTransition === value) return;\n if (value) this.addClass(api.internals.motion.TransitionSelector.NONE);\n else this.removeClass(api.internals.motion.TransitionSelector.NONE);\n this._isPreventingTransition = value === true;\n }\n\n translate (direction, initial) {\n this.isPreventingTransition = initial;\n this.direction = direction;\n }\n\n reset () {\n this.group.index = 0;\n }\n}\n\nexport { TabPanel };\n","import api from '../../api.js';\nimport { TabPanelDirection } from './tab-panel-direction.js';\n\n/**\n* TabGroup est la classe étendue de DiscosuresGroup\n* Correspond à un objet Tabs avec plusieurs tab-button & Tab (panel)\n*/\nclass TabsGroup extends api.core.DisclosuresGroup {\n constructor () {\n super('TabPanel');\n }\n\n static get instanceClassName () {\n return 'TabsGroup';\n }\n\n init () {\n super.init();\n this.listen('transitionend', this.transitionend.bind(this));\n this.listenKey(api.core.KeyCodes.RIGHT, this.pressRight.bind(this), true, true);\n this.listenKey(api.core.KeyCodes.LEFT, this.pressLeft.bind(this), true, true);\n this.listenKey(api.core.KeyCodes.HOME, this.pressHome.bind(this), true, true);\n this.listenKey(api.core.KeyCodes.END, this.pressEnd.bind(this), true, true);\n this.isRendering = true;\n\n if (this.list) this.list.apply();\n }\n\n get list () {\n return this.element.getDescendantInstances('TabsList', 'TabsGroup', true)[0];\n }\n\n transitionend (e) {\n this.isPreventingTransition = true;\n }\n\n get buttonHasFocus () {\n return this.members.some(member => member.buttonHasFocus);\n }\n\n /**\n * Selectionne l'element suivant de la liste si on est sur un bouton\n * Si on est à la fin on retourne au début\n */\n pressRight () {\n if (this.buttonHasFocus) {\n if (this.index < this.length - 1) {\n this.index++;\n } else {\n this.index = 0;\n }\n\n this.focus();\n }\n };\n\n /**\n * Selectionne l'element précédent de la liste si on est sur un bouton\n * Si on est au debut retourne a la fin\n */\n pressLeft () {\n if (this.buttonHasFocus) {\n if (this.index > 0) {\n this.index--;\n } else {\n this.index = this.length - 1;\n }\n\n this.focus();\n }\n };\n\n /**\n * Selectionne le permier element de la liste si on est sur un bouton\n */\n pressHome () {\n if (this.buttonHasFocus) {\n this.index = 0;\n this.focus();\n }\n };\n\n /**\n * Selectionne le dernier element de la liste si on est sur un bouton\n */\n pressEnd () {\n if (this.buttonHasFocus) {\n this.index = this.length - 1;\n this.focus();\n }\n };\n\n focus () {\n if (this.current) {\n this.current.focus();\n }\n }\n\n apply () {\n for (let i = 0; i < this._index; i++) this.members[i].translate(TabPanelDirection.START);\n this.current.translate(TabPanelDirection.NONE);\n for (let i = this._index + 1; i < this.length; i++) this.members[i].translate(TabPanelDirection.END);\n this.isPreventingTransition = false;\n }\n\n get isPreventingTransition () {\n return this._isPreventingTransition;\n }\n\n set isPreventingTransition (value) {\n if (this._isPreventingTransition === value) return;\n if (value) this.addClass(api.internals.motion.TransitionSelector.NONE);\n else this.removeClass(api.internals.motion.TransitionSelector.NONE);\n this._isPreventingTransition = value === true;\n }\n\n render () {\n if (this.current === null) return;\n const paneHeight = Math.round(this.current.node.offsetHeight);\n if (this.panelHeight === paneHeight) return;\n this.panelHeight = paneHeight;\n let listHeight = 0;\n if (this.list) listHeight = this.list.node.offsetHeight;\n this.style.setProperty('--tabs-height', (this.panelHeight + listHeight) + 'px');\n }\n}\n\nexport { TabsGroup };\n","import api from '../../api.js';\nimport { TabSelector } from './tab-selector';\n\nconst FOCALIZE_OFFSET = 16;\nconst SCROLL_OFFSET = 16; // valeur en px du scroll avant laquelle le shadow s'active ou se desactive\n\nclass TabsList extends api.core.Instance {\n static get instanceClassName () {\n return 'TabsList';\n }\n\n init () {\n this.listen('scroll', this.scroll.bind(this));\n this.isResizing = true;\n }\n\n get group () {\n return this.element.getAscendantInstance('TabsGroup', 'TabsList');\n }\n\n focalize (btn) {\n const btnRect = btn.getRect();\n const listRect = this.getRect();\n const actualScroll = this.node.scrollLeft;\n if (btnRect.left < listRect.left) this.node.scrollTo(actualScroll - listRect.left + btnRect.left - FOCALIZE_OFFSET, 0);\n else if (btnRect.right > listRect.right) this.node.scrollTo(actualScroll - listRect.right + btnRect.right + FOCALIZE_OFFSET, 0);\n }\n\n get isScrolling () {\n return this._isScrolling;\n }\n\n set isScrolling (value) {\n if (this._isScrolling === value) return;\n this._isScrolling = value;\n this.apply();\n }\n\n apply () {\n if (!this.group) return;\n if (this._isScrolling) {\n this.group.addClass(TabSelector.SHADOW);\n this.scroll();\n } else {\n this.group.removeClass(TabSelector.SHADOW_RIGHT);\n this.group.removeClass(TabSelector.SHADOW_LEFT);\n this.group.removeClass(TabSelector.SHADOW);\n }\n }\n\n /* ajoute la classe fr-table__shadow-left ou fr-table__shadow-right sur fr-table en fonction d'une valeur de scroll et du sens (right, left) */\n scroll () {\n if (!this.group) return;\n const scrollLeft = this.node.scrollLeft;\n const isMin = scrollLeft <= SCROLL_OFFSET;\n const max = this.node.scrollWidth - this.node.clientWidth - SCROLL_OFFSET;\n\n const isMax = Math.abs(scrollLeft) >= max;\n const isRtl = document.documentElement.getAttribute('dir') === 'rtl';\n const minSelector = isRtl ? TabSelector.SHADOW_RIGHT : TabSelector.SHADOW_LEFT;\n const maxSelector = isRtl ? TabSelector.SHADOW_LEFT : TabSelector.SHADOW_RIGHT;\n\n if (isMin) {\n this.group.removeClass(minSelector);\n } else {\n this.group.addClass(minSelector);\n }\n\n if (isMax) {\n this.group.removeClass(maxSelector);\n } else {\n this.group.addClass(maxSelector);\n }\n }\n\n resize () {\n this.isScrolling = this.node.scrollWidth > this.node.clientWidth + SCROLL_OFFSET;\n }\n\n dispose () {\n this.isScrolling = false;\n }\n}\n\nexport { TabsList };\n","import api from './api.js';\nimport { TabPanel } from './script/tab/tab-panel.js';\nimport { TabButton } from './script/tab/tab-button.js';\nimport { TabsGroup } from './script/tab/tabs-group.js';\nimport { TabsList } from './script/tab/tabs-list.js';\nimport { TabSelector } from './script/tab/tab-selector.js';\n\napi.tab = {\n TabPanel: TabPanel,\n TabButton: TabButton,\n TabsGroup: TabsGroup,\n TabsList: TabsList,\n TabSelector: TabSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.tab.TabSelector.PANEL, api.tab.TabPanel);\napi.internals.register(api.tab.TabSelector.GROUP, api.tab.TabsGroup);\napi.internals.register(api.tab.TabSelector.LIST, api.tab.TabsList);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const TableEmission = {\n SCROLLABLE: api.internals.ns.emission('table', 'scrollable'),\n CHANGE: api.internals.ns.emission('table', 'change'),\n CAPTION_HEIGHT: api.internals.ns.emission('table', 'captionheight')\n};\n","import api from '../../api.js';\nimport { TableEmission } from './table-emission.js';\n\nconst PADDING = '1rem'; // padding de 4v sur le caption\n\nclass Table extends api.core.Instance {\n static get instanceClassName () {\n return 'Table';\n }\n\n init () {\n this.addAscent(TableEmission.CAPTION_HEIGHT, this.setCaptionHeight.bind(this));\n }\n\n setCaptionHeight (value) {\n this.setProperty('--table-offset', `calc(${value}px + ${PADDING})`);\n }\n}\n\nexport { Table };\n","import api from '../../api.js';\n\nexport const TableSelector = {\n TABLE: api.internals.ns.selector('table'),\n SHADOW: api.internals.ns.selector('table__shadow'),\n SHADOW_LEFT: api.internals.ns.selector('table__shadow--left'),\n SHADOW_RIGHT: api.internals.ns.selector('table__shadow--right'),\n ELEMENT: `${api.internals.ns.selector('table')}:not(${api.internals.ns.selector('table--no-scroll')}) table`,\n CAPTION: `${api.internals.ns.selector('table')} table caption`\n};\n","import api from '../../api.js';\nimport { TableSelector } from './table-selector.js';\n\nconst SCROLL_OFFSET = 8; // valeur en px du scroll avant laquelle le shadow s'active ou se desactive\n\nclass TableElement extends api.core.Instance {\n static get instanceClassName () {\n return 'TableElement';\n }\n\n init () {\n this.listen('scroll', this.scroll.bind(this));\n this.content = this.querySelector('tbody');\n this.isResizing = true;\n }\n\n get isScrolling () {\n return this._isScrolling;\n }\n\n set isScrolling (value) {\n if (this._isScrolling === value) return;\n this._isScrolling = value;\n\n if (value) {\n this.addClass(TableSelector.SHADOW);\n this.scroll();\n } else {\n this.removeClass(TableSelector.SHADOW);\n this.removeClass(TableSelector.SHADOW_LEFT);\n this.removeClass(TableSelector.SHADOW_RIGHT);\n }\n }\n\n /* ajoute la classe fr-table__shadow-left ou fr-table__shadow-right sur fr-table en fonction d'une valeur de scroll et du sens (right, left) */\n scroll () {\n const isMin = this.node.scrollLeft <= SCROLL_OFFSET;\n const max = this.content.offsetWidth - this.node.offsetWidth - SCROLL_OFFSET;\n const isMax = Math.abs(this.node.scrollLeft) >= max;\n const isRtl = document.documentElement.getAttribute('dir') === 'rtl';\n const minSelector = isRtl ? TableSelector.SHADOW_RIGHT : TableSelector.SHADOW_LEFT;\n const maxSelector = isRtl ? TableSelector.SHADOW_LEFT : TableSelector.SHADOW_RIGHT;\n\n if (isMin) {\n this.removeClass(minSelector);\n } else {\n this.addClass(minSelector);\n }\n\n if (isMax) {\n this.removeClass(maxSelector);\n } else {\n this.addClass(maxSelector);\n }\n }\n\n resize () {\n this.isScrolling = this.content.offsetWidth > this.node.offsetWidth;\n }\n\n dispose () {\n this.isScrolling = false;\n }\n}\n\nexport { TableElement };\n","import api from '../../api.js';\nimport { TableEmission } from './table-emission.js';\n\nclass TableCaption extends api.core.Instance {\n static get instanceClassName () {\n return 'TableCaption';\n }\n\n init () {\n this.height = 0;\n this.isResizing = true;\n }\n\n resize () {\n const height = this.getRect().height;\n if (this.height === height) return;\n this.height = height;\n this.ascend(TableEmission.CAPTION_HEIGHT, height);\n }\n}\n\nexport { TableCaption };\n","import api from './api.js';\nimport { Table } from './script/table/table.js';\nimport { TableElement } from './script/table/table-element.js';\nimport { TableSelector } from './script/table/table-selector.js';\nimport { TableCaption } from './script/table/table-caption.js';\n\napi.table = {\n Table: Table,\n TableElement: TableElement,\n TableCaption: TableCaption,\n TableSelector: TableSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.table.TableSelector.TABLE, api.table.Table);\napi.internals.register(api.table.TableSelector.ELEMENT, api.table.TableElement);\napi.internals.register(api.table.TableSelector.CAPTION, api.table.TableCaption);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const TagSelector = {\n TAG_PRESSABLE: `${api.internals.ns.selector('tag')}[aria-pressed]`\n};\n","import api from './api.js';\nimport { TagSelector } from './script/tag/tag-selector';\n\napi.tag = {\n TagSelector: TagSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.tag.TagSelector.TAG_PRESSABLE, api.core.Toggle);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const DownloadSelector = {\n DOWNLOAD_ASSESS_FILE: `${api.internals.ns.attr.selector('assess-file')}`,\n DOWNLOAD_DETAIL: `${api.internals.ns.selector('download__detail')}`\n};\n","import api from '../../api.js';\nimport { DownloadSelector } from './download-selector';\n\nclass AssessFile extends api.core.Instance {\n static get instanceClassName () {\n return 'AssessFile';\n }\n\n init () {\n this.lang = this.getLang(this.node);\n this.href = this.getAttribute('href');\n\n this.hreflang = this.getAttribute('hreflang');\n this.file = {};\n this.detail = this.querySelector(DownloadSelector.DOWNLOAD_DETAIL);\n this.update();\n }\n\n getFileLength () {\n if (this.href === undefined) {\n this.length = -1;\n return;\n }\n\n fetch(this.href, { method: 'HEAD', mode: 'cors' }).then(response => {\n this.length = response.headers.get('content-length') || -1;\n if (this.length === -1) {\n console.warn('Impossible de détecter le poids du fichier ' + this.href + '\\nErreur de récupération de l\\'en-tête HTTP : \"content-length\"');\n }\n this.update();\n });\n }\n\n update () {\n // TODO V2: implémenter async\n if (this.isLegacy) this.length = -1;\n\n if (!this.length) {\n this.getFileLength();\n return;\n }\n\n const details = [];\n if (this.detail) {\n if (this.href) {\n const extension = this.parseExtension(this.href);\n if (extension) details.push(extension.toUpperCase());\n }\n\n if (this.length !== -1) {\n details.push(this.bytesToSize(this.length));\n }\n\n if (this.hreflang) {\n details.push(this.getLangDisplayName(this.hreflang));\n }\n\n this.detail.innerHTML = details.join(' - ');\n }\n }\n\n getLang (elem) {\n if (elem.lang) return elem.lang;\n if (document.documentElement === elem) return window.navigator.language;\n return this.getLang(elem.parentElement);\n }\n\n parseExtension (url) {\n const regexExtension = /\\.(\\w{1,9})(?:$|[?#])/;\n return url.match(regexExtension)[0].replace('.', '');\n }\n\n getLangDisplayName (locale) {\n if (this.isLegacy) return locale;\n const displayNames = new Intl.DisplayNames([this.lang], { type: 'language' });\n const name = displayNames.of(locale);\n return name.charAt(0).toUpperCase() + name.slice(1);\n }\n\n bytesToSize (bytes) {\n if (bytes === -1) return null;\n\n let sizeUnits = ['octets', 'ko', 'Mo', 'Go', 'To'];\n if (this.getAttribute(api.internals.ns.attr('assess-file')) === 'bytes') {\n sizeUnits = ['bytes', 'KB', 'MB', 'GB', 'TB'];\n }\n\n const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1000)), 10);\n if (i === 0) return `${bytes} ${sizeUnits[i]}`;\n\n const size = bytes / (1000 ** i);\n const roundedSize = Math.round((size + Number.EPSILON) * 100) / 100; // arrondi a 2 décimal\n const stringSize = String(roundedSize).replace('.', ',');\n\n return `${stringSize} ${sizeUnits[i]}`;\n }\n}\n\nexport { AssessFile };\n","import api from './api.js';\nimport { AssessFile } from './script/download/assess-file.js';\nimport { DownloadSelector } from './script/download/download-selector';\n\napi.download = {\n DownloadSelector: DownloadSelector,\n AssessFile: AssessFile\n\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.download.DownloadSelector.DOWNLOAD_ASSESS_FILE, api.download.AssessFile);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const HeaderSelector = {\n HEADER: api.internals.ns.selector('header'),\n TOOLS_LINKS: api.internals.ns.selector('header__tools-links'),\n MENU_LINKS: api.internals.ns.selector('header__menu-links'),\n BUTTONS: `${api.internals.ns.selector('header__tools-links')} ${api.internals.ns.selector('btns-group')}, ${api.internals.ns.selector('header__tools-links')} ${api.internals.ns.selector('links-group')}`,\n MODALS: `${api.internals.ns.selector('header__search')}${api.internals.ns.selector('modal')}, ${api.internals.ns.selector('header__menu')}${api.internals.ns.selector('modal')}`\n};\n","import api from '../../api.js';\nimport { HeaderSelector } from './header-selector.js';\n\nclass HeaderLinks extends api.core.Instance {\n static get instanceClassName () {\n return 'HeaderLinks';\n }\n\n init () {\n const header = this.queryParentSelector(HeaderSelector.HEADER);\n this.toolsLinks = header.querySelector(HeaderSelector.TOOLS_LINKS);\n this.menuLinks = header.querySelector(HeaderSelector.MENU_LINKS);\n\n const toolsHtml = this.toolsLinks.innerHTML.replace(/ +/g, ' ');\n const menuHtml = this.menuLinks.innerHTML.replace(/ +/g, ' ');\n\n if (toolsHtml === menuHtml) return;\n\n switch (api.mode) {\n case api.Modes.ANGULAR:\n case api.Modes.REACT:\n case api.Modes.VUE:\n api.inspector.warn(`header__tools-links content is different from header__menu-links content.\nAs you're using a dynamic framework, you should handle duplication of this content yourself, please refer to documentation: \n${api.header.doc}`);\n break;\n\n default:\n this.menuLinks.innerHTML = this.toolsLinks.innerHTML;\n }\n }\n}\n\nexport { HeaderLinks };\n","import api from '../../api.js';\n\nclass HeaderModal extends api.core.Instance {\n static get instanceClassName () {\n return 'HeaderModal';\n }\n\n init () {\n this.isResizing = true;\n }\n\n resize () {\n if (this.isBreakpoint(api.core.Breakpoints.LG)) this.unqualify();\n else this.qualify();\n }\n\n qualify () {\n this.setAttribute('role', 'dialog');\n const modal = this.element.getInstance('Modal');\n if (!modal) return;\n const buttons = modal.buttons;\n let id = '';\n for (const button of buttons) {\n id = button.id || id;\n if (button.isPrimary && id) break;\n }\n this.setAttribute('aria-labelledby', id);\n }\n\n unqualify () {\n const modal = this.element.getInstance('Modal');\n if (modal) modal.conceal();\n this.removeAttribute('role');\n this.removeAttribute('aria-labelledby');\n }\n}\n\nexport { HeaderModal };\n","import api from './api.js';\nimport { HeaderLinks } from './script/header/header-links.js';\nimport { HeaderModal } from './script/header/header-modal.js';\nimport { HeaderSelector } from './script/header/header-selector.js';\n\napi.header = {\n HeaderLinks: HeaderLinks,\n HeaderModal: HeaderModal,\n HeaderSelector: HeaderSelector,\n doc: 'https://gouvfr.atlassian.net/wiki/spaces/DB/pages/222789846/En-t+te+-+Header'\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.header.HeaderSelector.BUTTONS, api.header.HeaderLinks);\napi.internals.register(api.header.HeaderSelector.MODALS, api.header.HeaderModal);\n\nexport default api;\n","import api from '../../api.js';\n\nexport const DisplaySelector = {\n DISPLAY: api.internals.ns.selector('display'),\n RADIO_BUTTONS: `input[name=\"${api.internals.ns('radios-theme')}\"]`,\n FIELDSET: api.internals.ns.selector('fieldset')\n};\n","import api from '../../api.js';\nimport { DisplaySelector } from './display-selector.js';\n\nclass Display extends api.core.Instance {\n static get instanceClassName () {\n return 'Display';\n }\n\n init () {\n this.radios = this.querySelectorAll(DisplaySelector.RADIO_BUTTONS);\n\n if (api.scheme) {\n this.changing = this.change.bind(this);\n for (const radio of this.radios) radio.addEventListener('change', this.changing);\n this.addDescent(api.scheme.SchemeEmission.SCHEME, this.apply.bind(this));\n this.ascend(api.scheme.SchemeEmission.ASK);\n } else {\n this.querySelector(DisplaySelector.FIELDSET).setAttribute('disabled', '');\n }\n }\n\n get scheme () {\n return this._scheme;\n }\n\n set scheme (value) {\n if (this._scheme === value || !api.scheme) return;\n switch (value) {\n case api.scheme.SchemeValue.SYSTEM:\n case api.scheme.SchemeValue.LIGHT:\n case api.scheme.SchemeValue.DARK:\n this._scheme = value;\n for (const radio of this.radios) {\n radio.checked = radio.value === value;\n }\n this.ascend(api.scheme.SchemeEmission.SCHEME, value);\n break;\n }\n }\n\n change () {\n for (const radio of this.radios) {\n if (radio.checked) {\n this.scheme = radio.value;\n return;\n }\n }\n }\n\n apply (value) {\n this.scheme = value;\n }\n\n dispose () {\n for (const radio of this.radios) radio.removeEventListener('change', this.changing);\n }\n}\n\nexport { Display };\n","import api from './api.js';\nimport { Display } from './script/display/display.js';\nimport { DisplaySelector } from './script/display/display-selector.js';\n\napi.display = {\n Display: Display,\n DisplaySelector: DisplaySelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.display.DisplaySelector.DISPLAY, api.display.Display);\n\nexport default api;\n"],"names":["SCROLL_OFFSET"],"mappings":";;AAAA,MAAM,MAAM,GAAG;AACf,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,YAAY,EAAE,SAAS;AACzB,EAAE,OAAO,EAAE,OAAO;AAClB,CAAC;;ACJD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;;ACC7B,MAAM,iBAAiB,GAAG;AACjC,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;AACtD,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAClG,CAAC;;ACFD,MAAM,eAAe,SAAS,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;AACtD,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,iBAAiB,CAAC;AAC7B,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE;AACpB,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC3D,GAAG;AACH;;ACPA,GAAG,CAAC,SAAS,GAAG;AAChB,EAAE,iBAAiB,EAAE,iBAAiB;AACtC,EAAE,eAAe,EAAE,eAAe;AAClC,CAAC;;ACLD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC;;ACArF,MAAM,cAAc,GAAG;AAC9B,EAAE,gBAAgB,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/G,EAAE,eAAe,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;AACrE,CAAC;;ACFD,GAAG,CAAC,MAAM,GAAG;AACb,EAAE,cAAc,EAAE,cAAc;AAChC,CAAC;;ACHD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvF,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;;ACD3F,MAAM,UAAU,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC3C,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACnB,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,GAAG;AACH;AACA,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AACvB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,GAAG;AACf,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC;AACvB,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;AACtC,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,MAAM,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC5D,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACnC,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxE,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACnC,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC7B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO;AAC3C;AACA,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;AACpD,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACpD,KAAK,MAAM;AACX,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;AACvE,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,GAAG;AACf,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;AACjD,GAAG;AACH;AACA,EAAE,IAAI,QAAQ,CAAC,GAAG;AAClB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnG,GAAG;AACH;AACA,EAAE,KAAK,CAAC,GAAG;AACX,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACnB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO;AACtB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;AACjB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzC,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;AACjB,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO;AACjC,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO;AACtB,IAAI,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AACvD,GAAG;AACH;;ACxEO,MAAM,kBAAkB,GAAG;AAClC,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;AACrD,CAAC;;ACAD,GAAG,CAAC,UAAU,GAAG;AACjB,EAAE,kBAAkB,EAAE,kBAAkB;AACxC,EAAE,UAAU,EAAE,UAAU;AACxB,CAAC;;ACLD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;;ACA/F,MAAM,WAAW,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5C,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,aAAa,CAAC;AACzB,GAAG;AACH;AACA,EAAE,IAAI,SAAS,CAAC,GAAG;AACnB,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AACxC,GAAG;AACH;;ACPA,MAAM,iBAAiB,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClD,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,mBAAmB,CAAC;AAC/B,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;AAC1E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC/B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,GAAG;AACf,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC;AACvB,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;AACtC,MAAM,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACtC,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,GAAG;AACf,IAAI,OAAO,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;AAC5D,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;AACzC;AACA,IAAI,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACzD,IAAI,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC;AACvC;AACA,IAAI,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC1D,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3C,IAAI,IAAI,KAAK,GAAG,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAC;AAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACtC;AACA,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC,QAAQ,GAAG,EAAE,IAAI,KAAK,CAAC,CAAC;AAClF,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE;AACtB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;;AC1CO,MAAM,cAAc,GAAG;AAC9B,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACrK,CAAC;;ACDD;AACA;AACA,GAAG,CAAC,MAAM,GAAG;AACb,EAAE,iBAAiB,EAAE,iBAAiB;AACtC,EAAE,cAAc,EAAE,cAAc;AAChC,CAAC;;ACND,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC;;ACArF,MAAM,gBAAgB,GAAG;AAChC,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;AACnD,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACvG,CAAC;;ACFD,MAAM,YAAY,SAAS,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;AACnD,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,cAAc,CAAC;AAC1B,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE;AACpB,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC1D,GAAG;AACH;;ACPA,GAAG,CAAC,QAAQ,GAAG;AACf,EAAE,YAAY,EAAE,YAAY;AAC5B,EAAE,gBAAgB,EAAE,gBAAgB;AACpC,CAAC;;ACLD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;;ACA9E,MAAM,aAAa,GAAG;AAC7B,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC3C,EAAE,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;AAC3D,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;AAChD,CAAC;;ACJD,MAAM,WAAW,SAAS,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACpD,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH;AACA,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,aAAa,CAAC;AACzB,GAAG;AACH;;ACRO,MAAM,cAAc,GAAG;AAC9B,EAAE,mBAAmB,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACnE,CAAC;;ACCD,MAAM,KAAK,SAAS,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AAC3F,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACnD,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjD,GAAG;AACH;AACA,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;AACjB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAChG,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,GAAG;AACd,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,GAAG;AACH;AACA,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;AACZ,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AACpH,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE;AACtB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,CAAC;AAChD,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AACxC,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACtC,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE;AACnC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC;AAC7D,IAAI,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAChC,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AACvC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1C,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;;AC7CA,MAAM,UAAU,GAAG;AACnB,EAAE,gBAAgB;AAClB,EAAE,SAAS;AACX,EAAE,wBAAwB;AAC1B,EAAE,uBAAuB;AACzB,EAAE,wBAAwB;AAC1B,EAAE,0BAA0B;AAC5B,EAAE,iBAAiB;AACnB,EAAE,iBAAiB;AACnB,EAAE,kDAAkD;AACpD,EAAE,+BAA+B;AACjC,EAAE,SAAS;AACX,EAAE,QAAQ;AACV,CAAC,CAAC;AACF;AACA,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;AACrC;AACA,MAAM,QAAQ,GAAG;AACjB,EAAE,qDAAqD;AACvD,CAAC,CAAC;AACF;AACA,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;AAGjC;AACA,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK;AAC5C,EAAE,IAAI,EAAE,OAAO,YAAY,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;AAClD,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACjD,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC;AAC3B,EAAE,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,OAAO,KAAK,CAAC;AAClD,EAAE,IAAI,SAAS,KAAK,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;AACnD;AACA,EAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACtC,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,OAAO,KAAK,CAAC;AAC/C,IAAI,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;AACpC,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF;AACA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE;AACjC,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACxB,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC7B,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClD,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACxB,GAAG;AACH;AACA,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE;AAClD;AACA,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE;AACjB,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AACpC;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;AAChB;AACA,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AACnC,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACpC,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjD,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;AACpB,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,GAAG;AACd,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO;AACjC,IAAI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAC5B,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACvC,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACjD,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAClD,IAAI,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtD,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAMjE,GAAG;AACH;AACA,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;AACd,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvC,MAAM,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,SAAS;AAC3C,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACxC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,QAAQ,SAAS;AACjB,OAAO;AACP,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,KAAK;AACL,GAAG;AACH;AACA,EAAE,aAAa,CAAC,CAAC,KAAK,EAAE;AACxB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAC9C,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACzC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO;AAC1C,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAClC,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;AACpB,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE;AACb,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE,OAAO;AAChC;AACA,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACvC,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO;AACxC;AACA,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAChC,IAAI,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnD;AACA,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC7D;AACA,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE;AACpB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;AACvE,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;AAC3B,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;AACrB,OAAO,MAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE;AAC5F,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;AAC3B,QAAQ,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACtC,OAAO;AACP,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AAC7G,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;AAC3B,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;AACtB,OAAO,MAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,EAAE;AACtD,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;AAC3B,QAAQ,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACtC,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,UAAU,CAAC,GAAG;AACpB,IAAI,IAAI,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACvF;AACA;AACA;AACA;AACA,IAAI,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;AAC5G;AACA,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE;AACvB,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC;AACxB;AACA,MAAM,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAClC,QAAQ,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAChD,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAClF,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,OAAO;AACP;AACA,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK;AACpD,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,OAAO,IAAI,CAAC;AACjI,QAAQ,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACpD,QAAQ,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC5C,OAAO,CAAC,CAAC;AACT,KAAK;AACL;AACA,IAAI,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACrF;AACA,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;AACrD;AACA,IAAI,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1F,IAAI,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACtD,IAAI,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5G,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO;AAC9B,IAAI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAC5B;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzD,IAAI,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACpE;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAMxB;AACA,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACvC,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH,CAAC;AACD;AACA,MAAM,OAAO,CAAC;AACd,EAAE,WAAW,CAAC,CAAC,OAAO,EAAE;AACxB,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B;AACA,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC/C;AACA;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC3C,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACnE,SAAS,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACxD,GAAG;AACH,CAAC;AACD;AACA,MAAM,gBAAgB,CAAC;AACvB,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AACtB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE;AAChB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,IAAI,IAAI,MAAM,KAAK,QAAQ,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;AACnH,GAAG;AACH;AACA,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE;AAChB,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC;AACpC,GAAG;AACH;;ACrOA,MAAM,WAAW,SAAS,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACpD,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC1B,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AACrC,GAAG;AACH;AACA,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,aAAa,CAAC;AACzB,GAAG;AACH;AACA,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE;AACzB,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAChC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;AACvD,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChD,GAAG;AACH;;ACfA,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB;AACA,MAAM,SAAS,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1C,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,GAAG;AACd,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,UAAU,CAAC,GAAG;AAChB,IAAI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,KAAK,CAAC,GAAG;AACX,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACzD,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AAClF,QAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AACtD,OAAO,MAAM;AACb,QAAQ,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AACnD,OAAO;AACP,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AACpD,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzC,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,MAAM,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACjF,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AACjF,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1F,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;AACjB,GAAG;AACH;;ACtCA,GAAG,CAAC,KAAK,GAAG;AACZ,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,WAAW,EAAE,WAAW;AAC1B,EAAE,SAAS,EAAE,SAAS;AACtB,EAAE,WAAW,EAAE,WAAW;AAC1B,EAAE,aAAa,EAAE,aAAa;AAC9B,CAAC;;ACZD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC1E,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;;ACFlE,MAAM,kBAAkB,GAAG;AAClC,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC9C,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAClG,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC9C,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,wBAAwB,CAAC;AACxD,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;AACzC,CAAC;;ACLD,MAAM,cAAc,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC/C,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AACjC,GAAG;AACH;AACA,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,gBAAgB,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjF,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnF,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;AACrB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;AACrB,GAAG;AACH;AACA,EAAE,SAAS,CAAC,GAAG;AACf,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7G,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;AAC1H,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;AAClF,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;AACxE,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC;AAClE,MAAM,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AACjD,KAAK,MAAM,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AACvC,GAAG;AACH;AACA,EAAE,IAAI,cAAc,CAAC,GAAG;AACxB,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC;AAChC,GAAG;AACH;AACA,EAAE,IAAI,cAAc,CAAC,CAAC,KAAK,EAAE;AAC7B,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,OAAO;AAC/C,IAAI,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AACjC,IAAI,IAAI,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAC5F,SAAS,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACzF,GAAG;AACH;;AC5CO,MAAM,uBAAuB,GAAG;AACvC,EAAE,IAAI,EAAE,CAAC,CAAC;AACV,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,OAAO,EAAE,CAAC;AACZ,CAAC;;ACAD,MAAM,UAAU,SAAS,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;AACjD,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;AACjB,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACzB,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;AACrB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE;AACpB,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACpE,GAAG;AACH;AACA,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;AACX,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO;AAClG,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,uBAAuB,CAAC,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC;AACpI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE;AACf,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,OAAO;AAC5D,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;AACpB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,GAAG;AACH;AACA,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE;AAClB,MAAM,QAAQ,IAAI,CAAC,QAAQ;AAC3B,QAAQ,KAAK,uBAAuB,CAAC,OAAO;AAC5C,UAAU,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC1B,UAAU,MAAM;AAChB;AACA,QAAQ,KAAK,uBAAuB,CAAC,MAAM;AAC3C,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACjD,UAAU,MAAM;AAChB;AACA,QAAQ;AACR,UAAU,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACzE,OAAO;AACP,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC;AACjD,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;AACrB,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE;AACtC;AACA,EAAE,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AAC7F,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;AACxB,GAAG;AACH;;ACpDA,GAAG,CAAC,UAAU,GAAG;AACjB,EAAE,UAAU,EAAE,UAAU;AACxB,EAAE,cAAc,EAAE,cAAc;AAChC,EAAE,uBAAuB,EAAE,uBAAuB;AAClD,EAAE,kBAAkB,EAAE,kBAAkB;AACxC,CAAC;;ACTD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAChG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC;;ACD7F;AACA;AACA;AACA;AACA;AACA,MAAM,SAAS,SAAS,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAClD,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH;AACA,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH;AACA,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE;AAChB,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;AACxB,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;AACxD,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChD,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,GAAG;AACd,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACtE,GAAG;AACH;;AC3BO,MAAM,WAAW,GAAG;AAC3B,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC7C,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC1C,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;AACjD,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC/C,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;AACnD,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;AAC9D,EAAE,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;AAChE,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;AACxE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;AACpE,CAAC;;ACZM,MAAM,iBAAiB,GAAG;AACjC,EAAE,KAAK,EAAE,iBAAiB;AAC1B,EAAE,GAAG,EAAE,eAAe;AACtB,EAAE,IAAI,EAAE,MAAM;AACd,CAAC;;ACCD;AACA;AACA;AACA;AACA;AACA,MAAM,QAAQ,SAAS,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;AAC3C,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACrF,IAAI,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC;AAC7C,IAAI,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;AACzC,GAAG;AACH;AACA,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,UAAU,CAAC;AACtB,GAAG;AACH;AACA,EAAE,IAAI,SAAS,CAAC,GAAG;AACnB,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,IAAI,SAAS,CAAC,CAAC,KAAK,EAAE;AACxB,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE,OAAO;AAC1C,IAAI,QAAQ,IAAI,CAAC,UAAU;AAC3B,MAAM,KAAK,iBAAiB,CAAC,KAAK;AAClC,QAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAClD,QAAQ,MAAM;AACd;AACA,MAAM,KAAK,iBAAiB,CAAC,GAAG;AAChC,QAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAChD,QAAQ,MAAM;AACd;AACA,MAAM,KAAK,iBAAiB,CAAC,IAAI;AACjC,QAAQ,MAAM;AACd;AACA,MAAM;AACN,QAAQ,OAAO;AACf,KAAK;AACL;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAC5B;AACA,IAAI,QAAQ,IAAI,CAAC,UAAU;AAC3B,MAAM,KAAK,iBAAiB,CAAC,KAAK;AAClC,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAC/C,QAAQ,MAAM;AACd;AACA,MAAM,KAAK,iBAAiB,CAAC,GAAG;AAChC,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC7C,QAAQ,MAAM;AACd,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,sBAAsB,CAAC,GAAG;AAChC,IAAI,OAAO,IAAI,CAAC,uBAAuB,CAAC;AACxC,GAAG;AACH;AACA,EAAE,IAAI,sBAAsB,CAAC,CAAC,KAAK,EAAE;AACrC,IAAI,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK,EAAE,OAAO;AACvD,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC3E,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACxE,IAAI,IAAI,CAAC,uBAAuB,GAAG,KAAK,KAAK,IAAI,CAAC;AAClD,GAAG;AACH;AACA,EAAE,SAAS,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE;AACjC,IAAI,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;AAC1C,IAAI,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/B,GAAG;AACH;AACA,EAAE,KAAK,CAAC,GAAG;AACX,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AACzB,GAAG;AACH;;ACxEA;AACA;AACA;AACA;AACA,MAAM,SAAS,SAAS,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAClD,EAAE,WAAW,CAAC,GAAG;AACjB,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;AACtB,GAAG;AACH;AACA,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;AACjB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACpF,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAClF,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAClF,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAChF,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AAC5B;AACA,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AACrC,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,GAAG;AACd,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,GAAG;AACH;AACA,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE;AACpB,IAAI,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACvC,GAAG;AACH;AACA,EAAE,IAAI,cAAc,CAAC,GAAG;AACxB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;AAC9D,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,UAAU,CAAC,GAAG;AAChB,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;AAC7B,MAAM,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACxC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;AACrB,OAAO,MAAM;AACb,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACvB,OAAO;AACP;AACA,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AACnB,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,GAAG;AACf,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;AAC7B,MAAM,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;AAC1B,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;AACrB,OAAO,MAAM;AACb,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACrC,OAAO;AACP;AACA,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AACnB,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,GAAG;AACf,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;AAC7B,MAAM,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACrB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AACnB,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,QAAQ,CAAC,GAAG;AACd,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;AAC7B,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACnC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AACnB,KAAK;AACL,GAAG;AACH;AACA,EAAE,KAAK,CAAC,GAAG;AACX,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;AACtB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AAC3B,KAAK;AACL,GAAG;AACH;AACA,EAAE,KAAK,CAAC,GAAG;AACX,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7F,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACnD,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AACzG,IAAI,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;AACxC,GAAG;AACH;AACA,EAAE,IAAI,sBAAsB,CAAC,GAAG;AAChC,IAAI,OAAO,IAAI,CAAC,uBAAuB,CAAC;AACxC,GAAG;AACH;AACA,EAAE,IAAI,sBAAsB,CAAC,CAAC,KAAK,EAAE;AACrC,IAAI,IAAI,IAAI,CAAC,uBAAuB,KAAK,KAAK,EAAE,OAAO;AACvD,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC3E,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACxE,IAAI,IAAI,CAAC,uBAAuB,GAAG,KAAK,KAAK,IAAI,CAAC;AAClD,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,OAAO;AACtC,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClE,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE,OAAO;AAChD,IAAI,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAClC,IAAI,IAAI,UAAU,GAAG,CAAC,CAAC;AACvB,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;AAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,IAAI,IAAI,CAAC,CAAC;AACpF,GAAG;AACH;;AC1HA,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAMA,eAAa,GAAG,EAAE,CAAC;AACzB;AACA,MAAM,QAAQ,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AACzC,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,UAAU,CAAC;AACtB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,GAAG;AACf,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AACtE,GAAG;AACH;AACA,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE;AACjB,IAAI,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;AAClC,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AACpC,IAAI,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC;AAC3H,SAAS,IAAI,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC;AACpI,GAAG;AACH;AACA,EAAE,IAAI,WAAW,CAAC,GAAG;AACrB,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC;AAC7B,GAAG;AACH;AACA,EAAE,IAAI,WAAW,CAAC,CAAC,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,OAAO;AAC5C,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;AACjB,GAAG;AACH;AACA,EAAE,KAAK,CAAC,GAAG;AACX,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO;AAC5B,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;AAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;AACpB,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AACvD,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AACtD,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACjD,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO;AAC5B,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,IAAI,MAAM,KAAK,GAAG,UAAU,IAAIA,eAAa,CAAC;AAC9C,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAGA,eAAa,CAAC;AAC9E;AACA,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;AAC9C,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AACzE,IAAI,MAAM,WAAW,GAAG,KAAK,GAAG,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC;AACnF,IAAI,MAAM,WAAW,GAAG,KAAK,GAAG,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC;AACnF;AACA,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAC1C,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACvC,KAAK;AACL;AACA,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAC1C,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACvC,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAGA,eAAa,CAAC;AACrF,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAC7B,GAAG;AACH;;AC3EA,GAAG,CAAC,GAAG,GAAG;AACV,EAAE,QAAQ,EAAE,QAAQ;AACpB,EAAE,SAAS,EAAE,SAAS;AACtB,EAAE,SAAS,EAAE,SAAS;AACtB,EAAE,QAAQ,EAAE,QAAQ;AACpB,EAAE,WAAW,EAAE,WAAW;AAC1B,CAAC;;ACXD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACrE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;;ACF3D,MAAM,aAAa,GAAG;AAC7B,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;AAC9D,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;AACtD,EAAE,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;AACrE,CAAC;;ACHD,MAAM,OAAO,GAAG,MAAM,CAAC;AACvB;AACA,MAAM,KAAK,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AACtC,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnF,GAAG;AACH;AACA,EAAE,gBAAgB,CAAC,CAAC,KAAK,EAAE;AAC3B,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,GAAG;AACH;;ACfO,MAAM,aAAa,GAAG;AAC7B,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC3C,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;AACpD,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;AAC/D,EAAE,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;AACjE,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC;AAC9G,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC;AAChE,CAAC;;ACND,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB;AACA,MAAM,YAAY,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7C,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,cAAc,CAAC;AAC1B,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC/C,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,IAAI,WAAW,CAAC,GAAG;AACrB,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC;AAC7B,GAAG;AACH;AACA,EAAE,IAAI,WAAW,CAAC,CAAC,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,OAAO;AAC5C,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC9B;AACA,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC1C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;AACpB,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AAClD,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AACnD,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC;AACxD,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;AACjF,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;AACxD,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AACzE,IAAI,MAAM,WAAW,GAAG,KAAK,GAAG,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC;AACvF,IAAI,MAAM,WAAW,GAAG,KAAK,GAAG,aAAa,CAAC,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC;AACvF;AACA,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AACpC,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACjC,KAAK;AACL;AACA,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AACpC,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACjC,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;AACxE,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAC7B,GAAG;AACH;;AC5DA,MAAM,YAAY,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7C,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,cAAc,CAAC;AAC1B,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACpB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;AACzC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,OAAO;AACvC,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACzB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACtD,GAAG;AACH;;ACbA,GAAG,CAAC,KAAK,GAAG;AACZ,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,YAAY,EAAE,YAAY;AAC5B,EAAE,YAAY,EAAE,YAAY;AAC5B,EAAE,aAAa,EAAE,aAAa;AAC9B,CAAC;;ACTD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAChF,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;;ACFxE,MAAM,WAAW,GAAG;AAC3B,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;AACpE,CAAC;;ACDD,GAAG,CAAC,GAAG,GAAG;AACV,EAAE,WAAW,EAAE,WAAW;AAC1B,CAAC;;ACHD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;;ACAnE,MAAM,gBAAgB,GAAG;AAChC,EAAE,oBAAoB,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAC1E,EAAE,eAAe,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACrE,CAAC;;ACFD,MAAM,UAAU,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC3C,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC1C;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAClD,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACnB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACvE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,GAAG;AACH;AACA,EAAE,aAAa,CAAC,GAAG;AACnB,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;AACjC,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvB,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI;AACxE,MAAM,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;AAC9B,QAAQ,OAAO,CAAC,IAAI,CAAC,6CAA6C,GAAG,IAAI,CAAC,IAAI,GAAG,gEAAgE,CAAC,CAAC;AACnJ,OAAO;AACP,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;AACpB,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ;AACA,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACxC;AACA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACtB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;AAC3B,MAAM,OAAO;AACb,KAAK;AACL;AACA,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;AACrB,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzD,QAAQ,IAAI,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7D,OAAO;AACP;AACA,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;AAC9B,QAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACpD,OAAO;AACP;AACA,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AACzB,QAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7D,OAAO;AACP;AACA,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClD,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE;AACjB,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC;AACpC,IAAI,IAAI,QAAQ,CAAC,eAAe,KAAK,IAAI,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC5E,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC5C,GAAG;AACH;AACA,EAAE,cAAc,CAAC,CAAC,GAAG,EAAE;AACvB,IAAI,MAAM,cAAc,GAAG,uBAAuB,CAAC;AACnD,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACzD,GAAG;AACH;AACA,EAAE,kBAAkB,CAAC,CAAC,MAAM,EAAE;AAC9B,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,MAAM,CAAC;AACrC,IAAI,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAClF,IAAI,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACzC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxD,GAAG;AACH;AACA,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE;AACtB,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC;AAClC;AACA,IAAI,IAAI,SAAS,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACvD,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,OAAO,EAAE;AAC7E,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACpD,KAAK;AACL;AACA,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD;AACA,IAAI,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;AACrC,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;AACxE,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC7D;AACA,IAAI,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,GAAG;AACH;;AC5FA,GAAG,CAAC,QAAQ,GAAG;AACf,EAAE,gBAAgB,EAAE,gBAAgB;AACpC,EAAE,UAAU,EAAE,UAAU;AACxB;AACA,CAAC;;ACND,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;;ACA5F,MAAM,cAAc,GAAG;AAC9B,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC7C,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;AAC/D,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;AAC7D,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAC5M,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAClL,CAAC;;ACLD,MAAM,WAAW,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5C,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,aAAa,CAAC;AACzB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACnE,IAAI,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AACvE,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AACrE;AACA,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACrE,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACnE;AACA,IAAI,IAAI,SAAS,KAAK,QAAQ,EAAE,OAAO;AACvC;AACA,IAAI,QAAQ,GAAG,CAAC,IAAI;AACpB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;AAC7B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;AAC3B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG;AACxB,QAAQ,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC5B;AACA,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpB,QAAQ,MAAM;AACd;AACA,MAAM;AACN,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;AAC7D,KAAK;AACL,GAAG;AACH;;AC7BA,MAAM,WAAW,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5C,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,aAAa,CAAC;AACzB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AACrE,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;AACxB,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACxC,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACpD,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO;AACvB,IAAI,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAClC,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC;AAChB,IAAI,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAClC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;AAC3B,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,MAAM;AACxC,KAAK;AACL,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC7C,GAAG;AACH;AACA,EAAE,SAAS,CAAC,GAAG;AACf,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACpD,IAAI,IAAI,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AAC/B,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;AAC5C,GAAG;AACH;;AC9BA,GAAG,CAAC,MAAM,GAAG;AACb,EAAE,WAAW,EAAE,WAAW;AAC1B,EAAE,WAAW,EAAE,WAAW;AAC1B,EAAE,cAAc,EAAE,cAAc;AAChC,EAAE,GAAG,EAAE,8EAA8E;AACrF,CAAC;;ACRD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAClF,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;;ACDzE,MAAM,eAAe,GAAG;AAC/B,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC/C,EAAE,aAAa,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;AACpE,EAAE,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;AACjD,CAAC;;ACHD,MAAM,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AACxC,EAAE,WAAW,iBAAiB,CAAC,GAAG;AAClC,IAAI,OAAO,SAAS,CAAC;AACrB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;AACvE;AACA,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE;AACpB,MAAM,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,MAAM,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvF,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AACjD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAChF,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,MAAM,CAAC,GAAG;AAChB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC;AACxB,GAAG;AACH;AACA,EAAE,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE;AACrB,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO;AACtD,IAAI,QAAQ,KAAK;AACjB,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;AACzC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;AACxC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI;AACtC,QAAQ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AAC7B,QAAQ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;AACzC,UAAU,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC;AAChD,SAAS;AACT,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7D,QAAQ,MAAM;AACd,KAAK;AACL,GAAG;AACH;AACA,EAAE,MAAM,CAAC,GAAG;AACZ,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;AACrC,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;AACzB,QAAQ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;AAClC,QAAQ,OAAO;AACf,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE;AAChB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACxB,GAAG;AACH;AACA,EAAE,OAAO,CAAC,GAAG;AACb,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxF,GAAG;AACH;;ACpDA,GAAG,CAAC,OAAO,GAAG;AACd,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,eAAe,EAAE,eAAe;AAClC,CAAC;;ACLD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC"}