@epic-web/workshop-app 6.1.0 → 6.2.0
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.
- package/build/client/assets/_-Kbj-HAPY.js +2 -0
- package/build/client/assets/{_-C_7mS1-0.js.map → _-Kbj-HAPY.js.map} +1 -1
- package/build/client/assets/{_basePickBy-DkOIaPL8.js → _basePickBy-WG4U0WMd.js} +2 -2
- package/build/client/assets/{_basePickBy-DkOIaPL8.js.map → _basePickBy-WG4U0WMd.js.map} +1 -1
- package/build/client/assets/{_baseUniq-BAqp_AZM.js → _baseUniq--zdZg7WG.js} +2 -2
- package/build/client/assets/{_baseUniq-BAqp_AZM.js.map → _baseUniq--zdZg7WG.js.map} +1 -1
- package/build/client/assets/_exerciseNumber-MXWVsKzI.js +2 -0
- package/build/client/assets/{_exerciseNumber-CdGNKLia.js.map → _exerciseNumber-MXWVsKzI.js.map} +1 -1
- package/build/client/assets/_exerciseNumber_._stepNumber-BfeokKD3.js +2 -0
- package/build/client/assets/{_exerciseNumber_._stepNumber-BNj079sn.js.map → _exerciseNumber_._stepNumber-BfeokKD3.js.map} +1 -1
- package/build/client/assets/_exerciseNumber_.finished-Dr6lECMK.js +2 -0
- package/build/client/assets/{_exerciseNumber_.finished-Ce6wQJ7W.js.map → _exerciseNumber_.finished-Dr6lECMK.js.map} +1 -1
- package/build/client/assets/_layout-Bv8l5wO7.js +2 -0
- package/build/client/assets/{_layout-C-qRb0Ym.js.map → _layout-Bv8l5wO7.js.map} +1 -1
- package/build/client/assets/{_layout-Tp2XmIFb.js → _layout-ePpFHa-S.js} +3 -3
- package/build/client/assets/{_layout-Tp2XmIFb.js.map → _layout-ePpFHa-S.js.map} +1 -1
- package/build/client/assets/accordion-DBvaz78c.js +2 -0
- package/build/client/assets/{accordion-PSsenYUI.js.map → accordion-DBvaz78c.js.map} +1 -1
- package/build/client/assets/account-BgHt6sNV.js +2 -0
- package/build/client/assets/{account-Jl0f1Zst.js.map → account-BgHt6sNV.js.map} +1 -1
- package/build/client/assets/app-By03B5QO.js +2 -0
- package/build/client/assets/{app-KDd3xjI9.js.map → app-By03B5QO.js.map} +1 -1
- package/build/client/assets/{arc-DWALijMH.js → arc-D-54mj1a.js} +2 -2
- package/build/client/assets/{arc-DWALijMH.js.map → arc-D-54mj1a.js.map} +1 -1
- package/build/client/assets/architectureDiagram-NQ2NVSRB-CamU9d2s.js +37 -0
- package/build/client/assets/{architectureDiagram-NQ2NVSRB-tX-q9elq.js.map → architectureDiagram-NQ2NVSRB-CamU9d2s.js.map} +1 -1
- package/build/client/assets/{blockDiagram-PHRCVELO-CDy5WrXO.js → blockDiagram-PHRCVELO-8PiJU5dn.js} +3 -3
- package/build/client/assets/{blockDiagram-PHRCVELO-CDy5WrXO.js.map → blockDiagram-PHRCVELO-8PiJU5dn.js.map} +1 -1
- package/build/client/assets/{button-cFpvwtjC.js → button-BoJWEKHp.js} +2 -2
- package/build/client/assets/{button-cFpvwtjC.js.map → button-BoJWEKHp.js.map} +1 -1
- package/build/client/assets/{c4Diagram-6F6E4RAY-CFbAkThh.js → c4Diagram-6F6E4RAY-a_Vz9FQp.js} +3 -3
- package/build/client/assets/{c4Diagram-6F6E4RAY-CFbAkThh.js.map → c4Diagram-6F6E4RAY-a_Vz9FQp.js.map} +1 -1
- package/build/client/assets/channel-olxjZBcv.js +2 -0
- package/build/client/assets/{channel-DHkyUdNE.js.map → channel-olxjZBcv.js.map} +1 -1
- package/build/client/assets/{chunk-353BL4L5-Dpooe8HA.js → chunk-353BL4L5-QtLxglxb.js} +2 -2
- package/build/client/assets/{chunk-353BL4L5-Dpooe8HA.js.map → chunk-353BL4L5-QtLxglxb.js.map} +1 -1
- package/build/client/assets/{chunk-67H74DCK-LD3kHetT.js → chunk-67H74DCK-N9VlvDsS.js} +2 -2
- package/build/client/assets/{chunk-67H74DCK-LD3kHetT.js.map → chunk-67H74DCK-N9VlvDsS.js.map} +1 -1
- package/build/client/assets/{chunk-6OLS64BW-DqN3K0zX.js → chunk-6OLS64BW-Bw6L54gk.js} +2 -2
- package/build/client/assets/{chunk-6OLS64BW-DqN3K0zX.js.map → chunk-6OLS64BW-Bw6L54gk.js.map} +1 -1
- package/build/client/assets/{chunk-AACKK3MU-956RrsQJ.js → chunk-AACKK3MU-CGRxti6k.js} +2 -2
- package/build/client/assets/{chunk-AACKK3MU-956RrsQJ.js.map → chunk-AACKK3MU-CGRxti6k.js.map} +1 -1
- package/build/client/assets/{chunk-BFAMUDN2-By_sWoWf.js → chunk-BFAMUDN2-D0k5yzNa.js} +2 -2
- package/build/client/assets/{chunk-BFAMUDN2-By_sWoWf.js.map → chunk-BFAMUDN2-D0k5yzNa.js.map} +1 -1
- package/build/client/assets/{chunk-E2GYISFI-CYbTdeHG.js → chunk-E2GYISFI-L538ejWD.js} +2 -2
- package/build/client/assets/{chunk-E2GYISFI-CYbTdeHG.js.map → chunk-E2GYISFI-L538ejWD.js.map} +1 -1
- package/build/client/assets/{chunk-QEP2MXWD-EMIn8SEG.js → chunk-QEP2MXWD-DdDxYCFZ.js} +2 -2
- package/build/client/assets/{chunk-QEP2MXWD-EMIn8SEG.js.map → chunk-QEP2MXWD-DdDxYCFZ.js.map} +1 -1
- package/build/client/assets/{chunk-SKB7J2MH-CPK45517.js → chunk-SKB7J2MH-BntWlIrL.js} +2 -2
- package/build/client/assets/{chunk-SKB7J2MH-CPK45517.js.map → chunk-SKB7J2MH-BntWlIrL.js.map} +1 -1
- package/build/client/assets/classDiagram-BGRH5UQR-C5Mv_s-i.js +2 -0
- package/build/client/assets/{classDiagram-BGRH5UQR-DMFCY4SY.js.map → classDiagram-BGRH5UQR-C5Mv_s-i.js.map} +1 -1
- package/build/client/assets/classDiagram-v2-O24JOBDK-C5Mv_s-i.js +2 -0
- package/build/client/assets/{classDiagram-v2-O24JOBDK-DMFCY4SY.js.map → classDiagram-v2-O24JOBDK-C5Mv_s-i.js.map} +1 -1
- package/build/client/assets/clone-B94ujfDo.js +2 -0
- package/build/client/assets/{clone-DgOnCE7a.js.map → clone-B94ujfDo.js.map} +1 -1
- package/build/client/assets/clsx-B-dksMZM.js +2 -0
- package/build/client/assets/clsx-B-dksMZM.js.map +1 -0
- package/build/client/assets/dagre-FFZHY6LT-UmchHP04.js +5 -0
- package/build/client/assets/{dagre-FFZHY6LT-D8_T6tZq.js.map → dagre-FFZHY6LT-UmchHP04.js.map} +1 -1
- package/build/client/assets/diagram-3EMPZRKU-CjmDnDXX.js +25 -0
- package/build/client/assets/{diagram-3EMPZRKU-BEeRqItD.js.map → diagram-3EMPZRKU-CjmDnDXX.js.map} +1 -1
- package/build/client/assets/diagram-5UYTHUR4-C85dABA1.js +25 -0
- package/build/client/assets/{diagram-5UYTHUR4-CikqdCuq.js.map → diagram-5UYTHUR4-C85dABA1.js.map} +1 -1
- package/build/client/assets/diagram-ZTM2IBQH-CH_XZ7tw.js +44 -0
- package/build/client/assets/{diagram-ZTM2IBQH-CDz-uqOk.js.map → diagram-ZTM2IBQH-CH_XZ7tw.js.map} +1 -1
- package/build/client/assets/diff-C1wUPjJK.js +2 -0
- package/build/client/assets/{diff-DLaUr4S6.js.map → diff-C1wUPjJK.js.map} +1 -1
- package/build/client/assets/diff-CxZ19SOv.js +2 -0
- package/build/client/assets/{diff-BXApfmyx.js.map → diff-CxZ19SOv.js.map} +1 -1
- package/build/client/assets/{discord-DOEtvB6W.js → discord-B5cRUOhZ.js} +2 -2
- package/build/client/assets/{discord-DOEtvB6W.js.map → discord-B5cRUOhZ.js.map} +1 -1
- package/build/client/assets/discord-BvZSO_OZ.js +2 -0
- package/build/client/assets/discord-BvZSO_OZ.js.map +1 -0
- package/build/client/assets/{epic-video-Buv6ZzQr.js → epic-video-CRkBFsAC.js} +2 -2
- package/build/client/assets/{epic-video-Buv6ZzQr.js.map → epic-video-CRkBFsAC.js.map} +1 -1
- package/build/client/assets/{erDiagram-R3QVA2FD-WzL917SV.js → erDiagram-R3QVA2FD-DbFybc7W.js} +3 -3
- package/build/client/assets/{erDiagram-R3QVA2FD-WzL917SV.js.map → erDiagram-R3QVA2FD-DbFybc7W.js.map} +1 -1
- package/build/client/assets/{error-boundary-B8bEOgxp.js → error-boundary-bzCOyChj.js} +2 -2
- package/build/client/assets/{error-boundary-B8bEOgxp.js.map → error-boundary-bzCOyChj.js.map} +1 -1
- package/build/client/assets/finished-D-PDIHdi.js +2 -0
- package/build/client/assets/{finished-BGX9JzP_.js.map → finished-D-PDIHdi.js.map} +1 -1
- package/build/client/assets/{flowDiagram-PKI6S5ZS-qimfuZS6.js → flowDiagram-PKI6S5ZS-b-Wr1zEn.js} +3 -3
- package/build/client/assets/{flowDiagram-PKI6S5ZS-qimfuZS6.js.map → flowDiagram-PKI6S5ZS-b-Wr1zEn.js.map} +1 -1
- package/build/client/assets/ganttDiagram-EK5VF46D-D25CAue3.js +268 -0
- package/build/client/assets/{ganttDiagram-EK5VF46D-R6ZSFdSM.js.map → ganttDiagram-EK5VF46D-D25CAue3.js.map} +1 -1
- package/build/client/assets/gitGraphDiagram-GW3U2K7C-B7Ue-jLz.js +66 -0
- package/build/client/assets/{gitGraphDiagram-GW3U2K7C-DV4MLocC.js.map → gitGraphDiagram-GW3U2K7C-B7Ue-jLz.js.map} +1 -1
- package/build/client/assets/{graph-DbEC4aH6.js → graph-9sAzMH8t.js} +2 -2
- package/build/client/assets/{graph-DbEC4aH6.js.map → graph-9sAzMH8t.js.map} +1 -1
- package/build/client/assets/{index-5iWKMrsc.js → index-8yBq10sZ.js} +2 -2
- package/build/client/assets/{index-5iWKMrsc.js.map → index-8yBq10sZ.js.map} +1 -1
- package/build/client/assets/index-CS_uCg-3.js +2 -0
- package/build/client/assets/{index-Bn3YwCqZ.js.map → index-CS_uCg-3.js.map} +1 -1
- package/build/client/assets/index-Cf0XLNVj.js +2 -0
- package/build/client/assets/{index-CUv7g3UR.js.map → index-Cf0XLNVj.js.map} +1 -1
- package/build/client/assets/{index-7Ba6ptu2.js → index-CtnHrWrs.js} +2 -2
- package/build/client/assets/{index-7Ba6ptu2.js.map → index-CtnHrWrs.js.map} +1 -1
- package/build/client/assets/{index-CZ8q0Nf8.js → index-DPhEf4uN.js} +2 -2
- package/build/client/assets/{index-CZ8q0Nf8.js.map → index-DPhEf4uN.js.map} +1 -1
- package/build/client/assets/index-Dqd5qiWh.js +2 -0
- package/build/client/assets/{index-DxbpRM0V.js.map → index-Dqd5qiWh.js.map} +1 -1
- package/build/client/assets/infoDiagram-RLU2ROGC-DDlCYHQW.js +3 -0
- package/build/client/assets/{infoDiagram-RLU2ROGC-BJyo6jex.js.map → infoDiagram-RLU2ROGC-DDlCYHQW.js.map} +1 -1
- package/build/client/assets/{journeyDiagram-EWQZEKCU-aQCeSbRC.js → journeyDiagram-EWQZEKCU-Bm8mUykI.js} +3 -3
- package/build/client/assets/{journeyDiagram-EWQZEKCU-aQCeSbRC.js.map → journeyDiagram-EWQZEKCU-Bm8mUykI.js.map} +1 -1
- package/build/client/assets/{kanban-definition-ILFWEQ3N-CLcq3V0h.js → kanban-definition-ILFWEQ3N-BoSNcgtS.js} +3 -3
- package/build/client/assets/{kanban-definition-ILFWEQ3N-CLcq3V0h.js.map → kanban-definition-ILFWEQ3N-BoSNcgtS.js.map} +1 -1
- package/build/client/assets/{layout-DInHBBCO.js → layout-Ba5kmwon.js} +2 -2
- package/build/client/assets/{layout-DInHBBCO.js.map → layout-Ba5kmwon.js.map} +1 -1
- package/build/client/assets/{linear-BoPQG8e5.js → linear-ZPMI8s6B.js} +2 -2
- package/build/client/assets/{linear-BoPQG8e5.js.map → linear-ZPMI8s6B.js.map} +1 -1
- package/build/client/assets/{loading-WTUNhoIS.js → loading-C810LASV.js} +2 -2
- package/build/client/assets/{loading-WTUNhoIS.js.map → loading-C810LASV.js.map} +1 -1
- package/build/client/assets/login-CQRwgkfM.js +2 -0
- package/build/client/assets/{login-BzcTSzkr.js.map → login-CQRwgkfM.js.map} +1 -1
- package/build/client/assets/manifest-eb55e374.js +1 -0
- package/build/client/assets/mdx-DH55rolp.js +3 -0
- package/build/client/assets/{mdx-BrER1Z2t.js.map → mdx-DH55rolp.js.map} +1 -1
- package/build/client/assets/{mermaid.core-Cvtu6qL8.js → mermaid.core-CG5oJ8_-.js} +5 -5
- package/build/client/assets/{mermaid.core-Cvtu6qL8.js.map → mermaid.core-CG5oJ8_-.js.map} +1 -1
- package/build/client/assets/mindmap-definition-CZNETY7S-Dr_MsV9M.js +96 -0
- package/build/client/assets/{mindmap-definition-CZNETY7S-BwcWuimP.js.map → mindmap-definition-CZNETY7S-Dr_MsV9M.js.map} +1 -1
- package/build/client/assets/misc-DsJGqoYt.js +2 -0
- package/build/client/assets/misc-DsJGqoYt.js.map +1 -0
- package/build/client/assets/{nav-chevrons-Cxzx0j13.js → nav-chevrons-CSVvCjJa.js} +2 -2
- package/build/client/assets/{nav-chevrons-Cxzx0j13.js.map → nav-chevrons-CSVvCjJa.js.map} +1 -1
- package/build/client/assets/onboarding-CyHu3NPX.js +2 -0
- package/build/client/assets/{onboarding-CpNLu5ws.js.map → onboarding-CyHu3NPX.js.map} +1 -1
- package/build/client/assets/{online-CyV51Rml.js → online-Cf3nj5JR.js} +2 -2
- package/build/client/assets/{online-CyV51Rml.js.map → online-Cf3nj5JR.js.map} +1 -1
- package/build/client/assets/pieDiagram-NIOCPIFQ-DGamF-m5.js +31 -0
- package/build/client/assets/{pieDiagram-NIOCPIFQ-BGD0lX78.js.map → pieDiagram-NIOCPIFQ-DGamF-m5.js.map} +1 -1
- package/build/client/assets/preferences-eb0Opp1D.js +2 -0
- package/build/client/assets/preferences-eb0Opp1D.js.map +1 -0
- package/build/client/assets/{presence-CLRBf5dp.js → presence-DXH0dXJd.js} +2 -2
- package/build/client/assets/{presence-CLRBf5dp.js.map → presence-DXH0dXJd.js.map} +1 -1
- package/build/client/assets/preview-B35cxJW7.js +2 -0
- package/build/client/assets/{preview-CMOIed2z.js.map → preview-B35cxJW7.js.map} +1 -1
- package/build/client/assets/{product-B0zJEdi_.js → product-B3wkyL3-.js} +2 -2
- package/build/client/assets/{product-B0zJEdi_.js.map → product-B3wkyL3-.js.map} +1 -1
- package/build/client/assets/{progress-DKsShYpv.js → progress-BP5cLKuW.js} +2 -2
- package/build/client/assets/{progress-DKsShYpv.js.map → progress-BP5cLKuW.js.map} +1 -1
- package/build/client/assets/{progress-bar-Cww9t8Vn.js → progress-bar-BagX2z6n.js} +2 -2
- package/build/client/assets/{progress-bar-Cww9t8Vn.js.map → progress-bar-BagX2z6n.js.map} +1 -1
- package/build/client/assets/{quadrantDiagram-2OG54O6I-75mVARIA.js → quadrantDiagram-2OG54O6I-DzYQA4wE.js} +5 -5
- package/build/client/assets/{quadrantDiagram-2OG54O6I-75mVARIA.js.map → quadrantDiagram-2OG54O6I-DzYQA4wE.js.map} +1 -1
- package/build/client/assets/{requirementDiagram-SO3GGRV7-9xtgDM0W.js → requirementDiagram-SO3GGRV7-CT4nmOnG.js} +3 -3
- package/build/client/assets/{requirementDiagram-SO3GGRV7-9xtgDM0W.js.map → requirementDiagram-SO3GGRV7-CT4nmOnG.js.map} +1 -1
- package/build/client/assets/{revalidation-ws-CkOwoVmm.js → revalidation-ws-De6AS3e6.js} +2 -2
- package/build/client/assets/{revalidation-ws-CkOwoVmm.js.map → revalidation-ws-De6AS3e6.js.map} +1 -1
- package/build/client/assets/root-CoMxWz2o.js +2 -0
- package/build/client/assets/root-CoMxWz2o.js.map +1 -0
- package/build/client/assets/sankeyDiagram-4UZDY2LN-ByZQvDvv.js +11 -0
- package/build/client/assets/{sankeyDiagram-4UZDY2LN-GnxcKs-y.js.map → sankeyDiagram-4UZDY2LN-ByZQvDvv.js.map} +1 -1
- package/build/client/assets/{sequenceDiagram-ZIKVLSP4-nwxzVXHz.js → sequenceDiagram-ZIKVLSP4-D8J9bTtT.js} +3 -3
- package/build/client/assets/{sequenceDiagram-ZIKVLSP4-nwxzVXHz.js.map → sequenceDiagram-ZIKVLSP4-D8J9bTtT.js.map} +1 -1
- package/build/client/assets/set-playground-fnyxfdJX.js +2 -0
- package/build/client/assets/{set-playground-Bx0yIjpY.js.map → set-playground-fnyxfdJX.js.map} +1 -1
- package/build/client/assets/stateDiagram-XX37X6EN-CDbaOeD7.js +2 -0
- package/build/client/assets/{stateDiagram-XX37X6EN-DplHO2WC.js.map → stateDiagram-XX37X6EN-CDbaOeD7.js.map} +1 -1
- package/build/client/assets/stateDiagram-v2-GD6S3NHB-ZW9khKM8.js +2 -0
- package/build/client/assets/{stateDiagram-v2-GD6S3NHB-CmsjuNaA.js.map → stateDiagram-v2-GD6S3NHB-ZW9khKM8.js.map} +1 -1
- package/build/client/assets/tailwind-CyQBDA3D.css +1 -0
- package/build/client/assets/test-Dr7hgef4.js +2 -0
- package/build/client/assets/{test-DUocKqAt.js.map → test-Dr7hgef4.js.map} +1 -1
- package/build/client/assets/{tests-Bmk7igTW.js → tests-EEL6JFzf.js} +2 -2
- package/build/client/assets/{tests-Bmk7igTW.js.map → tests-EEL6JFzf.js.map} +1 -1
- package/build/client/assets/{timeline-definition-RI47OAVP-Dhz4J7XS.js → timeline-definition-RI47OAVP-CpiFZiC9.js} +3 -3
- package/build/client/assets/{timeline-definition-RI47OAVP-Dhz4J7XS.js.map → timeline-definition-RI47OAVP-CpiFZiC9.js.map} +1 -1
- package/build/client/assets/{tooltip-Cm7A1uIP.js → tooltip-CTw4ab49.js} +2 -2
- package/build/client/assets/{tooltip-Cm7A1uIP.js.map → tooltip-CTw4ab49.js.map} +1 -1
- package/build/client/assets/{treemap-FKARHQ26-4Q6H4E9y.js → treemap-FKARHQ26-DW0onZEJ.js} +2 -2
- package/build/client/assets/{treemap-FKARHQ26-4Q6H4E9y.js.map → treemap-FKARHQ26-DW0onZEJ.js.map} +1 -1
- package/build/client/assets/workspace-structure-BU7brX4_.js +2 -0
- package/build/client/assets/workspace-structure-BU7brX4_.js.map +1 -0
- package/build/client/assets/{xychartDiagram-H2YORKM3-mIuoEWBr.js → xychartDiagram-H2YORKM3-pOb4n59k.js} +3 -3
- package/build/client/assets/{xychartDiagram-H2YORKM3-mIuoEWBr.js.map → xychartDiagram-H2YORKM3-pOb4n59k.js.map} +1 -1
- package/build/server/index.js +565 -271
- package/build/server/index.js.map +1 -1
- package/package.json +1 -1
- package/build/client/assets/_-C_7mS1-0.js +0 -2
- package/build/client/assets/_exerciseNumber-CdGNKLia.js +0 -2
- package/build/client/assets/_exerciseNumber_._stepNumber-BNj079sn.js +0 -2
- package/build/client/assets/_exerciseNumber_.finished-Ce6wQJ7W.js +0 -2
- package/build/client/assets/_layout-C-qRb0Ym.js +0 -2
- package/build/client/assets/accordion-PSsenYUI.js +0 -2
- package/build/client/assets/account-Jl0f1Zst.js +0 -2
- package/build/client/assets/app-KDd3xjI9.js +0 -2
- package/build/client/assets/architectureDiagram-NQ2NVSRB-tX-q9elq.js +0 -37
- package/build/client/assets/channel-DHkyUdNE.js +0 -2
- package/build/client/assets/classDiagram-BGRH5UQR-DMFCY4SY.js +0 -2
- package/build/client/assets/classDiagram-v2-O24JOBDK-DMFCY4SY.js +0 -2
- package/build/client/assets/clone-DgOnCE7a.js +0 -2
- package/build/client/assets/dagre-FFZHY6LT-D8_T6tZq.js +0 -5
- package/build/client/assets/diagram-3EMPZRKU-BEeRqItD.js +0 -25
- package/build/client/assets/diagram-5UYTHUR4-CikqdCuq.js +0 -25
- package/build/client/assets/diagram-ZTM2IBQH-CDz-uqOk.js +0 -44
- package/build/client/assets/diff-BXApfmyx.js +0 -2
- package/build/client/assets/diff-DLaUr4S6.js +0 -2
- package/build/client/assets/discord-C86FbV-j.js +0 -2
- package/build/client/assets/discord-C86FbV-j.js.map +0 -1
- package/build/client/assets/finished-BGX9JzP_.js +0 -2
- package/build/client/assets/ganttDiagram-EK5VF46D-R6ZSFdSM.js +0 -268
- package/build/client/assets/gitGraphDiagram-GW3U2K7C-DV4MLocC.js +0 -66
- package/build/client/assets/index-Bn3YwCqZ.js +0 -2
- package/build/client/assets/index-CUv7g3UR.js +0 -2
- package/build/client/assets/index-DxbpRM0V.js +0 -2
- package/build/client/assets/infoDiagram-RLU2ROGC-BJyo6jex.js +0 -3
- package/build/client/assets/login-BzcTSzkr.js +0 -2
- package/build/client/assets/manifest-d7f923a9.js +0 -1
- package/build/client/assets/mdx-BrER1Z2t.js +0 -3
- package/build/client/assets/mindmap-definition-CZNETY7S-BwcWuimP.js +0 -96
- package/build/client/assets/misc-COGqV2fm.js +0 -2
- package/build/client/assets/misc-COGqV2fm.js.map +0 -1
- package/build/client/assets/onboarding-CpNLu5ws.js +0 -2
- package/build/client/assets/pieDiagram-NIOCPIFQ-BGD0lX78.js +0 -31
- package/build/client/assets/preferences-Dx_EUPYj.js +0 -2
- package/build/client/assets/preferences-Dx_EUPYj.js.map +0 -1
- package/build/client/assets/preview-CMOIed2z.js +0 -2
- package/build/client/assets/root-Ddu3Xxbb.js +0 -2
- package/build/client/assets/root-Ddu3Xxbb.js.map +0 -1
- package/build/client/assets/sankeyDiagram-4UZDY2LN-GnxcKs-y.js +0 -11
- package/build/client/assets/set-playground-Bx0yIjpY.js +0 -2
- package/build/client/assets/stateDiagram-XX37X6EN-DplHO2WC.js +0 -2
- package/build/client/assets/stateDiagram-v2-GD6S3NHB-CmsjuNaA.js +0 -2
- package/build/client/assets/tailwind-Dqccob1p.css +0 -1
- package/build/client/assets/test-DUocKqAt.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc-DsJGqoYt.js","sources":["../../../../../node_modules/spin-delay/dist/index.js","../../../../../node_modules/escape-string-regexp/index.js","../../../../../node_modules/@sindresorhus/transliterate/replacements.js","../../../../../node_modules/@sindresorhus/transliterate/index.js","../../../../../node_modules/@sindresorhus/slugify/overridable-replacements.js","../../../../../node_modules/@sindresorhus/slugify/index.js","../../../../../node_modules/tailwind-merge/dist/bundle-mjs.mjs","../../../app/assets/icons.svg","../../../app/components/icons.tsx","../../../app/utils/extended-theme.ts","../../../app/utils/misc.tsx"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\n typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\n (global = global || self, factory(global.spinDelay = {}, global.react));\n}(this, (function (exports, react) {\n const defaultOptions = {\n delay: 500,\n minDuration: 200,\n ssr: true\n };\n\n function useIsSSR() {\n const [isSSR, setIsSSR] = react.useState(true);\n react.useEffect(() => {\n setIsSSR(false);\n }, []);\n return isSSR;\n }\n\n function useSpinDelay(loading, options) {\n options = Object.assign({}, defaultOptions, options);\n const isSSR = useIsSSR() && options.ssr;\n const initialState = isSSR && loading ? 'DISPLAY' : 'IDLE';\n const [state, setState] = react.useState(initialState);\n const timeout = react.useRef(null);\n react.useEffect(() => {\n if (loading && (state === 'IDLE' || isSSR)) {\n clearTimeout(timeout.current);\n const delay = isSSR ? 0 : options.delay;\n timeout.current = setTimeout(() => {\n if (!loading) {\n return setState('IDLE');\n }\n\n timeout.current = setTimeout(() => {\n setState('EXPIRE');\n }, options.minDuration);\n setState('DISPLAY');\n }, delay);\n\n if (!isSSR) {\n setState('DELAY');\n }\n }\n\n if (!loading && state !== 'DISPLAY') {\n clearTimeout(timeout.current);\n setState('IDLE');\n }\n }, [loading, state, options.delay, options.minDuration, isSSR]);\n react.useEffect(() => {\n return () => clearTimeout(timeout.current);\n }, []);\n return state === 'DISPLAY' || state === 'EXPIRE';\n }\n\n exports.defaultOptions = defaultOptions;\n exports.useSpinDelay = useSpinDelay;\n\n})));\n//# sourceMappingURL=index.js.map\n","export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","const replacements = [\n\t// German umlauts\n\t['ß', 'ss'],\n\t['ẞ', 'Ss'],\n\t['ä', 'ae'],\n\t['Ä', 'Ae'],\n\t['ö', 'oe'],\n\t['Ö', 'Oe'],\n\t['ü', 'ue'],\n\t['Ü', 'Ue'],\n\n\t// Latin\n\t['À', 'A'],\n\t['Á', 'A'],\n\t['Â', 'A'],\n\t['Ã', 'A'],\n\t['Ä', 'Ae'],\n\t['Å', 'A'],\n\t['Æ', 'AE'],\n\t['Ç', 'C'],\n\t['È', 'E'],\n\t['É', 'E'],\n\t['Ê', 'E'],\n\t['Ë', 'E'],\n\t['Ì', 'I'],\n\t['Í', 'I'],\n\t['Î', 'I'],\n\t['Ï', 'I'],\n\t['Ð', 'D'],\n\t['Ñ', 'N'],\n\t['Ò', 'O'],\n\t['Ó', 'O'],\n\t['Ô', 'O'],\n\t['Õ', 'O'],\n\t['Ö', 'Oe'],\n\t['Ő', 'O'],\n\t['Ø', 'O'],\n\t['Ù', 'U'],\n\t['Ú', 'U'],\n\t['Û', 'U'],\n\t['Ü', 'Ue'],\n\t['Ű', 'U'],\n\t['Ý', 'Y'],\n\t['Þ', 'TH'],\n\t['ß', 'ss'],\n\t['à', 'a'],\n\t['á', 'a'],\n\t['â', 'a'],\n\t['ã', 'a'],\n\t['ä', 'ae'],\n\t['å', 'a'],\n\t['æ', 'ae'],\n\t['ç', 'c'],\n\t['è', 'e'],\n\t['é', 'e'],\n\t['ê', 'e'],\n\t['ë', 'e'],\n\t['ì', 'i'],\n\t['í', 'i'],\n\t['î', 'i'],\n\t['ï', 'i'],\n\t['ð', 'd'],\n\t['ñ', 'n'],\n\t['ò', 'o'],\n\t['ó', 'o'],\n\t['ô', 'o'],\n\t['õ', 'o'],\n\t['ö', 'oe'],\n\t['ő', 'o'],\n\t['ø', 'o'],\n\t['ù', 'u'],\n\t['ú', 'u'],\n\t['û', 'u'],\n\t['ü', 'ue'],\n\t['ű', 'u'],\n\t['ý', 'y'],\n\t['þ', 'th'],\n\t['ÿ', 'y'],\n\t['ẞ', 'SS'],\n\n\t// Vietnamese\n\t['à', 'a'],\n\t['À', 'A'],\n\t['á', 'a'],\n\t['Á', 'A'],\n\t['â', 'a'],\n\t['Â', 'A'],\n\t['ã', 'a'],\n\t['Ã', 'A'],\n\t['è', 'e'],\n\t['È', 'E'],\n\t['é', 'e'],\n\t['É', 'E'],\n\t['ê', 'e'],\n\t['Ê', 'E'],\n\t['ì', 'i'],\n\t['Ì', 'I'],\n\t['í', 'i'],\n\t['Í', 'I'],\n\t['ò', 'o'],\n\t['Ò', 'O'],\n\t['ó', 'o'],\n\t['Ó', 'O'],\n\t['ô', 'o'],\n\t['Ô', 'O'],\n\t['õ', 'o'],\n\t['Õ', 'O'],\n\t['ù', 'u'],\n\t['Ù', 'U'],\n\t['ú', 'u'],\n\t['Ú', 'U'],\n\t['ý', 'y'],\n\t['Ý', 'Y'],\n\t['ă', 'a'],\n\t['Ă', 'A'],\n\t['Đ', 'D'],\n\t['đ', 'd'],\n\t['ĩ', 'i'],\n\t['Ĩ', 'I'],\n\t['ũ', 'u'],\n\t['Ũ', 'U'],\n\t['ơ', 'o'],\n\t['Ơ', 'O'],\n\t['ư', 'u'],\n\t['Ư', 'U'],\n\t['ạ', 'a'],\n\t['Ạ', 'A'],\n\t['ả', 'a'],\n\t['Ả', 'A'],\n\t['ấ', 'a'],\n\t['Ấ', 'A'],\n\t['ầ', 'a'],\n\t['Ầ', 'A'],\n\t['ẩ', 'a'],\n\t['Ẩ', 'A'],\n\t['ẫ', 'a'],\n\t['Ẫ', 'A'],\n\t['ậ', 'a'],\n\t['Ậ', 'A'],\n\t['ắ', 'a'],\n\t['Ắ', 'A'],\n\t['ằ', 'a'],\n\t['Ằ', 'A'],\n\t['ẳ', 'a'],\n\t['Ẳ', 'A'],\n\t['ẵ', 'a'],\n\t['Ẵ', 'A'],\n\t['ặ', 'a'],\n\t['Ặ', 'A'],\n\t['ẹ', 'e'],\n\t['Ẹ', 'E'],\n\t['ẻ', 'e'],\n\t['Ẻ', 'E'],\n\t['ẽ', 'e'],\n\t['Ẽ', 'E'],\n\t['ế', 'e'],\n\t['Ế', 'E'],\n\t['ề', 'e'],\n\t['Ề', 'E'],\n\t['ể', 'e'],\n\t['Ể', 'E'],\n\t['ễ', 'e'],\n\t['Ễ', 'E'],\n\t['ệ', 'e'],\n\t['Ệ', 'E'],\n\t['ỉ', 'i'],\n\t['Ỉ', 'I'],\n\t['ị', 'i'],\n\t['Ị', 'I'],\n\t['ọ', 'o'],\n\t['Ọ', 'O'],\n\t['ỏ', 'o'],\n\t['Ỏ', 'O'],\n\t['ố', 'o'],\n\t['Ố', 'O'],\n\t['ồ', 'o'],\n\t['Ồ', 'O'],\n\t['ổ', 'o'],\n\t['Ổ', 'O'],\n\t['ỗ', 'o'],\n\t['Ỗ', 'O'],\n\t['ộ', 'o'],\n\t['Ộ', 'O'],\n\t['ớ', 'o'],\n\t['Ớ', 'O'],\n\t['ờ', 'o'],\n\t['Ờ', 'O'],\n\t['ở', 'o'],\n\t['Ở', 'O'],\n\t['ỡ', 'o'],\n\t['Ỡ', 'O'],\n\t['ợ', 'o'],\n\t['Ợ', 'O'],\n\t['ụ', 'u'],\n\t['Ụ', 'U'],\n\t['ủ', 'u'],\n\t['Ủ', 'U'],\n\t['ứ', 'u'],\n\t['Ứ', 'U'],\n\t['ừ', 'u'],\n\t['Ừ', 'U'],\n\t['ử', 'u'],\n\t['Ử', 'U'],\n\t['ữ', 'u'],\n\t['Ữ', 'U'],\n\t['ự', 'u'],\n\t['Ự', 'U'],\n\t['ỳ', 'y'],\n\t['Ỳ', 'Y'],\n\t['ỵ', 'y'],\n\t['Ỵ', 'Y'],\n\t['ỷ', 'y'],\n\t['Ỷ', 'Y'],\n\t['ỹ', 'y'],\n\t['Ỹ', 'Y'],\n\n\t// Arabic\n\t['ء', 'e'],\n\t['آ', 'a'],\n\t['أ', 'a'],\n\t['ؤ', 'w'],\n\t['إ', 'i'],\n\t['ئ', 'y'],\n\t['ا', 'a'],\n\t['ب', 'b'],\n\t['ة', 't'],\n\t['ت', 't'],\n\t['ث', 'th'],\n\t['ج', 'j'],\n\t['ح', 'h'],\n\t['خ', 'kh'],\n\t['د', 'd'],\n\t['ذ', 'dh'],\n\t['ر', 'r'],\n\t['ز', 'z'],\n\t['س', 's'],\n\t['ش', 'sh'],\n\t['ص', 's'],\n\t['ض', 'd'],\n\t['ط', 't'],\n\t['ظ', 'z'],\n\t['ع', 'e'],\n\t['غ', 'gh'],\n\t['ـ', '_'],\n\t['ف', 'f'],\n\t['ق', 'q'],\n\t['ك', 'k'],\n\t['ل', 'l'],\n\t['م', 'm'],\n\t['ن', 'n'],\n\t['ه', 'h'],\n\t['و', 'w'],\n\t['ى', 'a'],\n\t['ي', 'y'],\n\t['َ', 'a'],\n\t['ُ', 'u'],\n\t['ِ', 'i'],\n\t['٠', '0'],\n\t['١', '1'],\n\t['٢', '2'],\n\t['٣', '3'],\n\t['٤', '4'],\n\t['٥', '5'],\n\t['٦', '6'],\n\t['٧', '7'],\n\t['٨', '8'],\n\t['٩', '9'],\n\n\t// Persian / Farsi\n\t['چ', 'ch'],\n\t['ک', 'k'],\n\t['گ', 'g'],\n\t['پ', 'p'],\n\t['ژ', 'zh'],\n\t['ی', 'y'],\n\t['۰', '0'],\n\t['۱', '1'],\n\t['۲', '2'],\n\t['۳', '3'],\n\t['۴', '4'],\n\t['۵', '5'],\n\t['۶', '6'],\n\t['۷', '7'],\n\t['۸', '8'],\n\t['۹', '9'],\n\n\t// Pashto\n\t['ټ', 'p'],\n\t['ځ', 'z'],\n\t['څ', 'c'],\n\t['ډ', 'd'],\n\t['ﺫ', 'd'],\n\t['ﺭ', 'r'],\n\t['ړ', 'r'],\n\t['ﺯ', 'z'],\n\t['ږ', 'g'],\n\t['ښ', 'x'],\n\t['ګ', 'g'],\n\t['ڼ', 'n'],\n\t['ۀ', 'e'],\n\t['ې', 'e'],\n\t['ۍ', 'ai'],\n\n\t// Urdu\n\t['ٹ', 't'],\n\t['ڈ', 'd'],\n\t['ڑ', 'r'],\n\t['ں', 'n'],\n\t['ہ', 'h'],\n\t['ھ', 'h'],\n\t['ے', 'e'],\n\n\t// Russian\n\t['А', 'A'],\n\t['а', 'a'],\n\t['Б', 'B'],\n\t['б', 'b'],\n\t['В', 'V'],\n\t['в', 'v'],\n\t['Г', 'G'],\n\t['г', 'g'],\n\t['Д', 'D'],\n\t['д', 'd'],\n\t['ъе', 'ye'],\n\t['Ъе', 'Ye'],\n\t['ъЕ', 'yE'],\n\t['ЪЕ', 'YE'],\n\t['Е', 'E'],\n\t['е', 'e'],\n\t['Ё', 'Yo'],\n\t['ё', 'yo'],\n\t['Ж', 'Zh'],\n\t['ж', 'zh'],\n\t['З', 'Z'],\n\t['з', 'z'],\n\t['И', 'I'],\n\t['и', 'i'],\n\t['ый', 'iy'],\n\t['Ый', 'Iy'],\n\t['ЫЙ', 'IY'],\n\t['ыЙ', 'iY'],\n\t['Й', 'Y'],\n\t['й', 'y'],\n\t['К', 'K'],\n\t['к', 'k'],\n\t['Л', 'L'],\n\t['л', 'l'],\n\t['М', 'M'],\n\t['м', 'm'],\n\t['Н', 'N'],\n\t['н', 'n'],\n\t['О', 'O'],\n\t['о', 'o'],\n\t['П', 'P'],\n\t['п', 'p'],\n\t['Р', 'R'],\n\t['р', 'r'],\n\t['С', 'S'],\n\t['с', 's'],\n\t['Т', 'T'],\n\t['т', 't'],\n\t['У', 'U'],\n\t['у', 'u'],\n\t['Ф', 'F'],\n\t['ф', 'f'],\n\t['Х', 'Kh'],\n\t['х', 'kh'],\n\t['Ц', 'Ts'],\n\t['ц', 'ts'],\n\t['Ч', 'Ch'],\n\t['ч', 'ch'],\n\t['Ш', 'Sh'],\n\t['ш', 'sh'],\n\t['Щ', 'Sch'],\n\t['щ', 'sch'],\n\t['Ъ', ''],\n\t['ъ', ''],\n\t['Ы', 'Y'],\n\t['ы', 'y'],\n\t['Ь', ''],\n\t['ь', ''],\n\t['Э', 'E'],\n\t['э', 'e'],\n\t['Ю', 'Yu'],\n\t['ю', 'yu'],\n\t['Я', 'Ya'],\n\t['я', 'ya'],\n\n\t// Romanian\n\t['ă', 'a'],\n\t['Ă', 'A'],\n\t['ș', 's'],\n\t['Ș', 'S'],\n\t['ț', 't'],\n\t['Ț', 'T'],\n\t['ţ', 't'],\n\t['Ţ', 'T'],\n\n\t// Turkish\n\t['ş', 's'],\n\t['Ş', 'S'],\n\t['ç', 'c'],\n\t['Ç', 'C'],\n\t['ğ', 'g'],\n\t['Ğ', 'G'],\n\t['ı', 'i'],\n\t['İ', 'I'],\n\n\t// Armenian\n\t['ա', 'a'],\n\t['Ա', 'A'],\n\t['բ', 'b'],\n\t['Բ', 'B'],\n\t['գ', 'g'],\n\t['Գ', 'G'],\n\t['դ', 'd'],\n\t['Դ', 'D'],\n\t['ե', 'ye'],\n\t['Ե', 'Ye'],\n\t['զ', 'z'],\n\t['Զ', 'Z'],\n\t['է', 'e'],\n\t['Է', 'E'],\n\t['ը', 'y'],\n\t['Ը', 'Y'],\n\t['թ', 't'],\n\t['Թ', 'T'],\n\t['ժ', 'zh'],\n\t['Ժ', 'Zh'],\n\t['ի', 'i'],\n\t['Ի', 'I'],\n\t['լ', 'l'],\n\t['Լ', 'L'],\n\t['խ', 'kh'],\n\t['Խ', 'Kh'],\n\t['ծ', 'ts'],\n\t['Ծ', 'Ts'],\n\t['կ', 'k'],\n\t['Կ', 'K'],\n\t['հ', 'h'],\n\t['Հ', 'H'],\n\t['ձ', 'dz'],\n\t['Ձ', 'Dz'],\n\t['ղ', 'gh'],\n\t['Ղ', 'Gh'],\n\t['ճ', 'tch'],\n\t['Ճ', 'Tch'],\n\t['մ', 'm'],\n\t['Մ', 'M'],\n\t['յ', 'y'],\n\t['Յ', 'Y'],\n\t['ն', 'n'],\n\t['Ն', 'N'],\n\t['շ', 'sh'],\n\t['Շ', 'Sh'],\n\t['ո', 'vo'],\n\t['Ո', 'Vo'],\n\t['չ', 'ch'],\n\t['Չ', 'Ch'],\n\t['պ', 'p'],\n\t['Պ', 'P'],\n\t['ջ', 'j'],\n\t['Ջ', 'J'],\n\t['ռ', 'r'],\n\t['Ռ', 'R'],\n\t['ս', 's'],\n\t['Ս', 'S'],\n\t['վ', 'v'],\n\t['Վ', 'V'],\n\t['տ', 't'],\n\t['Տ', 'T'],\n\t['ր', 'r'],\n\t['Ր', 'R'],\n\t['ց', 'c'],\n\t['Ց', 'C'],\n\t['ու', 'u'],\n\t['ՈՒ', 'U'],\n\t['Ու', 'U'],\n\t['փ', 'p'],\n\t['Փ', 'P'],\n\t['ք', 'q'],\n\t['Ք', 'Q'],\n\t['օ', 'o'],\n\t['Օ', 'O'],\n\t['ֆ', 'f'],\n\t['Ֆ', 'F'],\n\t['և', 'yev'],\n\n\t// Georgian\n\t['ა', 'a'],\n\t['ბ', 'b'],\n\t['გ', 'g'],\n\t['დ', 'd'],\n\t['ე', 'e'],\n\t['ვ', 'v'],\n\t['ზ', 'z'],\n\t['თ', 't'],\n\t['ი', 'i'],\n\t['კ', 'k'],\n\t['ლ', 'l'],\n\t['მ', 'm'],\n\t['ნ', 'n'],\n\t['ო', 'o'],\n\t['პ', 'p'],\n\t['ჟ', 'zh'],\n\t['რ', 'r'],\n\t['ს', 's'],\n\t['ტ', 't'],\n\t['უ', 'u'],\n\t['ფ', 'ph'],\n\t['ქ', 'q'],\n\t['ღ', 'gh'],\n\t['ყ', 'k'],\n\t['შ', 'sh'],\n\t['ჩ', 'ch'],\n\t['ც', 'ts'],\n\t['ძ', 'dz'],\n\t['წ', 'ts'],\n\t['ჭ', 'tch'],\n\t['ხ', 'kh'],\n\t['ჯ', 'j'],\n\t['ჰ', 'h'],\n\n\t// Czech\n\t['č', 'c'],\n\t['ď', 'd'],\n\t['ě', 'e'],\n\t['ň', 'n'],\n\t['ř', 'r'],\n\t['š', 's'],\n\t['ť', 't'],\n\t['ů', 'u'],\n\t['ž', 'z'],\n\t['Č', 'C'],\n\t['Ď', 'D'],\n\t['Ě', 'E'],\n\t['Ň', 'N'],\n\t['Ř', 'R'],\n\t['Š', 'S'],\n\t['Ť', 'T'],\n\t['Ů', 'U'],\n\t['Ž', 'Z'],\n\n\t// Dhivehi\n\t['ހ', 'h'],\n\t['ށ', 'sh'],\n\t['ނ', 'n'],\n\t['ރ', 'r'],\n\t['ބ', 'b'],\n\t['ޅ', 'lh'],\n\t['ކ', 'k'],\n\t['އ', 'a'],\n\t['ވ', 'v'],\n\t['މ', 'm'],\n\t['ފ', 'f'],\n\t['ދ', 'dh'],\n\t['ތ', 'th'],\n\t['ލ', 'l'],\n\t['ގ', 'g'],\n\t['ޏ', 'gn'],\n\t['ސ', 's'],\n\t['ޑ', 'd'],\n\t['ޒ', 'z'],\n\t['ޓ', 't'],\n\t['ޔ', 'y'],\n\t['ޕ', 'p'],\n\t['ޖ', 'j'],\n\t['ޗ', 'ch'],\n\t['ޘ', 'tt'],\n\t['ޙ', 'hh'],\n\t['ޚ', 'kh'],\n\t['ޛ', 'th'],\n\t['ޜ', 'z'],\n\t['ޝ', 'sh'],\n\t['ޞ', 's'],\n\t['ޟ', 'd'],\n\t['ޠ', 't'],\n\t['ޡ', 'z'],\n\t['ޢ', 'a'],\n\t['ޣ', 'gh'],\n\t['ޤ', 'q'],\n\t['ޥ', 'w'],\n\t['ަ', 'a'],\n\t['ާ', 'aa'],\n\t['ި', 'i'],\n\t['ީ', 'ee'],\n\t['ު', 'u'],\n\t['ޫ', 'oo'],\n\t['ެ', 'e'],\n\t['ޭ', 'ey'],\n\t['ޮ', 'o'],\n\t['ޯ', 'oa'],\n\t['ް', ''],\n\n\t// Greek\n\t['α', 'a'],\n\t['β', 'v'],\n\t['γ', 'g'],\n\t['δ', 'd'],\n\t['ε', 'e'],\n\t['ζ', 'z'],\n\t['η', 'i'],\n\t['θ', 'th'],\n\t['ι', 'i'],\n\t['κ', 'k'],\n\t['λ', 'l'],\n\t['μ', 'm'],\n\t['ν', 'n'],\n\t['ξ', 'ks'],\n\t['ο', 'o'],\n\t['π', 'p'],\n\t['ρ', 'r'],\n\t['σ', 's'],\n\t['τ', 't'],\n\t['υ', 'y'],\n\t['φ', 'f'],\n\t['χ', 'x'],\n\t['ψ', 'ps'],\n\t['ω', 'o'],\n\t['ά', 'a'],\n\t['έ', 'e'],\n\t['ί', 'i'],\n\t['ό', 'o'],\n\t['ύ', 'y'],\n\t['ή', 'i'],\n\t['ώ', 'o'],\n\t['ς', 's'],\n\t['ϊ', 'i'],\n\t['ΰ', 'y'],\n\t['ϋ', 'y'],\n\t['ΐ', 'i'],\n\t['Α', 'A'],\n\t['Β', 'B'],\n\t['Γ', 'G'],\n\t['Δ', 'D'],\n\t['Ε', 'E'],\n\t['Ζ', 'Z'],\n\t['Η', 'I'],\n\t['Θ', 'TH'],\n\t['Ι', 'I'],\n\t['Κ', 'K'],\n\t['Λ', 'L'],\n\t['Μ', 'M'],\n\t['Ν', 'N'],\n\t['Ξ', 'KS'],\n\t['Ο', 'O'],\n\t['Π', 'P'],\n\t['Ρ', 'R'],\n\t['Σ', 'S'],\n\t['Τ', 'T'],\n\t['Υ', 'Y'],\n\t['Φ', 'F'],\n\t['Χ', 'X'],\n\t['Ψ', 'PS'],\n\t['Ω', 'O'],\n\t['Ά', 'A'],\n\t['Έ', 'E'],\n\t['Ί', 'I'],\n\t['Ό', 'O'],\n\t['Ύ', 'Y'],\n\t['Ή', 'I'],\n\t['Ώ', 'O'],\n\t['Ϊ', 'I'],\n\t['Ϋ', 'Y'],\n\n\t// Disabled as it conflicts with German and Latin.\n\t// Hungarian\n\t// ['ä', 'a'],\n\t// ['Ä', 'A'],\n\t// ['ö', 'o'],\n\t// ['Ö', 'O'],\n\t// ['ü', 'u'],\n\t// ['Ü', 'U'],\n\t// ['ű', 'u'],\n\t// ['Ű', 'U'],\n\n\t// Latvian\n\t['ā', 'a'],\n\t['ē', 'e'],\n\t['ģ', 'g'],\n\t['ī', 'i'],\n\t['ķ', 'k'],\n\t['ļ', 'l'],\n\t['ņ', 'n'],\n\t['ū', 'u'],\n\t['Ā', 'A'],\n\t['Ē', 'E'],\n\t['Ģ', 'G'],\n\t['Ī', 'I'],\n\t['Ķ', 'K'],\n\t['Ļ', 'L'],\n\t['Ņ', 'N'],\n\t['Ū', 'U'],\n\t['č', 'c'],\n\t['š', 's'],\n\t['ž', 'z'],\n\t['Č', 'C'],\n\t['Š', 'S'],\n\t['Ž', 'Z'],\n\n\t// Lithuanian\n\t['ą', 'a'],\n\t['č', 'c'],\n\t['ę', 'e'],\n\t['ė', 'e'],\n\t['į', 'i'],\n\t['š', 's'],\n\t['ų', 'u'],\n\t['ū', 'u'],\n\t['ž', 'z'],\n\t['Ą', 'A'],\n\t['Č', 'C'],\n\t['Ę', 'E'],\n\t['Ė', 'E'],\n\t['Į', 'I'],\n\t['Š', 'S'],\n\t['Ų', 'U'],\n\t['Ū', 'U'],\n\n\t// Macedonian\n\t['Ќ', 'Kj'],\n\t['ќ', 'kj'],\n\t['Љ', 'Lj'],\n\t['љ', 'lj'],\n\t['Њ', 'Nj'],\n\t['њ', 'nj'],\n\t['Тс', 'Ts'],\n\t['тс', 'ts'],\n\n\t// Polish\n\t['ą', 'a'],\n\t['ć', 'c'],\n\t['ę', 'e'],\n\t['ł', 'l'],\n\t['ń', 'n'],\n\t['ś', 's'],\n\t['ź', 'z'],\n\t['ż', 'z'],\n\t['Ą', 'A'],\n\t['Ć', 'C'],\n\t['Ę', 'E'],\n\t['Ł', 'L'],\n\t['Ń', 'N'],\n\t['Ś', 'S'],\n\t['Ź', 'Z'],\n\t['Ż', 'Z'],\n\n\t// Disabled as it conflicts with Vietnamese.\n\t// Serbian\n\t// ['љ', 'lj'],\n\t// ['њ', 'nj'],\n\t// ['Љ', 'Lj'],\n\t// ['Њ', 'Nj'],\n\t// ['đ', 'dj'],\n\t// ['Đ', 'Dj'],\n\t// ['ђ', 'dj'],\n\t// ['ј', 'j'],\n\t// ['ћ', 'c'],\n\t// ['џ', 'dz'],\n\t// ['Ђ', 'Dj'],\n\t// ['Ј', 'j'],\n\t// ['Ћ', 'C'],\n\t// ['Џ', 'Dz'],\n\n\t// Disabled as it conflicts with German and Latin.\n\t// Slovak\n\t// ['ä', 'a'],\n\t// ['Ä', 'A'],\n\t// ['ľ', 'l'],\n\t// ['ĺ', 'l'],\n\t// ['ŕ', 'r'],\n\t// ['Ľ', 'L'],\n\t// ['Ĺ', 'L'],\n\t// ['Ŕ', 'R'],\n\n\t// Disabled as it conflicts with German and Latin.\n\t// Swedish\n\t// ['å', 'o'],\n\t// ['Å', 'o'],\n\t// ['ä', 'a'],\n\t// ['Ä', 'A'],\n\t// ['ë', 'e'],\n\t// ['Ë', 'E'],\n\t// ['ö', 'o'],\n\t// ['Ö', 'O'],\n\n\t// Ukrainian\n\t['Є', 'Ye'],\n\t['І', 'I'],\n\t['Ї', 'Yi'],\n\t['Ґ', 'G'],\n\t['є', 'ye'],\n\t['і', 'i'],\n\t['ї', 'yi'],\n\t['ґ', 'g'],\n\n\t// Dutch\n\t['IJ', 'IJ'],\n\t['ij', 'ij'],\n\n\t// Danish\n\t// ['Æ', 'Ae'],\n\t// ['Ø', 'Oe'],\n\t// ['Å', 'Aa'],\n\t// ['æ', 'ae'],\n\t// ['ø', 'oe'],\n\t// ['å', 'aa']\n\n\t// Currencies\n\t['¢', 'c'],\n\t['¥', 'Y'],\n\t['߿', 'b'],\n\t['৳', 't'],\n\t['૱', 'Bo'],\n\t['฿', 'B'],\n\t['₠', 'CE'],\n\t['₡', 'C'],\n\t['₢', 'Cr'],\n\t['₣', 'F'],\n\t['₥', 'm'],\n\t['₦', 'N'],\n\t['₧', 'Pt'],\n\t['₨', 'Rs'],\n\t['₩', 'W'],\n\t['₫', 's'],\n\t['€', 'E'],\n\t['₭', 'K'],\n\t['₮', 'T'],\n\t['₯', 'Dp'],\n\t['₰', 'S'],\n\t['₱', 'P'],\n\t['₲', 'G'],\n\t['₳', 'A'],\n\t['₴', 'S'],\n\t['₵', 'C'],\n\t['₶', 'tt'],\n\t['₷', 'S'],\n\t['₸', 'T'],\n\t['₹', 'R'],\n\t['₺', 'L'],\n\t['₽', 'P'],\n\t['₿', 'B'],\n\t['﹩', '$'],\n\t['¢', 'c'],\n\t['¥', 'Y'],\n\t['₩', 'W'],\n\n\t// Latin\n\t['𝐀', 'A'],\n\t['𝐁', 'B'],\n\t['𝐂', 'C'],\n\t['𝐃', 'D'],\n\t['𝐄', 'E'],\n\t['𝐅', 'F'],\n\t['𝐆', 'G'],\n\t['𝐇', 'H'],\n\t['𝐈', 'I'],\n\t['𝐉', 'J'],\n\t['𝐊', 'K'],\n\t['𝐋', 'L'],\n\t['𝐌', 'M'],\n\t['𝐍', 'N'],\n\t['𝐎', 'O'],\n\t['𝐏', 'P'],\n\t['𝐐', 'Q'],\n\t['𝐑', 'R'],\n\t['𝐒', 'S'],\n\t['𝐓', 'T'],\n\t['𝐔', 'U'],\n\t['𝐕', 'V'],\n\t['𝐖', 'W'],\n\t['𝐗', 'X'],\n\t['𝐘', 'Y'],\n\t['𝐙', 'Z'],\n\t['𝐚', 'a'],\n\t['𝐛', 'b'],\n\t['𝐜', 'c'],\n\t['𝐝', 'd'],\n\t['𝐞', 'e'],\n\t['𝐟', 'f'],\n\t['𝐠', 'g'],\n\t['𝐡', 'h'],\n\t['𝐢', 'i'],\n\t['𝐣', 'j'],\n\t['𝐤', 'k'],\n\t['𝐥', 'l'],\n\t['𝐦', 'm'],\n\t['𝐧', 'n'],\n\t['𝐨', 'o'],\n\t['𝐩', 'p'],\n\t['𝐪', 'q'],\n\t['𝐫', 'r'],\n\t['𝐬', 's'],\n\t['𝐭', 't'],\n\t['𝐮', 'u'],\n\t['𝐯', 'v'],\n\t['𝐰', 'w'],\n\t['𝐱', 'x'],\n\t['𝐲', 'y'],\n\t['𝐳', 'z'],\n\t['𝐴', 'A'],\n\t['𝐵', 'B'],\n\t['𝐶', 'C'],\n\t['𝐷', 'D'],\n\t['𝐸', 'E'],\n\t['𝐹', 'F'],\n\t['𝐺', 'G'],\n\t['𝐻', 'H'],\n\t['𝐼', 'I'],\n\t['𝐽', 'J'],\n\t['𝐾', 'K'],\n\t['𝐿', 'L'],\n\t['𝑀', 'M'],\n\t['𝑁', 'N'],\n\t['𝑂', 'O'],\n\t['𝑃', 'P'],\n\t['𝑄', 'Q'],\n\t['𝑅', 'R'],\n\t['𝑆', 'S'],\n\t['𝑇', 'T'],\n\t['𝑈', 'U'],\n\t['𝑉', 'V'],\n\t['𝑊', 'W'],\n\t['𝑋', 'X'],\n\t['𝑌', 'Y'],\n\t['𝑍', 'Z'],\n\t['𝑎', 'a'],\n\t['𝑏', 'b'],\n\t['𝑐', 'c'],\n\t['𝑑', 'd'],\n\t['𝑒', 'e'],\n\t['𝑓', 'f'],\n\t['𝑔', 'g'],\n\t['𝑖', 'i'],\n\t['𝑗', 'j'],\n\t['𝑘', 'k'],\n\t['𝑙', 'l'],\n\t['𝑚', 'm'],\n\t['𝑛', 'n'],\n\t['𝑜', 'o'],\n\t['𝑝', 'p'],\n\t['𝑞', 'q'],\n\t['𝑟', 'r'],\n\t['𝑠', 's'],\n\t['𝑡', 't'],\n\t['𝑢', 'u'],\n\t['𝑣', 'v'],\n\t['𝑤', 'w'],\n\t['𝑥', 'x'],\n\t['𝑦', 'y'],\n\t['𝑧', 'z'],\n\t['𝑨', 'A'],\n\t['𝑩', 'B'],\n\t['𝑪', 'C'],\n\t['𝑫', 'D'],\n\t['𝑬', 'E'],\n\t['𝑭', 'F'],\n\t['𝑮', 'G'],\n\t['𝑯', 'H'],\n\t['𝑰', 'I'],\n\t['𝑱', 'J'],\n\t['𝑲', 'K'],\n\t['𝑳', 'L'],\n\t['𝑴', 'M'],\n\t['𝑵', 'N'],\n\t['𝑶', 'O'],\n\t['𝑷', 'P'],\n\t['𝑸', 'Q'],\n\t['𝑹', 'R'],\n\t['𝑺', 'S'],\n\t['𝑻', 'T'],\n\t['𝑼', 'U'],\n\t['𝑽', 'V'],\n\t['𝑾', 'W'],\n\t['𝑿', 'X'],\n\t['𝒀', 'Y'],\n\t['𝒁', 'Z'],\n\t['𝒂', 'a'],\n\t['𝒃', 'b'],\n\t['𝒄', 'c'],\n\t['𝒅', 'd'],\n\t['𝒆', 'e'],\n\t['𝒇', 'f'],\n\t['𝒈', 'g'],\n\t['𝒉', 'h'],\n\t['𝒊', 'i'],\n\t['𝒋', 'j'],\n\t['𝒌', 'k'],\n\t['𝒍', 'l'],\n\t['𝒎', 'm'],\n\t['𝒏', 'n'],\n\t['𝒐', 'o'],\n\t['𝒑', 'p'],\n\t['𝒒', 'q'],\n\t['𝒓', 'r'],\n\t['𝒔', 's'],\n\t['𝒕', 't'],\n\t['𝒖', 'u'],\n\t['𝒗', 'v'],\n\t['𝒘', 'w'],\n\t['𝒙', 'x'],\n\t['𝒚', 'y'],\n\t['𝒛', 'z'],\n\t['𝒜', 'A'],\n\t['𝒞', 'C'],\n\t['𝒟', 'D'],\n\t['𝒢', 'g'],\n\t['𝒥', 'J'],\n\t['𝒦', 'K'],\n\t['𝒩', 'N'],\n\t['𝒪', 'O'],\n\t['𝒫', 'P'],\n\t['𝒬', 'Q'],\n\t['𝒮', 'S'],\n\t['𝒯', 'T'],\n\t['𝒰', 'U'],\n\t['𝒱', 'V'],\n\t['𝒲', 'W'],\n\t['𝒳', 'X'],\n\t['𝒴', 'Y'],\n\t['𝒵', 'Z'],\n\t['𝒶', 'a'],\n\t['𝒷', 'b'],\n\t['𝒸', 'c'],\n\t['𝒹', 'd'],\n\t['𝒻', 'f'],\n\t['𝒽', 'h'],\n\t['𝒾', 'i'],\n\t['𝒿', 'j'],\n\t['𝓀', 'h'],\n\t['𝓁', 'l'],\n\t['𝓂', 'm'],\n\t['𝓃', 'n'],\n\t['𝓅', 'p'],\n\t['𝓆', 'q'],\n\t['𝓇', 'r'],\n\t['𝓈', 's'],\n\t['𝓉', 't'],\n\t['𝓊', 'u'],\n\t['𝓋', 'v'],\n\t['𝓌', 'w'],\n\t['𝓍', 'x'],\n\t['𝓎', 'y'],\n\t['𝓏', 'z'],\n\t['𝓐', 'A'],\n\t['𝓑', 'B'],\n\t['𝓒', 'C'],\n\t['𝓓', 'D'],\n\t['𝓔', 'E'],\n\t['𝓕', 'F'],\n\t['𝓖', 'G'],\n\t['𝓗', 'H'],\n\t['𝓘', 'I'],\n\t['𝓙', 'J'],\n\t['𝓚', 'K'],\n\t['𝓛', 'L'],\n\t['𝓜', 'M'],\n\t['𝓝', 'N'],\n\t['𝓞', 'O'],\n\t['𝓟', 'P'],\n\t['𝓠', 'Q'],\n\t['𝓡', 'R'],\n\t['𝓢', 'S'],\n\t['𝓣', 'T'],\n\t['𝓤', 'U'],\n\t['𝓥', 'V'],\n\t['𝓦', 'W'],\n\t['𝓧', 'X'],\n\t['𝓨', 'Y'],\n\t['𝓩', 'Z'],\n\t['𝓪', 'a'],\n\t['𝓫', 'b'],\n\t['𝓬', 'c'],\n\t['𝓭', 'd'],\n\t['𝓮', 'e'],\n\t['𝓯', 'f'],\n\t['𝓰', 'g'],\n\t['𝓱', 'h'],\n\t['𝓲', 'i'],\n\t['𝓳', 'j'],\n\t['𝓴', 'k'],\n\t['𝓵', 'l'],\n\t['𝓶', 'm'],\n\t['𝓷', 'n'],\n\t['𝓸', 'o'],\n\t['𝓹', 'p'],\n\t['𝓺', 'q'],\n\t['𝓻', 'r'],\n\t['𝓼', 's'],\n\t['𝓽', 't'],\n\t['𝓾', 'u'],\n\t['𝓿', 'v'],\n\t['𝔀', 'w'],\n\t['𝔁', 'x'],\n\t['𝔂', 'y'],\n\t['𝔃', 'z'],\n\t['𝔄', 'A'],\n\t['𝔅', 'B'],\n\t['𝔇', 'D'],\n\t['𝔈', 'E'],\n\t['𝔉', 'F'],\n\t['𝔊', 'G'],\n\t['𝔍', 'J'],\n\t['𝔎', 'K'],\n\t['𝔏', 'L'],\n\t['𝔐', 'M'],\n\t['𝔑', 'N'],\n\t['𝔒', 'O'],\n\t['𝔓', 'P'],\n\t['𝔔', 'Q'],\n\t['𝔖', 'S'],\n\t['𝔗', 'T'],\n\t['𝔘', 'U'],\n\t['𝔙', 'V'],\n\t['𝔚', 'W'],\n\t['𝔛', 'X'],\n\t['𝔜', 'Y'],\n\t['𝔞', 'a'],\n\t['𝔟', 'b'],\n\t['𝔠', 'c'],\n\t['𝔡', 'd'],\n\t['𝔢', 'e'],\n\t['𝔣', 'f'],\n\t['𝔤', 'g'],\n\t['𝔥', 'h'],\n\t['𝔦', 'i'],\n\t['𝔧', 'j'],\n\t['𝔨', 'k'],\n\t['𝔩', 'l'],\n\t['𝔪', 'm'],\n\t['𝔫', 'n'],\n\t['𝔬', 'o'],\n\t['𝔭', 'p'],\n\t['𝔮', 'q'],\n\t['𝔯', 'r'],\n\t['𝔰', 's'],\n\t['𝔱', 't'],\n\t['𝔲', 'u'],\n\t['𝔳', 'v'],\n\t['𝔴', 'w'],\n\t['𝔵', 'x'],\n\t['𝔶', 'y'],\n\t['𝔷', 'z'],\n\t['𝔸', 'A'],\n\t['𝔹', 'B'],\n\t['𝔻', 'D'],\n\t['𝔼', 'E'],\n\t['𝔽', 'F'],\n\t['𝔾', 'G'],\n\t['𝕀', 'I'],\n\t['𝕁', 'J'],\n\t['𝕂', 'K'],\n\t['𝕃', 'L'],\n\t['𝕄', 'M'],\n\t['𝕆', 'N'],\n\t['𝕊', 'S'],\n\t['𝕋', 'T'],\n\t['𝕌', 'U'],\n\t['𝕍', 'V'],\n\t['𝕎', 'W'],\n\t['𝕏', 'X'],\n\t['𝕐', 'Y'],\n\t['𝕒', 'a'],\n\t['𝕓', 'b'],\n\t['𝕔', 'c'],\n\t['𝕕', 'd'],\n\t['𝕖', 'e'],\n\t['𝕗', 'f'],\n\t['𝕘', 'g'],\n\t['𝕙', 'h'],\n\t['𝕚', 'i'],\n\t['𝕛', 'j'],\n\t['𝕜', 'k'],\n\t['𝕝', 'l'],\n\t['𝕞', 'm'],\n\t['𝕟', 'n'],\n\t['𝕠', 'o'],\n\t['𝕡', 'p'],\n\t['𝕢', 'q'],\n\t['𝕣', 'r'],\n\t['𝕤', 's'],\n\t['𝕥', 't'],\n\t['𝕦', 'u'],\n\t['𝕧', 'v'],\n\t['𝕨', 'w'],\n\t['𝕩', 'x'],\n\t['𝕪', 'y'],\n\t['𝕫', 'z'],\n\t['𝕬', 'A'],\n\t['𝕭', 'B'],\n\t['𝕮', 'C'],\n\t['𝕯', 'D'],\n\t['𝕰', 'E'],\n\t['𝕱', 'F'],\n\t['𝕲', 'G'],\n\t['𝕳', 'H'],\n\t['𝕴', 'I'],\n\t['𝕵', 'J'],\n\t['𝕶', 'K'],\n\t['𝕷', 'L'],\n\t['𝕸', 'M'],\n\t['𝕹', 'N'],\n\t['𝕺', 'O'],\n\t['𝕻', 'P'],\n\t['𝕼', 'Q'],\n\t['𝕽', 'R'],\n\t['𝕾', 'S'],\n\t['𝕿', 'T'],\n\t['𝖀', 'U'],\n\t['𝖁', 'V'],\n\t['𝖂', 'W'],\n\t['𝖃', 'X'],\n\t['𝖄', 'Y'],\n\t['𝖅', 'Z'],\n\t['𝖆', 'a'],\n\t['𝖇', 'b'],\n\t['𝖈', 'c'],\n\t['𝖉', 'd'],\n\t['𝖊', 'e'],\n\t['𝖋', 'f'],\n\t['𝖌', 'g'],\n\t['𝖍', 'h'],\n\t['𝖎', 'i'],\n\t['𝖏', 'j'],\n\t['𝖐', 'k'],\n\t['𝖑', 'l'],\n\t['𝖒', 'm'],\n\t['𝖓', 'n'],\n\t['𝖔', 'o'],\n\t['𝖕', 'p'],\n\t['𝖖', 'q'],\n\t['𝖗', 'r'],\n\t['𝖘', 's'],\n\t['𝖙', 't'],\n\t['𝖚', 'u'],\n\t['𝖛', 'v'],\n\t['𝖜', 'w'],\n\t['𝖝', 'x'],\n\t['𝖞', 'y'],\n\t['𝖟', 'z'],\n\t['𝖠', 'A'],\n\t['𝖡', 'B'],\n\t['𝖢', 'C'],\n\t['𝖣', 'D'],\n\t['𝖤', 'E'],\n\t['𝖥', 'F'],\n\t['𝖦', 'G'],\n\t['𝖧', 'H'],\n\t['𝖨', 'I'],\n\t['𝖩', 'J'],\n\t['𝖪', 'K'],\n\t['𝖫', 'L'],\n\t['𝖬', 'M'],\n\t['𝖭', 'N'],\n\t['𝖮', 'O'],\n\t['𝖯', 'P'],\n\t['𝖰', 'Q'],\n\t['𝖱', 'R'],\n\t['𝖲', 'S'],\n\t['𝖳', 'T'],\n\t['𝖴', 'U'],\n\t['𝖵', 'V'],\n\t['𝖶', 'W'],\n\t['𝖷', 'X'],\n\t['𝖸', 'Y'],\n\t['𝖹', 'Z'],\n\t['𝖺', 'a'],\n\t['𝖻', 'b'],\n\t['𝖼', 'c'],\n\t['𝖽', 'd'],\n\t['𝖾', 'e'],\n\t['𝖿', 'f'],\n\t['𝗀', 'g'],\n\t['𝗁', 'h'],\n\t['𝗂', 'i'],\n\t['𝗃', 'j'],\n\t['𝗄', 'k'],\n\t['𝗅', 'l'],\n\t['𝗆', 'm'],\n\t['𝗇', 'n'],\n\t['𝗈', 'o'],\n\t['𝗉', 'p'],\n\t['𝗊', 'q'],\n\t['𝗋', 'r'],\n\t['𝗌', 's'],\n\t['𝗍', 't'],\n\t['𝗎', 'u'],\n\t['𝗏', 'v'],\n\t['𝗐', 'w'],\n\t['𝗑', 'x'],\n\t['𝗒', 'y'],\n\t['𝗓', 'z'],\n\t['𝗔', 'A'],\n\t['𝗕', 'B'],\n\t['𝗖', 'C'],\n\t['𝗗', 'D'],\n\t['𝗘', 'E'],\n\t['𝗙', 'F'],\n\t['𝗚', 'G'],\n\t['𝗛', 'H'],\n\t['𝗜', 'I'],\n\t['𝗝', 'J'],\n\t['𝗞', 'K'],\n\t['𝗟', 'L'],\n\t['𝗠', 'M'],\n\t['𝗡', 'N'],\n\t['𝗢', 'O'],\n\t['𝗣', 'P'],\n\t['𝗤', 'Q'],\n\t['𝗥', 'R'],\n\t['𝗦', 'S'],\n\t['𝗧', 'T'],\n\t['𝗨', 'U'],\n\t['𝗩', 'V'],\n\t['𝗪', 'W'],\n\t['𝗫', 'X'],\n\t['𝗬', 'Y'],\n\t['𝗭', 'Z'],\n\t['𝗮', 'a'],\n\t['𝗯', 'b'],\n\t['𝗰', 'c'],\n\t['𝗱', 'd'],\n\t['𝗲', 'e'],\n\t['𝗳', 'f'],\n\t['𝗴', 'g'],\n\t['𝗵', 'h'],\n\t['𝗶', 'i'],\n\t['𝗷', 'j'],\n\t['𝗸', 'k'],\n\t['𝗹', 'l'],\n\t['𝗺', 'm'],\n\t['𝗻', 'n'],\n\t['𝗼', 'o'],\n\t['𝗽', 'p'],\n\t['𝗾', 'q'],\n\t['𝗿', 'r'],\n\t['𝘀', 's'],\n\t['𝘁', 't'],\n\t['𝘂', 'u'],\n\t['𝘃', 'v'],\n\t['𝘄', 'w'],\n\t['𝘅', 'x'],\n\t['𝘆', 'y'],\n\t['𝘇', 'z'],\n\t['𝘈', 'A'],\n\t['𝘉', 'B'],\n\t['𝘊', 'C'],\n\t['𝘋', 'D'],\n\t['𝘌', 'E'],\n\t['𝘍', 'F'],\n\t['𝘎', 'G'],\n\t['𝘏', 'H'],\n\t['𝘐', 'I'],\n\t['𝘑', 'J'],\n\t['𝘒', 'K'],\n\t['𝘓', 'L'],\n\t['𝘔', 'M'],\n\t['𝘕', 'N'],\n\t['𝘖', 'O'],\n\t['𝘗', 'P'],\n\t['𝘘', 'Q'],\n\t['𝘙', 'R'],\n\t['𝘚', 'S'],\n\t['𝘛', 'T'],\n\t['𝘜', 'U'],\n\t['𝘝', 'V'],\n\t['𝘞', 'W'],\n\t['𝘟', 'X'],\n\t['𝘠', 'Y'],\n\t['𝘡', 'Z'],\n\t['𝘢', 'a'],\n\t['𝘣', 'b'],\n\t['𝘤', 'c'],\n\t['𝘥', 'd'],\n\t['𝘦', 'e'],\n\t['𝘧', 'f'],\n\t['𝘨', 'g'],\n\t['𝘩', 'h'],\n\t['𝘪', 'i'],\n\t['𝘫', 'j'],\n\t['𝘬', 'k'],\n\t['𝘭', 'l'],\n\t['𝘮', 'm'],\n\t['𝘯', 'n'],\n\t['𝘰', 'o'],\n\t['𝘱', 'p'],\n\t['𝘲', 'q'],\n\t['𝘳', 'r'],\n\t['𝘴', 's'],\n\t['𝘵', 't'],\n\t['𝘶', 'u'],\n\t['𝘷', 'v'],\n\t['𝘸', 'w'],\n\t['𝘹', 'x'],\n\t['𝘺', 'y'],\n\t['𝘻', 'z'],\n\t['𝘼', 'A'],\n\t['𝘽', 'B'],\n\t['𝘾', 'C'],\n\t['𝘿', 'D'],\n\t['𝙀', 'E'],\n\t['𝙁', 'F'],\n\t['𝙂', 'G'],\n\t['𝙃', 'H'],\n\t['𝙄', 'I'],\n\t['𝙅', 'J'],\n\t['𝙆', 'K'],\n\t['𝙇', 'L'],\n\t['𝙈', 'M'],\n\t['𝙉', 'N'],\n\t['𝙊', 'O'],\n\t['𝙋', 'P'],\n\t['𝙌', 'Q'],\n\t['𝙍', 'R'],\n\t['𝙎', 'S'],\n\t['𝙏', 'T'],\n\t['𝙐', 'U'],\n\t['𝙑', 'V'],\n\t['𝙒', 'W'],\n\t['𝙓', 'X'],\n\t['𝙔', 'Y'],\n\t['𝙕', 'Z'],\n\t['𝙖', 'a'],\n\t['𝙗', 'b'],\n\t['𝙘', 'c'],\n\t['𝙙', 'd'],\n\t['𝙚', 'e'],\n\t['𝙛', 'f'],\n\t['𝙜', 'g'],\n\t['𝙝', 'h'],\n\t['𝙞', 'i'],\n\t['𝙟', 'j'],\n\t['𝙠', 'k'],\n\t['𝙡', 'l'],\n\t['𝙢', 'm'],\n\t['𝙣', 'n'],\n\t['𝙤', 'o'],\n\t['𝙥', 'p'],\n\t['𝙦', 'q'],\n\t['𝙧', 'r'],\n\t['𝙨', 's'],\n\t['𝙩', 't'],\n\t['𝙪', 'u'],\n\t['𝙫', 'v'],\n\t['𝙬', 'w'],\n\t['𝙭', 'x'],\n\t['𝙮', 'y'],\n\t['𝙯', 'z'],\n\t['𝙰', 'A'],\n\t['𝙱', 'B'],\n\t['𝙲', 'C'],\n\t['𝙳', 'D'],\n\t['𝙴', 'E'],\n\t['𝙵', 'F'],\n\t['𝙶', 'G'],\n\t['𝙷', 'H'],\n\t['𝙸', 'I'],\n\t['𝙹', 'J'],\n\t['𝙺', 'K'],\n\t['𝙻', 'L'],\n\t['𝙼', 'M'],\n\t['𝙽', 'N'],\n\t['𝙾', 'O'],\n\t['𝙿', 'P'],\n\t['𝚀', 'Q'],\n\t['𝚁', 'R'],\n\t['𝚂', 'S'],\n\t['𝚃', 'T'],\n\t['𝚄', 'U'],\n\t['𝚅', 'V'],\n\t['𝚆', 'W'],\n\t['𝚇', 'X'],\n\t['𝚈', 'Y'],\n\t['𝚉', 'Z'],\n\t['𝚊', 'a'],\n\t['𝚋', 'b'],\n\t['𝚌', 'c'],\n\t['𝚍', 'd'],\n\t['𝚎', 'e'],\n\t['𝚏', 'f'],\n\t['𝚐', 'g'],\n\t['𝚑', 'h'],\n\t['𝚒', 'i'],\n\t['𝚓', 'j'],\n\t['𝚔', 'k'],\n\t['𝚕', 'l'],\n\t['𝚖', 'm'],\n\t['𝚗', 'n'],\n\t['𝚘', 'o'],\n\t['𝚙', 'p'],\n\t['𝚚', 'q'],\n\t['𝚛', 'r'],\n\t['𝚜', 's'],\n\t['𝚝', 't'],\n\t['𝚞', 'u'],\n\t['𝚟', 'v'],\n\t['𝚠', 'w'],\n\t['𝚡', 'x'],\n\t['𝚢', 'y'],\n\t['𝚣', 'z'],\n\n\t// Dotless letters\n\t['𝚤', 'l'],\n\t['𝚥', 'j'],\n\n\t// Greek\n\t['𝛢', 'A'],\n\t['𝛣', 'B'],\n\t['𝛤', 'G'],\n\t['𝛥', 'D'],\n\t['𝛦', 'E'],\n\t['𝛧', 'Z'],\n\t['𝛨', 'I'],\n\t['𝛩', 'TH'],\n\t['𝛪', 'I'],\n\t['𝛫', 'K'],\n\t['𝛬', 'L'],\n\t['𝛭', 'M'],\n\t['𝛮', 'N'],\n\t['𝛯', 'KS'],\n\t['𝛰', 'O'],\n\t['𝛱', 'P'],\n\t['𝛲', 'R'],\n\t['𝛳', 'TH'],\n\t['𝛴', 'S'],\n\t['𝛵', 'T'],\n\t['𝛶', 'Y'],\n\t['𝛷', 'F'],\n\t['𝛸', 'x'],\n\t['𝛹', 'PS'],\n\t['𝛺', 'O'],\n\t['𝛻', 'D'],\n\t['𝛼', 'a'],\n\t['𝛽', 'b'],\n\t['𝛾', 'g'],\n\t['𝛿', 'd'],\n\t['𝜀', 'e'],\n\t['𝜁', 'z'],\n\t['𝜂', 'i'],\n\t['𝜃', 'th'],\n\t['𝜄', 'i'],\n\t['𝜅', 'k'],\n\t['𝜆', 'l'],\n\t['𝜇', 'm'],\n\t['𝜈', 'n'],\n\t['𝜉', 'ks'],\n\t['𝜊', 'o'],\n\t['𝜋', 'p'],\n\t['𝜌', 'r'],\n\t['𝜍', 's'],\n\t['𝜎', 's'],\n\t['𝜏', 't'],\n\t['𝜐', 'y'],\n\t['𝜑', 'f'],\n\t['𝜒', 'x'],\n\t['𝜓', 'ps'],\n\t['𝜔', 'o'],\n\t['𝜕', 'd'],\n\t['𝜖', 'E'],\n\t['𝜗', 'TH'],\n\t['𝜘', 'K'],\n\t['𝜙', 'f'],\n\t['𝜚', 'r'],\n\t['𝜛', 'p'],\n\t['𝜜', 'A'],\n\t['𝜝', 'V'],\n\t['𝜞', 'G'],\n\t['𝜟', 'D'],\n\t['𝜠', 'E'],\n\t['𝜡', 'Z'],\n\t['𝜢', 'I'],\n\t['𝜣', 'TH'],\n\t['𝜤', 'I'],\n\t['𝜥', 'K'],\n\t['𝜦', 'L'],\n\t['𝜧', 'M'],\n\t['𝜨', 'N'],\n\t['𝜩', 'KS'],\n\t['𝜪', 'O'],\n\t['𝜫', 'P'],\n\t['𝜬', 'S'],\n\t['𝜭', 'TH'],\n\t['𝜮', 'S'],\n\t['𝜯', 'T'],\n\t['𝜰', 'Y'],\n\t['𝜱', 'F'],\n\t['𝜲', 'X'],\n\t['𝜳', 'PS'],\n\t['𝜴', 'O'],\n\t['𝜵', 'D'],\n\t['𝜶', 'a'],\n\t['𝜷', 'v'],\n\t['𝜸', 'g'],\n\t['𝜹', 'd'],\n\t['𝜺', 'e'],\n\t['𝜻', 'z'],\n\t['𝜼', 'i'],\n\t['𝜽', 'th'],\n\t['𝜾', 'i'],\n\t['𝜿', 'k'],\n\t['𝝀', 'l'],\n\t['𝝁', 'm'],\n\t['𝝂', 'n'],\n\t['𝝃', 'ks'],\n\t['𝝄', 'o'],\n\t['𝝅', 'p'],\n\t['𝝆', 'r'],\n\t['𝝇', 's'],\n\t['𝝈', 's'],\n\t['𝝉', 't'],\n\t['𝝊', 'y'],\n\t['𝝋', 'f'],\n\t['𝝌', 'x'],\n\t['𝝍', 'ps'],\n\t['𝝎', 'o'],\n\t['𝝏', 'a'],\n\t['𝝐', 'e'],\n\t['𝝑', 'i'],\n\t['𝝒', 'k'],\n\t['𝝓', 'f'],\n\t['𝝔', 'r'],\n\t['𝝕', 'p'],\n\t['𝝖', 'A'],\n\t['𝝗', 'B'],\n\t['𝝘', 'G'],\n\t['𝝙', 'D'],\n\t['𝝚', 'E'],\n\t['𝝛', 'Z'],\n\t['𝝜', 'I'],\n\t['𝝝', 'TH'],\n\t['𝝞', 'I'],\n\t['𝝟', 'K'],\n\t['𝝠', 'L'],\n\t['𝝡', 'M'],\n\t['𝝢', 'N'],\n\t['𝝣', 'KS'],\n\t['𝝤', 'O'],\n\t['𝝥', 'P'],\n\t['𝝦', 'R'],\n\t['𝝧', 'TH'],\n\t['𝝨', 'S'],\n\t['𝝩', 'T'],\n\t['𝝪', 'Y'],\n\t['𝝫', 'F'],\n\t['𝝬', 'X'],\n\t['𝝭', 'PS'],\n\t['𝝮', 'O'],\n\t['𝝯', 'D'],\n\t['𝝰', 'a'],\n\t['𝝱', 'v'],\n\t['𝝲', 'g'],\n\t['𝝳', 'd'],\n\t['𝝴', 'e'],\n\t['𝝵', 'z'],\n\t['𝝶', 'i'],\n\t['𝝷', 'th'],\n\t['𝝸', 'i'],\n\t['𝝹', 'k'],\n\t['𝝺', 'l'],\n\t['𝝻', 'm'],\n\t['𝝼', 'n'],\n\t['𝝽', 'ks'],\n\t['𝝾', 'o'],\n\t['𝝿', 'p'],\n\t['𝞀', 'r'],\n\t['𝞁', 's'],\n\t['𝞂', 's'],\n\t['𝞃', 't'],\n\t['𝞄', 'y'],\n\t['𝞅', 'f'],\n\t['𝞆', 'x'],\n\t['𝞇', 'ps'],\n\t['𝞈', 'o'],\n\t['𝞉', 'a'],\n\t['𝞊', 'e'],\n\t['𝞋', 'i'],\n\t['𝞌', 'k'],\n\t['𝞍', 'f'],\n\t['𝞎', 'r'],\n\t['𝞏', 'p'],\n\t['𝞐', 'A'],\n\t['𝞑', 'V'],\n\t['𝞒', 'G'],\n\t['𝞓', 'D'],\n\t['𝞔', 'E'],\n\t['𝞕', 'Z'],\n\t['𝞖', 'I'],\n\t['𝞗', 'TH'],\n\t['𝞘', 'I'],\n\t['𝞙', 'K'],\n\t['𝞚', 'L'],\n\t['𝞛', 'M'],\n\t['𝞜', 'N'],\n\t['𝞝', 'KS'],\n\t['𝞞', 'O'],\n\t['𝞟', 'P'],\n\t['𝞠', 'S'],\n\t['𝞡', 'TH'],\n\t['𝞢', 'S'],\n\t['𝞣', 'T'],\n\t['𝞤', 'Y'],\n\t['𝞥', 'F'],\n\t['𝞦', 'X'],\n\t['𝞧', 'PS'],\n\t['𝞨', 'O'],\n\t['𝞩', 'D'],\n\t['𝞪', 'av'],\n\t['𝞫', 'g'],\n\t['𝞬', 'd'],\n\t['𝞭', 'e'],\n\t['𝞮', 'z'],\n\t['𝞯', 'i'],\n\t['𝞰', 'i'],\n\t['𝞱', 'th'],\n\t['𝞲', 'i'],\n\t['𝞳', 'k'],\n\t['𝞴', 'l'],\n\t['𝞵', 'm'],\n\t['𝞶', 'n'],\n\t['𝞷', 'ks'],\n\t['𝞸', 'o'],\n\t['𝞹', 'p'],\n\t['𝞺', 'r'],\n\t['𝞻', 's'],\n\t['𝞼', 's'],\n\t['𝞽', 't'],\n\t['𝞾', 'y'],\n\t['𝞿', 'f'],\n\t['𝟀', 'x'],\n\t['𝟁', 'ps'],\n\t['𝟂', 'o'],\n\t['𝟃', 'a'],\n\t['𝟄', 'e'],\n\t['𝟅', 'i'],\n\t['𝟆', 'k'],\n\t['𝟇', 'f'],\n\t['𝟈', 'r'],\n\t['𝟉', 'p'],\n\t['𝟊', 'F'],\n\t['𝟋', 'f'],\n\t['⒜', '(a)'],\n\t['⒝', '(b)'],\n\t['⒞', '(c)'],\n\t['⒟', '(d)'],\n\t['⒠', '(e)'],\n\t['⒡', '(f)'],\n\t['⒢', '(g)'],\n\t['⒣', '(h)'],\n\t['⒤', '(i)'],\n\t['⒥', '(j)'],\n\t['⒦', '(k)'],\n\t['⒧', '(l)'],\n\t['⒨', '(m)'],\n\t['⒩', '(n)'],\n\t['⒪', '(o)'],\n\t['⒫', '(p)'],\n\t['⒬', '(q)'],\n\t['⒭', '(r)'],\n\t['⒮', '(s)'],\n\t['⒯', '(t)'],\n\t['⒰', '(u)'],\n\t['⒱', '(v)'],\n\t['⒲', '(w)'],\n\t['⒳', '(x)'],\n\t['⒴', '(y)'],\n\t['⒵', '(z)'],\n\t['Ⓐ', '(A)'],\n\t['Ⓑ', '(B)'],\n\t['Ⓒ', '(C)'],\n\t['Ⓓ', '(D)'],\n\t['Ⓔ', '(E)'],\n\t['Ⓕ', '(F)'],\n\t['Ⓖ', '(G)'],\n\t['Ⓗ', '(H)'],\n\t['Ⓘ', '(I)'],\n\t['Ⓙ', '(J)'],\n\t['Ⓚ', '(K)'],\n\t['Ⓛ', '(L)'],\n\t['Ⓝ', '(N)'],\n\t['Ⓞ', '(O)'],\n\t['Ⓟ', '(P)'],\n\t['Ⓠ', '(Q)'],\n\t['Ⓡ', '(R)'],\n\t['Ⓢ', '(S)'],\n\t['Ⓣ', '(T)'],\n\t['Ⓤ', '(U)'],\n\t['Ⓥ', '(V)'],\n\t['Ⓦ', '(W)'],\n\t['Ⓧ', '(X)'],\n\t['Ⓨ', '(Y)'],\n\t['Ⓩ', '(Z)'],\n\t['ⓐ', '(a)'],\n\t['ⓑ', '(b)'],\n\t['ⓒ', '(b)'],\n\t['ⓓ', '(c)'],\n\t['ⓔ', '(e)'],\n\t['ⓕ', '(f)'],\n\t['ⓖ', '(g)'],\n\t['ⓗ', '(h)'],\n\t['ⓘ', '(i)'],\n\t['ⓙ', '(j)'],\n\t['ⓚ', '(k)'],\n\t['ⓛ', '(l)'],\n\t['ⓜ', '(m)'],\n\t['ⓝ', '(n)'],\n\t['ⓞ', '(o)'],\n\t['ⓟ', '(p)'],\n\t['ⓠ', '(q)'],\n\t['ⓡ', '(r)'],\n\t['ⓢ', '(s)'],\n\t['ⓣ', '(t)'],\n\t['ⓤ', '(u)'],\n\t['ⓥ', '(v)'],\n\t['ⓦ', '(w)'],\n\t['ⓧ', '(x)'],\n\t['ⓨ', '(y)'],\n\t['ⓩ', '(z)'],\n\n\t// Maltese\n\t['Ċ', 'C'],\n\t['ċ', 'c'],\n\t['Ġ', 'G'],\n\t['ġ', 'g'],\n\t['Ħ', 'H'],\n\t['ħ', 'h'],\n\t['Ż', 'Z'],\n\t['ż', 'z'],\n\n\t// Numbers\n\t['𝟎', '0'],\n\t['𝟏', '1'],\n\t['𝟐', '2'],\n\t['𝟑', '3'],\n\t['𝟒', '4'],\n\t['𝟓', '5'],\n\t['𝟔', '6'],\n\t['𝟕', '7'],\n\t['𝟖', '8'],\n\t['𝟗', '9'],\n\t['𝟘', '0'],\n\t['𝟙', '1'],\n\t['𝟚', '2'],\n\t['𝟛', '3'],\n\t['𝟜', '4'],\n\t['𝟝', '5'],\n\t['𝟞', '6'],\n\t['𝟟', '7'],\n\t['𝟠', '8'],\n\t['𝟡', '9'],\n\t['𝟢', '0'],\n\t['𝟣', '1'],\n\t['𝟤', '2'],\n\t['𝟥', '3'],\n\t['𝟦', '4'],\n\t['𝟧', '5'],\n\t['𝟨', '6'],\n\t['𝟩', '7'],\n\t['𝟪', '8'],\n\t['𝟫', '9'],\n\t['𝟬', '0'],\n\t['𝟭', '1'],\n\t['𝟮', '2'],\n\t['𝟯', '3'],\n\t['𝟰', '4'],\n\t['𝟱', '5'],\n\t['𝟲', '6'],\n\t['𝟳', '7'],\n\t['𝟴', '8'],\n\t['𝟵', '9'],\n\t['𝟶', '0'],\n\t['𝟷', '1'],\n\t['𝟸', '2'],\n\t['𝟹', '3'],\n\t['𝟺', '4'],\n\t['𝟻', '5'],\n\t['𝟼', '6'],\n\t['𝟽', '7'],\n\t['𝟾', '8'],\n\t['𝟿', '9'],\n\t['①', '1'],\n\t['②', '2'],\n\t['③', '3'],\n\t['④', '4'],\n\t['⑤', '5'],\n\t['⑥', '6'],\n\t['⑦', '7'],\n\t['⑧', '8'],\n\t['⑨', '9'],\n\t['⑩', '10'],\n\t['⑪', '11'],\n\t['⑫', '12'],\n\t['⑬', '13'],\n\t['⑭', '14'],\n\t['⑮', '15'],\n\t['⑯', '16'],\n\t['⑰', '17'],\n\t['⑱', '18'],\n\t['⑲', '19'],\n\t['⑳', '20'],\n\t['⑴', '1'],\n\t['⑵', '2'],\n\t['⑶', '3'],\n\t['⑷', '4'],\n\t['⑸', '5'],\n\t['⑹', '6'],\n\t['⑺', '7'],\n\t['⑻', '8'],\n\t['⑼', '9'],\n\t['⑽', '10'],\n\t['⑾', '11'],\n\t['⑿', '12'],\n\t['⒀', '13'],\n\t['⒁', '14'],\n\t['⒂', '15'],\n\t['⒃', '16'],\n\t['⒄', '17'],\n\t['⒅', '18'],\n\t['⒆', '19'],\n\t['⒇', '20'],\n\t['⒈', '1.'],\n\t['⒉', '2.'],\n\t['⒊', '3.'],\n\t['⒋', '4.'],\n\t['⒌', '5.'],\n\t['⒍', '6.'],\n\t['⒎', '7.'],\n\t['⒏', '8.'],\n\t['⒐', '9.'],\n\t['⒑', '10.'],\n\t['⒒', '11.'],\n\t['⒓', '12.'],\n\t['⒔', '13.'],\n\t['⒕', '14.'],\n\t['⒖', '15.'],\n\t['⒗', '16.'],\n\t['⒘', '17.'],\n\t['⒙', '18.'],\n\t['⒚', '19.'],\n\t['⒛', '20.'],\n\t['⓪', '0'],\n\t['⓫', '11'],\n\t['⓬', '12'],\n\t['⓭', '13'],\n\t['⓮', '14'],\n\t['⓯', '15'],\n\t['⓰', '16'],\n\t['⓱', '17'],\n\t['⓲', '18'],\n\t['⓳', '19'],\n\t['⓴', '20'],\n\t['⓵', '1'],\n\t['⓶', '2'],\n\t['⓷', '3'],\n\t['⓸', '4'],\n\t['⓹', '5'],\n\t['⓺', '6'],\n\t['⓻', '7'],\n\t['⓼', '8'],\n\t['⓽', '9'],\n\t['⓾', '10'],\n\t['⓿', '0'],\n\n\t// Punctuation\n\t['🙰', '&'],\n\t['🙱', '&'],\n\t['🙲', '&'],\n\t['🙳', '&'],\n\t['🙴', '&'],\n\t['🙵', '&'],\n\t['🙶', '\"'],\n\t['🙷', '\"'],\n\t['🙸', '\"'],\n\t['‽', '?!'],\n\t['🙹', '?!'],\n\t['🙺', '?!'],\n\t['🙻', '?!'],\n\t['🙼', '/'],\n\t['🙽', '\\\\'],\n\n\t// Alchemy\n\t['🜇', 'AR'],\n\t['🜈', 'V'],\n\t['🜉', 'V'],\n\t['🜆', 'VR'],\n\t['🜅', 'VF'],\n\t['🜩', '2'],\n\t['🜪', '5'],\n\t['🝡', 'f'],\n\t['🝢', 'W'],\n\t['🝣', 'U'],\n\t['🝧', 'V'],\n\t['🝨', 'T'],\n\t['🝪', 'V'],\n\t['🝫', 'MB'],\n\t['🝬', 'VB'],\n\t['🝲', '3B'],\n\t['🝳', '3B'],\n\n\t// Emojis\n\t['💯', '100'],\n\t['🔙', 'BACK'],\n\t['🔚', 'END'],\n\t['🔛', 'ON!'],\n\t['🔜', 'SOON'],\n\t['🔝', 'TOP'],\n\t['🔞', '18'],\n\t['🔤', 'abc'],\n\t['🔠', 'ABCD'],\n\t['🔡', 'abcd'],\n\t['🔢', '1234'],\n\t['🔣', 'T&@%'],\n\t['#️⃣', '#'],\n\t['*️⃣', '*'],\n\t['0️⃣', '0'],\n\t['1️⃣', '1'],\n\t['2️⃣', '2'],\n\t['3️⃣', '3'],\n\t['4️⃣', '4'],\n\t['5️⃣', '5'],\n\t['6️⃣', '6'],\n\t['7️⃣', '7'],\n\t['8️⃣', '8'],\n\t['9️⃣', '9'],\n\t['🔟', '10'],\n\t['🅰️', 'A'],\n\t['🅱️', 'B'],\n\t['🆎', 'AB'],\n\t['🆑', 'CL'],\n\t['🅾️', 'O'],\n\t['🅿', 'P'],\n\t['🆘', 'SOS'],\n\t['🅲', 'C'],\n\t['🅳', 'D'],\n\t['🅴', 'E'],\n\t['🅵', 'F'],\n\t['🅶', 'G'],\n\t['🅷', 'H'],\n\t['🅸', 'I'],\n\t['🅹', 'J'],\n\t['🅺', 'K'],\n\t['🅻', 'L'],\n\t['🅼', 'M'],\n\t['🅽', 'N'],\n\t['🆀', 'Q'],\n\t['🆁', 'R'],\n\t['🆂', 'S'],\n\t['🆃', 'T'],\n\t['🆄', 'U'],\n\t['🆅', 'V'],\n\t['🆆', 'W'],\n\t['🆇', 'X'],\n\t['🆈', 'Y'],\n\t['🆉', 'Z']\n];\n\nexport default replacements;\n","import escapeStringRegexp from 'escape-string-regexp';\nimport builtinReplacements from './replacements.js';\n\nconst doCustomReplacements = (string, replacements) => {\n\tfor (const [key, value] of replacements) {\n\t\t// TODO: Use `String#replaceAll()` when targeting Node.js 16.\n\t\tstring = string.replace(new RegExp(escapeStringRegexp(key), 'g'), value);\n\t}\n\n\treturn string;\n};\n\nexport default function transliterate(string, options) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got \\`${typeof string}\\``);\n\t}\n\n\toptions = {\n\t\tcustomReplacements: [],\n\t\t...options\n\t};\n\n\tconst customReplacements = new Map([\n\t\t...builtinReplacements,\n\t\t...options.customReplacements\n\t]);\n\n\tstring = string.normalize();\n\tstring = doCustomReplacements(string, customReplacements);\n\tstring = string.normalize('NFD').replace(/\\p{Diacritic}/gu, '').normalize();\n\n\treturn string;\n}\n","const overridableReplacements = [\n\t['&', ' and '],\n\t['🦄', ' unicorn '],\n\t['♥', ' love ']\n];\n\nexport default overridableReplacements;\n","import escapeStringRegexp from 'escape-string-regexp';\nimport transliterate from '@sindresorhus/transliterate';\nimport builtinOverridableReplacements from './overridable-replacements.js';\n\nconst decamelize = string => {\n\treturn string\n\t\t// Separate capitalized words.\n\t\t.replace(/([A-Z]{2,})(\\d+)/g, '$1 $2')\n\t\t.replace(/([a-z\\d]+)([A-Z]{2,})/g, '$1 $2')\n\n\t\t.replace(/([a-z\\d])([A-Z])/g, '$1 $2')\n\t\t// `[a-rt-z]` matches all lowercase characters except `s`.\n\t\t// This avoids matching plural acronyms like `APIs`.\n\t\t.replace(/([A-Z]+)([A-Z][a-rt-z\\d]+)/g, '$1 $2');\n};\n\nconst removeMootSeparators = (string, separator) => {\n\tconst escapedSeparator = escapeStringRegexp(separator);\n\n\treturn string\n\t\t.replace(new RegExp(`${escapedSeparator}{2,}`, 'g'), separator)\n\t\t.replace(new RegExp(`^${escapedSeparator}|${escapedSeparator}$`, 'g'), '');\n};\n\nconst buildPatternSlug = options => {\n\tlet negationSetPattern = 'a-z\\\\d';\n\tnegationSetPattern += options.lowercase ? '' : 'A-Z';\n\n\tif (options.preserveCharacters.length > 0) {\n\t\tfor (const character of options.preserveCharacters) {\n\t\t\tif (character === options.separator) {\n\t\t\t\tthrow new Error(`The separator character \\`${options.separator}\\` cannot be included in preserved characters: ${options.preserveCharacters}`);\n\t\t\t}\n\n\t\t\tnegationSetPattern += escapeStringRegexp(character);\n\t\t}\n\t}\n\n\treturn new RegExp(`[^${negationSetPattern}]+`, 'g');\n};\n\nexport default function slugify(string, options) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got \\`${typeof string}\\``);\n\t}\n\n\toptions = {\n\t\tseparator: '-',\n\t\tlowercase: true,\n\t\tdecamelize: true,\n\t\tcustomReplacements: [],\n\t\tpreserveLeadingUnderscore: false,\n\t\tpreserveTrailingDash: false,\n\t\tpreserveCharacters: [],\n\t\t...options\n\t};\n\n\tconst shouldPrependUnderscore = options.preserveLeadingUnderscore && string.startsWith('_');\n\tconst shouldAppendDash = options.preserveTrailingDash && string.endsWith('-');\n\n\tconst customReplacements = new Map([\n\t\t...builtinOverridableReplacements,\n\t\t...options.customReplacements\n\t]);\n\n\tstring = transliterate(string, {customReplacements});\n\n\tif (options.decamelize) {\n\t\tstring = decamelize(string);\n\t}\n\n\tconst patternSlug = buildPatternSlug(options);\n\n\tif (options.lowercase) {\n\t\tstring = string.toLowerCase();\n\t}\n\n\t// Detect contractions/possessives by looking for any word followed by a `'t`\n\t// or `'s` in isolation and then remove it.\n\tstring = string.replace(/([a-zA-Z\\d]+)'([ts])(\\s|$)/g, '$1$2$3');\n\n\tstring = string.replace(patternSlug, options.separator);\n\tstring = string.replace(/\\\\/g, '');\n\n\tif (options.separator) {\n\t\tstring = removeMootSeparators(string, options.separator);\n\t}\n\n\tif (shouldPrependUnderscore) {\n\t\tstring = `_${string}`;\n\t}\n\n\tif (shouldAppendDash) {\n\t\tstring = `${string}-`;\n\t}\n\n\treturn string;\n}\n\nexport function slugifyWithCounter() {\n\tconst occurrences = new Map();\n\n\tconst countable = (string, options) => {\n\t\tstring = slugify(string, options);\n\n\t\tif (!string) {\n\t\t\treturn '';\n\t\t}\n\n\t\tconst stringLower = string.toLowerCase();\n\t\tconst numberless = occurrences.get(stringLower.replace(/(?:-\\d+?)+?$/, '')) || 0;\n\t\tconst counter = occurrences.get(stringLower);\n\t\toccurrences.set(stringLower, typeof counter === 'number' ? counter + 1 : 1);\n\t\tconst newCounter = occurrences.get(stringLower) || 2;\n\t\tif (newCounter >= 2 || numberless > 2) {\n\t\t\tstring = `${string}-${newCounter}`;\n\t\t}\n\n\t\treturn string;\n\t};\n\n\tcountable.reset = () => {\n\t\toccurrences.clear();\n\t};\n\n\treturn countable;\n}\n","const CLASS_PART_SEPARATOR = '-';\nconst createClassGroupUtils = config => {\n const classMap = createClassMap(config);\n const {\n conflictingClassGroups,\n conflictingClassGroupModifiers\n } = config;\n const getClassGroupId = className => {\n const classParts = className.split(CLASS_PART_SEPARATOR);\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.\n if (classParts[0] === '' && classParts.length !== 1) {\n classParts.shift();\n }\n return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);\n };\n const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {\n const conflicts = conflictingClassGroups[classGroupId] || [];\n if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {\n return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];\n }\n return conflicts;\n };\n return {\n getClassGroupId,\n getConflictingClassGroupIds\n };\n};\nconst getGroupRecursive = (classParts, classPartObject) => {\n if (classParts.length === 0) {\n return classPartObject.classGroupId;\n }\n const currentClassPart = classParts[0];\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);\n const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;\n if (classGroupFromNextClassPart) {\n return classGroupFromNextClassPart;\n }\n if (classPartObject.validators.length === 0) {\n return undefined;\n }\n const classRest = classParts.join(CLASS_PART_SEPARATOR);\n return classPartObject.validators.find(({\n validator\n }) => validator(classRest))?.classGroupId;\n};\nconst arbitraryPropertyRegex = /^\\[(.+)\\]$/;\nconst getGroupIdForArbitraryProperty = className => {\n if (arbitraryPropertyRegex.test(className)) {\n const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];\n const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));\n if (property) {\n // I use two dots here because one dot is used as prefix for class groups in plugins\n return 'arbitrary..' + property;\n }\n }\n};\n/**\n * Exported for testing only\n */\nconst createClassMap = config => {\n const {\n theme,\n prefix\n } = config;\n const classMap = {\n nextPart: new Map(),\n validators: []\n };\n const prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);\n prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {\n processClassesRecursively(classGroup, classMap, classGroupId, theme);\n });\n return classMap;\n};\nconst processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {\n classGroup.forEach(classDefinition => {\n if (typeof classDefinition === 'string') {\n const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);\n classPartObjectToEdit.classGroupId = classGroupId;\n return;\n }\n if (typeof classDefinition === 'function') {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);\n return;\n }\n classPartObject.validators.push({\n validator: classDefinition,\n classGroupId\n });\n return;\n }\n Object.entries(classDefinition).forEach(([key, classGroup]) => {\n processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);\n });\n });\n};\nconst getPart = (classPartObject, path) => {\n let currentClassPartObject = classPartObject;\n path.split(CLASS_PART_SEPARATOR).forEach(pathPart => {\n if (!currentClassPartObject.nextPart.has(pathPart)) {\n currentClassPartObject.nextPart.set(pathPart, {\n nextPart: new Map(),\n validators: []\n });\n }\n currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);\n });\n return currentClassPartObject;\n};\nconst isThemeGetter = func => func.isThemeGetter;\nconst getPrefixedClassGroupEntries = (classGroupEntries, prefix) => {\n if (!prefix) {\n return classGroupEntries;\n }\n return classGroupEntries.map(([classGroupId, classGroup]) => {\n const prefixedClassGroup = classGroup.map(classDefinition => {\n if (typeof classDefinition === 'string') {\n return prefix + classDefinition;\n }\n if (typeof classDefinition === 'object') {\n return Object.fromEntries(Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]));\n }\n return classDefinition;\n });\n return [classGroupId, prefixedClassGroup];\n });\n};\n\n// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance\nconst createLruCache = maxCacheSize => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {}\n };\n }\n let cacheSize = 0;\n let cache = new Map();\n let previousCache = new Map();\n const update = (key, value) => {\n cache.set(key, value);\n cacheSize++;\n if (cacheSize > maxCacheSize) {\n cacheSize = 0;\n previousCache = cache;\n cache = new Map();\n }\n };\n return {\n get(key) {\n let value = cache.get(key);\n if (value !== undefined) {\n return value;\n }\n if ((value = previousCache.get(key)) !== undefined) {\n update(key, value);\n return value;\n }\n },\n set(key, value) {\n if (cache.has(key)) {\n cache.set(key, value);\n } else {\n update(key, value);\n }\n }\n };\n};\nconst IMPORTANT_MODIFIER = '!';\nconst createParseClassName = config => {\n const {\n separator,\n experimentalParseClassName\n } = config;\n const isSeparatorSingleCharacter = separator.length === 1;\n const firstSeparatorCharacter = separator[0];\n const separatorLength = separator.length;\n // parseClassName inspired by https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n const parseClassName = className => {\n const modifiers = [];\n let bracketDepth = 0;\n let modifierStart = 0;\n let postfixModifierPosition;\n for (let index = 0; index < className.length; index++) {\n let currentCharacter = className[index];\n if (bracketDepth === 0) {\n if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) {\n modifiers.push(className.slice(modifierStart, index));\n modifierStart = index + separatorLength;\n continue;\n }\n if (currentCharacter === '/') {\n postfixModifierPosition = index;\n continue;\n }\n }\n if (currentCharacter === '[') {\n bracketDepth++;\n } else if (currentCharacter === ']') {\n bracketDepth--;\n }\n }\n const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);\n const hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);\n const baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;\n const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;\n return {\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n };\n };\n if (experimentalParseClassName) {\n return className => experimentalParseClassName({\n className,\n parseClassName\n });\n }\n return parseClassName;\n};\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nconst sortModifiers = modifiers => {\n if (modifiers.length <= 1) {\n return modifiers;\n }\n const sortedModifiers = [];\n let unsortedModifiers = [];\n modifiers.forEach(modifier => {\n const isArbitraryVariant = modifier[0] === '[';\n if (isArbitraryVariant) {\n sortedModifiers.push(...unsortedModifiers.sort(), modifier);\n unsortedModifiers = [];\n } else {\n unsortedModifiers.push(modifier);\n }\n });\n sortedModifiers.push(...unsortedModifiers.sort());\n return sortedModifiers;\n};\nconst createConfigUtils = config => ({\n cache: createLruCache(config.cacheSize),\n parseClassName: createParseClassName(config),\n ...createClassGroupUtils(config)\n});\nconst SPLIT_CLASSES_REGEX = /\\s+/;\nconst mergeClassList = (classList, configUtils) => {\n const {\n parseClassName,\n getClassGroupId,\n getConflictingClassGroupIds\n } = configUtils;\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict = [];\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);\n let result = '';\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index];\n const {\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n } = parseClassName(originalClassName);\n let hasPostfixModifier = Boolean(maybePostfixModifierPosition);\n let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n classGroupId = getClassGroupId(baseClassName);\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n hasPostfixModifier = false;\n }\n const variantModifier = sortModifiers(modifiers).join(':');\n const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;\n const classId = modifierId + classGroupId;\n if (classGroupsInConflict.includes(classId)) {\n // Tailwind class omitted due to conflict\n continue;\n }\n classGroupsInConflict.push(classId);\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i];\n classGroupsInConflict.push(modifierId + group);\n }\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n }\n return result;\n};\n\n/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\nfunction twJoin() {\n let index = 0;\n let argument;\n let resolvedValue;\n let string = '';\n while (index < arguments.length) {\n if (argument = arguments[index++]) {\n if (resolvedValue = toValue(argument)) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n}\nconst toValue = mix => {\n if (typeof mix === 'string') {\n return mix;\n }\n let resolvedValue;\n let string = '';\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if (resolvedValue = toValue(mix[k])) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n};\nfunction createTailwindMerge(createConfigFirst, ...createConfigRest) {\n let configUtils;\n let cacheGet;\n let cacheSet;\n let functionToCall = initTailwindMerge;\n function initTailwindMerge(classList) {\n const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());\n configUtils = createConfigUtils(config);\n cacheGet = configUtils.cache.get;\n cacheSet = configUtils.cache.set;\n functionToCall = tailwindMerge;\n return tailwindMerge(classList);\n }\n function tailwindMerge(classList) {\n const cachedResult = cacheGet(classList);\n if (cachedResult) {\n return cachedResult;\n }\n const result = mergeClassList(classList, configUtils);\n cacheSet(classList, result);\n return result;\n }\n return function callTailwindMerge() {\n return functionToCall(twJoin.apply(null, arguments));\n };\n}\nconst fromTheme = key => {\n const themeGetter = theme => theme[key] || [];\n themeGetter.isThemeGetter = true;\n return themeGetter;\n};\nconst arbitraryValueRegex = /^\\[(?:([a-z-]+):)?(.+)\\]$/i;\nconst fractionRegex = /^\\d+\\/\\d+$/;\nconst stringLengths = /*#__PURE__*/new Set(['px', 'full', 'screen']);\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\nconst lengthUnitRegex = /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/;\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\nconst imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\nconst isLength = value => isNumber(value) || stringLengths.has(value) || fractionRegex.test(value);\nconst isArbitraryLength = value => getIsArbitraryValue(value, 'length', isLengthOnly);\nconst isNumber = value => Boolean(value) && !Number.isNaN(Number(value));\nconst isArbitraryNumber = value => getIsArbitraryValue(value, 'number', isNumber);\nconst isInteger = value => Boolean(value) && Number.isInteger(Number(value));\nconst isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));\nconst isArbitraryValue = value => arbitraryValueRegex.test(value);\nconst isTshirtSize = value => tshirtUnitRegex.test(value);\nconst sizeLabels = /*#__PURE__*/new Set(['length', 'size', 'percentage']);\nconst isArbitrarySize = value => getIsArbitraryValue(value, sizeLabels, isNever);\nconst isArbitraryPosition = value => getIsArbitraryValue(value, 'position', isNever);\nconst imageLabels = /*#__PURE__*/new Set(['image', 'url']);\nconst isArbitraryImage = value => getIsArbitraryValue(value, imageLabels, isImage);\nconst isArbitraryShadow = value => getIsArbitraryValue(value, '', isShadow);\nconst isAny = () => true;\nconst getIsArbitraryValue = (value, label, testValue) => {\n const result = arbitraryValueRegex.exec(value);\n if (result) {\n if (result[1]) {\n return typeof label === 'string' ? result[1] === label : label.has(result[1]);\n }\n return testValue(result[2]);\n }\n return false;\n};\nconst isLengthOnly = value =>\n// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n// For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\nlengthUnitRegex.test(value) && !colorFunctionRegex.test(value);\nconst isNever = () => false;\nconst isShadow = value => shadowRegex.test(value);\nconst isImage = value => imageRegex.test(value);\nconst validators = /*#__PURE__*/Object.defineProperty({\n __proto__: null,\n isAny,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isInteger,\n isLength,\n isNumber,\n isPercent,\n isTshirtSize\n}, Symbol.toStringTag, {\n value: 'Module'\n});\nconst getDefaultConfig = () => {\n const colors = fromTheme('colors');\n const spacing = fromTheme('spacing');\n const blur = fromTheme('blur');\n const brightness = fromTheme('brightness');\n const borderColor = fromTheme('borderColor');\n const borderRadius = fromTheme('borderRadius');\n const borderSpacing = fromTheme('borderSpacing');\n const borderWidth = fromTheme('borderWidth');\n const contrast = fromTheme('contrast');\n const grayscale = fromTheme('grayscale');\n const hueRotate = fromTheme('hueRotate');\n const invert = fromTheme('invert');\n const gap = fromTheme('gap');\n const gradientColorStops = fromTheme('gradientColorStops');\n const gradientColorStopPositions = fromTheme('gradientColorStopPositions');\n const inset = fromTheme('inset');\n const margin = fromTheme('margin');\n const opacity = fromTheme('opacity');\n const padding = fromTheme('padding');\n const saturate = fromTheme('saturate');\n const scale = fromTheme('scale');\n const sepia = fromTheme('sepia');\n const skew = fromTheme('skew');\n const space = fromTheme('space');\n const translate = fromTheme('translate');\n const getOverscroll = () => ['auto', 'contain', 'none'];\n const getOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];\n const getSpacingWithAutoAndArbitrary = () => ['auto', isArbitraryValue, spacing];\n const getSpacingWithArbitrary = () => [isArbitraryValue, spacing];\n const getLengthWithEmptyAndArbitrary = () => ['', isLength, isArbitraryLength];\n const getNumberWithAutoAndArbitrary = () => ['auto', isNumber, isArbitraryValue];\n const getPositions = () => ['bottom', 'center', 'left', 'left-bottom', 'left-top', 'right', 'right-bottom', 'right-top', 'top'];\n const getLineStyles = () => ['solid', 'dashed', 'dotted', 'double', 'none'];\n const getBlendModes = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];\n const getAlign = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch'];\n const getZeroAndEmpty = () => ['', '0', isArbitraryValue];\n const getBreaks = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];\n const getNumberAndArbitrary = () => [isNumber, isArbitraryValue];\n return {\n cacheSize: 500,\n separator: ':',\n theme: {\n colors: [isAny],\n spacing: [isLength, isArbitraryLength],\n blur: ['none', '', isTshirtSize, isArbitraryValue],\n brightness: getNumberAndArbitrary(),\n borderColor: [colors],\n borderRadius: ['none', '', 'full', isTshirtSize, isArbitraryValue],\n borderSpacing: getSpacingWithArbitrary(),\n borderWidth: getLengthWithEmptyAndArbitrary(),\n contrast: getNumberAndArbitrary(),\n grayscale: getZeroAndEmpty(),\n hueRotate: getNumberAndArbitrary(),\n invert: getZeroAndEmpty(),\n gap: getSpacingWithArbitrary(),\n gradientColorStops: [colors],\n gradientColorStopPositions: [isPercent, isArbitraryLength],\n inset: getSpacingWithAutoAndArbitrary(),\n margin: getSpacingWithAutoAndArbitrary(),\n opacity: getNumberAndArbitrary(),\n padding: getSpacingWithArbitrary(),\n saturate: getNumberAndArbitrary(),\n scale: getNumberAndArbitrary(),\n sepia: getZeroAndEmpty(),\n skew: getNumberAndArbitrary(),\n space: getSpacingWithArbitrary(),\n translate: getSpacingWithArbitrary()\n },\n classGroups: {\n // Layout\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{\n aspect: ['auto', 'square', 'video', isArbitraryValue]\n }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{\n columns: [isTshirtSize]\n }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{\n 'break-after': getBreaks()\n }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{\n 'break-before': getBreaks()\n }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{\n 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']\n }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{\n 'box-decoration': ['slice', 'clone']\n }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{\n box: ['border', 'content']\n }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{\n float: ['right', 'left', 'none', 'start', 'end']\n }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{\n clear: ['left', 'right', 'both', 'none', 'start', 'end']\n }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{\n object: ['contain', 'cover', 'fill', 'none', 'scale-down']\n }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{\n object: [...getPositions(), isArbitraryValue]\n }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{\n overflow: getOverflow()\n }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{\n 'overflow-x': getOverflow()\n }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{\n 'overflow-y': getOverflow()\n }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{\n overscroll: getOverscroll()\n }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{\n 'overscroll-x': getOverscroll()\n }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{\n 'overscroll-y': getOverscroll()\n }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{\n inset: [inset]\n }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{\n 'inset-x': [inset]\n }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{\n 'inset-y': [inset]\n }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{\n start: [inset]\n }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{\n end: [inset]\n }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{\n top: [inset]\n }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{\n right: [inset]\n }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{\n bottom: [inset]\n }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{\n left: [inset]\n }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{\n z: ['auto', isInteger, isArbitraryValue]\n }],\n // Flexbox and Grid\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{\n basis: getSpacingWithAutoAndArbitrary()\n }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{\n flex: ['row', 'row-reverse', 'col', 'col-reverse']\n }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{\n flex: ['wrap', 'wrap-reverse', 'nowrap']\n }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{\n flex: ['1', 'auto', 'initial', 'none', isArbitraryValue]\n }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{\n grow: getZeroAndEmpty()\n }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{\n shrink: getZeroAndEmpty()\n }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{\n order: ['first', 'last', 'none', isInteger, isArbitraryValue]\n }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{\n 'grid-cols': [isAny]\n }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [{\n col: ['auto', {\n span: ['full', isInteger, isArbitraryValue]\n }, isArbitraryValue]\n }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{\n 'col-start': getNumberWithAutoAndArbitrary()\n }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{\n 'col-end': getNumberWithAutoAndArbitrary()\n }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{\n 'grid-rows': [isAny]\n }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [{\n row: ['auto', {\n span: [isInteger, isArbitraryValue]\n }, isArbitraryValue]\n }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{\n 'row-start': getNumberWithAutoAndArbitrary()\n }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{\n 'row-end': getNumberWithAutoAndArbitrary()\n }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{\n 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']\n }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{\n 'auto-cols': ['auto', 'min', 'max', 'fr', isArbitraryValue]\n }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{\n 'auto-rows': ['auto', 'min', 'max', 'fr', isArbitraryValue]\n }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{\n gap: [gap]\n }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{\n 'gap-x': [gap]\n }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{\n 'gap-y': [gap]\n }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{\n justify: ['normal', ...getAlign()]\n }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{\n 'justify-items': ['start', 'end', 'center', 'stretch']\n }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{\n 'justify-self': ['auto', 'start', 'end', 'center', 'stretch']\n }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{\n content: ['normal', ...getAlign(), 'baseline']\n }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{\n items: ['start', 'end', 'center', 'baseline', 'stretch']\n }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [{\n self: ['auto', 'start', 'end', 'center', 'stretch', 'baseline']\n }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{\n 'place-content': [...getAlign(), 'baseline']\n }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{\n 'place-items': ['start', 'end', 'center', 'baseline', 'stretch']\n }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{\n 'place-self': ['auto', 'start', 'end', 'center', 'stretch']\n }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{\n p: [padding]\n }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{\n px: [padding]\n }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{\n py: [padding]\n }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{\n ps: [padding]\n }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{\n pe: [padding]\n }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{\n pt: [padding]\n }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{\n pr: [padding]\n }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{\n pb: [padding]\n }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{\n pl: [padding]\n }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{\n m: [margin]\n }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{\n mx: [margin]\n }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{\n my: [margin]\n }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{\n ms: [margin]\n }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{\n me: [margin]\n }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{\n mt: [margin]\n }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{\n mr: [margin]\n }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{\n mb: [margin]\n }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{\n ml: [margin]\n }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/space\n */\n 'space-x': [{\n 'space-x': [space]\n }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/space\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/space\n */\n 'space-y': [{\n 'space-y': [space]\n }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/space\n */\n 'space-y-reverse': ['space-y-reverse'],\n // Sizing\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{\n w: ['auto', 'min', 'max', 'fit', 'svw', 'lvw', 'dvw', isArbitraryValue, spacing]\n }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [{\n 'min-w': [isArbitraryValue, spacing, 'min', 'max', 'fit']\n }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [{\n 'max-w': [isArbitraryValue, spacing, 'none', 'full', 'min', 'max', 'fit', 'prose', {\n screen: [isTshirtSize]\n }, isTshirtSize]\n }],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{\n h: [isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit', 'svh', 'lvh', 'dvh']\n }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [{\n 'min-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh']\n }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [{\n 'max-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh']\n }],\n /**\n * Size\n * @see https://tailwindcss.com/docs/size\n */\n size: [{\n size: [isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit']\n }],\n // Typography\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [{\n text: ['base', isTshirtSize, isArbitraryLength]\n }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [{\n font: ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black', isArbitraryNumber]\n }],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{\n font: [isAny]\n }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{\n tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest', isArbitraryValue]\n }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [{\n 'line-clamp': ['none', isNumber, isArbitraryNumber]\n }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [{\n leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose', isLength, isArbitraryValue]\n }],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{\n 'list-image': ['none', isArbitraryValue]\n }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [{\n list: ['none', 'disc', 'decimal', isArbitraryValue]\n }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{\n list: ['inside', 'outside']\n }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{\n placeholder: [colors]\n }],\n /**\n * Placeholder Opacity\n * @see https://tailwindcss.com/docs/placeholder-opacity\n */\n 'placeholder-opacity': [{\n 'placeholder-opacity': [opacity]\n }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{\n text: ['left', 'center', 'right', 'justify', 'start', 'end']\n }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{\n text: [colors]\n }],\n /**\n * Text Opacity\n * @see https://tailwindcss.com/docs/text-opacity\n */\n 'text-opacity': [{\n 'text-opacity': [opacity]\n }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{\n decoration: [...getLineStyles(), 'wavy']\n }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [{\n decoration: ['auto', 'from-font', isLength, isArbitraryLength]\n }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [{\n 'underline-offset': ['auto', isLength, isArbitraryValue]\n }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{\n decoration: [colors]\n }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{\n text: ['wrap', 'nowrap', 'balance', 'pretty']\n }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{\n indent: getSpacingWithArbitrary()\n }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [{\n align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryValue]\n }],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [{\n whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']\n }],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{\n break: ['normal', 'words', 'all', 'keep']\n }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{\n hyphens: ['none', 'manual', 'auto']\n }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{\n content: ['none', isArbitraryValue]\n }],\n // Backgrounds\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{\n bg: ['fixed', 'local', 'scroll']\n }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{\n 'bg-clip': ['border', 'padding', 'content', 'text']\n }],\n /**\n * Background Opacity\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/background-opacity\n */\n 'bg-opacity': [{\n 'bg-opacity': [opacity]\n }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{\n 'bg-origin': ['border', 'padding', 'content']\n }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{\n bg: [...getPositions(), isArbitraryPosition]\n }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{\n bg: ['no-repeat', {\n repeat: ['', 'x', 'y', 'round', 'space']\n }]\n }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{\n bg: ['auto', 'cover', 'contain', isArbitrarySize]\n }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [{\n bg: ['none', {\n 'gradient-to': ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']\n }, isArbitraryImage]\n }],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{\n bg: [colors]\n }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{\n from: [gradientColorStopPositions]\n }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{\n via: [gradientColorStopPositions]\n }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{\n to: [gradientColorStopPositions]\n }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{\n from: [gradientColorStops]\n }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{\n via: [gradientColorStops]\n }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{\n to: [gradientColorStops]\n }],\n // Borders\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{\n rounded: [borderRadius]\n }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{\n 'rounded-s': [borderRadius]\n }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{\n 'rounded-e': [borderRadius]\n }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{\n 'rounded-t': [borderRadius]\n }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{\n 'rounded-r': [borderRadius]\n }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{\n 'rounded-b': [borderRadius]\n }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{\n 'rounded-l': [borderRadius]\n }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{\n 'rounded-ss': [borderRadius]\n }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{\n 'rounded-se': [borderRadius]\n }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{\n 'rounded-ee': [borderRadius]\n }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{\n 'rounded-es': [borderRadius]\n }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{\n 'rounded-tl': [borderRadius]\n }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{\n 'rounded-tr': [borderRadius]\n }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{\n 'rounded-br': [borderRadius]\n }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{\n 'rounded-bl': [borderRadius]\n }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{\n border: [borderWidth]\n }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{\n 'border-x': [borderWidth]\n }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{\n 'border-y': [borderWidth]\n }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{\n 'border-s': [borderWidth]\n }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{\n 'border-e': [borderWidth]\n }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{\n 'border-t': [borderWidth]\n }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{\n 'border-r': [borderWidth]\n }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{\n 'border-b': [borderWidth]\n }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{\n 'border-l': [borderWidth]\n }],\n /**\n * Border Opacity\n * @see https://tailwindcss.com/docs/border-opacity\n */\n 'border-opacity': [{\n 'border-opacity': [opacity]\n }],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{\n border: [...getLineStyles(), 'hidden']\n }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-x': [{\n 'divide-x': [borderWidth]\n }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-y': [{\n 'divide-y': [borderWidth]\n }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Divide Opacity\n * @see https://tailwindcss.com/docs/divide-opacity\n */\n 'divide-opacity': [{\n 'divide-opacity': [opacity]\n }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/divide-style\n */\n 'divide-style': [{\n divide: getLineStyles()\n }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{\n border: [borderColor]\n }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{\n 'border-x': [borderColor]\n }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{\n 'border-y': [borderColor]\n }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{\n 'border-s': [borderColor]\n }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{\n 'border-e': [borderColor]\n }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{\n 'border-t': [borderColor]\n }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{\n 'border-r': [borderColor]\n }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{\n 'border-b': [borderColor]\n }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{\n 'border-l': [borderColor]\n }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{\n divide: [borderColor]\n }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{\n outline: ['', ...getLineStyles()]\n }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [{\n 'outline-offset': [isLength, isArbitraryValue]\n }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [{\n outline: [isLength, isArbitraryLength]\n }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{\n outline: [colors]\n }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/ring-width\n */\n 'ring-w': [{\n ring: getLengthWithEmptyAndArbitrary()\n }],\n /**\n * Ring Width Inset\n * @see https://tailwindcss.com/docs/ring-width\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/ring-color\n */\n 'ring-color': [{\n ring: [colors]\n }],\n /**\n * Ring Opacity\n * @see https://tailwindcss.com/docs/ring-opacity\n */\n 'ring-opacity': [{\n 'ring-opacity': [opacity]\n }],\n /**\n * Ring Offset Width\n * @see https://tailwindcss.com/docs/ring-offset-width\n */\n 'ring-offset-w': [{\n 'ring-offset': [isLength, isArbitraryLength]\n }],\n /**\n * Ring Offset Color\n * @see https://tailwindcss.com/docs/ring-offset-color\n */\n 'ring-offset-color': [{\n 'ring-offset': [colors]\n }],\n // Effects\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{\n shadow: ['', 'inner', 'none', isTshirtSize, isArbitraryShadow]\n }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow-color\n */\n 'shadow-color': [{\n shadow: [isAny]\n }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{\n opacity: [opacity]\n }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{\n 'mix-blend': [...getBlendModes(), 'plus-lighter', 'plus-darker']\n }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{\n 'bg-blend': getBlendModes()\n }],\n // Filters\n /**\n * Filter\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{\n filter: ['', 'none']\n }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{\n blur: [blur]\n }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{\n brightness: [brightness]\n }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{\n contrast: [contrast]\n }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [{\n 'drop-shadow': ['', 'none', isTshirtSize, isArbitraryValue]\n }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{\n grayscale: [grayscale]\n }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{\n 'hue-rotate': [hueRotate]\n }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{\n invert: [invert]\n }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{\n saturate: [saturate]\n }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{\n sepia: [sepia]\n }],\n /**\n * Backdrop Filter\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [{\n 'backdrop-filter': ['', 'none']\n }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{\n 'backdrop-blur': [blur]\n }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [{\n 'backdrop-brightness': [brightness]\n }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [{\n 'backdrop-contrast': [contrast]\n }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [{\n 'backdrop-grayscale': [grayscale]\n }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [{\n 'backdrop-hue-rotate': [hueRotate]\n }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [{\n 'backdrop-invert': [invert]\n }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [{\n 'backdrop-opacity': [opacity]\n }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [{\n 'backdrop-saturate': [saturate]\n }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [{\n 'backdrop-sepia': [sepia]\n }],\n // Tables\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{\n border: ['collapse', 'separate']\n }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{\n 'border-spacing': [borderSpacing]\n }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{\n 'border-spacing-x': [borderSpacing]\n }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{\n 'border-spacing-y': [borderSpacing]\n }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{\n table: ['auto', 'fixed']\n }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{\n caption: ['top', 'bottom']\n }],\n // Transitions and Animation\n /**\n * Tranisition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [{\n transition: ['none', 'all', '', 'colors', 'opacity', 'shadow', 'transform', isArbitraryValue]\n }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{\n duration: getNumberAndArbitrary()\n }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{\n ease: ['linear', 'in', 'out', 'in-out', isArbitraryValue]\n }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{\n delay: getNumberAndArbitrary()\n }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{\n animate: ['none', 'spin', 'ping', 'pulse', 'bounce', isArbitraryValue]\n }],\n // Transforms\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{\n transform: ['', 'gpu', 'none']\n }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{\n scale: [scale]\n }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{\n 'scale-x': [scale]\n }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{\n 'scale-y': [scale]\n }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{\n rotate: [isInteger, isArbitraryValue]\n }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{\n 'translate-x': [translate]\n }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{\n 'translate-y': [translate]\n }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{\n 'skew-x': [skew]\n }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{\n 'skew-y': [skew]\n }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [{\n origin: ['center', 'top', 'top-right', 'right', 'bottom-right', 'bottom', 'bottom-left', 'left', 'top-left', isArbitraryValue]\n }],\n // Interactivity\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{\n accent: ['auto', colors]\n }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{\n appearance: ['none', 'auto']\n }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [{\n cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryValue]\n }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{\n caret: [colors]\n }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{\n 'pointer-events': ['none', 'auto']\n }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{\n resize: ['none', 'y', 'x', '']\n }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{\n scroll: ['auto', 'smooth']\n }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{\n 'scroll-m': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{\n 'scroll-mx': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{\n 'scroll-my': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{\n 'scroll-ms': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{\n 'scroll-me': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{\n 'scroll-mt': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{\n 'scroll-mr': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{\n 'scroll-mb': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{\n 'scroll-ml': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{\n 'scroll-p': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{\n 'scroll-px': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{\n 'scroll-py': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{\n 'scroll-ps': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{\n 'scroll-pe': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{\n 'scroll-pt': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{\n 'scroll-pr': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{\n 'scroll-pb': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{\n 'scroll-pl': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{\n snap: ['start', 'end', 'center', 'align-none']\n }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{\n snap: ['normal', 'always']\n }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{\n snap: ['none', 'x', 'y', 'both']\n }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{\n snap: ['mandatory', 'proximity']\n }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{\n touch: ['auto', 'none', 'manipulation']\n }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [{\n 'touch-pan': ['x', 'left', 'right']\n }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [{\n 'touch-pan': ['y', 'up', 'down']\n }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{\n select: ['none', 'text', 'all', 'auto']\n }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [{\n 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryValue]\n }],\n // SVG\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{\n fill: [colors, 'none']\n }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [{\n stroke: [isLength, isArbitraryLength, isArbitraryNumber]\n }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{\n stroke: [colors, 'none']\n }],\n // Accessibility\n /**\n * Screen Readers\n * @see https://tailwindcss.com/docs/screen-readers\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{\n 'forced-color-adjust': ['auto', 'none']\n }]\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': ['border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': ['border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch']\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading']\n }\n };\n};\n\n/**\n * @param baseConfig Config where other config will be merged into. This object will be mutated.\n * @param configExtension Partial config to merge into the `baseConfig`.\n */\nconst mergeConfigs = (baseConfig, {\n cacheSize,\n prefix,\n separator,\n experimentalParseClassName,\n extend = {},\n override = {}\n}) => {\n overrideProperty(baseConfig, 'cacheSize', cacheSize);\n overrideProperty(baseConfig, 'prefix', prefix);\n overrideProperty(baseConfig, 'separator', separator);\n overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);\n for (const configKey in override) {\n overrideConfigProperties(baseConfig[configKey], override[configKey]);\n }\n for (const key in extend) {\n mergeConfigProperties(baseConfig[key], extend[key]);\n }\n return baseConfig;\n};\nconst overrideProperty = (baseObject, overrideKey, overrideValue) => {\n if (overrideValue !== undefined) {\n baseObject[overrideKey] = overrideValue;\n }\n};\nconst overrideConfigProperties = (baseObject, overrideObject) => {\n if (overrideObject) {\n for (const key in overrideObject) {\n overrideProperty(baseObject, key, overrideObject[key]);\n }\n }\n};\nconst mergeConfigProperties = (baseObject, mergeObject) => {\n if (mergeObject) {\n for (const key in mergeObject) {\n const mergeValue = mergeObject[key];\n if (mergeValue !== undefined) {\n baseObject[key] = (baseObject[key] || []).concat(mergeValue);\n }\n }\n }\n};\nconst extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);\nconst twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);\nexport { createTailwindMerge, extendTailwindMerge, fromTheme, getDefaultConfig, mergeConfigs, twJoin, twMerge, validators };\n//# sourceMappingURL=bundle-mjs.mjs.map\n","export default \"__VITE_ASSET__CMaiXz4u__\"","import * as React from 'react'\nimport iconsSvg from '#app/assets/icons.svg'\nimport { cn } from '#app/utils/misc.tsx'\n\ntype Sizes = 12 | 14 | 16 | 20 | 24 | 28 | 32 | 40\n\n// can't use styles in an external SVG sprite, so animated icons get inlined.\nexport function AnimatedBars({\n\ttitle,\n\tsize = 16,\n\t...props\n}: { title?: string; size?: Sizes } & React.ComponentPropsWithoutRef<'svg'>) {\n\treturn (\n\t\t<svg\n\t\t\twidth={size}\n\t\t\theight={size}\n\t\t\tviewBox=\"0 0 16 16\"\n\t\t\taria-hidden={!title}\n\t\t\t{...props}\n\t\t>\n\t\t\t{title ? <title>{title}</title> : null}\n\t\t\t<g fill=\"currentColor\">\n\t\t\t\t<g className=\"nc-loop-dots-16-icon-f\">\n\t\t\t\t\t<circle cx=\"3\" cy=\"8\" fill=\"currentColor\" r=\"2\" />\n\t\t\t\t\t<circle cx=\"8\" cy=\"8\" r=\"2\" />\n\t\t\t\t\t<circle cx=\"13\" cy=\"8\" fill=\"currentColor\" r=\"2\" />\n\t\t\t\t</g>\n\t\t\t\t<style>{`.nc-loop-dots-16-icon-f{--animation-duration:1s}.nc-loop-dots-16-icon-f *{opacity:.4;transform:scale(.7)}.nc-loop-dots-16-icon-f :nth-child(1),.nc-loop-dots-16-icon-f :nth-child(3){animation:nc-loop-dots-anim-2b var(--animation-duration) infinite linear}.nc-loop-dots-16-icon-f :nth-child(1){transform-origin:3px 8px}.nc-loop-dots-16-icon-f :nth-child(2){animation:nc-loop-dots-anim-1b calc(var(--animation-duration)/2) infinite linear;animation-delay:calc(var(--animation-duration)/4);transform-origin:8px 8px}.nc-loop-dots-16-icon-f :nth-child(3){animation-delay:calc(var(--animation-duration)/2);transform-origin:13px 8px}@keyframes nc-loop-dots-anim-1b{0%,100%{opacity:.4;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@keyframes nc-loop-dots-anim-2b{0%,100%,66%{opacity:.4;transform:scale(.7)}33%{opacity:1;transform:scale(1)}}`}</style>\n\t\t\t</g>\n\t\t</svg>\n\t)\n}\n\nexport type IconName =\n\t| 'Keyboard'\n\t| 'Linked'\n\t| 'Unlinked'\n\t| 'TriangleSmall'\n\t| 'ArrowLeft'\n\t| 'ArrowRight'\n\t| 'Sun'\n\t| 'Moon'\n\t| 'ChevronLeft'\n\t| 'ChevronRight'\n\t| 'ChevronDown'\n\t| 'ChevronUp'\n\t| 'CheckSmall'\n\t| 'TriangleDownSmall'\n\t| 'Question'\n\t| 'Remove'\n\t| 'ExternalLink'\n\t| 'Refresh'\n\t| 'Files'\n\t| 'Clear'\n\t| 'Stop'\n\t| 'Deleted'\n\t| 'Modified'\n\t| 'Added'\n\t| 'Renamed'\n\t| 'Close'\n\t| 'Error'\n\t| 'Notify'\n\t| 'Success'\n\t| 'Sun'\n\t| 'Moon'\n\t| 'Laptop'\n\t| 'Video'\n\t| 'User'\n\t| 'EpicWeb'\n\t| 'EpicWebGradient'\n\t| 'FastForward'\n\t| 'Discord'\n\t| 'Chat'\n\t| 'House'\n\t| 'WifiNoConnection'\n\nconst sizeClassName = {\n\tfont: 'w-[1em] h-[1em]',\n\txs: 'w-3 h-3',\n\tsm: 'w-4 h-4',\n\tmd: 'w-5 h-5',\n\tlg: 'w-6 h-6',\n\txl: 'w-7 h-7',\n\t'2xl': 'w-8 h-8',\n} as const\n\ntype Size = keyof typeof sizeClassName\n\nconst childrenSizeClassName = {\n\tfont: 'gap-1.5',\n\txs: 'gap-1.5',\n\tsm: 'gap-1.5',\n\tmd: 'gap-2',\n\tlg: 'gap-2',\n\txl: 'gap-3',\n\t'2xl': 'gap-4',\n} satisfies Record<Size, string>\n\n/**\n * Renders an SVG icon. The icon defaults to the size of the font. To make it\n * align vertically with neighboring text, you can pass the text as a child of\n * the icon and it will be automatically aligned.\n * Alternatively, if you're not ok with the icon being to the left of the text,\n * you need to wrap the icon and text in a common parent and set the parent to\n * display \"flex\" (or \"inline-flex\") with \"items-center\" and a reasonable gap.\n */\nexport function Icon({\n\tname,\n\tsize = 'font',\n\ttitle,\n\tclassName,\n\tchildren,\n\t...props\n}: React.SVGProps<SVGSVGElement> & {\n\tname: IconName\n\ttitle?: string\n\tsize?: Size\n}) {\n\tif (children) {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={`inline-flex items-center ${childrenSizeClassName[size]}`}\n\t\t\t>\n\t\t\t\t<Icon name={name} size={size} className={className} {...props} />\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t)\n\t}\n\treturn (\n\t\t<svg\n\t\t\t{...props}\n\t\t\tclassName={cn(sizeClassName[size], 'inline self-center', className)}\n\t\t>\n\t\t\t{title ? <title>{title}</title> : null}\n\t\t\t<use href={`${iconsSvg}#${name}`} fill=\"transparent\" />\n\t\t</svg>\n\t)\n}\n","import { type Config } from 'tailwindcss'\n\nconst removeProseMargin = {\n\t'> ul > li > *:first-child': {\n\t\tmarginTop: 'unset',\n\t},\n\t'> ul > li > *:last-child': {\n\t\tmarginBottom: 'unset',\n\t},\n\t'> ol > li > *:first-child': {\n\t\tmarginTop: 'unset',\n\t},\n\t'> ol > li > *:last-child': {\n\t\tmarginBottom: 'unset',\n\t},\n}\n\nconst removeCodeBackticks = {\n\t'code::before': {\n\t\tcontent: 'none',\n\t},\n\t'code::after': {\n\t\tcontent: 'none',\n\t},\n}\n\nconst proseColors = {\n\t'*': {\n\t\tcolor: 'hsl(var(--foreground))',\n\t},\n}\n\nexport const extendedTheme = {\n\ttypography: {\n\t\tDEFAULT: { css: [removeProseMargin, proseColors, removeCodeBackticks] },\n\t\tsm: { css: [removeProseMargin, proseColors, removeCodeBackticks] },\n\t\tbase: { css: [removeProseMargin, proseColors, removeCodeBackticks] },\n\t\tlg: { css: [removeProseMargin, proseColors, removeCodeBackticks] },\n\t\txl: { css: [removeProseMargin, proseColors, removeCodeBackticks] },\n\t\t'2xl': { css: [removeProseMargin, proseColors, removeCodeBackticks] },\n\t},\n\tcolors: {\n\t\tgray: {\n\t\t\t'50': '#fafafa',\n\t\t\t'100': '#f5f5f5',\n\t\t\t'200': '#e5e5e5',\n\t\t\t'300': '#d4d4d4',\n\t\t\t'400': '#a3a3a3',\n\t\t\t'500': '#737373',\n\t\t\t'600': '#525252',\n\t\t\t'700': '#404040',\n\t\t\t'800': '#262626',\n\t\t\t'900': '#171717',\n\t\t\t'950': '#0a0a0a',\n\t\t},\n\t\tborder: 'hsl(var(--border))',\n\t\tinput: 'hsl(var(--input))',\n\t\tring: 'hsl(var(--ring))',\n\t\tbackground: 'hsl(var(--background))',\n\t\thighlight: 'hsl(var(--highlight))',\n\t\tforeground: 'hsl(var(--foreground))',\n\t\t'foreground-destructive': 'hsl(var(--foreground-destructive))',\n\t\tscrollbar: 'var(--scrollbar)',\n\t\tprimary: {\n\t\t\tDEFAULT: 'hsl(var(--primary))',\n\t\t\tforeground: 'hsl(var(--primary-foreground))',\n\t\t},\n\t\tsecondary: {\n\t\t\tDEFAULT: 'hsl(var(--secondary))',\n\t\t\tforeground: 'hsl(var(--secondary-foreground))',\n\t\t},\n\t\tdestructive: {\n\t\t\tDEFAULT: 'hsl(var(--destructive))',\n\t\t\tforeground: 'hsl(var(--destructive-foreground))',\n\t\t},\n\t\tmuted: {\n\t\t\tDEFAULT: 'hsl(var(--muted))',\n\t\t\tforeground: 'hsl(var(--muted-foreground))',\n\t\t},\n\t\taccent: {\n\t\t\tDEFAULT: 'hsl(var(--accent))',\n\t\t\tforeground: 'hsl(var(--accent-foreground))',\n\t\t},\n\t\tpopover: {\n\t\t\tDEFAULT: 'hsl(var(--popover))',\n\t\t\tforeground: 'hsl(var(--popover-foreground))',\n\t\t},\n\t\tcard: {\n\t\t\tDEFAULT: 'hsl(var(--card))',\n\t\t\tforeground: 'hsl(var(--card-foreground))',\n\t\t},\n\t},\n\tborderRadius: {\n\t\tlg: `var(--radius)`,\n\t\tmd: `calc(var(--radius) - 2px)`,\n\t\tsm: 'calc(var(--radius) - 4px)',\n\t},\n\tfontSize: {\n\t\t// 1rem = 16px\n\t\t/** 80px size / 84px high / bold */\n\t\tmega: ['5rem', { lineHeight: '5.25rem', fontWeight: '700' }],\n\t\t/** 56px size / 62px high / bold */\n\t\th1: ['3.5rem', { lineHeight: '3.875rem', fontWeight: '700' }],\n\t\t/** 40px size / 48px high / bold */\n\t\th2: ['2.5rem', { lineHeight: '3rem', fontWeight: '700' }],\n\t\t/** 32px size / 36px high / bold */\n\t\th3: ['2rem', { lineHeight: '2.25rem', fontWeight: '700' }],\n\t\t/** 28px size / 36px high / bold */\n\t\th4: ['1.75rem', { lineHeight: '2.25rem', fontWeight: '700' }],\n\t\t/** 24px size / 32px high / bold */\n\t\th5: ['1.5rem', { lineHeight: '2rem', fontWeight: '700' }],\n\t\t/** 16px size / 20px high / bold */\n\t\th6: ['1rem', { lineHeight: '1.25rem', fontWeight: '700' }],\n\n\t\t/** 48px size / 52px high / normal */\n\t\t'body-5xl': ['3rem', { lineHeight: '3.25rem' }],\n\t\t/** 40px size / 44px high / normal */\n\t\t'body-4xl': ['2.5rem', { lineHeight: '2.75rem' }],\n\t\t/** 36px size / 40px high / normal */\n\t\t'body-3xl': ['2.25rem', { lineHeight: '2.5rem' }],\n\t\t/** 32px size / 36px high / normal */\n\t\t'body-2xl': ['2rem', { lineHeight: '2.25rem' }],\n\t\t/** 28px size / 36px high / normal */\n\t\t'body-xl': ['1.75rem', { lineHeight: '2.25rem' }],\n\t\t/** 24px size / 32px high / normal */\n\t\t'body-lg': ['1.5rem', { lineHeight: '2rem' }],\n\t\t/** 20px size / 28px high / normal */\n\t\t'body-md': ['1.25rem', { lineHeight: '1.75rem' }],\n\t\t/** 16px size / 20px high / normal */\n\t\t'body-sm': ['1rem', { lineHeight: '1.25rem' }],\n\t\t/** 14px size / 18px high / normal */\n\t\t'body-xs': ['0.875rem', { lineHeight: '1.125rem' }],\n\t\t/** 12px size / 16px high / normal */\n\t\t'body-2xs': ['0.75rem', { lineHeight: '1rem' }],\n\n\t\t/** 18px size / 24px high / semibold */\n\t\tcaption: ['1.125rem', { lineHeight: '1.5rem', fontWeight: '600' }],\n\t\t/** 12px size / 16px high / bold */\n\t\tbutton: ['0.75rem', { lineHeight: '1rem', fontWeight: '700' }],\n\t},\n\tkeyframes: {\n\t\t'accordion-down': {\n\t\t\tfrom: { height: '0' },\n\t\t\tto: { height: 'var(--radix-accordion-content-height)' },\n\t\t},\n\t\t'accordion-up': {\n\t\t\tfrom: { height: 'var(--radix-accordion-content-height)' },\n\t\t\tto: { height: '0' },\n\t\t},\n\t},\n\tanimation: {\n\t\t'accordion-down': 'accordion-down 0.2s ease-out',\n\t\t'accordion-up': 'accordion-up 0.2s ease-out',\n\t},\n} satisfies Config['theme']\n","import { type ExerciseStepApp } from '@epic-web/workshop-utils/apps.server'\nimport slugify from '@sindresorhus/slugify'\nimport { clsx, type ClassValue } from 'clsx'\nimport * as React from 'react'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport {\n\tLink,\n\tuseFormAction,\n\tuseNavigation,\n\ttype LinkProps,\n} from 'react-router'\nimport { useSpinDelay } from 'spin-delay'\nimport { extendTailwindMerge } from 'tailwind-merge'\nimport { Icon } from '#app/components/icons.tsx'\nimport { extendedTheme } from './extended-theme.ts'\n\ntype AnchorProps = React.DetailedHTMLProps<\n\tReact.AnchorHTMLAttributes<HTMLAnchorElement>,\n\tHTMLAnchorElement\n>\n\nexport const AnchorOrLink = function AnchorOrLink({\n\tref,\n\t...props\n}: AnchorProps &\n\tLinkProps & {\n\t\treload?: boolean\n\t}) {\n\tconst {\n\t\tto,\n\t\thref,\n\n\t\tdownload,\n\t\treload = false,\n\t\tprefetch,\n\t\tchildren,\n\t\t...rest\n\t} = props\n\tlet toUrl = ''\n\tlet shouldUserRegularAnchor = reload || Boolean(download)\n\n\tif (!shouldUserRegularAnchor && typeof href === 'string') {\n\t\tshouldUserRegularAnchor = href.includes(':') || href.startsWith('#')\n\t}\n\n\tif (!shouldUserRegularAnchor && typeof to === 'string') {\n\t\ttoUrl = to\n\t\tshouldUserRegularAnchor = to.includes(':')\n\t}\n\n\tif (!shouldUserRegularAnchor && typeof to === 'object') {\n\t\ttoUrl = `${to.pathname ?? ''}${to.hash ? `#${to.hash}` : ''}${\n\t\t\tto.search ? `?${to.search}` : ''\n\t\t}`\n\t\tshouldUserRegularAnchor = Boolean(to.pathname?.includes(':'))\n\t}\n\n\tif (shouldUserRegularAnchor) {\n\t\treturn (\n\t\t\t<a {...rest} download={download} href={href ?? toUrl} ref={ref}>\n\t\t\t\t{children}\n\t\t\t</a>\n\t\t)\n\t} else {\n\t\treturn (\n\t\t\t<Link prefetch={prefetch} to={to ?? href ?? ''} {...rest} ref={ref}>\n\t\t\t\t{children}\n\t\t\t</Link>\n\t\t)\n\t}\n}\n\nexport function ensureUndeployed() {\n\tif (ENV.EPICSHOP_DEPLOYED) {\n\t\tthrow new Response(\n\t\t\t'EPICSHOP_DEPLOYED is true, cannot perform this action',\n\t\t\t{\n\t\t\t\tstatus: 400,\n\t\t\t},\n\t\t)\n\t}\n}\n\nexport function ensureDeployed() {\n\tif (!ENV.EPICSHOP_DEPLOYED) {\n\t\tthrow new Response(\n\t\t\t'EPICSHOP_DEPLOYED is false, cannot perform this action',\n\t\t\t{ status: 400 },\n\t\t)\n\t}\n}\n\nexport function useAltDown() {\n\tconst [altDown, setAltDown] = React.useState(false)\n\n\tReact.useEffect(() => {\n\t\tconst set = (e: KeyboardEvent) => setAltDown(e.altKey)\n\t\tdocument.addEventListener('keydown', set)\n\t\tdocument.addEventListener('keyup', set)\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('keyup', set)\n\t\t\tdocument.removeEventListener('keydown', set)\n\t\t}\n\t}, [])\n\treturn altDown\n}\n\nexport const Heading = function Heading({\n\tref,\n\tid,\n\tchildren,\n\tas: asProp,\n\tclassName,\n\t...props\n}: {\n\tref: React.RefObject<HTMLHeadingElement>\n\tid?: string\n\tchildren: React.ReactNode\n\tas?: React.ElementType\n\tclassName?: string\n}) {\n\tconst Comp = asProp ?? 'h1'\n\tconst slugId = id ?? slugify(children ? String(children) : '')\n\treturn (\n\t\t<Comp\n\t\t\tid={slugId || undefined}\n\t\t\tref={ref}\n\t\t\tclassName={cn('group relative', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{slugId ? (\n\t\t\t\t<Link\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\tto={`#${slugId}`}\n\t\t\t\t\tclassName=\"absolute left-0 top-1/2 -translate-x-full -translate-y-1/2 p-2 opacity-0 transition group-hover:opacity-100 motion-safe:transition\"\n\t\t\t\t>\n\t\t\t\t\t<Icon name=\"Linked\" />\n\t\t\t\t</Link>\n\t\t\t) : null}\n\t\t\t{children}\n\t\t</Comp>\n\t)\n}\nexport function getUserImgSrc(imageId?: string | null) {\n\treturn imageId ? `/resources/user-images/${imageId}` : '/img/user.png'\n}\n\nexport function getNoteImgSrc(imageId: string) {\n\treturn `/resources/note-images/${imageId}`\n}\n\nexport function getErrorMessage(\n\terror: unknown,\n\tdefaultMessage: string = 'Unknown Error',\n) {\n\tif (typeof error === 'string') return error\n\tif (\n\t\terror &&\n\t\ttypeof error === 'object' &&\n\t\t'message' in error &&\n\t\ttypeof error.message === 'string'\n\t) {\n\t\treturn error.message\n\t}\n\treturn defaultMessage\n}\n\nfunction formatColors() {\n\tconst colors = []\n\tfor (const [key, color] of Object.entries(extendedTheme.colors)) {\n\t\tif (typeof color === 'string') {\n\t\t\tcolors.push(key)\n\t\t} else {\n\t\t\tconst colorGroup = Object.keys(color).map((subKey) =>\n\t\t\t\tsubKey === 'DEFAULT' ? '' : subKey,\n\t\t\t)\n\t\t\tcolors.push({ [key]: colorGroup })\n\t\t}\n\t}\n\treturn colors\n}\n\nconst customTwMerge = extendTailwindMerge({\n\textend: {\n\t\ttheme: {\n\t\t\tcolors: formatColors(),\n\t\t\tborderRadius: Object.keys(extendedTheme.borderRadius),\n\t\t},\n\t\tclassGroups: {\n\t\t\t'font-size': [{ text: Object.keys(extendedTheme.fontSize) }],\n\t\t\tanimate: [{ animate: Object.keys(extendedTheme.animation) }],\n\t\t},\n\t},\n})\n\nexport function cn(...inputs: ClassValue[]) {\n\treturn customTwMerge(clsx(inputs))\n}\n\nexport function getDomainUrl(request: Request) {\n\tconst url = new URL(request.url)\n\tconst host =\n\t\trequest.headers.get('X-Forwarded-Host') ??\n\t\trequest.headers.get('host') ??\n\t\turl.host\n\n\tconst protocol = host.includes('localhost') ? 'http:' : url.protocol\n\treturn `${protocol}//${host}`\n}\n\nexport function getBaseUrl({\n\trequest,\n\tdomain = request ? getDomainUrl(request) : window.location.origin,\n\tport,\n}: {\n\tport: number\n} & (\n\t| {\n\t\t\trequest: Request\n\t\t\tdomain?: never\n\t }\n\t| {\n\t\t\trequest?: never\n\t\t\tdomain: string\n\t }\n)) {\n\tconst url = new URL(domain)\n\turl.port = String(port)\n\treturn url.toString()\n}\n\nexport function getReferrerRoute(request: Request) {\n\t// spelling errors and whatever makes this annoyingly inconsistent\n\t// in my own testing, `referer` returned the right value, but 🤷♂️\n\tconst referrer =\n\t\trequest.headers.get('referer') ??\n\t\trequest.headers.get('referrer') ??\n\t\trequest.referrer\n\tconst domain = getDomainUrl(request)\n\tif (referrer.startsWith(domain)) {\n\t\treturn referrer.slice(domain.length)\n\t} else {\n\t\treturn '/'\n\t}\n}\n\n/**\n * Merge multiple headers objects into one (uses set so headers are overridden)\n */\nexport function mergeHeaders(\n\t...headers: Array<ResponseInit['headers'] | null | undefined>\n) {\n\tconst merged = new Headers()\n\tfor (const header of headers) {\n\t\tif (!header) continue\n\t\tfor (const [key, value] of new Headers(header).entries()) {\n\t\t\tmerged.set(key, value)\n\t\t}\n\t}\n\treturn merged\n}\n\n/**\n * Combine multiple header objects into one (uses append so headers are not overridden)\n */\nexport function combineHeaders(\n\t...headers: Array<ResponseInit['headers'] | null | undefined>\n) {\n\tconst combined = new Headers()\n\tfor (const header of headers) {\n\t\tif (!header) continue\n\t\tfor (const [key, value] of new Headers(header).entries()) {\n\t\t\tcombined.append(key, value)\n\t\t}\n\t}\n\treturn combined\n}\n\n/**\n * Combine multiple response init objects into one (uses combineHeaders)\n */\nexport function combineResponseInits(\n\t...responseInits: Array<ResponseInit | null | undefined>\n) {\n\tlet combined: ResponseInit = {}\n\tfor (const responseInit of responseInits) {\n\t\tcombined = {\n\t\t\t...responseInit,\n\t\t\theaders: combineHeaders(combined.headers, responseInit?.headers),\n\t\t}\n\t}\n\treturn combined\n}\n\n/**\n * Returns true if the current navigation is submitting the current route's\n * form. Defaults to the current route's form action and method POST.\n *\n * Defaults state to 'non-idle'\n *\n * NOTE: the default formAction will include query params, but the\n * navigation.formAction will not, so don't use the default formAction if you\n * want to know if a form is submitting without specific query params.\n */\nexport function useIsPending({\n\tformAction,\n\tformMethod = 'POST',\n\tstate = 'non-idle',\n}: {\n\tformAction?: string\n\tformMethod?: 'POST' | 'GET' | 'PUT' | 'PATCH' | 'DELETE'\n\tstate?: 'submitting' | 'loading' | 'non-idle'\n} = {}) {\n\tconst contextualFormAction = useFormAction()\n\tconst navigation = useNavigation()\n\tconst isPendingState =\n\t\tstate === 'non-idle'\n\t\t\t? navigation.state !== 'idle'\n\t\t\t: navigation.state === state\n\treturn (\n\t\tisPendingState &&\n\t\tnavigation.formAction === (formAction ?? contextualFormAction) &&\n\t\tnavigation.formMethod === formMethod\n\t)\n}\n\n/**\n * This combines useSpinDelay (from https://npm.im/spin-delay) and useIsPending\n * from our own utilities to give you a nice way to show a loading spinner for\n * a minimum amount of time, even if the request finishes right after the delay.\n *\n * This avoids a flash of loading state regardless of how fast or slow the\n * request is.\n */\nexport function useDelayedIsPending({\n\tformAction,\n\tformMethod,\n\tdelay = 400,\n\tminDuration = 300,\n}: Parameters<typeof useIsPending>[0] &\n\tParameters<typeof useSpinDelay>[1] = {}) {\n\tconst isPending = useIsPending({ formAction, formMethod })\n\tconst delayedIsPending = useSpinDelay(isPending, {\n\t\tdelay,\n\t\tminDuration,\n\t})\n\treturn delayedIsPending\n}\n\nfunction callAll<Args extends Array<unknown>>(\n\t...fns: Array<((...args: Args) => unknown) | undefined>\n) {\n\treturn (...args: Args) => fns.forEach((fn) => fn?.(...args))\n}\n\n/**\n * Use this hook with a button and it will make it so the first click sets a\n * `doubleCheck` state to true, and the second click will actually trigger the\n * `onClick` handler. This allows you to have a button that can be like a\n * \"are you sure?\" experience for the user before doing destructive operations.\n */\nexport function useDoubleCheck() {\n\tconst [doubleCheck, setDoubleCheck] = useState(false)\n\n\tfunction getButtonProps(\n\t\tprops?: React.ButtonHTMLAttributes<HTMLButtonElement>,\n\t) {\n\t\tconst onBlur: React.ButtonHTMLAttributes<HTMLButtonElement>['onBlur'] =\n\t\t\t() => setDoubleCheck(false)\n\n\t\tconst onClick: React.ButtonHTMLAttributes<HTMLButtonElement>['onClick'] =\n\t\t\tdoubleCheck\n\t\t\t\t? undefined\n\t\t\t\t: (e) => {\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tsetDoubleCheck(true)\n\t\t\t\t\t}\n\n\t\tconst onKeyUp: React.ButtonHTMLAttributes<HTMLButtonElement>['onKeyUp'] = (\n\t\t\te,\n\t\t) => {\n\t\t\tif (e.key === 'Escape') {\n\t\t\t\tsetDoubleCheck(false)\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\t...props,\n\t\t\tonBlur: callAll(onBlur, props?.onBlur),\n\t\t\tonClick: callAll(onClick, props?.onClick),\n\t\t\tonKeyUp: callAll(onKeyUp, props?.onKeyUp),\n\t\t}\n\t}\n\n\treturn { doubleCheck, getButtonProps }\n}\n\n/**\n * Simple debounce implementation\n */\nfunction debounce<Callback extends (...args: Parameters<Callback>) => void>(\n\tfn: Callback,\n\tdelay: number,\n) {\n\tlet timer: ReturnType<typeof setTimeout> | null = null\n\treturn (...args: Parameters<Callback>) => {\n\t\tif (timer) clearTimeout(timer)\n\t\ttimer = setTimeout(() => {\n\t\t\tfn(...args)\n\t\t}, delay)\n\t}\n}\n\n/**\n * Debounce a callback function\n */\nexport function useDebounce<\n\tCallback extends (...args: Parameters<Callback>) => ReturnType<Callback>,\n>(callback: Callback, delay: number) {\n\tconst callbackRef = useRef(callback)\n\tuseEffect(() => {\n\t\tcallbackRef.current = callback\n\t})\n\treturn useMemo(\n\t\t() =>\n\t\t\tdebounce(\n\t\t\t\t(...args: Parameters<Callback>) => callbackRef.current(...args),\n\t\t\t\tdelay,\n\t\t\t),\n\t\t[delay],\n\t)\n}\n\nexport async function downloadFile(url: string, retries: number = 0) {\n\tconst MAX_RETRIES = 3\n\ttry {\n\t\tconst response = await fetch(url)\n\t\tif (!response.ok) {\n\t\t\tthrow new Error(`Failed to fetch image with status ${response.status}`)\n\t\t}\n\t\tconst contentType = response.headers.get('content-type') ?? 'image/jpg'\n\t\tconst blob = Buffer.from(await response.arrayBuffer())\n\t\treturn { contentType, blob }\n\t} catch (e) {\n\t\tif (retries > MAX_RETRIES) throw e\n\t\treturn downloadFile(url, retries + 1)\n\t}\n}\n\nexport function getExercisePath(exerciseNumber: number, suffix?: 'finished') {\n\tconst exerciseNumberStr = exerciseNumber.toString().padStart(2, '0')\n\tif (!suffix) return `/exercise/${exerciseNumberStr}`\n\n\treturn `/exercise/${exerciseNumberStr}/${suffix}`\n}\n\nexport function getExerciseStepPath(\n\texerciseNumber: number,\n\tstepNumber: number,\n\ttype?: ExerciseStepApp['type'],\n) {\n\tconst exerciseNumberStr = exerciseNumber.toString().padStart(2, '0')\n\tif (!stepNumber) return `/exercise/${exerciseNumberStr}`\n\n\tconst stepNumberStr = stepNumber.toString().padStart(2, '0')\n\tif (!type) return `/exercise/${exerciseNumberStr}/${stepNumberStr}`\n\n\treturn `/exercise/${exerciseNumberStr}/${stepNumberStr}/${type}`\n}\n"],"names":["global","factory","exports","require$$0","this","react","defaultOptions","useIsSSR","isSSR","setIsSSR","useSpinDelay","loading","options","initialState","state","setState","timeout","delay","escapeStringRegexp","string","replacements","doCustomReplacements","key","value","transliterate","customReplacements","builtinReplacements","overridableReplacements","decamelize","removeMootSeparators","separator","escapedSeparator","buildPatternSlug","negationSetPattern","character","slugify","shouldPrependUnderscore","shouldAppendDash","builtinOverridableReplacements","patternSlug","CLASS_PART_SEPARATOR","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","className","classParts","getGroupRecursive","getGroupIdForArbitraryProperty","classGroupId","hasPostfixModifier","conflicts","classPartObject","currentClassPart","nextClassPartObject","classGroupFromNextClassPart","classRest","validator","arbitraryPropertyRegex","arbitraryPropertyClassName","property","theme","prefix","getPrefixedClassGroupEntries","classGroup","processClassesRecursively","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","path","currentClassPartObject","pathPart","func","classGroupEntries","prefixedClassGroup","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","IMPORTANT_MODIFIER","createParseClassName","experimentalParseClassName","isSeparatorSingleCharacter","firstSeparatorCharacter","separatorLength","parseClassName","modifiers","bracketDepth","modifierStart","postfixModifierPosition","index","currentCharacter","baseClassNameWithImportantModifier","hasImportantModifier","baseClassName","maybePostfixModifierPosition","sortModifiers","sortedModifiers","unsortedModifiers","modifier","createConfigUtils","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","getClassGroupId","getConflictingClassGroupIds","classGroupsInConflict","classNames","result","originalClassName","variantModifier","modifierId","classId","conflictGroups","i","group","twJoin","argument","resolvedValue","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","fromTheme","themeGetter","arbitraryValueRegex","fractionRegex","stringLengths","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isLength","isNumber","isArbitraryLength","getIsArbitraryValue","isLengthOnly","isArbitraryNumber","isInteger","isPercent","isArbitraryValue","isTshirtSize","sizeLabels","isArbitrarySize","isNever","isArbitraryPosition","imageLabels","isArbitraryImage","isImage","isArbitraryShadow","isShadow","isAny","label","testValue","getDefaultConfig","colors","spacing","blur","brightness","borderColor","borderRadius","borderSpacing","borderWidth","contrast","grayscale","hueRotate","invert","gap","gradientColorStops","gradientColorStopPositions","inset","margin","opacity","padding","saturate","scale","sepia","skew","space","translate","getOverscroll","getOverflow","getSpacingWithAutoAndArbitrary","getSpacingWithArbitrary","getLengthWithEmptyAndArbitrary","getNumberWithAutoAndArbitrary","getPositions","getLineStyles","getBlendModes","getAlign","getZeroAndEmpty","getBreaks","getNumberAndArbitrary","mergeConfigs","baseConfig","extend","override","overrideProperty","configKey","overrideConfigProperties","mergeConfigProperties","baseObject","overrideKey","overrideValue","overrideObject","mergeObject","mergeValue","extendTailwindMerge","configExtension","createConfig","iconsSvg","AnimatedBars","title","size","props","jsxs","jsx","sizeClassName","childrenSizeClassName","Icon","name","children","cn","extendedTheme","AnchorOrLink","ref","to","href","download","reload","prefetch","rest","toUrl","shouldUserRegularAnchor","Link","useAltDown","altDown","setAltDown","React.useState","React.useEffect","set","e","Heading","id","asProp","Comp","slugId","getErrorMessage","error","defaultMessage","formatColors","color","colorGroup","subKey","customTwMerge","inputs","clsx","getDomainUrl","request","url","host","getBaseUrl","domain","port","debounce","fn","timer","args","useDebounce","callback","callbackRef","useRef","useEffect","useMemo","getExercisePath","exerciseNumber","suffix","exerciseNumberStr","getExerciseStepPath","stepNumber","type","stepNumberStr"],"mappings":"wOAAC,SAAUA,EAAQC,EAAS,CACqCA,EAAQC,EAASC,IAAgB,CAGlG,GAAEC,GAAO,SAAUF,EAASG,EAAO,CACjC,MAAMC,EAAiB,CACrB,MAAO,IACP,YAAa,IACb,IAAK,IAGP,SAASC,GAAW,CAClB,KAAM,CAACC,EAAOC,CAAQ,EAAIJ,EAAM,SAAS,EAAI,EAC7C,OAAAA,EAAM,UAAU,IAAM,CACpBI,EAAS,EAAK,CACpB,EAAO,CAAA,CAAE,EACED,CACX,CAEE,SAASE,EAAaC,EAASC,EAAS,CACtCA,EAAU,OAAO,OAAO,CAAA,EAAIN,EAAgBM,CAAO,EACnD,MAAMJ,EAAQD,KAAcK,EAAQ,IAC9BC,EAAeL,GAASG,EAAU,UAAY,OAC9C,CAACG,EAAOC,CAAQ,EAAIV,EAAM,SAASQ,CAAY,EAC/CG,EAAUX,EAAM,OAAO,IAAI,EACjC,OAAAA,EAAM,UAAU,IAAM,CACpB,GAAIM,IAAYG,IAAU,QAAUN,GAAQ,CAC1C,aAAaQ,EAAQ,OAAO,EAC5B,MAAMC,EAAQT,EAAQ,EAAII,EAAQ,MAClCI,EAAQ,QAAU,WAAW,IAAM,CACjC,GAAI,CAACL,EACH,OAAOI,EAAS,MAAM,EAGxBC,EAAQ,QAAU,WAAW,IAAM,CACjCD,EAAS,QAAQ,CAC7B,EAAaH,EAAQ,WAAW,EACtBG,EAAS,SAAS,CAC5B,EAAWE,CAAK,EAEHT,GACHO,EAAS,OAAO,CAE1B,CAEU,CAACJ,GAAWG,IAAU,YACxB,aAAaE,EAAQ,OAAO,EAC5BD,EAAS,MAAM,EAEvB,EAAO,CAACJ,EAASG,EAAOF,EAAQ,MAAOA,EAAQ,YAAaJ,CAAK,CAAC,EAC9DH,EAAM,UAAU,IACP,IAAM,aAAaW,EAAQ,OAAO,EACxC,CAAA,CAAE,EACEF,IAAU,WAAaA,IAAU,QAC5C,CAEEZ,EAAQ,eAAiBI,EACzBJ,EAAQ,aAAeQ,CAEzB,CAAC,uCC3Dc,SAASQ,EAAmBC,EAAQ,CAClD,GAAI,OAAOA,GAAW,SACrB,MAAM,IAAI,UAAU,mBAAmB,EAKxC,OAAOA,EACL,QAAQ,sBAAuB,MAAM,EACrC,QAAQ,KAAM,OAAO,CACxB,CCVA,MAAMC,GAAe,CAEpB,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EAGV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EAGV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAGT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,KAAM,GAAG,EACV,CAAC,IAAK,GAAG,EACT,CAAC,KAAM,GAAG,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAGT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAGT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EAGV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAGT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EACX,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EACX,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,EAAE,EACR,CAAC,IAAK,EAAE,EACR,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,EAAE,EACR,CAAC,IAAK,EAAE,EACR,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EAGV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAGT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAGT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,KAAK,EAGX,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAGT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAGT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,EAAE,EAGR,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAcT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAGT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAGT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EAGX,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EA0CT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EAGT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EAWV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAGT,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EAGV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EAGV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EAGX,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EAGT,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,KAAK,EACX,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EAGT,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,IAAK,IAAI,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EAGX,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EAGX,CAAC,KAAM,KAAK,EACZ,CAAC,KAAM,MAAM,EACb,CAAC,KAAM,KAAK,EACZ,CAAC,KAAM,KAAK,EACZ,CAAC,KAAM,MAAM,EACb,CAAC,KAAM,KAAK,EACZ,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,KAAK,EACZ,CAAC,KAAM,MAAM,EACb,CAAC,KAAM,MAAM,EACb,CAAC,KAAM,MAAM,EACb,CAAC,KAAM,MAAM,EACb,CAAC,MAAO,GAAG,EACX,CAAC,MAAO,GAAG,EACX,CAAC,MAAO,GAAG,EACX,CAAC,MAAO,GAAG,EACX,CAAC,MAAO,GAAG,EACX,CAAC,MAAO,GAAG,EACX,CAAC,MAAO,GAAG,EACX,CAAC,MAAO,GAAG,EACX,CAAC,MAAO,GAAG,EACX,CAAC,MAAO,GAAG,EACX,CAAC,MAAO,GAAG,EACX,CAAC,MAAO,GAAG,EACX,CAAC,KAAM,IAAI,EACX,CAAC,MAAO,GAAG,EACX,CAAC,MAAO,GAAG,EACX,CAAC,KAAM,IAAI,EACX,CAAC,KAAM,IAAI,EACX,CAAC,MAAO,GAAG,EACX,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,KAAK,EACZ,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,EACV,CAAC,KAAM,GAAG,CACX,EClgEMC,GAAuB,CAACF,EAAQC,IAAiB,CACtD,SAAW,CAACE,EAAKC,CAAK,IAAKH,EAE1BD,EAASA,EAAO,QAAQ,IAAI,OAAOD,EAAmBI,CAAG,EAAG,GAAG,EAAGC,CAAK,EAGxE,OAAOJ,CACR,EAEe,SAASK,GAAcL,EAAQP,EAAS,CACtD,GAAI,OAAOO,GAAW,SACrB,MAAM,IAAI,UAAU,4BAA4B,OAAOA,CAAM,IAAI,EAGlEP,EAAU,CACT,mBAAoB,CAAA,EACpB,GAAGA,CACL,EAEC,MAAMa,EAAqB,IAAI,IAAI,CAClC,GAAGC,GACH,GAAGd,EAAQ,kBACb,CAAE,EAED,OAAAO,EAASA,EAAO,UAAS,EACzBA,EAASE,GAAqBF,EAAQM,CAAkB,EACxDN,EAASA,EAAO,UAAU,KAAK,EAAE,QAAQ,WAAA,iBAAA,IAAiB,EAAE,EAAE,EAAE,UAAS,EAElEA,CACR,CChCA,MAAMQ,GAA0B,CAC/B,CAAC,IAAK,OAAO,EACb,CAAC,KAAM,WAAW,EAClB,CAAC,IAAK,QAAQ,CACf,ECAMC,GAAaT,GACXA,EAEL,QAAQ,oBAAqB,OAAO,EACpC,QAAQ,yBAA0B,OAAO,EAEzC,QAAQ,oBAAqB,OAAO,EAGpC,QAAQ,8BAA+B,OAAO,EAG3CU,GAAuB,CAACV,EAAQW,IAAc,CACnD,MAAMC,EAAmBb,EAAmBY,CAAS,EAErD,OAAOX,EACL,QAAQ,IAAI,OAAO,GAAGY,CAAgB,OAAQ,GAAG,EAAGD,CAAS,EAC7D,QAAQ,IAAI,OAAO,IAAIC,CAAgB,IAAIA,CAAgB,IAAK,GAAG,EAAG,EAAE,CAC3E,EAEMC,GAAmBpB,GAAW,CACnC,IAAIqB,EAAqB,SAGzB,GAFAA,GAAsBrB,EAAQ,UAAY,GAAK,MAE3CA,EAAQ,mBAAmB,OAAS,EACvC,UAAWsB,KAAatB,EAAQ,mBAAoB,CACnD,GAAIsB,IAActB,EAAQ,UACzB,MAAM,IAAI,MAAM,6BAA6BA,EAAQ,SAAS,kDAAkDA,EAAQ,kBAAkB,EAAE,EAG7IqB,GAAsBf,EAAmBgB,CAAS,CACnD,CAGD,OAAO,IAAI,OAAO,KAAKD,CAAkB,KAAM,GAAG,CACnD,EAEe,SAASE,GAAQhB,EAAQP,EAAS,CAChD,GAAI,OAAOO,GAAW,SACrB,MAAM,IAAI,UAAU,4BAA4B,OAAOA,CAAM,IAAI,EAGlEP,EAAU,CACT,UAAW,IACX,UAAW,GACX,WAAY,GACZ,mBAAoB,CAAA,EACpB,0BAA2B,GAC3B,qBAAsB,GACtB,mBAAoB,CAAA,EACpB,GAAGA,CACL,EAEC,MAAMwB,EAA0BxB,EAAQ,2BAA6BO,EAAO,WAAW,GAAG,EACpFkB,EAAmBzB,EAAQ,sBAAwBO,EAAO,SAAS,GAAG,EAEtEM,EAAqB,IAAI,IAAI,CAClC,GAAGa,GACH,GAAG1B,EAAQ,kBACb,CAAE,EAEDO,EAASK,GAAcL,EAAQ,CAAC,mBAAAM,CAAkB,CAAC,EAE/Cb,EAAQ,aACXO,EAASS,GAAWT,CAAM,GAG3B,MAAMoB,EAAcP,GAAiBpB,CAAO,EAE5C,OAAIA,EAAQ,YACXO,EAASA,EAAO,YAAW,GAK5BA,EAASA,EAAO,QAAQ,8BAA+B,QAAQ,EAE/DA,EAASA,EAAO,QAAQoB,EAAa3B,EAAQ,SAAS,EACtDO,EAASA,EAAO,QAAQ,MAAO,EAAE,EAE7BP,EAAQ,YACXO,EAASU,GAAqBV,EAAQP,EAAQ,SAAS,GAGpDwB,IACHjB,EAAS,IAAIA,CAAM,IAGhBkB,IACHlB,EAAS,GAAGA,CAAM,KAGZA,CACR,CCjGA,MAAMqB,EAAuB,IACvBC,GAAwBC,GAAU,CACtC,MAAMC,EAAWC,GAAeF,CAAM,EAChC,CACJ,uBAAAG,EACA,+BAAAC,CACJ,EAAMJ,EAgBJ,MAAO,CACL,gBAhBsBK,GAAa,CACnC,MAAMC,EAAaD,EAAU,MAAMP,CAAoB,EAEvD,OAAIQ,EAAW,CAAC,IAAM,IAAMA,EAAW,SAAW,GAChDA,EAAW,MAAK,EAEXC,GAAkBD,EAAYL,CAAQ,GAAKO,GAA+BH,CAAS,CAC5F,EAUE,4BATkC,CAACI,EAAcC,IAAuB,CACxE,MAAMC,EAAYR,EAAuBM,CAAY,GAAK,CAAA,EAC1D,OAAIC,GAAsBN,EAA+BK,CAAY,EAC5D,CAAC,GAAGE,EAAW,GAAGP,EAA+BK,CAAY,CAAC,EAEhEE,CACT,CAIF,CACA,EACMJ,GAAoB,CAACD,EAAYM,IAAoB,CACzD,GAAIN,EAAW,SAAW,EACxB,OAAOM,EAAgB,aAEzB,MAAMC,EAAmBP,EAAW,CAAC,EAC/BQ,EAAsBF,EAAgB,SAAS,IAAIC,CAAgB,EACnEE,EAA8BD,EAAsBP,GAAkBD,EAAW,MAAM,CAAC,EAAGQ,CAAmB,EAAI,OACxH,GAAIC,EACF,OAAOA,EAET,GAAIH,EAAgB,WAAW,SAAW,EACxC,OAEF,MAAMI,EAAYV,EAAW,KAAKR,CAAoB,EACtD,OAAOc,EAAgB,WAAW,KAAK,CAAC,CACtC,UAAAK,CACJ,IAAQA,EAAUD,CAAS,CAAC,GAAG,YAC/B,EACME,GAAyB,aACzBV,GAAiCH,GAAa,CAClD,GAAIa,GAAuB,KAAKb,CAAS,EAAG,CAC1C,MAAMc,EAA6BD,GAAuB,KAAKb,CAAS,EAAE,CAAC,EACrEe,EAAWD,GAA4B,UAAU,EAAGA,EAA2B,QAAQ,GAAG,CAAC,EACjG,GAAIC,EAEF,MAAO,cAAgBA,CAE3B,CACF,EAIMlB,GAAiBF,GAAU,CAC/B,KAAM,CACJ,MAAAqB,EACA,OAAAC,CACJ,EAAMtB,EACEC,EAAW,CACf,SAAU,IAAI,IACd,WAAY,CAAA,CAChB,EAEE,OADkCsB,GAA6B,OAAO,QAAQvB,EAAO,WAAW,EAAGsB,CAAM,EAC/E,QAAQ,CAAC,CAACb,EAAce,CAAU,IAAM,CAChEC,EAA0BD,EAAYvB,EAAUQ,EAAcY,CAAK,CACrE,CAAC,EACMpB,CACT,EACMwB,EAA4B,CAACD,EAAYZ,EAAiBH,EAAcY,IAAU,CACtFG,EAAW,QAAQE,GAAmB,CACpC,GAAI,OAAOA,GAAoB,SAAU,CACvC,MAAMC,EAAwBD,IAAoB,GAAKd,EAAkBgB,GAAQhB,EAAiBc,CAAe,EACjHC,EAAsB,aAAelB,EACrC,MACF,CACA,GAAI,OAAOiB,GAAoB,WAAY,CACzC,GAAIG,GAAcH,CAAe,EAAG,CAClCD,EAA0BC,EAAgBL,CAAK,EAAGT,EAAiBH,EAAcY,CAAK,EACtF,MACF,CACAT,EAAgB,WAAW,KAAK,CAC9B,UAAWc,EACX,aAAAjB,CACR,CAAO,EACD,MACF,CACA,OAAO,QAAQiB,CAAe,EAAE,QAAQ,CAAC,CAAC9C,EAAK4C,CAAU,IAAM,CAC7DC,EAA0BD,EAAYI,GAAQhB,EAAiBhC,CAAG,EAAG6B,EAAcY,CAAK,CAC1F,CAAC,CACH,CAAC,CACH,EACMO,GAAU,CAAChB,EAAiBkB,IAAS,CACzC,IAAIC,EAAyBnB,EAC7B,OAAAkB,EAAK,MAAMhC,CAAoB,EAAE,QAAQkC,GAAY,CAC9CD,EAAuB,SAAS,IAAIC,CAAQ,GAC/CD,EAAuB,SAAS,IAAIC,EAAU,CAC5C,SAAU,IAAI,IACd,WAAY,CAAA,CACpB,CAAO,EAEHD,EAAyBA,EAAuB,SAAS,IAAIC,CAAQ,CACvE,CAAC,EACMD,CACT,EACMF,GAAgBI,GAAQA,EAAK,cAC7BV,GAA+B,CAACW,EAAmBZ,IAClDA,EAGEY,EAAkB,IAAI,CAAC,CAACzB,EAAce,CAAU,IAAM,CAC3D,MAAMW,EAAqBX,EAAW,IAAIE,GACpC,OAAOA,GAAoB,SACtBJ,EAASI,EAEd,OAAOA,GAAoB,SACtB,OAAO,YAAY,OAAO,QAAQA,CAAe,EAAE,IAAI,CAAC,CAAC9C,EAAKC,CAAK,IAAM,CAACyC,EAAS1C,EAAKC,CAAK,CAAC,CAAC,EAEjG6C,CACR,EACD,MAAO,CAACjB,EAAc0B,CAAkB,CAC1C,CAAC,EAbQD,EAiBLE,GAAiBC,GAAgB,CACrC,GAAIA,EAAe,EACjB,MAAO,CACL,IAAK,IAAA,GACL,IAAK,IAAM,CAAC,CAClB,EAEE,IAAIC,EAAY,EACZC,EAAQ,IAAI,IACZC,EAAgB,IAAI,IACxB,MAAMC,EAAS,CAAC7D,EAAKC,IAAU,CAC7B0D,EAAM,IAAI3D,EAAKC,CAAK,EACpByD,IACIA,EAAYD,IACdC,EAAY,EACZE,EAAgBD,EAChBA,EAAQ,IAAI,IAEhB,EACA,MAAO,CACL,IAAI3D,EAAK,CACP,IAAIC,EAAQ0D,EAAM,IAAI3D,CAAG,EACzB,GAAIC,IAAU,OACZ,OAAOA,EAET,IAAKA,EAAQ2D,EAAc,IAAI5D,CAAG,KAAO,OACvC,OAAA6D,EAAO7D,EAAKC,CAAK,EACVA,CAEX,EACA,IAAID,EAAKC,EAAO,CACV0D,EAAM,IAAI3D,CAAG,EACf2D,EAAM,IAAI3D,EAAKC,CAAK,EAEpB4D,EAAO7D,EAAKC,CAAK,CAErB,CACJ,CACA,EACM6D,GAAqB,IACrBC,GAAuB3C,GAAU,CACrC,KAAM,CACJ,UAAAZ,EACA,2BAAAwD,CACJ,EAAM5C,EACE6C,EAA6BzD,EAAU,SAAW,EAClD0D,EAA0B1D,EAAU,CAAC,EACrC2D,EAAkB3D,EAAU,OAE5B4D,EAAiB3C,GAAa,CAClC,MAAM4C,EAAY,CAAA,EAClB,IAAIC,EAAe,EACfC,EAAgB,EAChBC,EACJ,QAASC,EAAQ,EAAGA,EAAQhD,EAAU,OAAQgD,IAAS,CACrD,IAAIC,EAAmBjD,EAAUgD,CAAK,EACtC,GAAIH,IAAiB,EAAG,CACtB,GAAII,IAAqBR,IAA4BD,GAA8BxC,EAAU,MAAMgD,EAAOA,EAAQN,CAAe,IAAM3D,GAAY,CACjJ6D,EAAU,KAAK5C,EAAU,MAAM8C,EAAeE,CAAK,CAAC,EACpDF,EAAgBE,EAAQN,EACxB,QACF,CACA,GAAIO,IAAqB,IAAK,CAC5BF,EAA0BC,EAC1B,QACF,CACF,CACIC,IAAqB,IACvBJ,IACSI,IAAqB,KAC9BJ,GAEJ,CACA,MAAMK,EAAqCN,EAAU,SAAW,EAAI5C,EAAYA,EAAU,UAAU8C,CAAa,EAC3GK,EAAuBD,EAAmC,WAAWb,EAAkB,EACvFe,EAAgBD,EAAuBD,EAAmC,UAAU,CAAC,EAAIA,EACzFG,EAA+BN,GAA2BA,EAA0BD,EAAgBC,EAA0BD,EAAgB,OACpJ,MAAO,CACL,UAAAF,EACA,qBAAAO,EACA,cAAAC,EACA,6BAAAC,CACN,CACE,EACA,OAAId,EACKvC,GAAauC,EAA2B,CAC7C,UAAAvC,EACA,eAAA2C,CACN,CAAK,EAEIA,CACT,EAMMW,GAAgBV,GAAa,CACjC,GAAIA,EAAU,QAAU,EACtB,OAAOA,EAET,MAAMW,EAAkB,CAAA,EACxB,IAAIC,EAAoB,CAAA,EACxB,OAAAZ,EAAU,QAAQa,GAAY,CACDA,EAAS,CAAC,IAAM,KAEzCF,EAAgB,KAAK,GAAGC,EAAkB,KAAI,EAAIC,CAAQ,EAC1DD,EAAoB,CAAA,GAEpBA,EAAkB,KAAKC,CAAQ,CAEnC,CAAC,EACDF,EAAgB,KAAK,GAAGC,EAAkB,KAAI,CAAE,EACzCD,CACT,EACMG,GAAoB/D,IAAW,CACnC,MAAOoC,GAAepC,EAAO,SAAS,EACtC,eAAgB2C,GAAqB3C,CAAM,EAC3C,GAAGD,GAAsBC,CAAM,CACjC,GACMgE,GAAsB,MACtBC,GAAiB,CAACC,EAAWC,IAAgB,CACjD,KAAM,CACJ,eAAAnB,EACA,gBAAAoB,EACA,4BAAAC,CACJ,EAAMF,EAQEG,EAAwB,CAAA,EACxBC,EAAaL,EAAU,KAAI,EAAG,MAAMF,EAAmB,EAC7D,IAAIQ,EAAS,GACb,QAASnB,EAAQkB,EAAW,OAAS,EAAGlB,GAAS,EAAGA,GAAS,EAAG,CAC9D,MAAMoB,EAAoBF,EAAWlB,CAAK,EACpC,CACJ,UAAAJ,EACA,qBAAAO,EACA,cAAAC,EACA,6BAAAC,CACN,EAAQV,EAAeyB,CAAiB,EACpC,IAAI/D,EAAqB,EAAQgD,EAC7BjD,EAAe2D,EAAgB1D,EAAqB+C,EAAc,UAAU,EAAGC,CAA4B,EAAID,CAAa,EAChI,GAAI,CAAChD,EAAc,CACjB,GAAI,CAACC,EAAoB,CAEvB8D,EAASC,GAAqBD,EAAO,OAAS,EAAI,IAAMA,EAASA,GACjE,QACF,CAEA,GADA/D,EAAe2D,EAAgBX,CAAa,EACxC,CAAChD,EAAc,CAEjB+D,EAASC,GAAqBD,EAAO,OAAS,EAAI,IAAMA,EAASA,GACjE,QACF,CACA9D,EAAqB,EACvB,CACA,MAAMgE,EAAkBf,GAAcV,CAAS,EAAE,KAAK,GAAG,EACnD0B,EAAanB,EAAuBkB,EAAkBhC,GAAqBgC,EAC3EE,EAAUD,EAAalE,EAC7B,GAAI6D,EAAsB,SAASM,CAAO,EAExC,SAEFN,EAAsB,KAAKM,CAAO,EAClC,MAAMC,EAAiBR,EAA4B5D,EAAcC,CAAkB,EACnF,QAASoE,EAAI,EAAGA,EAAID,EAAe,OAAQ,EAAEC,EAAG,CAC9C,MAAMC,EAAQF,EAAeC,CAAC,EAC9BR,EAAsB,KAAKK,EAAaI,CAAK,CAC/C,CAEAP,EAASC,GAAqBD,EAAO,OAAS,EAAI,IAAMA,EAASA,EACnE,CACA,OAAOA,CACT,EAWA,SAASQ,IAAS,CAChB,IAAI3B,EAAQ,EACR4B,EACAC,EACAzG,EAAS,GACb,KAAO4E,EAAQ,UAAU,SACnB4B,EAAW,UAAU5B,GAAO,KAC1B6B,EAAgBC,GAAQF,CAAQ,KAClCxG,IAAWA,GAAU,KACrBA,GAAUyG,GAIhB,OAAOzG,CACT,CACA,MAAM0G,GAAUC,GAAO,CACrB,GAAI,OAAOA,GAAQ,SACjB,OAAOA,EAET,IAAIF,EACAzG,EAAS,GACb,QAAS4G,EAAI,EAAGA,EAAID,EAAI,OAAQC,IAC1BD,EAAIC,CAAC,IACHH,EAAgBC,GAAQC,EAAIC,CAAC,CAAC,KAChC5G,IAAWA,GAAU,KACrBA,GAAUyG,GAIhB,OAAOzG,CACT,EACA,SAAS6G,GAAoBC,KAAsBC,EAAkB,CACnE,IAAIrB,EACAsB,EACAC,EACAC,EAAiBC,EACrB,SAASA,EAAkB1B,EAAW,CACpC,MAAMlE,EAASwF,EAAiB,OAAO,CAACK,EAAgBC,IAAwBA,EAAoBD,CAAc,EAAGN,GAAmB,EACxI,OAAApB,EAAcJ,GAAkB/D,CAAM,EACtCyF,EAAWtB,EAAY,MAAM,IAC7BuB,EAAWvB,EAAY,MAAM,IAC7BwB,EAAiBI,EACVA,EAAc7B,CAAS,CAChC,CACA,SAAS6B,EAAc7B,EAAW,CAChC,MAAM8B,EAAeP,EAASvB,CAAS,EACvC,GAAI8B,EACF,OAAOA,EAET,MAAMxB,EAASP,GAAeC,EAAWC,CAAW,EACpD,OAAAuB,EAASxB,EAAWM,CAAM,EACnBA,CACT,CACA,OAAO,UAA6B,CAClC,OAAOmB,EAAeX,GAAO,MAAM,KAAM,SAAS,CAAC,CACrD,CACF,CACA,MAAMiB,EAAYrH,GAAO,CACvB,MAAMsH,EAAc7E,GAASA,EAAMzC,CAAG,GAAK,CAAA,EAC3C,OAAAsH,EAAY,cAAgB,GACrBA,CACT,EACMC,GAAsB,6BACtBC,GAAgB,aAChBC,GAA6B,IAAI,IAAI,CAAC,KAAM,OAAQ,QAAQ,CAAC,EAC7DC,GAAkB,mCAClBC,GAAkB,4HAClBC,GAAqB,2CAErBC,GAAc,kEACdC,GAAa,+FACbC,EAAW9H,GAAS+H,EAAS/H,CAAK,GAAKwH,GAAc,IAAIxH,CAAK,GAAKuH,GAAc,KAAKvH,CAAK,EAC3FgI,EAAoBhI,GAASiI,EAAoBjI,EAAO,SAAUkI,EAAY,EAC9EH,EAAW/H,GAAS,EAAQA,GAAU,CAAC,OAAO,MAAM,OAAOA,CAAK,CAAC,EACjEmI,EAAoBnI,GAASiI,EAAoBjI,EAAO,SAAU+H,CAAQ,EAC1EK,EAAYpI,GAAS,EAAQA,GAAU,OAAO,UAAU,OAAOA,CAAK,CAAC,EACrEqI,GAAYrI,GAASA,EAAM,SAAS,GAAG,GAAK+H,EAAS/H,EAAM,MAAM,EAAG,EAAE,CAAC,EACvEsI,EAAmBtI,GAASsH,GAAoB,KAAKtH,CAAK,EAC1DuI,EAAevI,GAASyH,GAAgB,KAAKzH,CAAK,EAClDwI,GAA0B,IAAI,IAAI,CAAC,SAAU,OAAQ,YAAY,CAAC,EAClEC,GAAkBzI,GAASiI,EAAoBjI,EAAOwI,GAAYE,EAAO,EACzEC,GAAsB3I,GAASiI,EAAoBjI,EAAO,WAAY0I,EAAO,EAC7EE,GAA2B,IAAI,IAAI,CAAC,QAAS,KAAK,CAAC,EACnDC,GAAmB7I,GAASiI,EAAoBjI,EAAO4I,GAAaE,EAAO,EAC3EC,GAAoB/I,GAASiI,EAAoBjI,EAAO,GAAIgJ,EAAQ,EACpEC,EAAQ,IAAM,GACdhB,EAAsB,CAACjI,EAAOkJ,EAAOC,IAAc,CACvD,MAAMxD,EAAS2B,GAAoB,KAAKtH,CAAK,EAC7C,OAAI2F,EACEA,EAAO,CAAC,EACH,OAAOuD,GAAU,SAAWvD,EAAO,CAAC,IAAMuD,EAAQA,EAAM,IAAIvD,EAAO,CAAC,CAAC,EAEvEwD,EAAUxD,EAAO,CAAC,CAAC,EAErB,EACT,EACMuC,GAAelI,GAIrB0H,GAAgB,KAAK1H,CAAK,GAAK,CAAC2H,GAAmB,KAAK3H,CAAK,EACvD0I,GAAU,IAAM,GAChBM,GAAWhJ,GAAS4H,GAAY,KAAK5H,CAAK,EAC1C8I,GAAU9I,GAAS6H,GAAW,KAAK7H,CAAK,EAmBxCoJ,GAAmB,IAAM,CAC7B,MAAMC,EAASjC,EAAU,QAAQ,EAC3BkC,EAAUlC,EAAU,SAAS,EAC7BmC,EAAOnC,EAAU,MAAM,EACvBoC,EAAapC,EAAU,YAAY,EACnCqC,EAAcrC,EAAU,aAAa,EACrCsC,EAAetC,EAAU,cAAc,EACvCuC,EAAgBvC,EAAU,eAAe,EACzCwC,EAAcxC,EAAU,aAAa,EACrCyC,EAAWzC,EAAU,UAAU,EAC/B0C,EAAY1C,EAAU,WAAW,EACjC2C,EAAY3C,EAAU,WAAW,EACjC4C,EAAS5C,EAAU,QAAQ,EAC3B6C,EAAM7C,EAAU,KAAK,EACrB8C,EAAqB9C,EAAU,oBAAoB,EACnD+C,EAA6B/C,EAAU,4BAA4B,EACnEgD,EAAQhD,EAAU,OAAO,EACzBiD,EAASjD,EAAU,QAAQ,EAC3BkD,EAAUlD,EAAU,SAAS,EAC7BmD,EAAUnD,EAAU,SAAS,EAC7BoD,EAAWpD,EAAU,UAAU,EAC/BqD,EAAQrD,EAAU,OAAO,EACzBsD,EAAQtD,EAAU,OAAO,EACzBuD,EAAOvD,EAAU,MAAM,EACvBwD,EAAQxD,EAAU,OAAO,EACzByD,EAAYzD,EAAU,WAAW,EACjC0D,EAAgB,IAAM,CAAC,OAAQ,UAAW,MAAM,EAChDC,EAAc,IAAM,CAAC,OAAQ,SAAU,OAAQ,UAAW,QAAQ,EAClEC,EAAiC,IAAM,CAAC,OAAQ1C,EAAkBgB,CAAO,EACzE2B,EAA0B,IAAM,CAAC3C,EAAkBgB,CAAO,EAC1D4B,EAAiC,IAAM,CAAC,GAAIpD,EAAUE,CAAiB,EACvEmD,EAAgC,IAAM,CAAC,OAAQpD,EAAUO,CAAgB,EACzE8C,EAAe,IAAM,CAAC,SAAU,SAAU,OAAQ,cAAe,WAAY,QAAS,eAAgB,YAAa,KAAK,EACxHC,EAAgB,IAAM,CAAC,QAAS,SAAU,SAAU,SAAU,MAAM,EACpEC,GAAgB,IAAM,CAAC,SAAU,WAAY,SAAU,UAAW,SAAU,UAAW,cAAe,aAAc,aAAc,aAAc,aAAc,YAAa,MAAO,aAAc,QAAS,YAAY,EACrNC,EAAW,IAAM,CAAC,QAAS,MAAO,SAAU,UAAW,SAAU,SAAU,SAAS,EACpFC,EAAkB,IAAM,CAAC,GAAI,IAAKlD,CAAgB,EAClDmD,GAAY,IAAM,CAAC,OAAQ,QAAS,MAAO,aAAc,OAAQ,OAAQ,QAAS,QAAQ,EAC1FC,EAAwB,IAAM,CAAC3D,EAAUO,CAAgB,EAC/D,MAAO,CACL,UAAW,IACX,UAAW,IACX,MAAO,CACL,OAAQ,CAACW,CAAK,EACd,QAAS,CAACnB,EAAUE,CAAiB,EACrC,KAAM,CAAC,OAAQ,GAAIO,EAAcD,CAAgB,EACjD,WAAYoD,EAAqB,EACjC,YAAa,CAACrC,CAAM,EACpB,aAAc,CAAC,OAAQ,GAAI,OAAQd,EAAcD,CAAgB,EACjE,cAAe2C,EAAuB,EACtC,YAAaC,EAA8B,EAC3C,SAAUQ,EAAqB,EAC/B,UAAWF,EAAe,EAC1B,UAAWE,EAAqB,EAChC,OAAQF,EAAe,EACvB,IAAKP,EAAuB,EAC5B,mBAAoB,CAAC5B,CAAM,EAC3B,2BAA4B,CAAChB,GAAWL,CAAiB,EACzD,MAAOgD,EAA8B,EACrC,OAAQA,EAA8B,EACtC,QAASU,EAAqB,EAC9B,QAAST,EAAuB,EAChC,SAAUS,EAAqB,EAC/B,MAAOA,EAAqB,EAC5B,MAAOF,EAAe,EACtB,KAAME,EAAqB,EAC3B,MAAOT,EAAuB,EAC9B,UAAWA,EAAuB,CACxC,EACI,YAAa,CAMX,OAAQ,CAAC,CACP,OAAQ,CAAC,OAAQ,SAAU,QAAS3C,CAAgB,CAC5D,CAAO,EAKD,UAAW,CAAC,WAAW,EAKvB,QAAS,CAAC,CACR,QAAS,CAACC,CAAY,CAC9B,CAAO,EAKD,cAAe,CAAC,CACd,cAAekD,GAAS,CAChC,CAAO,EAKD,eAAgB,CAAC,CACf,eAAgBA,GAAS,CACjC,CAAO,EAKD,eAAgB,CAAC,CACf,eAAgB,CAAC,OAAQ,QAAS,aAAc,cAAc,CACtE,CAAO,EAKD,iBAAkB,CAAC,CACjB,iBAAkB,CAAC,QAAS,OAAO,CAC3C,CAAO,EAKD,IAAK,CAAC,CACJ,IAAK,CAAC,SAAU,SAAS,CACjC,CAAO,EAKD,QAAS,CAAC,QAAS,eAAgB,SAAU,OAAQ,cAAe,QAAS,eAAgB,gBAAiB,aAAc,eAAgB,qBAAsB,qBAAsB,qBAAsB,kBAAmB,YAAa,YAAa,OAAQ,cAAe,WAAY,YAAa,QAAQ,EAKnT,MAAO,CAAC,CACN,MAAO,CAAC,QAAS,OAAQ,OAAQ,QAAS,KAAK,CACvD,CAAO,EAKD,MAAO,CAAC,CACN,MAAO,CAAC,OAAQ,QAAS,OAAQ,OAAQ,QAAS,KAAK,CAC/D,CAAO,EAKD,UAAW,CAAC,UAAW,gBAAgB,EAKvC,aAAc,CAAC,CACb,OAAQ,CAAC,UAAW,QAAS,OAAQ,OAAQ,YAAY,CACjE,CAAO,EAKD,kBAAmB,CAAC,CAClB,OAAQ,CAAC,GAAGL,EAAY,EAAI9C,CAAgB,CACpD,CAAO,EAKD,SAAU,CAAC,CACT,SAAUyC,EAAW,CAC7B,CAAO,EAKD,aAAc,CAAC,CACb,aAAcA,EAAW,CACjC,CAAO,EAKD,aAAc,CAAC,CACb,aAAcA,EAAW,CACjC,CAAO,EAKD,WAAY,CAAC,CACX,WAAYD,EAAa,CACjC,CAAO,EAKD,eAAgB,CAAC,CACf,eAAgBA,EAAa,CACrC,CAAO,EAKD,eAAgB,CAAC,CACf,eAAgBA,EAAa,CACrC,CAAO,EAKD,SAAU,CAAC,SAAU,QAAS,WAAY,WAAY,QAAQ,EAK9D,MAAO,CAAC,CACN,MAAO,CAACV,CAAK,CACrB,CAAO,EAKD,UAAW,CAAC,CACV,UAAW,CAACA,CAAK,CACzB,CAAO,EAKD,UAAW,CAAC,CACV,UAAW,CAACA,CAAK,CACzB,CAAO,EAKD,MAAO,CAAC,CACN,MAAO,CAACA,CAAK,CACrB,CAAO,EAKD,IAAK,CAAC,CACJ,IAAK,CAACA,CAAK,CACnB,CAAO,EAKD,IAAK,CAAC,CACJ,IAAK,CAACA,CAAK,CACnB,CAAO,EAKD,MAAO,CAAC,CACN,MAAO,CAACA,CAAK,CACrB,CAAO,EAKD,OAAQ,CAAC,CACP,OAAQ,CAACA,CAAK,CACtB,CAAO,EAKD,KAAM,CAAC,CACL,KAAM,CAACA,CAAK,CACpB,CAAO,EAKD,WAAY,CAAC,UAAW,YAAa,UAAU,EAK/C,EAAG,CAAC,CACF,EAAG,CAAC,OAAQhC,EAAWE,CAAgB,CAC/C,CAAO,EAMD,MAAO,CAAC,CACN,MAAO0C,EAA8B,CAC7C,CAAO,EAKD,iBAAkB,CAAC,CACjB,KAAM,CAAC,MAAO,cAAe,MAAO,aAAa,CACzD,CAAO,EAKD,YAAa,CAAC,CACZ,KAAM,CAAC,OAAQ,eAAgB,QAAQ,CAC/C,CAAO,EAKD,KAAM,CAAC,CACL,KAAM,CAAC,IAAK,OAAQ,UAAW,OAAQ1C,CAAgB,CAC/D,CAAO,EAKD,KAAM,CAAC,CACL,KAAMkD,EAAe,CAC7B,CAAO,EAKD,OAAQ,CAAC,CACP,OAAQA,EAAe,CAC/B,CAAO,EAKD,MAAO,CAAC,CACN,MAAO,CAAC,QAAS,OAAQ,OAAQpD,EAAWE,CAAgB,CACpE,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAACW,CAAK,CAC3B,CAAO,EAKD,gBAAiB,CAAC,CAChB,IAAK,CAAC,OAAQ,CACZ,KAAM,CAAC,OAAQb,EAAWE,CAAgB,CACpD,EAAWA,CAAgB,CAC3B,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa6C,EAA6B,CAClD,CAAO,EAKD,UAAW,CAAC,CACV,UAAWA,EAA6B,CAChD,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAAClC,CAAK,CAC3B,CAAO,EAKD,gBAAiB,CAAC,CAChB,IAAK,CAAC,OAAQ,CACZ,KAAM,CAACb,EAAWE,CAAgB,CAC5C,EAAWA,CAAgB,CAC3B,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa6C,EAA6B,CAClD,CAAO,EAKD,UAAW,CAAC,CACV,UAAWA,EAA6B,CAChD,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAAC,MAAO,MAAO,QAAS,YAAa,WAAW,CACrE,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAAC,OAAQ,MAAO,MAAO,KAAM7C,CAAgB,CAClE,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAAC,OAAQ,MAAO,MAAO,KAAMA,CAAgB,CAClE,CAAO,EAKD,IAAK,CAAC,CACJ,IAAK,CAAC2B,CAAG,CACjB,CAAO,EAKD,QAAS,CAAC,CACR,QAAS,CAACA,CAAG,CACrB,CAAO,EAKD,QAAS,CAAC,CACR,QAAS,CAACA,CAAG,CACrB,CAAO,EAKD,kBAAmB,CAAC,CAClB,QAAS,CAAC,SAAU,GAAGsB,EAAQ,CAAE,CACzC,CAAO,EAKD,gBAAiB,CAAC,CAChB,gBAAiB,CAAC,QAAS,MAAO,SAAU,SAAS,CAC7D,CAAO,EAKD,eAAgB,CAAC,CACf,eAAgB,CAAC,OAAQ,QAAS,MAAO,SAAU,SAAS,CACpE,CAAO,EAKD,gBAAiB,CAAC,CAChB,QAAS,CAAC,SAAU,GAAGA,EAAQ,EAAI,UAAU,CACrD,CAAO,EAKD,cAAe,CAAC,CACd,MAAO,CAAC,QAAS,MAAO,SAAU,WAAY,SAAS,CAC/D,CAAO,EAKD,aAAc,CAAC,CACb,KAAM,CAAC,OAAQ,QAAS,MAAO,SAAU,UAAW,UAAU,CACtE,CAAO,EAKD,gBAAiB,CAAC,CAChB,gBAAiB,CAAC,GAAGA,EAAQ,EAAI,UAAU,CACnD,CAAO,EAKD,cAAe,CAAC,CACd,cAAe,CAAC,QAAS,MAAO,SAAU,WAAY,SAAS,CACvE,CAAO,EAKD,aAAc,CAAC,CACb,aAAc,CAAC,OAAQ,QAAS,MAAO,SAAU,SAAS,CAClE,CAAO,EAMD,EAAG,CAAC,CACF,EAAG,CAAChB,CAAO,CACnB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAO,CACpB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAO,CACpB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAO,CACpB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAO,CACpB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAO,CACpB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAO,CACpB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAO,CACpB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAO,CACpB,CAAO,EAKD,EAAG,CAAC,CACF,EAAG,CAACF,CAAM,CAClB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAM,CACnB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAM,CACnB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAM,CACnB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAM,CACnB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAM,CACnB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAM,CACnB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAM,CACnB,CAAO,EAKD,GAAI,CAAC,CACH,GAAI,CAACA,CAAM,CACnB,CAAO,EAKD,UAAW,CAAC,CACV,UAAW,CAACO,CAAK,CACzB,CAAO,EAKD,kBAAmB,CAAC,iBAAiB,EAKrC,UAAW,CAAC,CACV,UAAW,CAACA,CAAK,CACzB,CAAO,EAKD,kBAAmB,CAAC,iBAAiB,EAMrC,EAAG,CAAC,CACF,EAAG,CAAC,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,MAAOtC,EAAkBgB,CAAO,CACvF,CAAO,EAKD,QAAS,CAAC,CACR,QAAS,CAAChB,EAAkBgB,EAAS,MAAO,MAAO,KAAK,CAChE,CAAO,EAKD,QAAS,CAAC,CACR,QAAS,CAAChB,EAAkBgB,EAAS,OAAQ,OAAQ,MAAO,MAAO,MAAO,QAAS,CACjF,OAAQ,CAACf,CAAY,CAC/B,EAAWA,CAAY,CACvB,CAAO,EAKD,EAAG,CAAC,CACF,EAAG,CAACD,EAAkBgB,EAAS,OAAQ,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,CACvF,CAAO,EAKD,QAAS,CAAC,CACR,QAAS,CAAChB,EAAkBgB,EAAS,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,CACrF,CAAO,EAKD,QAAS,CAAC,CACR,QAAS,CAAChB,EAAkBgB,EAAS,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,CACrF,CAAO,EAKD,KAAM,CAAC,CACL,KAAM,CAAChB,EAAkBgB,EAAS,OAAQ,MAAO,MAAO,KAAK,CACrE,CAAO,EAMD,YAAa,CAAC,CACZ,KAAM,CAAC,OAAQf,EAAcP,CAAiB,CACtD,CAAO,EAKD,iBAAkB,CAAC,cAAe,sBAAsB,EAKxD,aAAc,CAAC,SAAU,YAAY,EAKrC,cAAe,CAAC,CACd,KAAM,CAAC,OAAQ,aAAc,QAAS,SAAU,SAAU,WAAY,OAAQ,YAAa,QAASG,CAAiB,CAC7H,CAAO,EAKD,cAAe,CAAC,CACd,KAAM,CAACc,CAAK,CACpB,CAAO,EAKD,aAAc,CAAC,aAAa,EAK5B,cAAe,CAAC,SAAS,EAKzB,mBAAoB,CAAC,cAAc,EAKnC,aAAc,CAAC,cAAe,eAAe,EAK7C,cAAe,CAAC,oBAAqB,cAAc,EAKnD,eAAgB,CAAC,qBAAsB,mBAAmB,EAK1D,SAAU,CAAC,CACT,SAAU,CAAC,UAAW,QAAS,SAAU,OAAQ,QAAS,SAAUX,CAAgB,CAC5F,CAAO,EAKD,aAAc,CAAC,CACb,aAAc,CAAC,OAAQP,EAAUI,CAAiB,CAC1D,CAAO,EAKD,QAAS,CAAC,CACR,QAAS,CAAC,OAAQ,QAAS,OAAQ,SAAU,UAAW,QAASL,EAAUQ,CAAgB,CACnG,CAAO,EAKD,aAAc,CAAC,CACb,aAAc,CAAC,OAAQA,CAAgB,CAC/C,CAAO,EAKD,kBAAmB,CAAC,CAClB,KAAM,CAAC,OAAQ,OAAQ,UAAWA,CAAgB,CAC1D,CAAO,EAKD,sBAAuB,CAAC,CACtB,KAAM,CAAC,SAAU,SAAS,CAClC,CAAO,EAMD,oBAAqB,CAAC,CACpB,YAAa,CAACe,CAAM,CAC5B,CAAO,EAKD,sBAAuB,CAAC,CACtB,sBAAuB,CAACiB,CAAO,CACvC,CAAO,EAKD,iBAAkB,CAAC,CACjB,KAAM,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,KAAK,CACnE,CAAO,EAKD,aAAc,CAAC,CACb,KAAM,CAACjB,CAAM,CACrB,CAAO,EAKD,eAAgB,CAAC,CACf,eAAgB,CAACiB,CAAO,CAChC,CAAO,EAKD,kBAAmB,CAAC,YAAa,WAAY,eAAgB,cAAc,EAK3E,wBAAyB,CAAC,CACxB,WAAY,CAAC,GAAGe,EAAa,EAAI,MAAM,CAC/C,CAAO,EAKD,4BAA6B,CAAC,CAC5B,WAAY,CAAC,OAAQ,YAAavD,EAAUE,CAAiB,CACrE,CAAO,EAKD,mBAAoB,CAAC,CACnB,mBAAoB,CAAC,OAAQF,EAAUQ,CAAgB,CAC/D,CAAO,EAKD,wBAAyB,CAAC,CACxB,WAAY,CAACe,CAAM,CAC3B,CAAO,EAKD,iBAAkB,CAAC,YAAa,YAAa,aAAc,aAAa,EAKxE,gBAAiB,CAAC,WAAY,gBAAiB,WAAW,EAK1D,YAAa,CAAC,CACZ,KAAM,CAAC,OAAQ,SAAU,UAAW,QAAQ,CACpD,CAAO,EAKD,OAAQ,CAAC,CACP,OAAQ4B,EAAuB,CACvC,CAAO,EAKD,iBAAkB,CAAC,CACjB,MAAO,CAAC,WAAY,MAAO,SAAU,SAAU,WAAY,cAAe,MAAO,QAAS3C,CAAgB,CAClH,CAAO,EAKD,WAAY,CAAC,CACX,WAAY,CAAC,SAAU,SAAU,MAAO,WAAY,WAAY,cAAc,CACtF,CAAO,EAKD,MAAO,CAAC,CACN,MAAO,CAAC,SAAU,QAAS,MAAO,MAAM,CAChD,CAAO,EAKD,QAAS,CAAC,CACR,QAAS,CAAC,OAAQ,SAAU,MAAM,CAC1C,CAAO,EAKD,QAAS,CAAC,CACR,QAAS,CAAC,OAAQA,CAAgB,CAC1C,CAAO,EAMD,gBAAiB,CAAC,CAChB,GAAI,CAAC,QAAS,QAAS,QAAQ,CACvC,CAAO,EAKD,UAAW,CAAC,CACV,UAAW,CAAC,SAAU,UAAW,UAAW,MAAM,CAC1D,CAAO,EAMD,aAAc,CAAC,CACb,aAAc,CAACgC,CAAO,CAC9B,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAAC,SAAU,UAAW,SAAS,CACpD,CAAO,EAKD,cAAe,CAAC,CACd,GAAI,CAAC,GAAGc,EAAY,EAAIzC,EAAmB,CACnD,CAAO,EAKD,YAAa,CAAC,CACZ,GAAI,CAAC,YAAa,CAChB,OAAQ,CAAC,GAAI,IAAK,IAAK,QAAS,OAAO,CACjD,CAAS,CACT,CAAO,EAKD,UAAW,CAAC,CACV,GAAI,CAAC,OAAQ,QAAS,UAAWF,EAAe,CACxD,CAAO,EAKD,WAAY,CAAC,CACX,GAAI,CAAC,OAAQ,CACX,cAAe,CAAC,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAI,CACpE,EAAWI,EAAgB,CAC3B,CAAO,EAKD,WAAY,CAAC,CACX,GAAI,CAACQ,CAAM,CACnB,CAAO,EAKD,oBAAqB,CAAC,CACpB,KAAM,CAACc,CAA0B,CACzC,CAAO,EAKD,mBAAoB,CAAC,CACnB,IAAK,CAACA,CAA0B,CACxC,CAAO,EAKD,kBAAmB,CAAC,CAClB,GAAI,CAACA,CAA0B,CACvC,CAAO,EAKD,gBAAiB,CAAC,CAChB,KAAM,CAACD,CAAkB,CACjC,CAAO,EAKD,eAAgB,CAAC,CACf,IAAK,CAACA,CAAkB,CAChC,CAAO,EAKD,cAAe,CAAC,CACd,GAAI,CAACA,CAAkB,CAC/B,CAAO,EAMD,QAAS,CAAC,CACR,QAAS,CAACR,CAAY,CAC9B,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAACA,CAAY,CAClC,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAACA,CAAY,CAClC,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAACA,CAAY,CAClC,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAACA,CAAY,CAClC,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAACA,CAAY,CAClC,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAACA,CAAY,CAClC,CAAO,EAKD,aAAc,CAAC,CACb,aAAc,CAACA,CAAY,CACnC,CAAO,EAKD,aAAc,CAAC,CACb,aAAc,CAACA,CAAY,CACnC,CAAO,EAKD,aAAc,CAAC,CACb,aAAc,CAACA,CAAY,CACnC,CAAO,EAKD,aAAc,CAAC,CACb,aAAc,CAACA,CAAY,CACnC,CAAO,EAKD,aAAc,CAAC,CACb,aAAc,CAACA,CAAY,CACnC,CAAO,EAKD,aAAc,CAAC,CACb,aAAc,CAACA,CAAY,CACnC,CAAO,EAKD,aAAc,CAAC,CACb,aAAc,CAACA,CAAY,CACnC,CAAO,EAKD,aAAc,CAAC,CACb,aAAc,CAACA,CAAY,CACnC,CAAO,EAKD,WAAY,CAAC,CACX,OAAQ,CAACE,CAAW,CAC5B,CAAO,EAKD,aAAc,CAAC,CACb,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,aAAc,CAAC,CACb,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,aAAc,CAAC,CACb,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,aAAc,CAAC,CACb,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,aAAc,CAAC,CACb,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,aAAc,CAAC,CACb,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,aAAc,CAAC,CACb,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,aAAc,CAAC,CACb,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,iBAAkB,CAAC,CACjB,iBAAkB,CAACU,CAAO,CAClC,CAAO,EAKD,eAAgB,CAAC,CACf,OAAQ,CAAC,GAAGe,EAAa,EAAI,QAAQ,CAC7C,CAAO,EAKD,WAAY,CAAC,CACX,WAAY,CAACzB,CAAW,CAChC,CAAO,EAKD,mBAAoB,CAAC,kBAAkB,EAKvC,WAAY,CAAC,CACX,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,mBAAoB,CAAC,kBAAkB,EAKvC,iBAAkB,CAAC,CACjB,iBAAkB,CAACU,CAAO,CAClC,CAAO,EAKD,eAAgB,CAAC,CACf,OAAQe,EAAa,CAC7B,CAAO,EAKD,eAAgB,CAAC,CACf,OAAQ,CAAC5B,CAAW,CAC5B,CAAO,EAKD,iBAAkB,CAAC,CACjB,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,iBAAkB,CAAC,CACjB,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,iBAAkB,CAAC,CACjB,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,iBAAkB,CAAC,CACjB,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,iBAAkB,CAAC,CACjB,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,iBAAkB,CAAC,CACjB,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,iBAAkB,CAAC,CACjB,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,iBAAkB,CAAC,CACjB,WAAY,CAACA,CAAW,CAChC,CAAO,EAKD,eAAgB,CAAC,CACf,OAAQ,CAACA,CAAW,CAC5B,CAAO,EAKD,gBAAiB,CAAC,CAChB,QAAS,CAAC,GAAI,GAAG4B,EAAa,CAAE,CACxC,CAAO,EAKD,iBAAkB,CAAC,CACjB,iBAAkB,CAACvD,EAAUQ,CAAgB,CACrD,CAAO,EAKD,YAAa,CAAC,CACZ,QAAS,CAACR,EAAUE,CAAiB,CAC7C,CAAO,EAKD,gBAAiB,CAAC,CAChB,QAAS,CAACqB,CAAM,CACxB,CAAO,EAKD,SAAU,CAAC,CACT,KAAM6B,EAA8B,CAC5C,CAAO,EAKD,eAAgB,CAAC,YAAY,EAK7B,aAAc,CAAC,CACb,KAAM,CAAC7B,CAAM,CACrB,CAAO,EAKD,eAAgB,CAAC,CACf,eAAgB,CAACiB,CAAO,CAChC,CAAO,EAKD,gBAAiB,CAAC,CAChB,cAAe,CAACxC,EAAUE,CAAiB,CACnD,CAAO,EAKD,oBAAqB,CAAC,CACpB,cAAe,CAACqB,CAAM,CAC9B,CAAO,EAMD,OAAQ,CAAC,CACP,OAAQ,CAAC,GAAI,QAAS,OAAQd,EAAcQ,EAAiB,CACrE,CAAO,EAKD,eAAgB,CAAC,CACf,OAAQ,CAACE,CAAK,CACtB,CAAO,EAKD,QAAS,CAAC,CACR,QAAS,CAACqB,CAAO,CACzB,CAAO,EAKD,YAAa,CAAC,CACZ,YAAa,CAAC,GAAGgB,GAAa,EAAI,eAAgB,aAAa,CACvE,CAAO,EAKD,WAAY,CAAC,CACX,WAAYA,GAAa,CACjC,CAAO,EAOD,OAAQ,CAAC,CACP,OAAQ,CAAC,GAAI,MAAM,CAC3B,CAAO,EAKD,KAAM,CAAC,CACL,KAAM,CAAC/B,CAAI,CACnB,CAAO,EAKD,WAAY,CAAC,CACX,WAAY,CAACC,CAAU,CAC/B,CAAO,EAKD,SAAU,CAAC,CACT,SAAU,CAACK,CAAQ,CAC3B,CAAO,EAKD,cAAe,CAAC,CACd,cAAe,CAAC,GAAI,OAAQtB,EAAcD,CAAgB,CAClE,CAAO,EAKD,UAAW,CAAC,CACV,UAAW,CAACwB,CAAS,CAC7B,CAAO,EAKD,aAAc,CAAC,CACb,aAAc,CAACC,CAAS,CAChC,CAAO,EAKD,OAAQ,CAAC,CACP,OAAQ,CAACC,CAAM,CACvB,CAAO,EAKD,SAAU,CAAC,CACT,SAAU,CAACQ,CAAQ,CAC3B,CAAO,EAKD,MAAO,CAAC,CACN,MAAO,CAACE,CAAK,CACrB,CAAO,EAMD,kBAAmB,CAAC,CAClB,kBAAmB,CAAC,GAAI,MAAM,CACtC,CAAO,EAKD,gBAAiB,CAAC,CAChB,gBAAiB,CAACnB,CAAI,CAC9B,CAAO,EAKD,sBAAuB,CAAC,CACtB,sBAAuB,CAACC,CAAU,CAC1C,CAAO,EAKD,oBAAqB,CAAC,CACpB,oBAAqB,CAACK,CAAQ,CACtC,CAAO,EAKD,qBAAsB,CAAC,CACrB,qBAAsB,CAACC,CAAS,CACxC,CAAO,EAKD,sBAAuB,CAAC,CACtB,sBAAuB,CAACC,CAAS,CACzC,CAAO,EAKD,kBAAmB,CAAC,CAClB,kBAAmB,CAACC,CAAM,CAClC,CAAO,EAKD,mBAAoB,CAAC,CACnB,mBAAoB,CAACM,CAAO,CACpC,CAAO,EAKD,oBAAqB,CAAC,CACpB,oBAAqB,CAACE,CAAQ,CACtC,CAAO,EAKD,iBAAkB,CAAC,CACjB,iBAAkB,CAACE,CAAK,CAChC,CAAO,EAMD,kBAAmB,CAAC,CAClB,OAAQ,CAAC,WAAY,UAAU,CACvC,CAAO,EAKD,iBAAkB,CAAC,CACjB,iBAAkB,CAACf,CAAa,CACxC,CAAO,EAKD,mBAAoB,CAAC,CACnB,mBAAoB,CAACA,CAAa,CAC1C,CAAO,EAKD,mBAAoB,CAAC,CACnB,mBAAoB,CAACA,CAAa,CAC1C,CAAO,EAKD,eAAgB,CAAC,CACf,MAAO,CAAC,OAAQ,OAAO,CAC/B,CAAO,EAKD,QAAS,CAAC,CACR,QAAS,CAAC,MAAO,QAAQ,CACjC,CAAO,EAMD,WAAY,CAAC,CACX,WAAY,CAAC,OAAQ,MAAO,GAAI,SAAU,UAAW,SAAU,YAAarB,CAAgB,CACpG,CAAO,EAKD,SAAU,CAAC,CACT,SAAUoD,EAAqB,CACvC,CAAO,EAKD,KAAM,CAAC,CACL,KAAM,CAAC,SAAU,KAAM,MAAO,SAAUpD,CAAgB,CAChE,CAAO,EAKD,MAAO,CAAC,CACN,MAAOoD,EAAqB,CACpC,CAAO,EAKD,QAAS,CAAC,CACR,QAAS,CAAC,OAAQ,OAAQ,OAAQ,QAAS,SAAUpD,CAAgB,CAC7E,CAAO,EAMD,UAAW,CAAC,CACV,UAAW,CAAC,GAAI,MAAO,MAAM,CACrC,CAAO,EAKD,MAAO,CAAC,CACN,MAAO,CAACmC,CAAK,CACrB,CAAO,EAKD,UAAW,CAAC,CACV,UAAW,CAACA,CAAK,CACzB,CAAO,EAKD,UAAW,CAAC,CACV,UAAW,CAACA,CAAK,CACzB,CAAO,EAKD,OAAQ,CAAC,CACP,OAAQ,CAACrC,EAAWE,CAAgB,CAC5C,CAAO,EAKD,cAAe,CAAC,CACd,cAAe,CAACuC,CAAS,CACjC,CAAO,EAKD,cAAe,CAAC,CACd,cAAe,CAACA,CAAS,CACjC,CAAO,EAKD,SAAU,CAAC,CACT,SAAU,CAACF,CAAI,CACvB,CAAO,EAKD,SAAU,CAAC,CACT,SAAU,CAACA,CAAI,CACvB,CAAO,EAKD,mBAAoB,CAAC,CACnB,OAAQ,CAAC,SAAU,MAAO,YAAa,QAAS,eAAgB,SAAU,cAAe,OAAQ,WAAYrC,CAAgB,CACrI,CAAO,EAMD,OAAQ,CAAC,CACP,OAAQ,CAAC,OAAQe,CAAM,CAC/B,CAAO,EAKD,WAAY,CAAC,CACX,WAAY,CAAC,OAAQ,MAAM,CACnC,CAAO,EAKD,OAAQ,CAAC,CACP,OAAQ,CAAC,OAAQ,UAAW,UAAW,OAAQ,OAAQ,OAAQ,OAAQ,cAAe,OAAQ,eAAgB,WAAY,OAAQ,YAAa,gBAAiB,QAAS,OAAQ,UAAW,OAAQ,WAAY,aAAc,aAAc,aAAc,WAAY,WAAY,WAAY,WAAY,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,cAAe,cAAe,UAAW,WAAYf,CAAgB,CACrc,CAAO,EAKD,cAAe,CAAC,CACd,MAAO,CAACe,CAAM,CACtB,CAAO,EAKD,iBAAkB,CAAC,CACjB,iBAAkB,CAAC,OAAQ,MAAM,CACzC,CAAO,EAKD,OAAQ,CAAC,CACP,OAAQ,CAAC,OAAQ,IAAK,IAAK,EAAE,CACrC,CAAO,EAKD,kBAAmB,CAAC,CAClB,OAAQ,CAAC,OAAQ,QAAQ,CACjC,CAAO,EAKD,WAAY,CAAC,CACX,WAAY4B,EAAuB,CAC3C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,WAAY,CAAC,CACX,WAAYA,EAAuB,CAC3C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,YAAa,CAAC,CACZ,YAAaA,EAAuB,CAC5C,CAAO,EAKD,aAAc,CAAC,CACb,KAAM,CAAC,QAAS,MAAO,SAAU,YAAY,CACrD,CAAO,EAKD,YAAa,CAAC,CACZ,KAAM,CAAC,SAAU,QAAQ,CACjC,CAAO,EAKD,YAAa,CAAC,CACZ,KAAM,CAAC,OAAQ,IAAK,IAAK,MAAM,CACvC,CAAO,EAKD,kBAAmB,CAAC,CAClB,KAAM,CAAC,YAAa,WAAW,CACvC,CAAO,EAKD,MAAO,CAAC,CACN,MAAO,CAAC,OAAQ,OAAQ,cAAc,CAC9C,CAAO,EAKD,UAAW,CAAC,CACV,YAAa,CAAC,IAAK,OAAQ,OAAO,CAC1C,CAAO,EAKD,UAAW,CAAC,CACV,YAAa,CAAC,IAAK,KAAM,MAAM,CACvC,CAAO,EAKD,WAAY,CAAC,kBAAkB,EAK/B,OAAQ,CAAC,CACP,OAAQ,CAAC,OAAQ,OAAQ,MAAO,MAAM,CAC9C,CAAO,EAKD,cAAe,CAAC,CACd,cAAe,CAAC,OAAQ,SAAU,WAAY,YAAa3C,CAAgB,CACnF,CAAO,EAMD,KAAM,CAAC,CACL,KAAM,CAACe,EAAQ,MAAM,CAC7B,CAAO,EAKD,WAAY,CAAC,CACX,OAAQ,CAACvB,EAAUE,EAAmBG,CAAiB,CAC/D,CAAO,EAKD,OAAQ,CAAC,CACP,OAAQ,CAACkB,EAAQ,MAAM,CAC/B,CAAO,EAMD,GAAI,CAAC,UAAW,aAAa,EAK7B,sBAAuB,CAAC,CACtB,sBAAuB,CAAC,OAAQ,MAAM,CAC9C,CAAO,CACP,EACI,uBAAwB,CACtB,SAAU,CAAC,aAAc,YAAY,EACrC,WAAY,CAAC,eAAgB,cAAc,EAC3C,MAAO,CAAC,UAAW,UAAW,QAAS,MAAO,MAAO,QAAS,SAAU,MAAM,EAC9E,UAAW,CAAC,QAAS,MAAM,EAC3B,UAAW,CAAC,MAAO,QAAQ,EAC3B,KAAM,CAAC,QAAS,OAAQ,QAAQ,EAChC,IAAK,CAAC,QAAS,OAAO,EACtB,EAAG,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,EAClD,GAAI,CAAC,KAAM,IAAI,EACf,GAAI,CAAC,KAAM,IAAI,EACf,EAAG,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,EAClD,GAAI,CAAC,KAAM,IAAI,EACf,GAAI,CAAC,KAAM,IAAI,EACf,KAAM,CAAC,IAAK,GAAG,EACf,YAAa,CAAC,SAAS,EACvB,aAAc,CAAC,cAAe,mBAAoB,aAAc,cAAe,cAAc,EAC7F,cAAe,CAAC,YAAY,EAC5B,mBAAoB,CAAC,YAAY,EACjC,aAAc,CAAC,YAAY,EAC3B,cAAe,CAAC,YAAY,EAC5B,eAAgB,CAAC,YAAY,EAC7B,aAAc,CAAC,UAAW,UAAU,EACpC,QAAS,CAAC,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,YAAY,EACtM,YAAa,CAAC,aAAc,YAAY,EACxC,YAAa,CAAC,aAAc,YAAY,EACxC,YAAa,CAAC,aAAc,YAAY,EACxC,YAAa,CAAC,aAAc,YAAY,EACxC,YAAa,CAAC,aAAc,YAAY,EACxC,YAAa,CAAC,aAAc,YAAY,EACxC,iBAAkB,CAAC,mBAAoB,kBAAkB,EACzD,WAAY,CAAC,aAAc,aAAc,aAAc,aAAc,aAAc,YAAY,EAC/F,aAAc,CAAC,aAAc,YAAY,EACzC,aAAc,CAAC,aAAc,YAAY,EACzC,eAAgB,CAAC,iBAAkB,iBAAkB,iBAAkB,iBAAkB,iBAAkB,gBAAgB,EAC3H,iBAAkB,CAAC,iBAAkB,gBAAgB,EACrD,iBAAkB,CAAC,iBAAkB,gBAAgB,EACrD,WAAY,CAAC,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,WAAW,EACnH,YAAa,CAAC,YAAa,WAAW,EACtC,YAAa,CAAC,YAAa,WAAW,EACtC,WAAY,CAAC,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,YAAa,WAAW,EACnH,YAAa,CAAC,YAAa,WAAW,EACtC,YAAa,CAAC,YAAa,WAAW,EACtC,MAAO,CAAC,UAAW,UAAW,UAAU,EACxC,UAAW,CAAC,OAAO,EACnB,UAAW,CAAC,OAAO,EACnB,WAAY,CAAC,OAAO,CAC1B,EACI,+BAAgC,CAC9B,YAAa,CAAC,SAAS,CAC7B,CACA,CACA,EAMMsC,GAAe,CAACC,EAAY,CAChC,UAAAnI,EACA,OAAAhB,EACA,UAAAlC,EACA,2BAAAwD,EACA,OAAA8H,EAAS,CAAA,EACT,SAAAC,EAAW,CAAA,CACb,IAAM,CACJC,EAAiBH,EAAY,YAAanI,CAAS,EACnDsI,EAAiBH,EAAY,SAAUnJ,CAAM,EAC7CsJ,EAAiBH,EAAY,YAAarL,CAAS,EACnDwL,EAAiBH,EAAY,6BAA8B7H,CAA0B,EACrF,UAAWiI,KAAaF,EACtBG,GAAyBL,EAAWI,CAAS,EAAGF,EAASE,CAAS,CAAC,EAErE,UAAWjM,KAAO8L,EAChBK,GAAsBN,EAAW7L,CAAG,EAAG8L,EAAO9L,CAAG,CAAC,EAEpD,OAAO6L,CACT,EACMG,EAAmB,CAACI,EAAYC,EAAaC,IAAkB,CAC/DA,IAAkB,SACpBF,EAAWC,CAAW,EAAIC,EAE9B,EACMJ,GAA2B,CAACE,EAAYG,IAAmB,CAC/D,GAAIA,EACF,UAAWvM,KAAOuM,EAChBP,EAAiBI,EAAYpM,EAAKuM,EAAevM,CAAG,CAAC,CAG3D,EACMmM,GAAwB,CAACC,EAAYI,IAAgB,CACzD,GAAIA,EACF,UAAWxM,KAAOwM,EAAa,CAC7B,MAAMC,EAAaD,EAAYxM,CAAG,EAC9ByM,IAAe,SACjBL,EAAWpM,CAAG,GAAKoM,EAAWpM,CAAG,GAAK,CAAA,GAAI,OAAOyM,CAAU,EAE/D,CAEJ,EACMC,GAAsB,CAACC,KAAoBC,IAAiB,OAAOD,GAAoB,WAAajG,GAAoB2C,GAAkBsD,EAAiB,GAAGC,CAAY,EAAIlG,GAAoB,IAAMkF,GAAavC,GAAgB,EAAIsD,CAAe,EAAG,GAAGC,CAAY,EC3/EhRC,GAAe,6BCOR,SAASC,GAAa,CAC5B,MAAAC,EACA,KAAAC,EAAO,GACP,GAAGC,CACJ,EAA6E,CAC5E,OACCC,EAAAA,KAAC,MAAA,CACA,MAAOF,EACP,OAAQA,EACR,QAAQ,YACR,cAAa,CAACD,EACb,GAAGE,EAEH,SAAA,CAAAF,EAAQI,EAAAA,IAAC,QAAA,CAAO,SAAAJ,CAAA,CAAM,EAAW,KAClCG,EAAAA,KAAC,IAAA,CAAE,KAAK,eACP,SAAA,CAAAA,EAAAA,KAAC,IAAA,CAAE,UAAU,yBACZ,SAAA,CAAAC,EAAAA,IAAC,SAAA,CAAO,GAAG,IAAI,GAAG,IAAI,KAAK,eAAe,EAAE,GAAA,CAAI,QAC/C,SAAA,CAAO,GAAG,IAAI,GAAG,IAAI,EAAE,IAAI,EAC5BA,EAAAA,IAAC,UAAO,GAAG,KAAK,GAAG,IAAI,KAAK,eAAe,EAAE,GAAA,CAAI,CAAA,EAClD,EACAA,EAAAA,IAAC,SAAO,SAAA,y0BAAA,CAA00B,CAAA,CAAA,CACn1B,CAAA,CAAA,CAAA,CAGH,CA6CA,MAAMC,GAAgB,CACrB,KAAM,kBACN,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,MAAO,SACR,EAIMC,GAAwB,CAC7B,KAAM,UACN,GAAI,UACJ,GAAI,UACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,MAAO,OACR,EAUO,SAASC,GAAK,CACpB,KAAAC,EACA,KAAAP,EAAO,OACP,MAAAD,EACA,UAAAtL,EACA,SAAA+L,EACA,GAAGP,CACJ,EAIG,CACF,OAAIO,EAEFN,EAAAA,KAAC,OAAA,CACA,UAAW,4BAA4BG,GAAsBL,CAAI,CAAC,GAElE,SAAA,CAAAG,EAAAA,IAACG,GAAA,CAAK,KAAAC,EAAY,KAAAP,EAAY,UAAAvL,EAAuB,GAAGwL,EAAO,EAC9DO,CAAA,CAAA,CAAA,EAKHN,EAAAA,KAAC,MAAA,CACC,GAAGD,EACJ,UAAWQ,GAAGL,GAAcJ,CAAI,EAAG,qBAAsBvL,CAAS,EAEjE,SAAA,CAAAsL,EAAQI,EAAAA,IAAC,QAAA,CAAO,SAAAJ,CAAA,CAAM,EAAW,KAClCI,EAAAA,IAAC,OAAI,KAAM,GAAGN,EAAQ,IAAIU,CAAI,GAAI,KAAK,aAAA,CAAc,CAAA,CAAA,CAAA,CAGxD,CCzGO,MAAMG,EAAgB,CAS5B,OAAQ,CACP,KAAM,CACL,GAAM,UACN,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,SAAA,EAER,OAAQ,qBACR,MAAO,oBACP,KAAM,mBACN,WAAY,yBACZ,UAAW,wBACX,WAAY,yBACZ,yBAA0B,qCAC1B,UAAW,mBACX,QAAS,CACR,QAAS,sBACT,WAAY,gCAAA,EAEb,UAAW,CACV,QAAS,wBACT,WAAY,kCAAA,EAEb,YAAa,CACZ,QAAS,0BACT,WAAY,oCAAA,EAEb,MAAO,CACN,QAAS,oBACT,WAAY,8BAAA,EAEb,OAAQ,CACP,QAAS,qBACT,WAAY,+BAAA,EAEb,QAAS,CACR,QAAS,sBACT,WAAY,gCAAA,EAEb,KAAM,CACL,QAAS,mBACT,WAAY,6BAAA,CACb,EAED,aAAc,CACb,GAAI,gBACJ,GAAI,4BACJ,GAAI,2BAAA,EAEL,SAAU,CAGT,KAAM,CAAC,OAAQ,CAAE,WAAY,UAAW,WAAY,MAAO,EAE3D,GAAI,CAAC,SAAU,CAAE,WAAY,WAAY,WAAY,MAAO,EAE5D,GAAI,CAAC,SAAU,CAAE,WAAY,OAAQ,WAAY,MAAO,EAExD,GAAI,CAAC,OAAQ,CAAE,WAAY,UAAW,WAAY,MAAO,EAEzD,GAAI,CAAC,UAAW,CAAE,WAAY,UAAW,WAAY,MAAO,EAE5D,GAAI,CAAC,SAAU,CAAE,WAAY,OAAQ,WAAY,MAAO,EAExD,GAAI,CAAC,OAAQ,CAAE,WAAY,UAAW,WAAY,MAAO,EAGzD,WAAY,CAAC,OAAQ,CAAE,WAAY,UAAW,EAE9C,WAAY,CAAC,SAAU,CAAE,WAAY,UAAW,EAEhD,WAAY,CAAC,UAAW,CAAE,WAAY,SAAU,EAEhD,WAAY,CAAC,OAAQ,CAAE,WAAY,UAAW,EAE9C,UAAW,CAAC,UAAW,CAAE,WAAY,UAAW,EAEhD,UAAW,CAAC,SAAU,CAAE,WAAY,OAAQ,EAE5C,UAAW,CAAC,UAAW,CAAE,WAAY,UAAW,EAEhD,UAAW,CAAC,OAAQ,CAAE,WAAY,UAAW,EAE7C,UAAW,CAAC,WAAY,CAAE,WAAY,WAAY,EAElD,WAAY,CAAC,UAAW,CAAE,WAAY,OAAQ,EAG9C,QAAS,CAAC,WAAY,CAAE,WAAY,SAAU,WAAY,MAAO,EAEjE,OAAQ,CAAC,UAAW,CAAE,WAAY,OAAQ,WAAY,MAAO,CAAA,EAY9D,UAAW,CACV,iBAAkB,+BAClB,eAAgB,4BAAA,CAElB,ECrIaC,GAAe,SAAsB,CACjD,IAAAC,EACA,GAAGX,CACJ,EAGI,CACH,KAAM,CACL,GAAAY,EACA,KAAAC,EAEA,SAAAC,EACA,OAAAC,EAAS,GACT,SAAAC,EACA,SAAAT,EACA,GAAGU,CAAA,EACAjB,EACJ,IAAIkB,EAAQ,GACRC,EAA0BJ,GAAU,EAAQD,EAkBhD,MAhBI,CAACK,GAA2B,OAAON,GAAS,WAC/CM,EAA0BN,EAAK,SAAS,GAAG,GAAKA,EAAK,WAAW,GAAG,GAGhE,CAACM,GAA2B,OAAOP,GAAO,WAC7CM,EAAQN,EACRO,EAA0BP,EAAG,SAAS,GAAG,GAGtC,CAACO,GAA2B,OAAOP,GAAO,WAC7CM,EAAQ,GAAGN,EAAG,UAAY,EAAE,GAAGA,EAAG,KAAO,IAAIA,EAAG,IAAI,GAAK,EAAE,GAC1DA,EAAG,OAAS,IAAIA,EAAG,MAAM,GAAK,EAC/B,GACAO,EAA0B,EAAQP,EAAG,UAAU,SAAS,GAAG,GAGxDO,EAEFjB,MAAC,KAAG,GAAGe,EAAM,SAAAH,EAAoB,KAAMD,GAAQK,EAAO,IAAAP,EACpD,SAAAJ,CAAA,CACF,EAIAL,MAACkB,GAAA,CAAK,SAAAJ,EAAoB,GAAIJ,GAAMC,GAAQ,GAAK,GAAGI,EAAM,IAAAN,EACxD,SAAAJ,CAAA,CACF,CAGH,EAsBO,SAASc,IAAa,CAC5B,KAAM,CAACC,EAASC,CAAU,EAAIC,EAAAA,SAAe,EAAK,EAElDC,OAAAA,EAAAA,UAAgB,IAAM,CACrB,MAAMC,EAAOC,GAAqBJ,EAAWI,EAAE,MAAM,EACrD,gBAAS,iBAAiB,UAAWD,CAAG,EACxC,SAAS,iBAAiB,QAASA,CAAG,EAC/B,IAAM,CACZ,SAAS,oBAAoB,QAASA,CAAG,EACzC,SAAS,oBAAoB,UAAWA,CAAG,CAC5C,CACD,EAAG,CAAA,CAAE,EACEJ,CACR,CAEO,MAAMM,GAAU,SAAiB,CACvC,IAAAjB,EACA,GAAAkB,EACA,SAAAtB,EACA,GAAIuB,EACJ,UAAAtN,EACA,GAAGwL,CACJ,EAMG,CACF,MAAM+B,EAAOD,GAAU,KACjBE,EAASH,GAAMjO,GAAQ2M,EAAW,OAAOA,CAAQ,EAAI,EAAE,EAC7D,OACCN,EAAAA,KAAC8B,EAAA,CACA,GAAIC,GAAU,OACd,IAAArB,EACA,UAAWH,GAAG,iBAAkBhM,CAAS,EACxC,GAAGwL,EAEH,SAAA,CAAAgC,EACA9B,EAAAA,IAACkB,GAAA,CACA,cAAY,OACZ,SAAU,GACV,GAAI,IAAIY,CAAM,GACd,UAAU,qIAEV,SAAA9B,EAAAA,IAACG,GAAA,CAAK,KAAK,QAAA,CAAS,CAAA,CAAA,EAElB,KACHE,CAAA,CAAA,CAAA,CAGJ,EASO,SAAS0B,GACfC,EACAC,EAAyB,gBACxB,CACD,OAAI,OAAOD,GAAU,SAAiBA,EAErCA,GACA,OAAOA,GAAU,UACjB,YAAaA,GACb,OAAOA,EAAM,SAAY,SAElBA,EAAM,QAEPC,CACR,CAEA,SAASC,IAAe,CACvB,MAAM/F,EAAS,CAAA,EACf,SAAW,CAACtJ,EAAKsP,CAAK,IAAK,OAAO,QAAQ5B,EAAc,MAAM,EAC7D,GAAI,OAAO4B,GAAU,SACpBhG,EAAO,KAAKtJ,CAAG,MACT,CACN,MAAMuP,EAAa,OAAO,KAAKD,CAAK,EAAE,IAAKE,GAC1CA,IAAW,UAAY,GAAKA,CAAA,EAE7BlG,EAAO,KAAK,CAAE,CAACtJ,CAAG,EAAGuP,EAAY,CAClC,CAED,OAAOjG,CACR,CAEA,MAAMmG,GAAgB/C,GAAoB,CACzC,OAAQ,CACP,MAAO,CACN,OAAQ2C,GAAA,EACR,aAAc,OAAO,KAAK3B,EAAc,YAAY,CAAA,EAErD,YAAa,CACZ,YAAa,CAAC,CAAE,KAAM,OAAO,KAAKA,EAAc,QAAQ,EAAG,EAC3D,QAAS,CAAC,CAAE,QAAS,OAAO,KAAKA,EAAc,SAAS,CAAA,CAAG,CAAA,CAC5D,CAEF,CAAC,EAEM,SAASD,MAAMiC,EAAsB,CAC3C,OAAOD,GAAcE,GAAKD,CAAM,CAAC,CAClC,CAEO,SAASE,GAAaC,EAAkB,CAC9C,MAAMC,EAAM,IAAI,IAAID,EAAQ,GAAG,EACzBE,EACLF,EAAQ,QAAQ,IAAI,kBAAkB,GACtCA,EAAQ,QAAQ,IAAI,MAAM,GAC1BC,EAAI,KAGL,MAAO,GADUC,EAAK,SAAS,WAAW,EAAI,QAAUD,EAAI,QAC1C,KAAKC,CAAI,EAC5B,CAEO,SAASC,GAAW,CAC1B,QAAAH,EACA,OAAAI,EAASJ,EAAUD,GAAaC,CAAO,EAAI,OAAO,SAAS,OAC3D,KAAAK,CACD,EAWG,CACF,MAAMJ,EAAM,IAAI,IAAIG,CAAM,EAC1B,OAAAH,EAAI,KAAO,OAAOI,CAAI,EACfJ,EAAI,SAAA,CACZ,CA2KA,SAASK,GACRC,EACAzQ,EACC,CACD,IAAI0Q,EAA8C,KAClD,MAAO,IAAIC,IAA+B,CACrCD,gBAAoBA,CAAK,EAC7BA,EAAQ,WAAW,IAAM,CACxBD,EAAG,GAAGE,CAAI,CACX,EAAG3Q,CAAK,CACT,CACD,CAKO,SAAS4Q,GAEdC,EAAoB7Q,EAAe,CACpC,MAAM8Q,EAAcC,EAAAA,OAAOF,CAAQ,EACnCG,OAAAA,EAAAA,UAAU,IAAM,CACfF,EAAY,QAAUD,CACvB,CAAC,EACMI,EAAAA,QACN,IACCT,GACC,IAAIG,IAA+BG,EAAY,QAAQ,GAAGH,CAAI,EAC9D3Q,CAAA,EAEF,CAACA,CAAK,CAAA,CAER,CAkBO,SAASkR,GAAgBC,EAAwBC,EAAqB,CAC5E,MAAMC,EAAoBF,EAAe,SAAA,EAAW,SAAS,EAAG,GAAG,EACnE,OAAKC,EAEE,aAAaC,CAAiB,IAAID,CAAM,GAF3B,aAAaC,CAAiB,EAGnD,CAEO,SAASC,GACfH,EACAI,EACAC,EACC,CACD,MAAMH,EAAoBF,EAAe,SAAA,EAAW,SAAS,EAAG,GAAG,EACnE,GAAI,CAACI,EAAY,MAAO,aAAaF,CAAiB,GAEtD,MAAMI,EAAgBF,EAAW,SAAA,EAAW,SAAS,EAAG,GAAG,EAC3D,OAAKC,EAEE,aAAaH,CAAiB,IAAII,CAAa,IAAID,CAAI,GAF5C,aAAaH,CAAiB,IAAII,CAAa,EAGlE","x_google_ignoreList":[0,1,2,3,4,5,6]}
|