@baseplate-dev/plugin-auth 3.0.1 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/auth/core/components/auth-definition-editor.js +1 -1
  2. package/dist/auth/core/components/auth-definition-editor.js.map +1 -1
  3. package/dist/auth/core/schema/plugin-definition.d.ts +6 -39
  4. package/dist/auth/core/schema/plugin-definition.d.ts.map +1 -1
  5. package/dist/auth/core/schema/roles/schema.d.ts +7 -27
  6. package/dist/auth/core/schema/roles/schema.d.ts.map +1 -1
  7. package/dist/auth/core/schema/roles/schema.js +1 -1
  8. package/dist/auth/core/schema/roles/schema.js.map +1 -1
  9. package/dist/auth0/core/components/auth0-definition-editor.js +1 -1
  10. package/dist/auth0/core/components/auth0-definition-editor.js.map +1 -1
  11. package/dist/auth0/core/schema/plugin-definition.d.ts +1 -1
  12. package/dist/auth0/core/schema/plugin-definition.d.ts.map +1 -1
  13. package/dist/auth0/generators/react/auth0-apollo/auth0-apollo.generator.d.ts +1 -1
  14. package/dist/auth0/generators/react/auth0-hooks/auth0-hooks.generator.d.ts +1 -1
  15. package/dist/auth0/generators/react/auth0-pages/auth0-pages.generator.d.ts +1 -1
  16. package/dist/auth0/generators/react/react-auth0/react-auth0.generator.d.ts +1 -1
  17. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.js +1 -1
  18. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.js.map +1 -1
  19. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.js +1 -1
  20. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.js.map +1 -1
  21. package/dist/local-auth/admin/generators/admin-crud-roles-column/admin-crud-roles-column.generator.d.ts +1 -1
  22. package/dist/local-auth/admin/generators/admin-crud-roles-column/admin-crud-roles-column.generator.js +1 -1
  23. package/dist/local-auth/admin/generators/admin-crud-roles-column/admin-crud-roles-column.generator.js.map +1 -1
  24. package/dist/local-auth/admin/schema/manage-role-action.d.ts +5 -11
  25. package/dist/local-auth/admin/schema/manage-role-action.d.ts.map +1 -1
  26. package/dist/local-auth/admin/schema/reset-password-action.d.ts +5 -11
  27. package/dist/local-auth/admin/schema/reset-password-action.d.ts.map +1 -1
  28. package/dist/local-auth/admin/schema/roles-column.d.ts +1 -10
  29. package/dist/local-auth/admin/schema/roles-column.d.ts.map +1 -1
  30. package/dist/local-auth/core/components/local-auth-definition-editor.js +1 -1
  31. package/dist/local-auth/core/components/local-auth-definition-editor.js.map +1 -1
  32. package/dist/local-auth/core/generators/auth-apollo/auth-apollo.generator.d.ts +2 -2
  33. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.d.ts.map +1 -1
  34. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.js +0 -1
  35. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.js.map +1 -1
  36. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.ts +0 -1
  37. package/dist/local-auth/core/generators/auth-hooks/auth-hooks.generator.d.ts +2 -2
  38. package/dist/local-auth/core/generators/auth-hooks/generated/index.d.ts +2 -2
  39. package/dist/local-auth/core/generators/auth-hooks/generated/template-renderers.d.ts +1 -1
  40. package/dist/local-auth/core/generators/auth-hooks/generated/typed-templates.d.ts +2 -2
  41. package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.d.ts +2 -2
  42. package/dist/local-auth/core/generators/auth-routes/generated/index.d.ts +3 -3
  43. package/dist/local-auth/core/generators/auth-routes/generated/template-renderers.d.ts +1 -1
  44. package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.d.ts +4 -4
  45. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.d.ts +3 -11
  46. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.d.ts.map +1 -1
  47. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js +1 -4
  48. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js.map +1 -1
  49. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.tsx +1 -4
  50. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.d.ts +3 -11
  51. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.d.ts.map +1 -1
  52. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.js +1 -4
  53. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.js.map +1 -1
  54. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.tsx +1 -4
  55. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/route.d.ts +1 -1
  56. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/route.d.ts.map +1 -1
  57. package/dist/local-auth/core/generators/react-auth/react-auth.generator.d.ts +1 -1
  58. package/dist/local-auth/core/generators/react-session/generated/index.d.ts +1 -1
  59. package/dist/local-auth/core/generators/react-session/generated/ts-import-providers.d.ts +3 -3
  60. package/dist/local-auth/core/generators/react-session/generated/ts-import-providers.js +2 -2
  61. package/dist/local-auth/core/generators/react-session/generated/typed-templates.js +1 -1
  62. package/dist/local-auth/core/generators/react-session/react-session.generator.d.ts +2 -2
  63. package/dist/local-auth/core/generators/react-session/templates/src/app/user-session-provider.d.ts.map +1 -1
  64. package/dist/local-auth/core/generators/react-session/templates/src/app/user-session-provider.js +16 -0
  65. package/dist/local-auth/core/generators/react-session/templates/src/app/user-session-provider.js.map +1 -1
  66. package/dist/local-auth/core/generators/react-session/templates/src/app/user-session-provider.tsx +17 -0
  67. package/dist/local-auth/core/generators/react-session/templates/src/services/user-session-client.d.ts.map +1 -1
  68. package/dist/local-auth/core/generators/react-session/templates/src/services/user-session-client.js +8 -2
  69. package/dist/local-auth/core/generators/react-session/templates/src/services/user-session-client.js.map +1 -1
  70. package/dist/local-auth/core/generators/react-session/templates/src/services/user-session-client.ts +8 -2
  71. package/dist/local-auth/core/schema/plugin-definition.d.ts +3 -9
  72. package/dist/local-auth/core/schema/plugin-definition.d.ts.map +1 -1
  73. package/dist/placeholder-auth/core/components/placeholder-auth-definition-editor.js +1 -1
  74. package/dist/placeholder-auth/core/components/placeholder-auth-definition-editor.js.map +1 -1
  75. package/dist/placeholder-auth/core/generators/placeholder-auth-hooks/placeholder-auth-hooks.generator.d.ts +1 -1
  76. package/dist/placeholder-auth/core/generators/placeholder-auth-module/auth-module.generator.d.ts +1 -1
  77. package/dist/placeholder-auth/core/generators/placeholder-react-auth/react-auth.generator.d.ts +1 -1
  78. package/dist/placeholder-auth/core/schema/plugin-definition.d.ts +1 -1
  79. package/dist/placeholder-auth/core/schema/plugin-definition.d.ts.map +1 -1
  80. package/dist/web/assets/{__federation_expose_auth0CoreCommon-xk1Gj1WU.js → __federation_expose_auth0CoreCommon-DxPG_Wc0.js} +3 -3
  81. package/dist/web/assets/{__federation_expose_auth0CoreCommon-xk1Gj1WU.js.map → __federation_expose_auth0CoreCommon-DxPG_Wc0.js.map} +1 -1
  82. package/dist/web/assets/{__federation_expose_auth0CoreWeb-CAiUkJwE.js → __federation_expose_auth0CoreWeb-B9jV1EyN.js} +7 -7
  83. package/dist/web/assets/__federation_expose_auth0CoreWeb-B9jV1EyN.js.map +1 -0
  84. package/dist/web/assets/{__federation_expose_authCoreCommon-K21saJbW.js → __federation_expose_authCoreCommon-Cxa_7fkO.js} +3 -3
  85. package/dist/web/assets/{__federation_expose_authCoreCommon-K21saJbW.js.map → __federation_expose_authCoreCommon-Cxa_7fkO.js.map} +1 -1
  86. package/dist/web/assets/{__federation_expose_authCoreWeb-L7mv-Kl9.js → __federation_expose_authCoreWeb-CTQI1rXb.js} +9 -9
  87. package/dist/web/assets/__federation_expose_authCoreWeb-CTQI1rXb.js.map +1 -0
  88. package/dist/web/assets/{__federation_expose_local-authAdminCommon-BcMGRCCu.js → __federation_expose_local-authAdminCommon-C0_ovnDb.js} +2 -2
  89. package/dist/web/assets/{__federation_expose_local-authAdminCommon-BcMGRCCu.js.map → __federation_expose_local-authAdminCommon-C0_ovnDb.js.map} +1 -1
  90. package/dist/web/assets/{__federation_expose_local-authAdminWeb-DUY1rKEt.js → __federation_expose_local-authAdminWeb-GqHU6av7.js} +2 -2
  91. package/dist/web/assets/{__federation_expose_local-authAdminWeb-DUY1rKEt.js.map → __federation_expose_local-authAdminWeb-GqHU6av7.js.map} +1 -1
  92. package/dist/web/assets/{__federation_expose_local-authCoreCommon-B1wtgXDT.js → __federation_expose_local-authCoreCommon-PHXPCKoj.js} +3 -3
  93. package/dist/web/assets/{__federation_expose_local-authCoreCommon-B1wtgXDT.js.map → __federation_expose_local-authCoreCommon-PHXPCKoj.js.map} +1 -1
  94. package/dist/web/assets/{__federation_expose_local-authCoreWeb-CSWj3XON.js → __federation_expose_local-authCoreWeb-Dz4oU0uP.js} +7 -7
  95. package/dist/web/assets/__federation_expose_local-authCoreWeb-Dz4oU0uP.js.map +1 -0
  96. package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-BTZdABuy.js → __federation_expose_placeholder-authCoreCommon-CrB_sJO_.js} +3 -3
  97. package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-BTZdABuy.js.map → __federation_expose_placeholder-authCoreCommon-CrB_sJO_.js.map} +1 -1
  98. package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-DXc_X2aO.js → __federation_expose_placeholder-authCoreWeb-KJ8YuuIQ.js} +7 -7
  99. package/dist/web/assets/__federation_expose_placeholder-authCoreWeb-KJ8YuuIQ.js.map +1 -0
  100. package/dist/web/assets/{__federation_fn_import-BVpKhyMw.js → __federation_fn_import-CVjKjdRb.js} +2 -2
  101. package/dist/web/assets/{__federation_fn_import-BVpKhyMw.js.map → __federation_fn_import-CVjKjdRb.js.map} +1 -1
  102. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-gdwlRH2l.js → web-BTmJxb08.js} +11 -6
  103. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-BTmJxb08.js.map +1 -0
  104. package/dist/web/assets/__federation_shared_@baseplate-dev/{project-builder-lib-BvJ1_iif.js → project-builder-lib-FK4Jv94w.js} +620 -644
  105. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-FK4Jv94w.js.map +1 -0
  106. package/dist/web/assets/__federation_shared_@baseplate-dev/{ui-components-E30UR3cY.js → ui-components-jZLf5m_y.js} +5 -5
  107. package/dist/web/assets/__federation_shared_@baseplate-dev/{ui-components-E30UR3cY.js.map → ui-components-jZLf5m_y.js.map} +1 -1
  108. package/dist/web/assets/__federation_shared_@baseplate-dev/{utils-Ciu7eAT9.js → utils-CAgM5SRt.js} +47 -48
  109. package/dist/web/assets/__federation_shared_@baseplate-dev/utils-CAgM5SRt.js.map +1 -0
  110. package/dist/web/assets/__federation_shared_@tanstack/{react-router-AU7vpPwr.js → react-router-DynsSbJG.js} +2541 -2240
  111. package/dist/web/assets/__federation_shared_@tanstack/react-router-DynsSbJG.js.map +1 -0
  112. package/dist/web/assets/__federation_shared_zod-B6wbpZ4f.js +12007 -0
  113. package/dist/web/assets/__federation_shared_zod-B6wbpZ4f.js.map +1 -0
  114. package/dist/web/assets/{get-auth-plugin-definition-CHOjVGaq.js → get-auth-plugin-definition-DqZ2Eg7c.js} +2 -2
  115. package/dist/web/assets/{get-auth-plugin-definition-CHOjVGaq.js.map → get-auth-plugin-definition-DqZ2Eg7c.js.map} +1 -1
  116. package/dist/web/assets/{index-DqPqnxYC.js → index-Dccn3WBN.js} +2 -2
  117. package/dist/web/assets/{index-DqPqnxYC.js.map → index-Dccn3WBN.js.map} +1 -1
  118. package/dist/web/assets/{index.esm-DUunUtBj.js → index.esm-DeCjXqFv.js} +2 -2
  119. package/dist/web/assets/{index.esm-DUunUtBj.js.map → index.esm-DeCjXqFv.js.map} +1 -1
  120. package/dist/web/assets/{model-merger-CI1pu411.js → model-merger-kOQ_dmiE.js} +326 -170
  121. package/dist/web/assets/model-merger-kOQ_dmiE.js.map +1 -0
  122. package/dist/web/assets/{plugin-definition-CIiMl7Zf.js → plugin-definition-CxKhFkmJ.js} +3 -3
  123. package/dist/web/assets/plugin-definition-CxKhFkmJ.js.map +1 -0
  124. package/dist/web/assets/{plugin-definition--cfUfY5Z.js → plugin-definition-DKygiFuR.js} +2 -2
  125. package/dist/web/assets/{plugin-definition--cfUfY5Z.js.map → plugin-definition-DKygiFuR.js.map} +1 -1
  126. package/dist/web/assets/{plugin-definition-BzhiPIBh.js → plugin-definition-JFxKP18O.js} +2 -2
  127. package/dist/web/assets/{plugin-definition-BzhiPIBh.js.map → plugin-definition-JFxKP18O.js.map} +1 -1
  128. package/dist/web/assets/{plugin-definition-BYzEIUL9.js → plugin-definition-qkkt1X28.js} +2 -2
  129. package/dist/web/assets/{plugin-definition-BYzEIUL9.js.map → plugin-definition-qkkt1X28.js.map} +1 -1
  130. package/dist/web/assets/{react-DW8S9iUr.js → react-DA5A88WZ.js} +2 -2
  131. package/dist/web/assets/{react-DW8S9iUr.js.map → react-DA5A88WZ.js.map} +1 -1
  132. package/dist/web/assets/registries-19UehlAo.js +1081 -0
  133. package/dist/web/assets/registries-19UehlAo.js.map +1 -0
  134. package/dist/web/assets/remoteEntry.js +10 -10
  135. package/dist/web/assets/styles-CfTjrsB-.js +59 -0
  136. package/dist/web/assets/styles-CfTjrsB-.js.map +1 -0
  137. package/package.json +15 -15
  138. package/dist/index.js.map +0 -1
  139. package/dist/web/assets/__federation_expose_auth0CoreWeb-CAiUkJwE.js.map +0 -1
  140. package/dist/web/assets/__federation_expose_authCoreWeb-L7mv-Kl9.js.map +0 -1
  141. package/dist/web/assets/__federation_expose_local-authCoreWeb-CSWj3XON.js.map +0 -1
  142. package/dist/web/assets/__federation_expose_placeholder-authCoreWeb-DXc_X2aO.js.map +0 -1
  143. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-gdwlRH2l.js.map +0 -1
  144. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-BvJ1_iif.js.map +0 -1
  145. package/dist/web/assets/__federation_shared_@baseplate-dev/utils-Ciu7eAT9.js.map +0 -1
  146. package/dist/web/assets/__federation_shared_@tanstack/react-router-AU7vpPwr.js.map +0 -1
  147. package/dist/web/assets/__federation_shared_zod-BGUJlEOa.js +0 -4291
  148. package/dist/web/assets/__federation_shared_zod-BGUJlEOa.js.map +0 -1
  149. package/dist/web/assets/model-merger-CI1pu411.js.map +0 -1
  150. package/dist/web/assets/plugin-definition-CIiMl7Zf.js.map +0 -1
  151. package/dist/web/assets/styles-N05E1ZaS.js +0 -58
  152. package/dist/web/assets/styles-N05E1ZaS.js.map +0 -1
  153. package/dist/web-export.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-router-AU7vpPwr.js","sources":["../../../../../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/shim/index.js","../../../../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../../../../../node_modules/.pnpm/tiny-warning@1.0.3/node_modules/tiny-warning/dist/tiny-warning.esm.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.7.2/node_modules/@tanstack/store/dist/esm/scheduler.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.7.2/node_modules/@tanstack/store/dist/esm/types.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.7.2/node_modules/@tanstack/store/dist/esm/store.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.7.2/node_modules/@tanstack/store/dist/esm/derived.js","../../../../../../node_modules/.pnpm/@tanstack+history@1.129.7/node_modules/@tanstack/history/dist/esm/index.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/utils.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/path.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/not-found.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/scroll-restoration.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/qss.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/searchParams.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/root.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/redirect.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/lru-cache.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/router.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/defer.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/link.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/Matches.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/route.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/searchMiddleware.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/awaited.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/CatchBoundary.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/ClientOnly.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/shim/with-selector.js","../../../../../../node_modules/.pnpm/@tanstack+react-store@0.7.3_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-store/dist/esm/index.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/routerContext.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useRouter.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useRouterState.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/matchContext.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useMatch.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useLoaderData.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useLoaderDeps.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useParams.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useSearch.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useNavigate.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/utils.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/link.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/route.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/fileRoute.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/lazyRouteComponent.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Transitioner.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/not-found.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/SafeFragment.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/renderRouteNotFound.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/ScriptOnce.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/scroll-restoration.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Match.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Matches.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/router.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/RouterProvider.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/ScrollRestoration.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useBlocker.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useRouteContext.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useLocation.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useCanGoBack.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Asset.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/HeadContent.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Scripts.js"],"sourcesContent":["/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","var isProduction = process.env.NODE_ENV === 'production';\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n\n var text = \"Warning: \" + message;\n\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\n\nexport default warning;\n","import { Derived } from \"./derived.js\";\nconst __storeToDerived = /* @__PURE__ */ new WeakMap();\nconst __derivedToStore = /* @__PURE__ */ new WeakMap();\nconst __depsThatHaveWrittenThisTick = {\n current: []\n};\nlet __isFlushing = false;\nlet __batchDepth = 0;\nconst __pendingUpdates = /* @__PURE__ */ new Set();\nconst __initialBatchValues = /* @__PURE__ */ new Map();\nfunction __flush_internals(relatedVals) {\n const sorted = Array.from(relatedVals).sort((a, b) => {\n if (a instanceof Derived && a.options.deps.includes(b)) return 1;\n if (b instanceof Derived && b.options.deps.includes(a)) return -1;\n return 0;\n });\n for (const derived of sorted) {\n if (__depsThatHaveWrittenThisTick.current.includes(derived)) {\n continue;\n }\n __depsThatHaveWrittenThisTick.current.push(derived);\n derived.recompute();\n const stores = __derivedToStore.get(derived);\n if (stores) {\n for (const store of stores) {\n const relatedLinkedDerivedVals = __storeToDerived.get(store);\n if (!relatedLinkedDerivedVals) continue;\n __flush_internals(relatedLinkedDerivedVals);\n }\n }\n }\n}\nfunction __notifyListeners(store) {\n store.listeners.forEach(\n (listener) => listener({\n prevVal: store.prevState,\n currentVal: store.state\n })\n );\n}\nfunction __notifyDerivedListeners(derived) {\n derived.listeners.forEach(\n (listener) => listener({\n prevVal: derived.prevState,\n currentVal: derived.state\n })\n );\n}\nfunction __flush(store) {\n if (__batchDepth > 0 && !__initialBatchValues.has(store)) {\n __initialBatchValues.set(store, store.prevState);\n }\n __pendingUpdates.add(store);\n if (__batchDepth > 0) return;\n if (__isFlushing) return;\n try {\n __isFlushing = true;\n while (__pendingUpdates.size > 0) {\n const stores = Array.from(__pendingUpdates);\n __pendingUpdates.clear();\n for (const store2 of stores) {\n const prevState = __initialBatchValues.get(store2) ?? store2.prevState;\n store2.prevState = prevState;\n __notifyListeners(store2);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n __depsThatHaveWrittenThisTick.current.push(store2);\n __flush_internals(derivedVals);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n for (const derived of derivedVals) {\n __notifyDerivedListeners(derived);\n }\n }\n }\n } finally {\n __isFlushing = false;\n __depsThatHaveWrittenThisTick.current = [];\n __initialBatchValues.clear();\n }\n}\nfunction batch(fn) {\n __batchDepth++;\n try {\n fn();\n } finally {\n __batchDepth--;\n if (__batchDepth === 0) {\n const pendingUpdateToFlush = Array.from(__pendingUpdates)[0];\n if (pendingUpdateToFlush) {\n __flush(pendingUpdateToFlush);\n }\n }\n }\n}\nexport {\n __depsThatHaveWrittenThisTick,\n __derivedToStore,\n __flush,\n __storeToDerived,\n batch\n};\n//# sourceMappingURL=scheduler.js.map\n","function isUpdaterFunction(updater) {\n return typeof updater === \"function\";\n}\nexport {\n isUpdaterFunction\n};\n//# sourceMappingURL=types.js.map\n","import { __flush } from \"./scheduler.js\";\nimport { isUpdaterFunction } from \"./types.js\";\nclass Store {\n constructor(initialState, options) {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options) == null ? void 0 : _a.onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.prevState = initialState;\n this.state = initialState;\n this.options = options;\n }\n setState(updater) {\n var _a, _b, _c;\n this.prevState = this.state;\n if ((_a = this.options) == null ? void 0 : _a.updateFn) {\n this.state = this.options.updateFn(this.prevState)(updater);\n } else {\n if (isUpdaterFunction(updater)) {\n this.state = updater(this.prevState);\n } else {\n this.state = updater;\n }\n }\n (_c = (_b = this.options) == null ? void 0 : _b.onUpdate) == null ? void 0 : _c.call(_b);\n __flush(this);\n }\n}\nexport {\n Store\n};\n//# sourceMappingURL=store.js.map\n","import { Store } from \"./store.js\";\nimport { __storeToDerived, __derivedToStore } from \"./scheduler.js\";\nclass Derived {\n constructor(options) {\n this.listeners = /* @__PURE__ */ new Set();\n this._subscriptions = [];\n this.lastSeenDepValues = [];\n this.getDepVals = () => {\n const prevDepVals = [];\n const currDepVals = [];\n for (const dep of this.options.deps) {\n prevDepVals.push(dep.prevState);\n currDepVals.push(dep.state);\n }\n this.lastSeenDepValues = currDepVals;\n return {\n prevDepVals,\n currDepVals,\n prevVal: this.prevState ?? void 0\n };\n };\n this.recompute = () => {\n var _a, _b;\n this.prevState = this.state;\n const { prevDepVals, currDepVals, prevVal } = this.getDepVals();\n this.state = this.options.fn({\n prevDepVals,\n currDepVals,\n prevVal\n });\n (_b = (_a = this.options).onUpdate) == null ? void 0 : _b.call(_a);\n };\n this.checkIfRecalculationNeededDeeply = () => {\n for (const dep of this.options.deps) {\n if (dep instanceof Derived) {\n dep.checkIfRecalculationNeededDeeply();\n }\n }\n let shouldRecompute = false;\n const lastSeenDepValues = this.lastSeenDepValues;\n const { currDepVals } = this.getDepVals();\n for (let i = 0; i < currDepVals.length; i++) {\n if (currDepVals[i] !== lastSeenDepValues[i]) {\n shouldRecompute = true;\n break;\n }\n }\n if (shouldRecompute) {\n this.recompute();\n }\n };\n this.mount = () => {\n this.registerOnGraph();\n this.checkIfRecalculationNeededDeeply();\n return () => {\n this.unregisterFromGraph();\n for (const cleanup of this._subscriptions) {\n cleanup();\n }\n };\n };\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options).onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.options = options;\n this.state = options.fn({\n prevDepVals: void 0,\n prevVal: void 0,\n currDepVals: this.getDepVals().currDepVals\n });\n }\n registerOnGraph(deps = this.options.deps) {\n for (const dep of deps) {\n if (dep instanceof Derived) {\n dep.registerOnGraph();\n this.registerOnGraph(dep.options.deps);\n } else if (dep instanceof Store) {\n let relatedLinkedDerivedVals = __storeToDerived.get(dep);\n if (!relatedLinkedDerivedVals) {\n relatedLinkedDerivedVals = /* @__PURE__ */ new Set();\n __storeToDerived.set(dep, relatedLinkedDerivedVals);\n }\n relatedLinkedDerivedVals.add(this);\n let relatedStores = __derivedToStore.get(this);\n if (!relatedStores) {\n relatedStores = /* @__PURE__ */ new Set();\n __derivedToStore.set(this, relatedStores);\n }\n relatedStores.add(dep);\n }\n }\n }\n unregisterFromGraph(deps = this.options.deps) {\n for (const dep of deps) {\n if (dep instanceof Derived) {\n this.unregisterFromGraph(dep.options.deps);\n } else if (dep instanceof Store) {\n const relatedLinkedDerivedVals = __storeToDerived.get(dep);\n if (relatedLinkedDerivedVals) {\n relatedLinkedDerivedVals.delete(this);\n }\n const relatedStores = __derivedToStore.get(this);\n if (relatedStores) {\n relatedStores.delete(dep);\n }\n }\n }\n }\n}\nexport {\n Derived\n};\n//# sourceMappingURL=derived.js.map\n","const stateIndexKey = \"__TSR_index\";\nconst popStateEvent = \"popstate\";\nconst beforeUnloadEvent = \"beforeunload\";\nfunction createHistory(opts) {\n let location = opts.getLocation();\n const subscribers = /* @__PURE__ */ new Set();\n const notify = (action) => {\n location = opts.getLocation();\n subscribers.forEach((subscriber) => subscriber({ location, action }));\n };\n const handleIndexChange = (action) => {\n if (opts.notifyOnIndexChange ?? true) notify(action);\n else location = opts.getLocation();\n };\n const tryNavigation = async ({\n task,\n navigateOpts,\n ...actionInfo\n }) => {\n var _a, _b;\n const ignoreBlocker = (navigateOpts == null ? void 0 : navigateOpts.ignoreBlocker) ?? false;\n if (ignoreBlocker) {\n task();\n return;\n }\n const blockers = ((_a = opts.getBlockers) == null ? void 0 : _a.call(opts)) ?? [];\n const isPushOrReplace = actionInfo.type === \"PUSH\" || actionInfo.type === \"REPLACE\";\n if (typeof document !== \"undefined\" && blockers.length && isPushOrReplace) {\n for (const blocker of blockers) {\n const nextLocation = parseHref(actionInfo.path, actionInfo.state);\n const isBlocked = await blocker.blockerFn({\n currentLocation: location,\n nextLocation,\n action: actionInfo.type\n });\n if (isBlocked) {\n (_b = opts.onBlocked) == null ? void 0 : _b.call(opts);\n return;\n }\n }\n }\n task();\n };\n return {\n get location() {\n return location;\n },\n get length() {\n return opts.getLength();\n },\n subscribers,\n subscribe: (cb) => {\n subscribers.add(cb);\n return () => {\n subscribers.delete(cb);\n };\n },\n push: (path, state, navigateOpts) => {\n const currentIndex = location.state[stateIndexKey];\n state = assignKeyAndIndex(currentIndex + 1, state);\n tryNavigation({\n task: () => {\n opts.pushState(path, state);\n notify({ type: \"PUSH\" });\n },\n navigateOpts,\n type: \"PUSH\",\n path,\n state\n });\n },\n replace: (path, state, navigateOpts) => {\n const currentIndex = location.state[stateIndexKey];\n state = assignKeyAndIndex(currentIndex, state);\n tryNavigation({\n task: () => {\n opts.replaceState(path, state);\n notify({ type: \"REPLACE\" });\n },\n navigateOpts,\n type: \"REPLACE\",\n path,\n state\n });\n },\n go: (index, navigateOpts) => {\n tryNavigation({\n task: () => {\n opts.go(index);\n handleIndexChange({ type: \"GO\", index });\n },\n navigateOpts,\n type: \"GO\"\n });\n },\n back: (navigateOpts) => {\n tryNavigation({\n task: () => {\n opts.back((navigateOpts == null ? void 0 : navigateOpts.ignoreBlocker) ?? false);\n handleIndexChange({ type: \"BACK\" });\n },\n navigateOpts,\n type: \"BACK\"\n });\n },\n forward: (navigateOpts) => {\n tryNavigation({\n task: () => {\n opts.forward((navigateOpts == null ? void 0 : navigateOpts.ignoreBlocker) ?? false);\n handleIndexChange({ type: \"FORWARD\" });\n },\n navigateOpts,\n type: \"FORWARD\"\n });\n },\n canGoBack: () => location.state[stateIndexKey] !== 0,\n createHref: (str) => opts.createHref(str),\n block: (blocker) => {\n var _a;\n if (!opts.setBlockers) return () => {\n };\n const blockers = ((_a = opts.getBlockers) == null ? void 0 : _a.call(opts)) ?? [];\n opts.setBlockers([...blockers, blocker]);\n return () => {\n var _a2, _b;\n const blockers2 = ((_a2 = opts.getBlockers) == null ? void 0 : _a2.call(opts)) ?? [];\n (_b = opts.setBlockers) == null ? void 0 : _b.call(opts, blockers2.filter((b) => b !== blocker));\n };\n },\n flush: () => {\n var _a;\n return (_a = opts.flush) == null ? void 0 : _a.call(opts);\n },\n destroy: () => {\n var _a;\n return (_a = opts.destroy) == null ? void 0 : _a.call(opts);\n },\n notify\n };\n}\nfunction assignKeyAndIndex(index, state) {\n if (!state) {\n state = {};\n }\n const key = createRandomKey();\n return {\n ...state,\n key,\n // TODO: Remove in v2 - use __TSR_key instead\n __TSR_key: key,\n [stateIndexKey]: index\n };\n}\nfunction createBrowserHistory(opts) {\n var _a, _b;\n const win = (opts == null ? void 0 : opts.window) ?? (typeof document !== \"undefined\" ? window : void 0);\n const originalPushState = win.history.pushState;\n const originalReplaceState = win.history.replaceState;\n let blockers = [];\n const _getBlockers = () => blockers;\n const _setBlockers = (newBlockers) => blockers = newBlockers;\n const createHref = (opts == null ? void 0 : opts.createHref) ?? ((path) => path);\n const parseLocation = (opts == null ? void 0 : opts.parseLocation) ?? (() => parseHref(\n `${win.location.pathname}${win.location.search}${win.location.hash}`,\n win.history.state\n ));\n if (!((_a = win.history.state) == null ? void 0 : _a.__TSR_key) && !((_b = win.history.state) == null ? void 0 : _b.key)) {\n const addedKey = createRandomKey();\n win.history.replaceState(\n {\n [stateIndexKey]: 0,\n key: addedKey,\n // TODO: Remove in v2 - use __TSR_key instead\n __TSR_key: addedKey\n },\n \"\"\n );\n }\n let currentLocation = parseLocation();\n let rollbackLocation;\n let nextPopIsGo = false;\n let ignoreNextPop = false;\n let skipBlockerNextPop = false;\n let ignoreNextBeforeUnload = false;\n const getLocation = () => currentLocation;\n let next;\n let scheduled;\n const flush = () => {\n if (!next) {\n return;\n }\n history._ignoreSubscribers = true;\n (next.isPush ? win.history.pushState : win.history.replaceState)(\n next.state,\n \"\",\n next.href\n );\n history._ignoreSubscribers = false;\n next = void 0;\n scheduled = void 0;\n rollbackLocation = void 0;\n };\n const queueHistoryAction = (type, destHref, state) => {\n const href = createHref(destHref);\n if (!scheduled) {\n rollbackLocation = currentLocation;\n }\n currentLocation = parseHref(destHref, state);\n next = {\n href,\n state,\n isPush: (next == null ? void 0 : next.isPush) || type === \"push\"\n };\n if (!scheduled) {\n scheduled = Promise.resolve().then(() => flush());\n }\n };\n const onPushPop = (type) => {\n currentLocation = parseLocation();\n history.notify({ type });\n };\n const onPushPopEvent = async () => {\n if (ignoreNextPop) {\n ignoreNextPop = false;\n return;\n }\n const nextLocation = parseLocation();\n const delta = nextLocation.state[stateIndexKey] - currentLocation.state[stateIndexKey];\n const isForward = delta === 1;\n const isBack = delta === -1;\n const isGo = !isForward && !isBack || nextPopIsGo;\n nextPopIsGo = false;\n const action = isGo ? \"GO\" : isBack ? \"BACK\" : \"FORWARD\";\n const notify = isGo ? {\n type: \"GO\",\n index: delta\n } : {\n type: isBack ? \"BACK\" : \"FORWARD\"\n };\n if (skipBlockerNextPop) {\n skipBlockerNextPop = false;\n } else {\n const blockers2 = _getBlockers();\n if (typeof document !== \"undefined\" && blockers2.length) {\n for (const blocker of blockers2) {\n const isBlocked = await blocker.blockerFn({\n currentLocation,\n nextLocation,\n action\n });\n if (isBlocked) {\n ignoreNextPop = true;\n win.history.go(1);\n history.notify(notify);\n return;\n }\n }\n }\n }\n currentLocation = parseLocation();\n history.notify(notify);\n };\n const onBeforeUnload = (e) => {\n if (ignoreNextBeforeUnload) {\n ignoreNextBeforeUnload = false;\n return;\n }\n let shouldBlock = false;\n const blockers2 = _getBlockers();\n if (typeof document !== \"undefined\" && blockers2.length) {\n for (const blocker of blockers2) {\n const shouldHaveBeforeUnload = blocker.enableBeforeUnload ?? true;\n if (shouldHaveBeforeUnload === true) {\n shouldBlock = true;\n break;\n }\n if (typeof shouldHaveBeforeUnload === \"function\" && shouldHaveBeforeUnload() === true) {\n shouldBlock = true;\n break;\n }\n }\n }\n if (shouldBlock) {\n e.preventDefault();\n return e.returnValue = \"\";\n }\n return;\n };\n const history = createHistory({\n getLocation,\n getLength: () => win.history.length,\n pushState: (href, state) => queueHistoryAction(\"push\", href, state),\n replaceState: (href, state) => queueHistoryAction(\"replace\", href, state),\n back: (ignoreBlocker) => {\n if (ignoreBlocker) skipBlockerNextPop = true;\n ignoreNextBeforeUnload = true;\n return win.history.back();\n },\n forward: (ignoreBlocker) => {\n if (ignoreBlocker) skipBlockerNextPop = true;\n ignoreNextBeforeUnload = true;\n win.history.forward();\n },\n go: (n) => {\n nextPopIsGo = true;\n win.history.go(n);\n },\n createHref: (href) => createHref(href),\n flush,\n destroy: () => {\n win.history.pushState = originalPushState;\n win.history.replaceState = originalReplaceState;\n win.removeEventListener(beforeUnloadEvent, onBeforeUnload, {\n capture: true\n });\n win.removeEventListener(popStateEvent, onPushPopEvent);\n },\n onBlocked: () => {\n if (rollbackLocation && currentLocation !== rollbackLocation) {\n currentLocation = rollbackLocation;\n }\n },\n getBlockers: _getBlockers,\n setBlockers: _setBlockers,\n notifyOnIndexChange: false\n });\n win.addEventListener(beforeUnloadEvent, onBeforeUnload, { capture: true });\n win.addEventListener(popStateEvent, onPushPopEvent);\n win.history.pushState = function(...args) {\n const res = originalPushState.apply(win.history, args);\n if (!history._ignoreSubscribers) onPushPop(\"PUSH\");\n return res;\n };\n win.history.replaceState = function(...args) {\n const res = originalReplaceState.apply(win.history, args);\n if (!history._ignoreSubscribers) onPushPop(\"REPLACE\");\n return res;\n };\n return history;\n}\nfunction createHashHistory(opts) {\n const win = (opts == null ? void 0 : opts.window) ?? (typeof document !== \"undefined\" ? window : void 0);\n return createBrowserHistory({\n window: win,\n parseLocation: () => {\n const hashSplit = win.location.hash.split(\"#\").slice(1);\n const pathPart = hashSplit[0] ?? \"/\";\n const searchPart = win.location.search;\n const hashEntries = hashSplit.slice(1);\n const hashPart = hashEntries.length === 0 ? \"\" : `#${hashEntries.join(\"#\")}`;\n const hashHref = `${pathPart}${searchPart}${hashPart}`;\n return parseHref(hashHref, win.history.state);\n },\n createHref: (href) => `${win.location.pathname}${win.location.search}#${href}`\n });\n}\nfunction createMemoryHistory(opts = {\n initialEntries: [\"/\"]\n}) {\n const entries = opts.initialEntries;\n let index = opts.initialIndex ? Math.min(Math.max(opts.initialIndex, 0), entries.length - 1) : entries.length - 1;\n const states = entries.map(\n (_entry, index2) => assignKeyAndIndex(index2, void 0)\n );\n const getLocation = () => parseHref(entries[index], states[index]);\n return createHistory({\n getLocation,\n getLength: () => entries.length,\n pushState: (path, state) => {\n if (index < entries.length - 1) {\n entries.splice(index + 1);\n states.splice(index + 1);\n }\n states.push(state);\n entries.push(path);\n index = Math.max(entries.length - 1, 0);\n },\n replaceState: (path, state) => {\n states[index] = state;\n entries[index] = path;\n },\n back: () => {\n index = Math.max(index - 1, 0);\n },\n forward: () => {\n index = Math.min(index + 1, entries.length - 1);\n },\n go: (n) => {\n index = Math.min(Math.max(index + n, 0), entries.length - 1);\n },\n createHref: (path) => path\n });\n}\nfunction parseHref(href, state) {\n const hashIndex = href.indexOf(\"#\");\n const searchIndex = href.indexOf(\"?\");\n const addedKey = createRandomKey();\n return {\n href,\n pathname: href.substring(\n 0,\n hashIndex > 0 ? searchIndex > 0 ? Math.min(hashIndex, searchIndex) : hashIndex : searchIndex > 0 ? searchIndex : href.length\n ),\n hash: hashIndex > -1 ? href.substring(hashIndex) : \"\",\n search: searchIndex > -1 ? href.slice(searchIndex, hashIndex === -1 ? void 0 : hashIndex) : \"\",\n state: state || { [stateIndexKey]: 0, key: addedKey, __TSR_key: addedKey }\n };\n}\nfunction createRandomKey() {\n return (Math.random() + 1).toString(36).substring(7);\n}\nexport {\n createBrowserHistory,\n createHashHistory,\n createHistory,\n createMemoryHistory,\n parseHref\n};\n//# sourceMappingURL=index.js.map\n","function last(arr) {\n return arr[arr.length - 1];\n}\nfunction isFunction(d) {\n return typeof d === \"function\";\n}\nfunction functionalUpdate(updater, previous) {\n if (isFunction(updater)) {\n return updater(previous);\n }\n return updater;\n}\nfunction pick(parent, keys) {\n return keys.reduce((obj, key) => {\n obj[key] = parent[key];\n return obj;\n }, {});\n}\nfunction replaceEqualDeep(prev, _next) {\n if (prev === _next) {\n return prev;\n }\n const next = _next;\n const array = isPlainArray(prev) && isPlainArray(next);\n if (array || isSimplePlainObject(prev) && isSimplePlainObject(next)) {\n const prevItems = array ? prev : Object.keys(prev).concat(\n Object.getOwnPropertySymbols(prev)\n );\n const prevSize = prevItems.length;\n const nextItems = array ? next : Object.keys(next).concat(\n Object.getOwnPropertySymbols(next)\n );\n const nextSize = nextItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n for (let i = 0; i < nextSize; i++) {\n const key = array ? i : nextItems[i];\n if ((!array && prevItems.includes(key) || array) && prev[key] === void 0 && next[key] === void 0) {\n copy[key] = void 0;\n equalItems++;\n } else {\n copy[key] = replaceEqualDeep(prev[key], next[key]);\n if (copy[key] === prev[key] && prev[key] !== void 0) {\n equalItems++;\n }\n }\n }\n return prevSize === nextSize && equalItems === prevSize ? prev : copy;\n }\n return next;\n}\nfunction isSimplePlainObject(o) {\n return (\n // all the checks from isPlainObject are more likely to hit so we perform them first\n isPlainObject(o) && Object.getOwnPropertyNames(o).length === Object.keys(o).length\n );\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (typeof ctor === \"undefined\") {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction getObjectKeys(obj, ignoreUndefined) {\n let keys = Object.keys(obj);\n if (ignoreUndefined) {\n keys = keys.filter((key) => obj[key] !== void 0);\n }\n return keys;\n}\nfunction deepEqual(a, b, opts) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (isPlainObject(a) && isPlainObject(b)) {\n const ignoreUndefined = (opts == null ? void 0 : opts.ignoreUndefined) ?? true;\n const aKeys = getObjectKeys(a, ignoreUndefined);\n const bKeys = getObjectKeys(b, ignoreUndefined);\n if (!(opts == null ? void 0 : opts.partial) && aKeys.length !== bKeys.length) {\n return false;\n }\n return bKeys.every((key) => deepEqual(a[key], b[key], opts));\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n return !a.some((item, index) => !deepEqual(item, b[index], opts));\n }\n return false;\n}\nfunction createControlledPromise(onResolve) {\n let resolveLoadPromise;\n let rejectLoadPromise;\n const controlledPromise = new Promise((resolve, reject) => {\n resolveLoadPromise = resolve;\n rejectLoadPromise = reject;\n });\n controlledPromise.status = \"pending\";\n controlledPromise.resolve = (value) => {\n controlledPromise.status = \"resolved\";\n controlledPromise.value = value;\n resolveLoadPromise(value);\n onResolve == null ? void 0 : onResolve(value);\n };\n controlledPromise.reject = (e) => {\n controlledPromise.status = \"rejected\";\n rejectLoadPromise(e);\n };\n return controlledPromise;\n}\nfunction escapeJSON(jsonString) {\n return jsonString.replace(/\\\\/g, \"\\\\\\\\\").replace(/'/g, \"\\\\'\").replace(/\"/g, '\\\\\"');\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (const item of keysA) {\n if (!Object.prototype.hasOwnProperty.call(objB, item) || !Object.is(objA[item], objB[item])) {\n return false;\n }\n }\n return true;\n}\nfunction isModuleNotFoundError(error) {\n if (typeof (error == null ? void 0 : error.message) !== \"string\") return false;\n return error.message.startsWith(\"Failed to fetch dynamically imported module\") || error.message.startsWith(\"error loading dynamically imported module\") || error.message.startsWith(\"Importing a module script failed\");\n}\nexport {\n createControlledPromise,\n deepEqual,\n escapeJSON,\n functionalUpdate,\n isModuleNotFoundError,\n isPlainArray,\n isPlainObject,\n last,\n pick,\n replaceEqualDeep,\n shallow\n};\n//# sourceMappingURL=utils.js.map\n","import { last } from \"./utils.js\";\nconst SEGMENT_TYPE_PATHNAME = 0;\nconst SEGMENT_TYPE_PARAM = 1;\nconst SEGMENT_TYPE_WILDCARD = 2;\nconst SEGMENT_TYPE_OPTIONAL_PARAM = 3;\nfunction joinPaths(paths) {\n return cleanPath(\n paths.filter((val) => {\n return val !== void 0;\n }).join(\"/\")\n );\n}\nfunction cleanPath(path) {\n return path.replace(/\\/{2,}/g, \"/\");\n}\nfunction trimPathLeft(path) {\n return path === \"/\" ? path : path.replace(/^\\/{1,}/, \"\");\n}\nfunction trimPathRight(path) {\n return path === \"/\" ? path : path.replace(/\\/{1,}$/, \"\");\n}\nfunction trimPath(path) {\n return trimPathRight(trimPathLeft(path));\n}\nfunction removeTrailingSlash(value, basepath) {\n if ((value == null ? void 0 : value.endsWith(\"/\")) && value !== \"/\" && value !== `${basepath}/`) {\n return value.slice(0, -1);\n }\n return value;\n}\nfunction exactPathTest(pathName1, pathName2, basepath) {\n return removeTrailingSlash(pathName1, basepath) === removeTrailingSlash(pathName2, basepath);\n}\nfunction segmentToString(segment) {\n const { type, value } = segment;\n if (type === SEGMENT_TYPE_PATHNAME) {\n return value;\n }\n const { prefixSegment, suffixSegment } = segment;\n if (type === SEGMENT_TYPE_PARAM) {\n const param = value.substring(1);\n if (prefixSegment && suffixSegment) {\n return `${prefixSegment}{$${param}}${suffixSegment}`;\n } else if (prefixSegment) {\n return `${prefixSegment}{$${param}}`;\n } else if (suffixSegment) {\n return `{$${param}}${suffixSegment}`;\n }\n }\n if (type === SEGMENT_TYPE_OPTIONAL_PARAM) {\n const param = value.substring(1);\n if (prefixSegment && suffixSegment) {\n return `${prefixSegment}{-$${param}}${suffixSegment}`;\n } else if (prefixSegment) {\n return `${prefixSegment}{-$${param}}`;\n } else if (suffixSegment) {\n return `{-$${param}}${suffixSegment}`;\n }\n return `{-$${param}}`;\n }\n if (type === SEGMENT_TYPE_WILDCARD) {\n if (prefixSegment && suffixSegment) {\n return `${prefixSegment}{$}${suffixSegment}`;\n } else if (prefixSegment) {\n return `${prefixSegment}{$}`;\n } else if (suffixSegment) {\n return `{$}${suffixSegment}`;\n }\n }\n return value;\n}\nfunction resolvePath({\n basepath,\n base,\n to,\n trailingSlash = \"never\",\n caseSensitive,\n parseCache\n}) {\n var _a;\n base = removeBasepath(basepath, base, caseSensitive);\n to = removeBasepath(basepath, to, caseSensitive);\n let baseSegments = parsePathname(base, parseCache).slice();\n const toSegments = parsePathname(to, parseCache);\n if (baseSegments.length > 1 && ((_a = last(baseSegments)) == null ? void 0 : _a.value) === \"/\") {\n baseSegments.pop();\n }\n for (let index = 0, length = toSegments.length; index < length; index++) {\n const toSegment = toSegments[index];\n const value = toSegment.value;\n if (value === \"/\") {\n if (!index) {\n baseSegments = [toSegment];\n } else if (index === length - 1) {\n baseSegments.push(toSegment);\n } else ;\n } else if (value === \"..\") {\n baseSegments.pop();\n } else if (value === \".\") ;\n else {\n baseSegments.push(toSegment);\n }\n }\n if (baseSegments.length > 1) {\n if (last(baseSegments).value === \"/\") {\n if (trailingSlash === \"never\") {\n baseSegments.pop();\n }\n } else if (trailingSlash === \"always\") {\n baseSegments.push({ type: SEGMENT_TYPE_PATHNAME, value: \"/\" });\n }\n }\n const segmentValues = baseSegments.map(segmentToString);\n const joined = joinPaths([basepath, ...segmentValues]);\n return joined;\n}\nconst parsePathname = (pathname, cache) => {\n if (!pathname) return [];\n const cached = cache == null ? void 0 : cache.get(pathname);\n if (cached) return cached;\n const parsed = baseParsePathname(pathname);\n cache == null ? void 0 : cache.set(pathname, parsed);\n return parsed;\n};\nconst PARAM_RE = /^\\$.{1,}$/;\nconst PARAM_W_CURLY_BRACES_RE = /^(.*?)\\{(\\$[a-zA-Z_$][a-zA-Z0-9_$]*)\\}(.*)$/;\nconst OPTIONAL_PARAM_W_CURLY_BRACES_RE = /^(.*?)\\{-(\\$[a-zA-Z_$][a-zA-Z0-9_$]*)\\}(.*)$/;\nconst WILDCARD_RE = /^\\$$/;\nconst WILDCARD_W_CURLY_BRACES_RE = /^(.*?)\\{\\$\\}(.*)$/;\nfunction baseParsePathname(pathname) {\n pathname = cleanPath(pathname);\n const segments = [];\n if (pathname.slice(0, 1) === \"/\") {\n pathname = pathname.substring(1);\n segments.push({\n type: SEGMENT_TYPE_PATHNAME,\n value: \"/\"\n });\n }\n if (!pathname) {\n return segments;\n }\n const split = pathname.split(\"/\").filter(Boolean);\n segments.push(\n ...split.map((part) => {\n const wildcardBracesMatch = part.match(WILDCARD_W_CURLY_BRACES_RE);\n if (wildcardBracesMatch) {\n const prefix = wildcardBracesMatch[1];\n const suffix = wildcardBracesMatch[2];\n return {\n type: SEGMENT_TYPE_WILDCARD,\n value: \"$\",\n prefixSegment: prefix || void 0,\n suffixSegment: suffix || void 0\n };\n }\n const optionalParamBracesMatch = part.match(\n OPTIONAL_PARAM_W_CURLY_BRACES_RE\n );\n if (optionalParamBracesMatch) {\n const prefix = optionalParamBracesMatch[1];\n const paramName = optionalParamBracesMatch[2];\n const suffix = optionalParamBracesMatch[3];\n return {\n type: SEGMENT_TYPE_OPTIONAL_PARAM,\n value: paramName,\n // Now just $paramName (no prefix)\n prefixSegment: prefix || void 0,\n suffixSegment: suffix || void 0\n };\n }\n const paramBracesMatch = part.match(PARAM_W_CURLY_BRACES_RE);\n if (paramBracesMatch) {\n const prefix = paramBracesMatch[1];\n const paramName = paramBracesMatch[2];\n const suffix = paramBracesMatch[3];\n return {\n type: SEGMENT_TYPE_PARAM,\n value: \"\" + paramName,\n prefixSegment: prefix || void 0,\n suffixSegment: suffix || void 0\n };\n }\n if (PARAM_RE.test(part)) {\n const paramName = part.substring(1);\n return {\n type: SEGMENT_TYPE_PARAM,\n value: \"$\" + paramName,\n prefixSegment: void 0,\n suffixSegment: void 0\n };\n }\n if (WILDCARD_RE.test(part)) {\n return {\n type: SEGMENT_TYPE_WILDCARD,\n value: \"$\",\n prefixSegment: void 0,\n suffixSegment: void 0\n };\n }\n return {\n type: SEGMENT_TYPE_PATHNAME,\n value: part.includes(\"%25\") ? part.split(\"%25\").map((segment) => decodeURI(segment)).join(\"%25\") : decodeURI(part)\n };\n })\n );\n if (pathname.slice(-1) === \"/\") {\n pathname = pathname.substring(1);\n segments.push({\n type: SEGMENT_TYPE_PATHNAME,\n value: \"/\"\n });\n }\n return segments;\n}\nfunction interpolatePath({\n path,\n params,\n leaveWildcards,\n leaveParams,\n decodeCharMap,\n parseCache\n}) {\n const interpolatedPathSegments = parsePathname(path, parseCache);\n function encodeParam(key) {\n const value = params[key];\n const isValueString = typeof value === \"string\";\n if (key === \"*\" || key === \"_splat\") {\n return isValueString ? encodeURI(value) : value;\n } else {\n return isValueString ? encodePathParam(value, decodeCharMap) : value;\n }\n }\n let isMissingParams = false;\n const usedParams = {};\n const interpolatedPath = joinPaths(\n interpolatedPathSegments.map((segment) => {\n if (segment.type === SEGMENT_TYPE_PATHNAME) {\n return segment.value;\n }\n if (segment.type === SEGMENT_TYPE_WILDCARD) {\n usedParams._splat = params._splat;\n const segmentPrefix = segment.prefixSegment || \"\";\n const segmentSuffix = segment.suffixSegment || \"\";\n if (!(\"_splat\" in params)) {\n isMissingParams = true;\n if (leaveWildcards) {\n return `${segmentPrefix}${segment.value}${segmentSuffix}`;\n }\n if (segmentPrefix || segmentSuffix) {\n return `${segmentPrefix}${segmentSuffix}`;\n }\n return void 0;\n }\n const value = encodeParam(\"_splat\");\n if (leaveWildcards) {\n return `${segmentPrefix}${segment.value}${value ?? \"\"}${segmentSuffix}`;\n }\n return `${segmentPrefix}${value}${segmentSuffix}`;\n }\n if (segment.type === SEGMENT_TYPE_PARAM) {\n const key = segment.value.substring(1);\n if (!isMissingParams && !(key in params)) {\n isMissingParams = true;\n }\n usedParams[key] = params[key];\n const segmentPrefix = segment.prefixSegment || \"\";\n const segmentSuffix = segment.suffixSegment || \"\";\n if (leaveParams) {\n const value = encodeParam(segment.value);\n return `${segmentPrefix}${segment.value}${value ?? \"\"}${segmentSuffix}`;\n }\n return `${segmentPrefix}${encodeParam(key) ?? \"undefined\"}${segmentSuffix}`;\n }\n if (segment.type === SEGMENT_TYPE_OPTIONAL_PARAM) {\n const key = segment.value.substring(1);\n const segmentPrefix = segment.prefixSegment || \"\";\n const segmentSuffix = segment.suffixSegment || \"\";\n if (!(key in params) || params[key] == null) {\n if (leaveWildcards) {\n return `${segmentPrefix}${key}${segmentSuffix}`;\n }\n if (segmentPrefix || segmentSuffix) {\n return `${segmentPrefix}${segmentSuffix}`;\n }\n return void 0;\n }\n usedParams[key] = params[key];\n if (leaveParams) {\n const value = encodeParam(segment.value);\n return `${segmentPrefix}${segment.value}${value ?? \"\"}${segmentSuffix}`;\n }\n if (leaveWildcards) {\n return `${segmentPrefix}${key}${encodeParam(key) ?? \"\"}${segmentSuffix}`;\n }\n return `${segmentPrefix}${encodeParam(key) ?? \"\"}${segmentSuffix}`;\n }\n return segment.value;\n })\n );\n return { usedParams, interpolatedPath, isMissingParams };\n}\nfunction encodePathParam(value, decodeCharMap) {\n let encoded = encodeURIComponent(value);\n if (decodeCharMap) {\n for (const [encodedChar, char] of decodeCharMap) {\n encoded = encoded.replaceAll(encodedChar, char);\n }\n }\n return encoded;\n}\nfunction matchPathname(basepath, currentPathname, matchLocation, parseCache) {\n const pathParams = matchByPath(\n basepath,\n currentPathname,\n matchLocation,\n parseCache\n );\n if (matchLocation.to && !pathParams) {\n return;\n }\n return pathParams ?? {};\n}\nfunction removeBasepath(basepath, pathname, caseSensitive = false) {\n const normalizedBasepath = caseSensitive ? basepath : basepath.toLowerCase();\n const normalizedPathname = caseSensitive ? pathname : pathname.toLowerCase();\n switch (true) {\n // default behaviour is to serve app from the root - pathname\n // left untouched\n case normalizedBasepath === \"/\":\n return pathname;\n // shortcut for removing the basepath if it matches the pathname\n case normalizedPathname === normalizedBasepath:\n return \"\";\n // in case pathname is shorter than basepath - there is\n // nothing to remove\n case pathname.length < basepath.length:\n return pathname;\n // avoid matching partial segments - strict equality handled\n // earlier, otherwise, basepath separated from pathname with\n // separator, therefore lack of separator means partial\n // segment match (`/app` should not match `/application`)\n case normalizedPathname[normalizedBasepath.length] !== \"/\":\n return pathname;\n // remove the basepath from the pathname if it starts with it\n case normalizedPathname.startsWith(normalizedBasepath):\n return pathname.slice(basepath.length);\n // otherwise, return the pathname as is\n default:\n return pathname;\n }\n}\nfunction matchByPath(basepath, from, {\n to,\n fuzzy,\n caseSensitive\n}, parseCache) {\n if (basepath !== \"/\" && !from.startsWith(basepath)) {\n return void 0;\n }\n from = removeBasepath(basepath, from, caseSensitive);\n to = removeBasepath(basepath, `${to ?? \"$\"}`, caseSensitive);\n const baseSegments = parsePathname(\n from.startsWith(\"/\") ? from : `/${from}`,\n parseCache\n );\n const routeSegments = parsePathname(\n to.startsWith(\"/\") ? to : `/${to}`,\n parseCache\n );\n const params = {};\n const result = isMatch(\n baseSegments,\n routeSegments,\n params,\n fuzzy,\n caseSensitive\n );\n return result ? params : void 0;\n}\nfunction isMatch(baseSegments, routeSegments, params, fuzzy, caseSensitive) {\n var _a, _b, _c;\n let baseIndex = 0;\n let routeIndex = 0;\n while (baseIndex < baseSegments.length || routeIndex < routeSegments.length) {\n const baseSegment = baseSegments[baseIndex];\n const routeSegment = routeSegments[routeIndex];\n if (routeSegment) {\n if (routeSegment.type === SEGMENT_TYPE_WILDCARD) {\n const remainingBaseSegments = baseSegments.slice(baseIndex);\n let _splat;\n if (routeSegment.prefixSegment || routeSegment.suffixSegment) {\n if (!baseSegment) return false;\n const prefix = routeSegment.prefixSegment || \"\";\n const suffix = routeSegment.suffixSegment || \"\";\n const baseValue = baseSegment.value;\n if (\"prefixSegment\" in routeSegment) {\n if (!baseValue.startsWith(prefix)) {\n return false;\n }\n }\n if (\"suffixSegment\" in routeSegment) {\n if (!((_a = baseSegments[baseSegments.length - 1]) == null ? void 0 : _a.value.endsWith(suffix))) {\n return false;\n }\n }\n let rejoinedSplat = decodeURI(\n joinPaths(remainingBaseSegments.map((d) => d.value))\n );\n if (prefix && rejoinedSplat.startsWith(prefix)) {\n rejoinedSplat = rejoinedSplat.slice(prefix.length);\n }\n if (suffix && rejoinedSplat.endsWith(suffix)) {\n rejoinedSplat = rejoinedSplat.slice(\n 0,\n rejoinedSplat.length - suffix.length\n );\n }\n _splat = rejoinedSplat;\n } else {\n _splat = decodeURI(\n joinPaths(remainingBaseSegments.map((d) => d.value))\n );\n }\n params[\"*\"] = _splat;\n params[\"_splat\"] = _splat;\n return true;\n }\n if (routeSegment.type === SEGMENT_TYPE_PATHNAME) {\n if (routeSegment.value === \"/\" && !(baseSegment == null ? void 0 : baseSegment.value)) {\n routeIndex++;\n continue;\n }\n if (baseSegment) {\n if (caseSensitive) {\n if (routeSegment.value !== baseSegment.value) {\n return false;\n }\n } else if (routeSegment.value.toLowerCase() !== baseSegment.value.toLowerCase()) {\n return false;\n }\n baseIndex++;\n routeIndex++;\n continue;\n } else {\n return false;\n }\n }\n if (routeSegment.type === SEGMENT_TYPE_PARAM) {\n if (!baseSegment) {\n return false;\n }\n if (baseSegment.value === \"/\") {\n return false;\n }\n let _paramValue = \"\";\n let matched = false;\n if (routeSegment.prefixSegment || routeSegment.suffixSegment) {\n const prefix = routeSegment.prefixSegment || \"\";\n const suffix = routeSegment.suffixSegment || \"\";\n const baseValue = baseSegment.value;\n if (prefix && !baseValue.startsWith(prefix)) {\n return false;\n }\n if (suffix && !baseValue.endsWith(suffix)) {\n return false;\n }\n let paramValue = baseValue;\n if (prefix && paramValue.startsWith(prefix)) {\n paramValue = paramValue.slice(prefix.length);\n }\n if (suffix && paramValue.endsWith(suffix)) {\n paramValue = paramValue.slice(0, paramValue.length - suffix.length);\n }\n _paramValue = decodeURIComponent(paramValue);\n matched = true;\n } else {\n _paramValue = decodeURIComponent(baseSegment.value);\n matched = true;\n }\n if (matched) {\n params[routeSegment.value.substring(1)] = _paramValue;\n baseIndex++;\n }\n routeIndex++;\n continue;\n }\n if (routeSegment.type === SEGMENT_TYPE_OPTIONAL_PARAM) {\n if (!baseSegment) {\n routeIndex++;\n continue;\n }\n if (baseSegment.value === \"/\") {\n routeIndex++;\n continue;\n }\n let _paramValue = \"\";\n let matched = false;\n if (routeSegment.prefixSegment || routeSegment.suffixSegment) {\n const prefix = routeSegment.prefixSegment || \"\";\n const suffix = routeSegment.suffixSegment || \"\";\n const baseValue = baseSegment.value;\n if ((!prefix || baseValue.startsWith(prefix)) && (!suffix || baseValue.endsWith(suffix))) {\n let paramValue = baseValue;\n if (prefix && paramValue.startsWith(prefix)) {\n paramValue = paramValue.slice(prefix.length);\n }\n if (suffix && paramValue.endsWith(suffix)) {\n paramValue = paramValue.slice(\n 0,\n paramValue.length - suffix.length\n );\n }\n _paramValue = decodeURIComponent(paramValue);\n matched = true;\n }\n } else {\n let shouldMatchOptional = true;\n for (let lookAhead = routeIndex + 1; lookAhead < routeSegments.length; lookAhead++) {\n const futureRouteSegment = routeSegments[lookAhead];\n if ((futureRouteSegment == null ? void 0 : futureRouteSegment.type) === SEGMENT_TYPE_PATHNAME && futureRouteSegment.value === baseSegment.value) {\n shouldMatchOptional = false;\n break;\n }\n if ((futureRouteSegment == null ? void 0 : futureRouteSegment.type) === SEGMENT_TYPE_PARAM || (futureRouteSegment == null ? void 0 : futureRouteSegment.type) === SEGMENT_TYPE_WILDCARD) {\n break;\n }\n }\n if (shouldMatchOptional) {\n _paramValue = decodeURIComponent(baseSegment.value);\n matched = true;\n }\n }\n if (matched) {\n params[routeSegment.value.substring(1)] = _paramValue;\n baseIndex++;\n }\n routeIndex++;\n continue;\n }\n }\n if (baseIndex < baseSegments.length && routeIndex >= routeSegments.length) {\n params[\"**\"] = joinPaths(\n baseSegments.slice(baseIndex).map((d) => d.value)\n );\n return !!fuzzy && ((_b = routeSegments[routeSegments.length - 1]) == null ? void 0 : _b.value) !== \"/\";\n }\n if (routeIndex < routeSegments.length && baseIndex >= baseSegments.length) {\n for (let i = routeIndex; i < routeSegments.length; i++) {\n if (((_c = routeSegments[i]) == null ? void 0 : _c.type) !== SEGMENT_TYPE_OPTIONAL_PARAM) {\n return false;\n }\n }\n break;\n }\n break;\n }\n return true;\n}\nexport {\n SEGMENT_TYPE_OPTIONAL_PARAM,\n SEGMENT_TYPE_PARAM,\n SEGMENT_TYPE_PATHNAME,\n SEGMENT_TYPE_WILDCARD,\n cleanPath,\n exactPathTest,\n interpolatePath,\n joinPaths,\n matchByPath,\n matchPathname,\n parsePathname,\n removeBasepath,\n removeTrailingSlash,\n resolvePath,\n trimPath,\n trimPathLeft,\n trimPathRight\n};\n//# sourceMappingURL=path.js.map\n","function notFound(options = {}) {\n options.isNotFound = true;\n if (options.throw) throw options;\n return options;\n}\nfunction isNotFound(obj) {\n return !!(obj == null ? void 0 : obj.isNotFound);\n}\nexport {\n isNotFound,\n notFound\n};\n//# sourceMappingURL=not-found.js.map\n","import { functionalUpdate } from \"./utils.js\";\nfunction getSafeSessionStorage() {\n try {\n if (typeof window !== \"undefined\" && typeof window.sessionStorage === \"object\") {\n return window.sessionStorage;\n }\n } catch {\n return void 0;\n }\n return void 0;\n}\nconst storageKey = \"tsr-scroll-restoration-v1_3\";\nconst throttle = (fn, wait) => {\n let timeout;\n return (...args) => {\n if (!timeout) {\n timeout = setTimeout(() => {\n fn(...args);\n timeout = null;\n }, wait);\n }\n };\n};\nfunction createScrollRestorationCache() {\n const safeSessionStorage = getSafeSessionStorage();\n if (!safeSessionStorage) {\n return void 0;\n }\n const persistedState = safeSessionStorage.getItem(storageKey);\n let state = persistedState ? JSON.parse(persistedState) : {};\n return {\n state,\n // This setter is simply to make sure that we set the sessionStorage right\n // after the state is updated. It doesn't necessarily need to be a functional\n // update.\n set: (updater) => (state = functionalUpdate(updater, state) || state, safeSessionStorage.setItem(storageKey, JSON.stringify(state)))\n };\n}\nconst scrollRestorationCache = createScrollRestorationCache();\nconst defaultGetScrollRestorationKey = (location) => {\n return location.state.__TSR_key || location.href;\n};\nfunction getCssSelector(el) {\n const path = [];\n let parent;\n while (parent = el.parentNode) {\n path.unshift(\n `${el.tagName}:nth-child(${[].indexOf.call(parent.children, el) + 1})`\n );\n el = parent;\n }\n return `${path.join(\" > \")}`.toLowerCase();\n}\nlet ignoreScroll = false;\nfunction restoreScroll({\n storageKey: storageKey2,\n key,\n behavior,\n shouldScrollRestoration,\n scrollToTopSelectors,\n location\n}) {\n var _a;\n let byKey;\n try {\n byKey = JSON.parse(sessionStorage.getItem(storageKey2) || \"{}\");\n } catch (error) {\n console.error(error);\n return;\n }\n const resolvedKey = key || ((_a = window.history.state) == null ? void 0 : _a.key);\n const elementEntries = byKey[resolvedKey];\n ignoreScroll = true;\n (() => {\n if (shouldScrollRestoration && elementEntries && Object.keys(elementEntries).length > 0) {\n for (const elementSelector in elementEntries) {\n const entry = elementEntries[elementSelector];\n if (elementSelector === \"window\") {\n window.scrollTo({\n top: entry.scrollY,\n left: entry.scrollX,\n behavior\n });\n } else if (elementSelector) {\n const element = document.querySelector(elementSelector);\n if (element) {\n element.scrollLeft = entry.scrollX;\n element.scrollTop = entry.scrollY;\n }\n }\n }\n return;\n }\n const hash = (location ?? window.location).hash.split(\"#\")[1];\n if (hash) {\n const hashScrollIntoViewOptions = (window.history.state || {}).__hashScrollIntoViewOptions ?? true;\n if (hashScrollIntoViewOptions) {\n const el = document.getElementById(hash);\n if (el) {\n el.scrollIntoView(hashScrollIntoViewOptions);\n }\n }\n return;\n }\n [\n \"window\",\n ...(scrollToTopSelectors == null ? void 0 : scrollToTopSelectors.filter((d) => d !== \"window\")) ?? []\n ].forEach((selector) => {\n const element = selector === \"window\" ? window : typeof selector === \"function\" ? selector() : document.querySelector(selector);\n if (element) {\n element.scrollTo({\n top: 0,\n left: 0,\n behavior\n });\n }\n });\n })();\n ignoreScroll = false;\n}\nfunction setupScrollRestoration(router, force) {\n if (scrollRestorationCache === void 0) {\n return;\n }\n const shouldScrollRestoration = force ?? router.options.scrollRestoration ?? false;\n if (shouldScrollRestoration) {\n router.isScrollRestoring = true;\n }\n if (typeof document === \"undefined\" || router.isScrollRestorationSetup) {\n return;\n }\n router.isScrollRestorationSetup = true;\n ignoreScroll = false;\n const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;\n window.history.scrollRestoration = \"manual\";\n const onScroll = (event) => {\n if (ignoreScroll || !router.isScrollRestoring) {\n return;\n }\n let elementSelector = \"\";\n if (event.target === document || event.target === window) {\n elementSelector = \"window\";\n } else {\n const attrId = event.target.getAttribute(\n \"data-scroll-restoration-id\"\n );\n if (attrId) {\n elementSelector = `[data-scroll-restoration-id=\"${attrId}\"]`;\n } else {\n elementSelector = getCssSelector(event.target);\n }\n }\n const restoreKey = getKey(router.state.location);\n scrollRestorationCache.set((state) => {\n const keyEntry = state[restoreKey] = state[restoreKey] || {};\n const elementEntry = keyEntry[elementSelector] = keyEntry[elementSelector] || {};\n if (elementSelector === \"window\") {\n elementEntry.scrollX = window.scrollX || 0;\n elementEntry.scrollY = window.scrollY || 0;\n } else if (elementSelector) {\n const element = document.querySelector(elementSelector);\n if (element) {\n elementEntry.scrollX = element.scrollLeft || 0;\n elementEntry.scrollY = element.scrollTop || 0;\n }\n }\n return state;\n });\n };\n if (typeof document !== \"undefined\") {\n document.addEventListener(\"scroll\", throttle(onScroll, 100), true);\n }\n router.subscribe(\"onRendered\", (event) => {\n const cacheKey = getKey(event.toLocation);\n if (!router.resetNextScroll) {\n router.resetNextScroll = true;\n return;\n }\n restoreScroll({\n storageKey,\n key: cacheKey,\n behavior: router.options.scrollRestorationBehavior,\n shouldScrollRestoration: router.isScrollRestoring,\n scrollToTopSelectors: router.options.scrollToTopSelectors,\n location: router.history.location\n });\n if (router.isScrollRestoring) {\n scrollRestorationCache.set((state) => {\n state[cacheKey] = state[cacheKey] || {};\n return state;\n });\n }\n });\n}\nfunction handleHashScroll(router) {\n if (typeof document !== \"undefined\" && document.querySelector) {\n const hashScrollIntoViewOptions = router.state.location.state.__hashScrollIntoViewOptions ?? true;\n if (hashScrollIntoViewOptions && router.state.location.hash !== \"\") {\n const el = document.getElementById(router.state.location.hash);\n if (el) {\n el.scrollIntoView(hashScrollIntoViewOptions);\n }\n }\n }\n}\nexport {\n defaultGetScrollRestorationKey,\n getCssSelector,\n handleHashScroll,\n restoreScroll,\n scrollRestorationCache,\n setupScrollRestoration,\n storageKey\n};\n//# sourceMappingURL=scroll-restoration.js.map\n","function encode(obj, pfx) {\n const normalizedObject = Object.entries(obj).flatMap(([key, value]) => {\n if (Array.isArray(value)) {\n return value.map((v) => [key, String(v)]);\n } else {\n return [[key, String(value)]];\n }\n });\n const searchParams = new URLSearchParams(normalizedObject);\n return (pfx || \"\") + searchParams.toString();\n}\nfunction toValue(str) {\n if (!str) return \"\";\n if (str === \"false\") return false;\n if (str === \"true\") return true;\n return +str * 0 === 0 && +str + \"\" === str ? +str : str;\n}\nfunction decode(str, pfx) {\n const searchParamsPart = pfx ? str.slice(pfx.length) : str;\n const searchParams = new URLSearchParams(searchParamsPart);\n const entries = [...searchParams.entries()];\n return entries.reduce((acc, [key, value]) => {\n const previousValue = acc[key];\n if (previousValue == null) {\n acc[key] = toValue(value);\n } else {\n acc[key] = Array.isArray(previousValue) ? [...previousValue, toValue(value)] : [previousValue, toValue(value)];\n }\n return acc;\n }, {});\n}\nexport {\n decode,\n encode\n};\n//# sourceMappingURL=qss.js.map\n","import { decode, encode } from \"./qss.js\";\nconst defaultParseSearch = parseSearchWith(JSON.parse);\nconst defaultStringifySearch = stringifySearchWith(\n JSON.stringify,\n JSON.parse\n);\nfunction parseSearchWith(parser) {\n return (searchStr) => {\n if (searchStr.substring(0, 1) === \"?\") {\n searchStr = searchStr.substring(1);\n }\n const query = decode(searchStr);\n for (const key in query) {\n const value = query[key];\n if (typeof value === \"string\") {\n try {\n query[key] = parser(value);\n } catch (err) {\n }\n }\n }\n return query;\n };\n}\nfunction stringifySearchWith(stringify, parser) {\n function stringifyValue(val) {\n if (typeof val === \"object\" && val !== null) {\n try {\n return stringify(val);\n } catch (err) {\n }\n } else if (typeof val === \"string\" && typeof parser === \"function\") {\n try {\n parser(val);\n return stringify(val);\n } catch (err) {\n }\n }\n return val;\n }\n return (search) => {\n search = { ...search };\n Object.keys(search).forEach((key) => {\n const val = search[key];\n if (typeof val === \"undefined\" || val === void 0) {\n delete search[key];\n } else {\n search[key] = stringifyValue(val);\n }\n });\n const searchStr = encode(search).toString();\n return searchStr ? `?${searchStr}` : \"\";\n };\n}\nexport {\n defaultParseSearch,\n defaultStringifySearch,\n parseSearchWith,\n stringifySearchWith\n};\n//# sourceMappingURL=searchParams.js.map\n","const rootRouteId = \"__root__\";\nexport {\n rootRouteId\n};\n//# sourceMappingURL=root.js.map\n","function redirect(opts) {\n opts.statusCode = opts.statusCode || opts.code || 307;\n if (!opts.reloadDocument) {\n try {\n new URL(`${opts.href}`);\n opts.reloadDocument = true;\n } catch {\n }\n }\n const headers = new Headers(opts.headers || {});\n if (opts.href && headers.get(\"Location\") === null) {\n headers.set(\"Location\", opts.href);\n }\n const response = new Response(null, {\n status: opts.statusCode,\n headers\n });\n response.options = opts;\n if (opts.throw) {\n throw response;\n }\n return response;\n}\nfunction isRedirect(obj) {\n return obj instanceof Response && !!obj.options;\n}\nfunction isResolvedRedirect(obj) {\n return isRedirect(obj) && !!obj.options.href;\n}\nfunction parseRedirect(obj) {\n if (typeof obj === \"object\" && obj.isSerializedRedirect) {\n return redirect(obj);\n }\n return void 0;\n}\nexport {\n isRedirect,\n isResolvedRedirect,\n parseRedirect,\n redirect\n};\n//# sourceMappingURL=redirect.js.map\n","function createLRUCache(max) {\n const cache = /* @__PURE__ */ new Map();\n let oldest;\n let newest;\n const touch = (entry) => {\n if (!entry.next) return;\n if (!entry.prev) {\n entry.next.prev = void 0;\n oldest = entry.next;\n entry.next = void 0;\n if (newest) {\n entry.prev = newest;\n newest.next = entry;\n }\n } else {\n entry.prev.next = entry.next;\n entry.next.prev = entry.prev;\n entry.next = void 0;\n if (newest) {\n newest.next = entry;\n entry.prev = newest;\n }\n }\n newest = entry;\n };\n return {\n get(key) {\n const entry = cache.get(key);\n if (!entry) return void 0;\n touch(entry);\n return entry.value;\n },\n set(key, value) {\n if (cache.size >= max && oldest) {\n const toDelete = oldest;\n cache.delete(toDelete.key);\n if (toDelete.next) {\n oldest = toDelete.next;\n toDelete.next.prev = void 0;\n }\n if (toDelete === newest) {\n newest = void 0;\n }\n }\n const existing = cache.get(key);\n if (existing) {\n existing.value = value;\n touch(existing);\n } else {\n const entry = { key, value, prev: newest };\n if (newest) newest.next = entry;\n newest = entry;\n if (!oldest) oldest = entry;\n cache.set(key, entry);\n }\n }\n };\n}\nexport {\n createLRUCache\n};\n//# sourceMappingURL=lru-cache.js.map\n","import { Store, batch } from \"@tanstack/store\";\nimport { createMemoryHistory, createBrowserHistory, parseHref } from \"@tanstack/history\";\nimport invariant from \"tiny-invariant\";\nimport { pick, createControlledPromise, deepEqual, replaceEqualDeep, last, functionalUpdate } from \"./utils.js\";\nimport { trimPath, resolvePath, cleanPath, matchPathname, trimPathRight, interpolatePath, joinPaths, trimPathLeft, parsePathname, SEGMENT_TYPE_PARAM, SEGMENT_TYPE_OPTIONAL_PARAM, SEGMENT_TYPE_WILDCARD, SEGMENT_TYPE_PATHNAME } from \"./path.js\";\nimport { isNotFound } from \"./not-found.js\";\nimport { setupScrollRestoration } from \"./scroll-restoration.js\";\nimport { defaultParseSearch, defaultStringifySearch } from \"./searchParams.js\";\nimport { rootRouteId } from \"./root.js\";\nimport { redirect, isRedirect } from \"./redirect.js\";\nimport { createLRUCache } from \"./lru-cache.js\";\nfunction defaultSerializeError(err) {\n if (err instanceof Error) {\n const obj = {\n name: err.name,\n message: err.message\n };\n if (process.env.NODE_ENV === \"development\") {\n obj.stack = err.stack;\n }\n return obj;\n }\n return {\n data: err\n };\n}\nfunction getLocationChangeInfo(routerState) {\n const fromLocation = routerState.resolvedLocation;\n const toLocation = routerState.location;\n const pathChanged = (fromLocation == null ? void 0 : fromLocation.pathname) !== toLocation.pathname;\n const hrefChanged = (fromLocation == null ? void 0 : fromLocation.href) !== toLocation.href;\n const hashChanged = (fromLocation == null ? void 0 : fromLocation.hash) !== toLocation.hash;\n return { fromLocation, toLocation, pathChanged, hrefChanged, hashChanged };\n}\nclass RouterCore {\n /**\n * @deprecated Use the `createRouter` function instead\n */\n constructor(options) {\n this.tempLocationKey = `${Math.round(\n Math.random() * 1e7\n )}`;\n this.resetNextScroll = true;\n this.shouldViewTransition = void 0;\n this.isViewTransitionTypesSupported = void 0;\n this.subscribers = /* @__PURE__ */ new Set();\n this.isScrollRestoring = false;\n this.isScrollRestorationSetup = false;\n this.startTransition = (fn) => fn();\n this.update = (newOptions) => {\n var _a;\n if (newOptions.notFoundRoute) {\n console.warn(\n \"The notFoundRoute API is deprecated and will be removed in the next major version. See https://tanstack.com/router/v1/docs/framework/react/guide/not-found-errors#migrating-from-notfoundroute for more info.\"\n );\n }\n const previousOptions = this.options;\n this.options = {\n ...this.options,\n ...newOptions\n };\n this.isServer = this.options.isServer ?? typeof document === \"undefined\";\n this.pathParamsDecodeCharMap = this.options.pathParamsAllowedCharacters ? new Map(\n this.options.pathParamsAllowedCharacters.map((char) => [\n encodeURIComponent(char),\n char\n ])\n ) : void 0;\n if (!this.basepath || newOptions.basepath && newOptions.basepath !== previousOptions.basepath) {\n if (newOptions.basepath === void 0 || newOptions.basepath === \"\" || newOptions.basepath === \"/\") {\n this.basepath = \"/\";\n } else {\n this.basepath = `/${trimPath(newOptions.basepath)}`;\n }\n }\n if (!this.history || this.options.history && this.options.history !== this.history) {\n this.history = this.options.history ?? (this.isServer ? createMemoryHistory({\n initialEntries: [this.basepath || \"/\"]\n }) : createBrowserHistory());\n this.latestLocation = this.parseLocation();\n }\n if (this.options.routeTree !== this.routeTree) {\n this.routeTree = this.options.routeTree;\n this.buildRouteTree();\n }\n if (!this.__store) {\n this.__store = new Store(getInitialRouterState(this.latestLocation), {\n onUpdate: () => {\n this.__store.state = {\n ...this.state,\n cachedMatches: this.state.cachedMatches.filter(\n (d) => ![\"redirected\"].includes(d.status)\n )\n };\n }\n });\n setupScrollRestoration(this);\n }\n if (typeof window !== \"undefined\" && \"CSS\" in window && typeof ((_a = window.CSS) == null ? void 0 : _a.supports) === \"function\") {\n this.isViewTransitionTypesSupported = window.CSS.supports(\n \"selector(:active-view-transition-type(a)\"\n );\n }\n };\n this.buildRouteTree = () => {\n const { routesById, routesByPath, flatRoutes } = processRouteTree({\n routeTree: this.routeTree,\n initRoute: (route, i) => {\n route.init({\n originalIndex: i\n });\n }\n });\n this.routesById = routesById;\n this.routesByPath = routesByPath;\n this.flatRoutes = flatRoutes;\n const notFoundRoute = this.options.notFoundRoute;\n if (notFoundRoute) {\n notFoundRoute.init({\n originalIndex: 99999999999\n });\n this.routesById[notFoundRoute.id] = notFoundRoute;\n }\n };\n this.subscribe = (eventType, fn) => {\n const listener = {\n eventType,\n fn\n };\n this.subscribers.add(listener);\n return () => {\n this.subscribers.delete(listener);\n };\n };\n this.emit = (routerEvent) => {\n this.subscribers.forEach((listener) => {\n if (listener.eventType === routerEvent.type) {\n listener.fn(routerEvent);\n }\n });\n };\n this.parseLocation = (previousLocation, locationToParse) => {\n const parse = ({\n pathname,\n search,\n hash,\n state\n }) => {\n const parsedSearch = this.options.parseSearch(search);\n const searchStr = this.options.stringifySearch(parsedSearch);\n return {\n pathname,\n searchStr,\n search: replaceEqualDeep(previousLocation == null ? void 0 : previousLocation.search, parsedSearch),\n hash: hash.split(\"#\").reverse()[0] ?? \"\",\n href: `${pathname}${searchStr}${hash}`,\n state: replaceEqualDeep(previousLocation == null ? void 0 : previousLocation.state, state)\n };\n };\n const location = parse(locationToParse ?? this.history.location);\n const { __tempLocation, __tempKey } = location.state;\n if (__tempLocation && (!__tempKey || __tempKey === this.tempLocationKey)) {\n const parsedTempLocation = parse(__tempLocation);\n parsedTempLocation.state.key = location.state.key;\n parsedTempLocation.state.__TSR_key = location.state.__TSR_key;\n delete parsedTempLocation.state.__tempLocation;\n return {\n ...parsedTempLocation,\n maskedLocation: location\n };\n }\n return location;\n };\n this.resolvePathWithBase = (from, path) => {\n const resolvedPath = resolvePath({\n basepath: this.basepath,\n base: from,\n to: cleanPath(path),\n trailingSlash: this.options.trailingSlash,\n caseSensitive: this.options.caseSensitive,\n parseCache: this.parsePathnameCache\n });\n return resolvedPath;\n };\n this.matchRoutes = (pathnameOrNext, locationSearchOrOpts, opts) => {\n if (typeof pathnameOrNext === \"string\") {\n return this.matchRoutesInternal(\n {\n pathname: pathnameOrNext,\n search: locationSearchOrOpts\n },\n opts\n );\n }\n return this.matchRoutesInternal(pathnameOrNext, locationSearchOrOpts);\n };\n this.parsePathnameCache = createLRUCache(1e3);\n this.getMatchedRoutes = (pathname, routePathname) => {\n return getMatchedRoutes({\n pathname,\n routePathname,\n basepath: this.basepath,\n caseSensitive: this.options.caseSensitive,\n routesByPath: this.routesByPath,\n routesById: this.routesById,\n flatRoutes: this.flatRoutes,\n parseCache: this.parsePathnameCache\n });\n };\n this.cancelMatch = (id) => {\n const match = this.getMatch(id);\n if (!match) return;\n match.abortController.abort();\n this.updateMatch(id, (prev) => {\n clearTimeout(prev.pendingTimeout);\n return {\n ...prev,\n pendingTimeout: void 0\n };\n });\n };\n this.cancelMatches = () => {\n var _a;\n (_a = this.state.pendingMatches) == null ? void 0 : _a.forEach((match) => {\n this.cancelMatch(match.id);\n });\n };\n this.buildLocation = (opts) => {\n const build = (dest = {}) => {\n var _a;\n const currentLocation = dest._fromLocation || this.latestLocation;\n const allCurrentLocationMatches = this.matchRoutes(currentLocation, {\n _buildLocation: true\n });\n const lastMatch = last(allCurrentLocationMatches);\n let fromPath = lastMatch.fullPath;\n const toPath = dest.to ? this.resolvePathWithBase(fromPath, `${dest.to}`) : this.resolvePathWithBase(fromPath, \".\");\n const routeIsChanging = !!dest.to && !comparePaths(dest.to.toString(), fromPath) && !comparePaths(toPath, fromPath);\n if (dest.unsafeRelative === \"path\") {\n fromPath = currentLocation.pathname;\n } else if (routeIsChanging && dest.from) {\n fromPath = dest.from;\n if (process.env.NODE_ENV !== \"production\" && dest._isNavigate) {\n const allFromMatches = this.getMatchedRoutes(\n dest.from,\n void 0\n ).matchedRoutes;\n const matchedFrom = [...allCurrentLocationMatches].reverse().find((d) => {\n return comparePaths(d.fullPath, fromPath);\n });\n const matchedCurrent = [...allFromMatches].reverse().find((d) => {\n return comparePaths(d.fullPath, currentLocation.pathname);\n });\n if (!matchedFrom && !matchedCurrent) {\n console.warn(`Could not find match for from: ${fromPath}`);\n }\n }\n }\n const fromSearch = lastMatch.search;\n const fromParams = { ...lastMatch.params };\n const nextTo = dest.to ? this.resolvePathWithBase(fromPath, `${dest.to}`) : this.resolvePathWithBase(fromPath, \".\");\n let nextParams = dest.params === false || dest.params === null ? {} : (dest.params ?? true) === true ? fromParams : {\n ...fromParams,\n ...functionalUpdate(dest.params, fromParams)\n };\n const interpolatedNextTo = interpolatePath({\n path: nextTo,\n params: nextParams ?? {},\n parseCache: this.parsePathnameCache\n }).interpolatedPath;\n const destRoutes = this.matchRoutes(\n interpolatedNextTo,\n {},\n {\n _buildLocation: true\n }\n ).map((d) => this.looseRoutesById[d.routeId]);\n if (Object.keys(nextParams).length > 0) {\n destRoutes.map((route) => {\n var _a2;\n return ((_a2 = route.options.params) == null ? void 0 : _a2.stringify) ?? route.options.stringifyParams;\n }).filter(Boolean).forEach((fn) => {\n nextParams = { ...nextParams, ...fn(nextParams) };\n });\n }\n const nextPathname = interpolatePath({\n // Use the original template path for interpolation\n // This preserves the original parameter syntax including optional parameters\n path: nextTo,\n params: nextParams ?? {},\n leaveWildcards: false,\n leaveParams: opts.leaveParams,\n decodeCharMap: this.pathParamsDecodeCharMap,\n parseCache: this.parsePathnameCache\n }).interpolatedPath;\n let nextSearch = fromSearch;\n if (opts._includeValidateSearch && ((_a = this.options.search) == null ? void 0 : _a.strict)) {\n let validatedSearch = {};\n destRoutes.forEach((route) => {\n try {\n if (route.options.validateSearch) {\n validatedSearch = {\n ...validatedSearch,\n ...validateSearch(route.options.validateSearch, {\n ...validatedSearch,\n ...nextSearch\n }) ?? {}\n };\n }\n } catch {\n }\n });\n nextSearch = validatedSearch;\n }\n nextSearch = applySearchMiddleware({\n search: nextSearch,\n dest,\n destRoutes,\n _includeValidateSearch: opts._includeValidateSearch\n });\n nextSearch = replaceEqualDeep(fromSearch, nextSearch);\n const searchStr = this.options.stringifySearch(nextSearch);\n const hash = dest.hash === true ? currentLocation.hash : dest.hash ? functionalUpdate(dest.hash, currentLocation.hash) : void 0;\n const hashStr = hash ? `#${hash}` : \"\";\n let nextState = dest.state === true ? currentLocation.state : dest.state ? functionalUpdate(dest.state, currentLocation.state) : {};\n nextState = replaceEqualDeep(currentLocation.state, nextState);\n return {\n pathname: nextPathname,\n search: nextSearch,\n searchStr,\n state: nextState,\n hash: hash ?? \"\",\n href: `${nextPathname}${searchStr}${hashStr}`,\n unmaskOnReload: dest.unmaskOnReload\n };\n };\n const buildWithMatches = (dest = {}, maskedDest) => {\n var _a;\n const next = build(dest);\n let maskedNext = maskedDest ? build(maskedDest) : void 0;\n if (!maskedNext) {\n let params = {};\n const foundMask = (_a = this.options.routeMasks) == null ? void 0 : _a.find((d) => {\n const match = matchPathname(\n this.basepath,\n next.pathname,\n {\n to: d.from,\n caseSensitive: false,\n fuzzy: false\n },\n this.parsePathnameCache\n );\n if (match) {\n params = match;\n return true;\n }\n return false;\n });\n if (foundMask) {\n const { from: _from, ...maskProps } = foundMask;\n maskedDest = {\n ...pick(opts, [\"from\"]),\n ...maskProps,\n params\n };\n maskedNext = build(maskedDest);\n }\n }\n if (maskedNext) {\n const maskedFinal = build(maskedDest);\n next.maskedLocation = maskedFinal;\n }\n return next;\n };\n if (opts.mask) {\n return buildWithMatches(opts, {\n ...pick(opts, [\"from\"]),\n ...opts.mask\n });\n }\n return buildWithMatches(opts);\n };\n this.commitLocation = ({\n viewTransition,\n ignoreBlocker,\n ...next\n }) => {\n const isSameState = () => {\n const ignoredProps = [\n \"key\",\n // TODO: Remove in v2 - use __TSR_key instead\n \"__TSR_key\",\n \"__TSR_index\",\n \"__hashScrollIntoViewOptions\"\n ];\n ignoredProps.forEach((prop) => {\n next.state[prop] = this.latestLocation.state[prop];\n });\n const isEqual = deepEqual(next.state, this.latestLocation.state);\n ignoredProps.forEach((prop) => {\n delete next.state[prop];\n });\n return isEqual;\n };\n const isSameUrl = this.latestLocation.href === next.href;\n const previousCommitPromise = this.commitLocationPromise;\n this.commitLocationPromise = createControlledPromise(() => {\n previousCommitPromise == null ? void 0 : previousCommitPromise.resolve();\n });\n if (isSameUrl && isSameState()) {\n this.load();\n } else {\n let { maskedLocation, hashScrollIntoView, ...nextHistory } = next;\n if (maskedLocation) {\n nextHistory = {\n ...maskedLocation,\n state: {\n ...maskedLocation.state,\n __tempKey: void 0,\n __tempLocation: {\n ...nextHistory,\n search: nextHistory.searchStr,\n state: {\n ...nextHistory.state,\n __tempKey: void 0,\n __tempLocation: void 0,\n __TSR_key: void 0,\n key: void 0\n // TODO: Remove in v2 - use __TSR_key instead\n }\n }\n }\n };\n if (nextHistory.unmaskOnReload ?? this.options.unmaskOnReload ?? false) {\n nextHistory.state.__tempKey = this.tempLocationKey;\n }\n }\n nextHistory.state.__hashScrollIntoViewOptions = hashScrollIntoView ?? this.options.defaultHashScrollIntoView ?? true;\n this.shouldViewTransition = viewTransition;\n this.history[next.replace ? \"replace\" : \"push\"](\n nextHistory.href,\n nextHistory.state,\n { ignoreBlocker }\n );\n }\n this.resetNextScroll = next.resetScroll ?? true;\n if (!this.history.subscribers.size) {\n this.load();\n }\n return this.commitLocationPromise;\n };\n this.buildAndCommitLocation = ({\n replace,\n resetScroll,\n hashScrollIntoView,\n viewTransition,\n ignoreBlocker,\n href,\n ...rest\n } = {}) => {\n if (href) {\n const currentIndex = this.history.location.state.__TSR_index;\n const parsed = parseHref(href, {\n __TSR_index: replace ? currentIndex : currentIndex + 1\n });\n rest.to = parsed.pathname;\n rest.search = this.options.parseSearch(parsed.search);\n rest.hash = parsed.hash.slice(1);\n }\n const location = this.buildLocation({\n ...rest,\n _includeValidateSearch: true\n });\n return this.commitLocation({\n ...location,\n viewTransition,\n replace,\n resetScroll,\n hashScrollIntoView,\n ignoreBlocker\n });\n };\n this.navigate = ({ to, reloadDocument, href, ...rest }) => {\n if (!reloadDocument && href) {\n try {\n new URL(`${href}`);\n reloadDocument = true;\n } catch {\n }\n }\n if (reloadDocument) {\n if (!href) {\n const location = this.buildLocation({ to, ...rest });\n href = this.history.createHref(location.href);\n }\n if (rest.replace) {\n window.location.replace(href);\n } else {\n window.location.href = href;\n }\n return Promise.resolve();\n }\n return this.buildAndCommitLocation({\n ...rest,\n href,\n to,\n _isNavigate: true\n });\n };\n this.beforeLoad = () => {\n this.cancelMatches();\n this.latestLocation = this.parseLocation(this.latestLocation);\n if (this.isServer) {\n const nextLocation = this.buildLocation({\n to: this.latestLocation.pathname,\n search: true,\n params: true,\n hash: true,\n state: true,\n _includeValidateSearch: true\n });\n const normalizeUrl = (url) => {\n try {\n return encodeURI(decodeURI(url));\n } catch {\n return url;\n }\n };\n if (trimPath(normalizeUrl(this.latestLocation.href)) !== trimPath(normalizeUrl(nextLocation.href))) {\n throw redirect({ href: nextLocation.href });\n }\n }\n const pendingMatches = this.matchRoutes(this.latestLocation);\n this.__store.setState((s) => ({\n ...s,\n status: \"pending\",\n statusCode: 200,\n isLoading: true,\n location: this.latestLocation,\n pendingMatches,\n // If a cached moved to pendingMatches, remove it from cachedMatches\n cachedMatches: s.cachedMatches.filter(\n (d) => !pendingMatches.some((e) => e.id === d.id)\n )\n }));\n };\n this.load = async (opts) => {\n let redirect2;\n let notFound;\n let loadPromise;\n loadPromise = new Promise((resolve) => {\n this.startTransition(async () => {\n var _a;\n try {\n this.beforeLoad();\n const next = this.latestLocation;\n const prevLocation = this.state.resolvedLocation;\n if (!this.state.redirect) {\n this.emit({\n type: \"onBeforeNavigate\",\n ...getLocationChangeInfo({\n resolvedLocation: prevLocation,\n location: next\n })\n });\n }\n this.emit({\n type: \"onBeforeLoad\",\n ...getLocationChangeInfo({\n resolvedLocation: prevLocation,\n location: next\n })\n });\n await this.loadMatches({\n sync: opts == null ? void 0 : opts.sync,\n matches: this.state.pendingMatches,\n location: next,\n // eslint-disable-next-line @typescript-eslint/require-await\n onReady: async () => {\n this.startViewTransition(async () => {\n let exitingMatches;\n let enteringMatches;\n let stayingMatches;\n batch(() => {\n this.__store.setState((s) => {\n const previousMatches = s.matches;\n const newMatches = s.pendingMatches || s.matches;\n exitingMatches = previousMatches.filter(\n (match) => !newMatches.some((d) => d.id === match.id)\n );\n enteringMatches = newMatches.filter(\n (match) => !previousMatches.some((d) => d.id === match.id)\n );\n stayingMatches = previousMatches.filter(\n (match) => newMatches.some((d) => d.id === match.id)\n );\n return {\n ...s,\n isLoading: false,\n loadedAt: Date.now(),\n matches: newMatches,\n pendingMatches: void 0,\n cachedMatches: [\n ...s.cachedMatches,\n ...exitingMatches.filter((d) => d.status !== \"error\")\n ]\n };\n });\n this.clearExpiredCache();\n });\n [\n [exitingMatches, \"onLeave\"],\n [enteringMatches, \"onEnter\"],\n [stayingMatches, \"onStay\"]\n ].forEach(([matches, hook]) => {\n matches.forEach((match) => {\n var _a2, _b;\n (_b = (_a2 = this.looseRoutesById[match.routeId].options)[hook]) == null ? void 0 : _b.call(_a2, match);\n });\n });\n });\n }\n });\n } catch (err) {\n if (isRedirect(err)) {\n redirect2 = err;\n if (!this.isServer) {\n this.navigate({\n ...redirect2.options,\n replace: true,\n ignoreBlocker: true\n });\n }\n } else if (isNotFound(err)) {\n notFound = err;\n }\n this.__store.setState((s) => ({\n ...s,\n statusCode: redirect2 ? redirect2.status : notFound ? 404 : s.matches.some((d) => d.status === \"error\") ? 500 : 200,\n redirect: redirect2\n }));\n }\n if (this.latestLoadPromise === loadPromise) {\n (_a = this.commitLocationPromise) == null ? void 0 : _a.resolve();\n this.latestLoadPromise = void 0;\n this.commitLocationPromise = void 0;\n }\n resolve();\n });\n });\n this.latestLoadPromise = loadPromise;\n await loadPromise;\n while (this.latestLoadPromise && loadPromise !== this.latestLoadPromise) {\n await this.latestLoadPromise;\n }\n if (this.hasNotFoundMatch()) {\n this.__store.setState((s) => ({\n ...s,\n statusCode: 404\n }));\n }\n };\n this.startViewTransition = (fn) => {\n const shouldViewTransition = this.shouldViewTransition ?? this.options.defaultViewTransition;\n delete this.shouldViewTransition;\n if (shouldViewTransition && typeof document !== \"undefined\" && \"startViewTransition\" in document && typeof document.startViewTransition === \"function\") {\n let startViewTransitionParams;\n if (typeof shouldViewTransition === \"object\" && this.isViewTransitionTypesSupported) {\n const next = this.latestLocation;\n const prevLocation = this.state.resolvedLocation;\n const resolvedViewTransitionTypes = typeof shouldViewTransition.types === \"function\" ? shouldViewTransition.types(\n getLocationChangeInfo({\n resolvedLocation: prevLocation,\n location: next\n })\n ) : shouldViewTransition.types;\n startViewTransitionParams = {\n update: fn,\n types: resolvedViewTransitionTypes\n };\n } else {\n startViewTransitionParams = fn;\n }\n document.startViewTransition(startViewTransitionParams);\n } else {\n fn();\n }\n };\n this.updateMatch = (id, updater) => {\n var _a;\n const matchesKey = ((_a = this.state.pendingMatches) == null ? void 0 : _a.some((d) => d.id === id)) ? \"pendingMatches\" : this.state.matches.some((d) => d.id === id) ? \"matches\" : this.state.cachedMatches.some((d) => d.id === id) ? \"cachedMatches\" : \"\";\n if (matchesKey) {\n this.__store.setState((s) => {\n var _a2;\n return {\n ...s,\n [matchesKey]: (_a2 = s[matchesKey]) == null ? void 0 : _a2.map((d) => d.id === id ? updater(d) : d)\n };\n });\n }\n };\n this.getMatch = (matchId) => {\n var _a;\n const findFn = (d) => d.id === matchId;\n return this.state.cachedMatches.find(findFn) ?? ((_a = this.state.pendingMatches) == null ? void 0 : _a.find(findFn)) ?? this.state.matches.find(findFn);\n };\n this.loadMatches = async ({\n location,\n matches,\n preload: allPreload,\n onReady,\n updateMatch = this.updateMatch,\n sync\n }) => {\n let firstBadMatchIndex;\n let rendered = false;\n const triggerOnReady = async () => {\n if (!rendered) {\n rendered = true;\n await (onReady == null ? void 0 : onReady());\n }\n };\n const resolvePreload = (matchId) => {\n return !!(allPreload && !this.state.matches.some((d) => d.id === matchId));\n };\n if (!this.isServer && this.state.matches.some((d) => d._forcePending)) {\n triggerOnReady();\n }\n const handleRedirectAndNotFound = (match, err) => {\n var _a, _b, _c;\n if (isRedirect(err) || isNotFound(err)) {\n if (isRedirect(err)) {\n if (err.redirectHandled) {\n if (!err.options.reloadDocument) {\n throw err;\n }\n }\n }\n (_a = match.beforeLoadPromise) == null ? void 0 : _a.resolve();\n (_b = match.loaderPromise) == null ? void 0 : _b.resolve();\n updateMatch(match.id, (prev) => ({\n ...prev,\n status: isRedirect(err) ? \"redirected\" : isNotFound(err) ? \"notFound\" : \"error\",\n isFetching: false,\n error: err,\n beforeLoadPromise: void 0,\n loaderPromise: void 0\n }));\n if (!err.routeId) {\n err.routeId = match.routeId;\n }\n (_c = match.loadPromise) == null ? void 0 : _c.resolve();\n if (isRedirect(err)) {\n rendered = true;\n err.options._fromLocation = location;\n err.redirectHandled = true;\n err = this.resolveRedirect(err);\n throw err;\n } else if (isNotFound(err)) {\n this._handleNotFound(matches, err, {\n updateMatch\n });\n throw err;\n }\n }\n };\n const shouldSkipLoader = (matchId) => {\n const match = this.getMatch(matchId);\n if (!this.isServer && match._dehydrated) {\n return true;\n }\n if (this.isServer) {\n if (match.ssr === false) {\n return true;\n }\n }\n return false;\n };\n try {\n await new Promise((resolveAll, rejectAll) => {\n ;\n (async () => {\n var _a, _b, _c, _d;\n try {\n const handleSerialError = (index, err, routerCode) => {\n var _a2, _b2;\n const { id: matchId, routeId } = matches[index];\n const route = this.looseRoutesById[routeId];\n if (err instanceof Promise) {\n throw err;\n }\n err.routerCode = routerCode;\n firstBadMatchIndex = firstBadMatchIndex ?? index;\n handleRedirectAndNotFound(this.getMatch(matchId), err);\n try {\n (_b2 = (_a2 = route.options).onError) == null ? void 0 : _b2.call(_a2, err);\n } catch (errorHandlerErr) {\n err = errorHandlerErr;\n handleRedirectAndNotFound(this.getMatch(matchId), err);\n }\n updateMatch(matchId, (prev) => {\n var _a3, _b3;\n (_a3 = prev.beforeLoadPromise) == null ? void 0 : _a3.resolve();\n (_b3 = prev.loadPromise) == null ? void 0 : _b3.resolve();\n return {\n ...prev,\n error: err,\n status: \"error\",\n isFetching: false,\n updatedAt: Date.now(),\n abortController: new AbortController(),\n beforeLoadPromise: void 0\n };\n });\n };\n for (const [index, { id: matchId, routeId }] of matches.entries()) {\n const existingMatch = this.getMatch(matchId);\n const parentMatchId = (_a = matches[index - 1]) == null ? void 0 : _a.id;\n const parentMatch = parentMatchId ? this.getMatch(parentMatchId) : void 0;\n const route = this.looseRoutesById[routeId];\n const pendingMs = route.options.pendingMs ?? this.options.defaultPendingMs;\n if (this.isServer) {\n let ssr;\n if (this.isShell()) {\n ssr = matchId === rootRouteId;\n } else {\n const defaultSsr = this.options.defaultSsr ?? true;\n if ((parentMatch == null ? void 0 : parentMatch.ssr) === false) {\n ssr = false;\n } else {\n let tempSsr;\n if (route.options.ssr === void 0) {\n tempSsr = defaultSsr;\n } else if (typeof route.options.ssr === \"function\") {\n let makeMaybe = function(value, error) {\n if (error) {\n return { status: \"error\", error };\n }\n return { status: \"success\", value };\n };\n const { search, params } = this.getMatch(matchId);\n const ssrFnContext = {\n search: makeMaybe(search, existingMatch.searchError),\n params: makeMaybe(params, existingMatch.paramsError),\n location,\n matches: matches.map((match) => ({\n index: match.index,\n pathname: match.pathname,\n fullPath: match.fullPath,\n staticData: match.staticData,\n id: match.id,\n routeId: match.routeId,\n search: makeMaybe(match.search, match.searchError),\n params: makeMaybe(match.params, match.paramsError),\n ssr: match.ssr\n }))\n };\n tempSsr = await route.options.ssr(ssrFnContext) ?? defaultSsr;\n } else {\n tempSsr = route.options.ssr;\n }\n if (tempSsr === true && (parentMatch == null ? void 0 : parentMatch.ssr) === \"data-only\") {\n ssr = \"data-only\";\n } else {\n ssr = tempSsr;\n }\n }\n }\n updateMatch(matchId, (prev) => ({\n ...prev,\n ssr\n }));\n }\n if (shouldSkipLoader(matchId)) {\n continue;\n }\n const shouldPending = !!(onReady && !this.isServer && !resolvePreload(matchId) && (route.options.loader || route.options.beforeLoad || routeNeedsPreload(route)) && typeof pendingMs === \"number\" && pendingMs !== Infinity && (route.options.pendingComponent ?? ((_b = this.options) == null ? void 0 : _b.defaultPendingComponent)));\n let executeBeforeLoad = true;\n const setupPendingTimeout = () => {\n if (shouldPending && this.getMatch(matchId).pendingTimeout === void 0) {\n const pendingTimeout = setTimeout(() => {\n try {\n triggerOnReady();\n } catch {\n }\n }, pendingMs);\n updateMatch(matchId, (prev) => ({\n ...prev,\n pendingTimeout\n }));\n }\n };\n if (\n // If we are in the middle of a load, either of these will be present\n // (not to be confused with `loadPromise`, which is always defined)\n existingMatch.beforeLoadPromise || existingMatch.loaderPromise\n ) {\n setupPendingTimeout();\n await existingMatch.beforeLoadPromise;\n const match = this.getMatch(matchId);\n if (match.status === \"error\") {\n executeBeforeLoad = true;\n } else if (match.preload && (match.status === \"redirected\" || match.status === \"notFound\")) {\n handleRedirectAndNotFound(match, match.error);\n }\n }\n if (executeBeforeLoad) {\n try {\n updateMatch(matchId, (prev) => {\n const prevLoadPromise = prev.loadPromise;\n return {\n ...prev,\n loadPromise: createControlledPromise(() => {\n prevLoadPromise == null ? void 0 : prevLoadPromise.resolve();\n }),\n beforeLoadPromise: createControlledPromise()\n };\n });\n const { paramsError, searchError } = this.getMatch(matchId);\n if (paramsError) {\n handleSerialError(index, paramsError, \"PARSE_PARAMS\");\n }\n if (searchError) {\n handleSerialError(index, searchError, \"VALIDATE_SEARCH\");\n }\n setupPendingTimeout();\n const abortController = new AbortController();\n const parentMatchContext = (parentMatch == null ? void 0 : parentMatch.context) ?? this.options.context ?? {};\n updateMatch(matchId, (prev) => ({\n ...prev,\n isFetching: \"beforeLoad\",\n fetchCount: prev.fetchCount + 1,\n abortController,\n context: {\n ...parentMatchContext,\n ...prev.__routeContext\n }\n }));\n const { search, params, context, cause } = this.getMatch(matchId);\n const preload = resolvePreload(matchId);\n const beforeLoadFnContext = {\n search,\n abortController,\n params,\n preload,\n context,\n location,\n navigate: (opts) => this.navigate({ ...opts, _fromLocation: location }),\n buildLocation: this.buildLocation,\n cause: preload ? \"preload\" : cause,\n matches\n };\n const beforeLoadContext = await ((_d = (_c = route.options).beforeLoad) == null ? void 0 : _d.call(_c, beforeLoadFnContext));\n if (isRedirect(beforeLoadContext) || isNotFound(beforeLoadContext)) {\n handleSerialError(index, beforeLoadContext, \"BEFORE_LOAD\");\n }\n updateMatch(matchId, (prev) => {\n return {\n ...prev,\n __beforeLoadContext: beforeLoadContext,\n context: {\n ...parentMatchContext,\n ...prev.__routeContext,\n ...beforeLoadContext\n },\n abortController\n };\n });\n } catch (err) {\n handleSerialError(index, err, \"BEFORE_LOAD\");\n }\n updateMatch(matchId, (prev) => {\n var _a2;\n (_a2 = prev.beforeLoadPromise) == null ? void 0 : _a2.resolve();\n return {\n ...prev,\n beforeLoadPromise: void 0,\n isFetching: false\n };\n });\n }\n }\n const validResolvedMatches = matches.slice(0, firstBadMatchIndex);\n const matchPromises = [];\n validResolvedMatches.forEach(({ id: matchId, routeId }, index) => {\n matchPromises.push(\n (async () => {\n let loaderShouldRunAsync = false;\n let loaderIsRunningAsync = false;\n const route = this.looseRoutesById[routeId];\n const executeHead = async () => {\n var _a2, _b2, _c2, _d2, _e, _f;\n const match = this.getMatch(matchId);\n if (!match) {\n return;\n }\n const assetContext = {\n matches,\n match,\n params: match.params,\n loaderData: match.loaderData\n };\n const headFnContent = await ((_b2 = (_a2 = route.options).head) == null ? void 0 : _b2.call(_a2, assetContext));\n const meta = headFnContent == null ? void 0 : headFnContent.meta;\n const links = headFnContent == null ? void 0 : headFnContent.links;\n const headScripts = headFnContent == null ? void 0 : headFnContent.scripts;\n const styles = headFnContent == null ? void 0 : headFnContent.styles;\n const scripts = await ((_d2 = (_c2 = route.options).scripts) == null ? void 0 : _d2.call(_c2, assetContext));\n const headers = await ((_f = (_e = route.options).headers) == null ? void 0 : _f.call(_e, assetContext));\n return {\n meta,\n links,\n headScripts,\n headers,\n scripts,\n styles\n };\n };\n const potentialPendingMinPromise = async () => {\n const latestMatch = this.getMatch(matchId);\n if (latestMatch.minPendingPromise) {\n await latestMatch.minPendingPromise;\n }\n };\n const prevMatch = this.getMatch(matchId);\n if (shouldSkipLoader(matchId)) {\n if (this.isServer) {\n const head = await executeHead();\n updateMatch(matchId, (prev) => ({\n ...prev,\n ...head\n }));\n return this.getMatch(matchId);\n }\n } else if (prevMatch.loaderPromise) {\n if (prevMatch.status === \"success\" && !sync && !prevMatch.preload) {\n return this.getMatch(matchId);\n }\n await prevMatch.loaderPromise;\n const match = this.getMatch(matchId);\n if (match.error) {\n handleRedirectAndNotFound(match, match.error);\n }\n } else {\n const parentMatchPromise = matchPromises[index - 1];\n const getLoaderContext = () => {\n const {\n params,\n loaderDeps,\n abortController,\n context,\n cause\n } = this.getMatch(matchId);\n const preload2 = resolvePreload(matchId);\n return {\n params,\n deps: loaderDeps,\n preload: !!preload2,\n parentMatchPromise,\n abortController,\n context,\n location,\n navigate: (opts) => this.navigate({ ...opts, _fromLocation: location }),\n cause: preload2 ? \"preload\" : cause,\n route\n };\n };\n const age = Date.now() - this.getMatch(matchId).updatedAt;\n const preload = resolvePreload(matchId);\n const staleAge = preload ? route.options.preloadStaleTime ?? this.options.defaultPreloadStaleTime ?? 3e4 : route.options.staleTime ?? this.options.defaultStaleTime ?? 0;\n const shouldReloadOption = route.options.shouldReload;\n const shouldReload = typeof shouldReloadOption === \"function\" ? shouldReloadOption(getLoaderContext()) : shouldReloadOption;\n updateMatch(matchId, (prev) => ({\n ...prev,\n loaderPromise: createControlledPromise(),\n preload: !!preload && !this.state.matches.some((d) => d.id === matchId)\n }));\n const runLoader = async () => {\n var _a2, _b2, _c2, _d2;\n try {\n try {\n if (!this.isServer || this.isServer && this.getMatch(matchId).ssr === true) {\n this.loadRouteChunk(route);\n }\n updateMatch(matchId, (prev) => ({\n ...prev,\n isFetching: \"loader\"\n }));\n const loaderData = await ((_b2 = (_a2 = route.options).loader) == null ? void 0 : _b2.call(_a2, getLoaderContext()));\n handleRedirectAndNotFound(\n this.getMatch(matchId),\n loaderData\n );\n updateMatch(matchId, (prev) => ({\n ...prev,\n loaderData\n }));\n await route._lazyPromise;\n const head = await executeHead();\n await potentialPendingMinPromise();\n await route._componentsPromise;\n updateMatch(matchId, (prev) => ({\n ...prev,\n error: void 0,\n status: \"success\",\n isFetching: false,\n updatedAt: Date.now(),\n ...head\n }));\n } catch (e) {\n let error = e;\n await potentialPendingMinPromise();\n handleRedirectAndNotFound(this.getMatch(matchId), e);\n try {\n (_d2 = (_c2 = route.options).onError) == null ? void 0 : _d2.call(_c2, e);\n } catch (onErrorError) {\n error = onErrorError;\n handleRedirectAndNotFound(\n this.getMatch(matchId),\n onErrorError\n );\n }\n const head = await executeHead();\n updateMatch(matchId, (prev) => ({\n ...prev,\n error,\n status: \"error\",\n isFetching: false,\n ...head\n }));\n }\n } catch (err) {\n const head = await executeHead();\n updateMatch(matchId, (prev) => ({\n ...prev,\n loaderPromise: void 0,\n ...head\n }));\n handleRedirectAndNotFound(this.getMatch(matchId), err);\n }\n };\n const { status, invalid } = this.getMatch(matchId);\n loaderShouldRunAsync = status === \"success\" && (invalid || (shouldReload ?? age > staleAge));\n if (preload && route.options.preload === false) {\n } else if (loaderShouldRunAsync && !sync) {\n loaderIsRunningAsync = true;\n (async () => {\n try {\n await runLoader();\n const { loaderPromise, loadPromise } = this.getMatch(matchId);\n loaderPromise == null ? void 0 : loaderPromise.resolve();\n loadPromise == null ? void 0 : loadPromise.resolve();\n updateMatch(matchId, (prev) => ({\n ...prev,\n loaderPromise: void 0\n }));\n } catch (err) {\n if (isRedirect(err)) {\n await this.navigate(err.options);\n }\n }\n })();\n } else if (status !== \"success\" || loaderShouldRunAsync && sync) {\n await runLoader();\n } else {\n const head = await executeHead();\n updateMatch(matchId, (prev) => ({\n ...prev,\n ...head\n }));\n }\n }\n if (!loaderIsRunningAsync) {\n const { loaderPromise, loadPromise } = this.getMatch(matchId);\n loaderPromise == null ? void 0 : loaderPromise.resolve();\n loadPromise == null ? void 0 : loadPromise.resolve();\n }\n updateMatch(matchId, (prev) => {\n clearTimeout(prev.pendingTimeout);\n return {\n ...prev,\n isFetching: loaderIsRunningAsync ? prev.isFetching : false,\n loaderPromise: loaderIsRunningAsync ? prev.loaderPromise : void 0,\n invalid: false,\n pendingTimeout: void 0,\n _dehydrated: void 0\n };\n });\n return this.getMatch(matchId);\n })()\n );\n });\n await Promise.all(matchPromises);\n resolveAll();\n } catch (err) {\n rejectAll(err);\n }\n })();\n });\n await triggerOnReady();\n } catch (err) {\n if (isRedirect(err) || isNotFound(err)) {\n if (isNotFound(err) && !allPreload) {\n await triggerOnReady();\n }\n throw err;\n }\n }\n return matches;\n };\n this.invalidate = (opts) => {\n const invalidate = (d) => {\n var _a;\n if (((_a = opts == null ? void 0 : opts.filter) == null ? void 0 : _a.call(opts, d)) ?? true) {\n return {\n ...d,\n invalid: true,\n ...(opts == null ? void 0 : opts.forcePending) || d.status === \"error\" ? { status: \"pending\", error: void 0 } : {}\n };\n }\n return d;\n };\n this.__store.setState((s) => {\n var _a;\n return {\n ...s,\n matches: s.matches.map(invalidate),\n cachedMatches: s.cachedMatches.map(invalidate),\n pendingMatches: (_a = s.pendingMatches) == null ? void 0 : _a.map(invalidate)\n };\n });\n this.shouldViewTransition = false;\n return this.load({ sync: opts == null ? void 0 : opts.sync });\n };\n this.resolveRedirect = (redirect2) => {\n if (!redirect2.options.href) {\n redirect2.options.href = this.buildLocation(redirect2.options).href;\n redirect2.headers.set(\"Location\", redirect2.options.href);\n }\n if (!redirect2.headers.get(\"Location\")) {\n redirect2.headers.set(\"Location\", redirect2.options.href);\n }\n return redirect2;\n };\n this.clearCache = (opts) => {\n const filter = opts == null ? void 0 : opts.filter;\n if (filter !== void 0) {\n this.__store.setState((s) => {\n return {\n ...s,\n cachedMatches: s.cachedMatches.filter(\n (m) => !filter(m)\n )\n };\n });\n } else {\n this.__store.setState((s) => {\n return {\n ...s,\n cachedMatches: []\n };\n });\n }\n };\n this.clearExpiredCache = () => {\n const filter = (d) => {\n const route = this.looseRoutesById[d.routeId];\n if (!route.options.loader) {\n return true;\n }\n const gcTime = (d.preload ? route.options.preloadGcTime ?? this.options.defaultPreloadGcTime : route.options.gcTime ?? this.options.defaultGcTime) ?? 5 * 60 * 1e3;\n const isError = d.status === \"error\";\n if (isError) return true;\n const gcEligible = Date.now() - d.updatedAt >= gcTime;\n return gcEligible;\n };\n this.clearCache({ filter });\n };\n this.loadRouteChunk = (route) => {\n if (route._lazyPromise === void 0) {\n if (route.lazyFn) {\n route._lazyPromise = route.lazyFn().then((lazyRoute) => {\n const { id: _id, ...options2 } = lazyRoute.options;\n Object.assign(route.options, options2);\n });\n } else {\n route._lazyPromise = Promise.resolve();\n }\n }\n if (route._componentsPromise === void 0) {\n route._componentsPromise = route._lazyPromise.then(\n () => Promise.all(\n componentTypes.map(async (type) => {\n const component = route.options[type];\n if (component == null ? void 0 : component.preload) {\n await component.preload();\n }\n })\n )\n );\n }\n return route._componentsPromise;\n };\n this.preloadRoute = async (opts) => {\n const next = this.buildLocation(opts);\n let matches = this.matchRoutes(next, {\n throwOnError: true,\n preload: true,\n dest: opts\n });\n const activeMatchIds = new Set(\n [...this.state.matches, ...this.state.pendingMatches ?? []].map(\n (d) => d.id\n )\n );\n const loadedMatchIds = /* @__PURE__ */ new Set([\n ...activeMatchIds,\n ...this.state.cachedMatches.map((d) => d.id)\n ]);\n batch(() => {\n matches.forEach((match) => {\n if (!loadedMatchIds.has(match.id)) {\n this.__store.setState((s) => ({\n ...s,\n cachedMatches: [...s.cachedMatches, match]\n }));\n }\n });\n });\n try {\n matches = await this.loadMatches({\n matches,\n location: next,\n preload: true,\n updateMatch: (id, updater) => {\n if (activeMatchIds.has(id)) {\n matches = matches.map((d) => d.id === id ? updater(d) : d);\n } else {\n this.updateMatch(id, updater);\n }\n }\n });\n return matches;\n } catch (err) {\n if (isRedirect(err)) {\n if (err.options.reloadDocument) {\n return void 0;\n }\n return await this.preloadRoute({\n ...err.options,\n _fromLocation: next\n });\n }\n if (!isNotFound(err)) {\n console.error(err);\n }\n return void 0;\n }\n };\n this.matchRoute = (location, opts) => {\n const matchLocation = {\n ...location,\n to: location.to ? this.resolvePathWithBase(\n location.from || \"\",\n location.to\n ) : void 0,\n params: location.params || {},\n leaveParams: true\n };\n const next = this.buildLocation(matchLocation);\n if ((opts == null ? void 0 : opts.pending) && this.state.status !== \"pending\") {\n return false;\n }\n const pending = (opts == null ? void 0 : opts.pending) === void 0 ? !this.state.isLoading : opts.pending;\n const baseLocation = pending ? this.latestLocation : this.state.resolvedLocation || this.state.location;\n const match = matchPathname(\n this.basepath,\n baseLocation.pathname,\n {\n ...opts,\n to: next.pathname\n },\n this.parsePathnameCache\n );\n if (!match) {\n return false;\n }\n if (location.params) {\n if (!deepEqual(match, location.params, { partial: true })) {\n return false;\n }\n }\n if (match && ((opts == null ? void 0 : opts.includeSearch) ?? true)) {\n return deepEqual(baseLocation.search, next.search, { partial: true }) ? match : false;\n }\n return match;\n };\n this._handleNotFound = (matches, err, {\n updateMatch = this.updateMatch\n } = {}) => {\n var _a;\n const routeCursor = this.routesById[err.routeId ?? \"\"] ?? this.routeTree;\n const matchesByRouteId = {};\n for (const match of matches) {\n matchesByRouteId[match.routeId] = match;\n }\n if (!routeCursor.options.notFoundComponent && ((_a = this.options) == null ? void 0 : _a.defaultNotFoundComponent)) {\n routeCursor.options.notFoundComponent = this.options.defaultNotFoundComponent;\n }\n invariant(\n routeCursor.options.notFoundComponent,\n \"No notFoundComponent found. Please set a notFoundComponent on your route or provide a defaultNotFoundComponent to the router.\"\n );\n const matchForRoute = matchesByRouteId[routeCursor.id];\n invariant(\n matchForRoute,\n \"Could not find match for route: \" + routeCursor.id\n );\n updateMatch(matchForRoute.id, (prev) => ({\n ...prev,\n status: \"notFound\",\n error: err,\n isFetching: false\n }));\n if (err.routerCode === \"BEFORE_LOAD\" && routeCursor.parentRoute) {\n err.routeId = routeCursor.parentRoute.id;\n this._handleNotFound(matches, err, {\n updateMatch\n });\n }\n };\n this.hasNotFoundMatch = () => {\n return this.__store.state.matches.some(\n (d) => d.status === \"notFound\" || d.globalNotFound\n );\n };\n this.update({\n defaultPreloadDelay: 50,\n defaultPendingMs: 1e3,\n defaultPendingMinMs: 500,\n context: void 0,\n ...options,\n caseSensitive: options.caseSensitive ?? false,\n notFoundMode: options.notFoundMode ?? \"fuzzy\",\n stringifySearch: options.stringifySearch ?? defaultStringifySearch,\n parseSearch: options.parseSearch ?? defaultParseSearch\n });\n if (typeof document !== \"undefined\") {\n self.__TSR_ROUTER__ = this;\n }\n }\n isShell() {\n return !!this.options.isShell;\n }\n isPrerendering() {\n return !!this.options.isPrerendering;\n }\n get state() {\n return this.__store.state;\n }\n get looseRoutesById() {\n return this.routesById;\n }\n matchRoutesInternal(next, opts) {\n var _a;\n const { foundRoute, matchedRoutes, routeParams } = this.getMatchedRoutes(\n next.pathname,\n (_a = opts == null ? void 0 : opts.dest) == null ? void 0 : _a.to\n );\n let isGlobalNotFound = false;\n if (\n // If we found a route, and it's not an index route and we have left over path\n foundRoute ? foundRoute.path !== \"/\" && routeParams[\"**\"] : (\n // Or if we didn't find a route and we have left over path\n trimPathRight(next.pathname)\n )\n ) {\n if (this.options.notFoundRoute) {\n matchedRoutes.push(this.options.notFoundRoute);\n } else {\n isGlobalNotFound = true;\n }\n }\n const globalNotFoundRouteId = (() => {\n if (!isGlobalNotFound) {\n return void 0;\n }\n if (this.options.notFoundMode !== \"root\") {\n for (let i = matchedRoutes.length - 1; i >= 0; i--) {\n const route = matchedRoutes[i];\n if (route.children) {\n return route.id;\n }\n }\n }\n return rootRouteId;\n })();\n const parseErrors = matchedRoutes.map((route) => {\n var _a2;\n let parsedParamsError;\n const parseParams = ((_a2 = route.options.params) == null ? void 0 : _a2.parse) ?? route.options.parseParams;\n if (parseParams) {\n try {\n const parsedParams = parseParams(routeParams);\n Object.assign(routeParams, parsedParams);\n } catch (err) {\n parsedParamsError = new PathParamError(err.message, {\n cause: err\n });\n if (opts == null ? void 0 : opts.throwOnError) {\n throw parsedParamsError;\n }\n return parsedParamsError;\n }\n }\n return;\n });\n const matches = [];\n const getParentContext = (parentMatch) => {\n const parentMatchId = parentMatch == null ? void 0 : parentMatch.id;\n const parentContext = !parentMatchId ? this.options.context ?? {} : parentMatch.context ?? this.options.context ?? {};\n return parentContext;\n };\n matchedRoutes.forEach((route, index) => {\n var _a2, _b;\n const parentMatch = matches[index - 1];\n const [preMatchSearch, strictMatchSearch, searchError] = (() => {\n const parentSearch = (parentMatch == null ? void 0 : parentMatch.search) ?? next.search;\n const parentStrictSearch = (parentMatch == null ? void 0 : parentMatch._strictSearch) ?? {};\n try {\n const strictSearch = validateSearch(route.options.validateSearch, { ...parentSearch }) ?? {};\n return [\n {\n ...parentSearch,\n ...strictSearch\n },\n { ...parentStrictSearch, ...strictSearch },\n void 0\n ];\n } catch (err) {\n let searchParamError = err;\n if (!(err instanceof SearchParamError)) {\n searchParamError = new SearchParamError(err.message, {\n cause: err\n });\n }\n if (opts == null ? void 0 : opts.throwOnError) {\n throw searchParamError;\n }\n return [parentSearch, {}, searchParamError];\n }\n })();\n const loaderDeps = ((_b = (_a2 = route.options).loaderDeps) == null ? void 0 : _b.call(_a2, {\n search: preMatchSearch\n })) ?? \"\";\n const loaderDepsHash = loaderDeps ? JSON.stringify(loaderDeps) : \"\";\n const { usedParams, interpolatedPath } = interpolatePath({\n path: route.fullPath,\n params: routeParams,\n decodeCharMap: this.pathParamsDecodeCharMap\n });\n const matchId = interpolatePath({\n path: route.id,\n params: routeParams,\n leaveWildcards: true,\n decodeCharMap: this.pathParamsDecodeCharMap,\n parseCache: this.parsePathnameCache\n }).interpolatedPath + loaderDepsHash;\n const existingMatch = this.getMatch(matchId);\n const previousMatch = this.state.matches.find(\n (d) => d.routeId === route.id\n );\n const cause = previousMatch ? \"stay\" : \"enter\";\n let match;\n if (existingMatch) {\n match = {\n ...existingMatch,\n cause,\n params: previousMatch ? replaceEqualDeep(previousMatch.params, routeParams) : routeParams,\n _strictParams: usedParams,\n search: previousMatch ? replaceEqualDeep(previousMatch.search, preMatchSearch) : replaceEqualDeep(existingMatch.search, preMatchSearch),\n _strictSearch: strictMatchSearch\n };\n } else {\n const status = route.options.loader || route.options.beforeLoad || route.lazyFn || routeNeedsPreload(route) ? \"pending\" : \"success\";\n match = {\n id: matchId,\n index,\n routeId: route.id,\n params: previousMatch ? replaceEqualDeep(previousMatch.params, routeParams) : routeParams,\n _strictParams: usedParams,\n pathname: joinPaths([this.basepath, interpolatedPath]),\n updatedAt: Date.now(),\n search: previousMatch ? replaceEqualDeep(previousMatch.search, preMatchSearch) : preMatchSearch,\n _strictSearch: strictMatchSearch,\n searchError: void 0,\n status,\n isFetching: false,\n error: void 0,\n paramsError: parseErrors[index],\n __routeContext: {},\n __beforeLoadContext: void 0,\n context: {},\n abortController: new AbortController(),\n fetchCount: 0,\n cause,\n loaderDeps: previousMatch ? replaceEqualDeep(previousMatch.loaderDeps, loaderDeps) : loaderDeps,\n invalid: false,\n preload: false,\n links: void 0,\n scripts: void 0,\n headScripts: void 0,\n meta: void 0,\n staticData: route.options.staticData || {},\n loadPromise: createControlledPromise(),\n fullPath: route.fullPath\n };\n }\n if (!(opts == null ? void 0 : opts.preload)) {\n match.globalNotFound = globalNotFoundRouteId === route.id;\n }\n match.searchError = searchError;\n const parentContext = getParentContext(parentMatch);\n match.context = {\n ...parentContext,\n ...match.__routeContext,\n ...match.__beforeLoadContext\n };\n matches.push(match);\n });\n matches.forEach((match, index) => {\n var _a2, _b;\n const route = this.looseRoutesById[match.routeId];\n const existingMatch = this.getMatch(match.id);\n if (!existingMatch && (opts == null ? void 0 : opts._buildLocation) !== true) {\n const parentMatch = matches[index - 1];\n const parentContext = getParentContext(parentMatch);\n const contextFnContext = {\n deps: match.loaderDeps,\n params: match.params,\n context: parentContext,\n location: next,\n navigate: (opts2) => this.navigate({ ...opts2, _fromLocation: next }),\n buildLocation: this.buildLocation,\n cause: match.cause,\n abortController: match.abortController,\n preload: !!match.preload,\n matches\n };\n match.__routeContext = ((_b = (_a2 = route.options).context) == null ? void 0 : _b.call(_a2, contextFnContext)) ?? {};\n match.context = {\n ...parentContext,\n ...match.__routeContext,\n ...match.__beforeLoadContext\n };\n }\n });\n return matches;\n }\n}\nclass SearchParamError extends Error {\n}\nclass PathParamError extends Error {\n}\nconst normalize = (str) => str.endsWith(\"/\") && str.length > 1 ? str.slice(0, -1) : str;\nfunction comparePaths(a, b) {\n return normalize(a) === normalize(b);\n}\nfunction lazyFn(fn, key) {\n return async (...args) => {\n const imported = await fn();\n return imported[key || \"default\"](...args);\n };\n}\nfunction getInitialRouterState(location) {\n return {\n loadedAt: 0,\n isLoading: false,\n isTransitioning: false,\n status: \"idle\",\n resolvedLocation: void 0,\n location,\n matches: [],\n pendingMatches: [],\n cachedMatches: [],\n statusCode: 200\n };\n}\nfunction validateSearch(validateSearch2, input) {\n if (validateSearch2 == null) return {};\n if (\"~standard\" in validateSearch2) {\n const result = validateSearch2[\"~standard\"].validate(input);\n if (result instanceof Promise)\n throw new SearchParamError(\"Async validation not supported\");\n if (result.issues)\n throw new SearchParamError(JSON.stringify(result.issues, void 0, 2), {\n cause: result\n });\n return result.value;\n }\n if (\"parse\" in validateSearch2) {\n return validateSearch2.parse(input);\n }\n if (typeof validateSearch2 === \"function\") {\n return validateSearch2(input);\n }\n return {};\n}\nconst componentTypes = [\n \"component\",\n \"errorComponent\",\n \"pendingComponent\",\n \"notFoundComponent\"\n];\nfunction routeNeedsPreload(route) {\n var _a;\n for (const componentType of componentTypes) {\n if ((_a = route.options[componentType]) == null ? void 0 : _a.preload) {\n return true;\n }\n }\n return false;\n}\nconst REQUIRED_PARAM_BASE_SCORE = 0.5;\nconst OPTIONAL_PARAM_BASE_SCORE = 0.4;\nconst WILDCARD_PARAM_BASE_SCORE = 0.25;\nfunction handleParam(segment, baseScore) {\n if (segment.prefixSegment && segment.suffixSegment) {\n return baseScore + 0.05;\n }\n if (segment.prefixSegment) {\n return baseScore + 0.02;\n }\n if (segment.suffixSegment) {\n return baseScore + 0.01;\n }\n return baseScore;\n}\nfunction processRouteTree({\n routeTree,\n initRoute\n}) {\n const routesById = {};\n const routesByPath = {};\n const recurseRoutes = (childRoutes) => {\n childRoutes.forEach((childRoute, i) => {\n initRoute == null ? void 0 : initRoute(childRoute, i);\n const existingRoute = routesById[childRoute.id];\n invariant(\n !existingRoute,\n `Duplicate routes found with id: ${String(childRoute.id)}`\n );\n routesById[childRoute.id] = childRoute;\n if (!childRoute.isRoot && childRoute.path) {\n const trimmedFullPath = trimPathRight(childRoute.fullPath);\n if (!routesByPath[trimmedFullPath] || childRoute.fullPath.endsWith(\"/\")) {\n routesByPath[trimmedFullPath] = childRoute;\n }\n }\n const children = childRoute.children;\n if (children == null ? void 0 : children.length) {\n recurseRoutes(children);\n }\n });\n };\n recurseRoutes([routeTree]);\n const scoredRoutes = [];\n const routes = Object.values(routesById);\n routes.forEach((d, i) => {\n var _a;\n if (d.isRoot || !d.path) {\n return;\n }\n const trimmed = trimPathLeft(d.fullPath);\n let parsed = parsePathname(trimmed);\n let skip = 0;\n while (parsed.length > skip + 1 && ((_a = parsed[skip]) == null ? void 0 : _a.value) === \"/\") {\n skip++;\n }\n if (skip > 0) parsed = parsed.slice(skip);\n let optionalParamCount = 0;\n let hasStaticAfter = false;\n const scores = parsed.map((segment, index) => {\n if (segment.value === \"/\") {\n return 0.75;\n }\n let baseScore = void 0;\n if (segment.type === SEGMENT_TYPE_PARAM) {\n baseScore = REQUIRED_PARAM_BASE_SCORE;\n } else if (segment.type === SEGMENT_TYPE_OPTIONAL_PARAM) {\n baseScore = OPTIONAL_PARAM_BASE_SCORE;\n optionalParamCount++;\n } else if (segment.type === SEGMENT_TYPE_WILDCARD) {\n baseScore = WILDCARD_PARAM_BASE_SCORE;\n }\n if (baseScore) {\n for (let i2 = index + 1; i2 < parsed.length; i2++) {\n const nextSegment = parsed[i2];\n if (nextSegment.type === SEGMENT_TYPE_PATHNAME && nextSegment.value !== \"/\") {\n hasStaticAfter = true;\n return handleParam(segment, baseScore + 0.2);\n }\n }\n return handleParam(segment, baseScore);\n }\n return 1;\n });\n scoredRoutes.push({\n child: d,\n trimmed,\n parsed,\n index: i,\n scores,\n optionalParamCount,\n hasStaticAfter\n });\n });\n const flatRoutes = scoredRoutes.sort((a, b) => {\n const minLength = Math.min(a.scores.length, b.scores.length);\n for (let i = 0; i < minLength; i++) {\n if (a.scores[i] !== b.scores[i]) {\n return b.scores[i] - a.scores[i];\n }\n }\n if (a.scores.length !== b.scores.length) {\n if (a.optionalParamCount !== b.optionalParamCount) {\n if (a.hasStaticAfter === b.hasStaticAfter) {\n return a.optionalParamCount - b.optionalParamCount;\n } else if (a.hasStaticAfter && !b.hasStaticAfter) {\n return -1;\n } else if (!a.hasStaticAfter && b.hasStaticAfter) {\n return 1;\n }\n }\n return b.scores.length - a.scores.length;\n }\n for (let i = 0; i < minLength; i++) {\n if (a.parsed[i].value !== b.parsed[i].value) {\n return a.parsed[i].value > b.parsed[i].value ? 1 : -1;\n }\n }\n return a.index - b.index;\n }).map((d, i) => {\n d.child.rank = i;\n return d.child;\n });\n return { routesById, routesByPath, flatRoutes };\n}\nfunction getMatchedRoutes({\n pathname,\n routePathname,\n basepath,\n caseSensitive,\n routesByPath,\n routesById,\n flatRoutes,\n parseCache\n}) {\n let routeParams = {};\n const trimmedPath = trimPathRight(pathname);\n const getMatchedParams = (route) => {\n var _a;\n const result = matchPathname(\n basepath,\n trimmedPath,\n {\n to: route.fullPath,\n caseSensitive: ((_a = route.options) == null ? void 0 : _a.caseSensitive) ?? caseSensitive,\n // we need fuzzy matching for `notFoundMode: 'fuzzy'`\n fuzzy: true\n },\n parseCache\n );\n return result;\n };\n let foundRoute = routePathname !== void 0 ? routesByPath[routePathname] : void 0;\n if (foundRoute) {\n routeParams = getMatchedParams(foundRoute);\n } else {\n let fuzzyMatch = void 0;\n for (const route of flatRoutes) {\n const matchedParams = getMatchedParams(route);\n if (matchedParams) {\n if (route.path !== \"/\" && matchedParams[\"**\"]) {\n if (!fuzzyMatch) {\n fuzzyMatch = { foundRoute: route, routeParams: matchedParams };\n }\n } else {\n foundRoute = route;\n routeParams = matchedParams;\n break;\n }\n }\n }\n if (!foundRoute && fuzzyMatch) {\n foundRoute = fuzzyMatch.foundRoute;\n routeParams = fuzzyMatch.routeParams;\n }\n }\n let routeCursor = foundRoute || routesById[rootRouteId];\n const matchedRoutes = [routeCursor];\n while (routeCursor.parentRoute) {\n routeCursor = routeCursor.parentRoute;\n matchedRoutes.push(routeCursor);\n }\n matchedRoutes.reverse();\n return { matchedRoutes, routeParams, foundRoute };\n}\nfunction applySearchMiddleware({\n search,\n dest,\n destRoutes,\n _includeValidateSearch\n}) {\n const allMiddlewares = destRoutes.reduce(\n (acc, route) => {\n var _a;\n const middlewares = [];\n if (\"search\" in route.options) {\n if ((_a = route.options.search) == null ? void 0 : _a.middlewares) {\n middlewares.push(...route.options.search.middlewares);\n }\n } else if (route.options.preSearchFilters || route.options.postSearchFilters) {\n const legacyMiddleware = ({\n search: search2,\n next\n }) => {\n let nextSearch = search2;\n if (\"preSearchFilters\" in route.options && route.options.preSearchFilters) {\n nextSearch = route.options.preSearchFilters.reduce(\n (prev, next2) => next2(prev),\n search2\n );\n }\n const result = next(nextSearch);\n if (\"postSearchFilters\" in route.options && route.options.postSearchFilters) {\n return route.options.postSearchFilters.reduce(\n (prev, next2) => next2(prev),\n result\n );\n }\n return result;\n };\n middlewares.push(legacyMiddleware);\n }\n if (_includeValidateSearch && route.options.validateSearch) {\n const validate = ({ search: search2, next }) => {\n const result = next(search2);\n try {\n const validatedSearch = {\n ...result,\n ...validateSearch(route.options.validateSearch, result) ?? {}\n };\n return validatedSearch;\n } catch {\n return result;\n }\n };\n middlewares.push(validate);\n }\n return acc.concat(middlewares);\n },\n []\n ) ?? [];\n const final = ({ search: search2 }) => {\n if (!dest.search) {\n return {};\n }\n if (dest.search === true) {\n return search2;\n }\n return functionalUpdate(dest.search, search2);\n };\n allMiddlewares.push(final);\n const applyNext = (index, currentSearch) => {\n if (index >= allMiddlewares.length) {\n return currentSearch;\n }\n const middleware = allMiddlewares[index];\n const next = (newSearch) => {\n return applyNext(index + 1, newSearch);\n };\n return middleware({ search: currentSearch, next });\n };\n return applyNext(0, search);\n}\nexport {\n PathParamError,\n RouterCore,\n SearchParamError,\n componentTypes,\n defaultSerializeError,\n getInitialRouterState,\n getLocationChangeInfo,\n getMatchedRoutes,\n lazyFn,\n processRouteTree\n};\n//# sourceMappingURL=router.js.map\n","import { defaultSerializeError } from \"./router.js\";\nconst TSR_DEFERRED_PROMISE = Symbol.for(\"TSR_DEFERRED_PROMISE\");\nfunction defer(_promise, options) {\n const promise = _promise;\n if (promise[TSR_DEFERRED_PROMISE]) {\n return promise;\n }\n promise[TSR_DEFERRED_PROMISE] = { status: \"pending\" };\n promise.then((data) => {\n promise[TSR_DEFERRED_PROMISE].status = \"success\";\n promise[TSR_DEFERRED_PROMISE].data = data;\n }).catch((error) => {\n promise[TSR_DEFERRED_PROMISE].status = \"error\";\n promise[TSR_DEFERRED_PROMISE].error = {\n data: ((options == null ? void 0 : options.serializeError) ?? defaultSerializeError)(error),\n __isServerError: true\n };\n });\n return promise;\n}\nexport {\n TSR_DEFERRED_PROMISE,\n defer\n};\n//# sourceMappingURL=defer.js.map\n","const preloadWarning = \"Error preloading route! ☝️\";\nexport {\n preloadWarning\n};\n//# sourceMappingURL=link.js.map\n","const isMatch = (match, path) => {\n const parts = path.split(\".\");\n let part;\n let value = match;\n while ((part = parts.shift()) != null && value != null) {\n value = value[part];\n }\n return value != null;\n};\nexport {\n isMatch\n};\n//# sourceMappingURL=Matches.js.map\n","import invariant from \"tiny-invariant\";\nimport { trimPathLeft, joinPaths } from \"./path.js\";\nimport { notFound } from \"./not-found.js\";\nimport { rootRouteId } from \"./root.js\";\nclass BaseRoute {\n constructor(options) {\n this.init = (opts) => {\n var _a, _b;\n this.originalIndex = opts.originalIndex;\n const options2 = this.options;\n const isRoot = !(options2 == null ? void 0 : options2.path) && !(options2 == null ? void 0 : options2.id);\n this.parentRoute = (_b = (_a = this.options).getParentRoute) == null ? void 0 : _b.call(_a);\n if (isRoot) {\n this._path = rootRouteId;\n } else if (!this.parentRoute) {\n invariant(\n false,\n `Child Route instances must pass a 'getParentRoute: () => ParentRoute' option that returns a Route instance.`\n );\n }\n let path = isRoot ? rootRouteId : options2 == null ? void 0 : options2.path;\n if (path && path !== \"/\") {\n path = trimPathLeft(path);\n }\n const customId = (options2 == null ? void 0 : options2.id) || path;\n let id = isRoot ? rootRouteId : joinPaths([\n this.parentRoute.id === rootRouteId ? \"\" : this.parentRoute.id,\n customId\n ]);\n if (path === rootRouteId) {\n path = \"/\";\n }\n if (id !== rootRouteId) {\n id = joinPaths([\"/\", id]);\n }\n const fullPath = id === rootRouteId ? \"/\" : joinPaths([this.parentRoute.fullPath, path]);\n this._path = path;\n this._id = id;\n this._fullPath = fullPath;\n this._to = fullPath;\n };\n this.clone = (other) => {\n this._path = other._path;\n this._id = other._id;\n this._fullPath = other._fullPath;\n this._to = other._to;\n this.options.getParentRoute = other.options.getParentRoute;\n this.children = other.children;\n };\n this.addChildren = (children) => {\n return this._addFileChildren(children);\n };\n this._addFileChildren = (children) => {\n if (Array.isArray(children)) {\n this.children = children;\n }\n if (typeof children === \"object\" && children !== null) {\n this.children = Object.values(children);\n }\n return this;\n };\n this._addFileTypes = () => {\n return this;\n };\n this.updateLoader = (options2) => {\n Object.assign(this.options, options2);\n return this;\n };\n this.update = (options2) => {\n Object.assign(this.options, options2);\n return this;\n };\n this.lazy = (lazyFn) => {\n this.lazyFn = lazyFn;\n return this;\n };\n this.options = options || {};\n this.isRoot = !(options == null ? void 0 : options.getParentRoute);\n if ((options == null ? void 0 : options.id) && (options == null ? void 0 : options.path)) {\n throw new Error(`Route cannot have both an 'id' and a 'path' option.`);\n }\n }\n get to() {\n return this._to;\n }\n get id() {\n return this._id;\n }\n get path() {\n return this._path;\n }\n get fullPath() {\n return this._fullPath;\n }\n}\nclass BaseRouteApi {\n constructor({ id }) {\n this.notFound = (opts) => {\n return notFound({ routeId: this.id, ...opts });\n };\n this.id = id;\n }\n}\nclass BaseRootRoute extends BaseRoute {\n constructor(options) {\n super(options);\n }\n}\nexport {\n BaseRootRoute,\n BaseRoute,\n BaseRouteApi\n};\n//# sourceMappingURL=route.js.map\n","import { deepEqual } from \"./utils.js\";\nfunction retainSearchParams(keys) {\n return ({ search, next }) => {\n const result = next(search);\n if (keys === true) {\n return { ...search, ...result };\n }\n keys.forEach((key) => {\n if (!(key in result)) {\n result[key] = search[key];\n }\n });\n return result;\n };\n}\nfunction stripSearchParams(input) {\n return ({ search, next }) => {\n if (input === true) {\n return {};\n }\n const result = next(search);\n if (Array.isArray(input)) {\n input.forEach((key) => {\n delete result[key];\n });\n } else {\n Object.entries(input).forEach(\n ([key, value]) => {\n if (deepEqual(result[key], value)) {\n delete result[key];\n }\n }\n );\n }\n return result;\n };\n}\nexport {\n retainSearchParams,\n stripSearchParams\n};\n//# sourceMappingURL=searchMiddleware.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { defer, TSR_DEFERRED_PROMISE } from \"@tanstack/router-core\";\nfunction useAwaited({\n promise: _promise\n}) {\n const promise = defer(_promise);\n if (promise[TSR_DEFERRED_PROMISE].status === \"pending\") {\n throw promise;\n }\n if (promise[TSR_DEFERRED_PROMISE].status === \"error\") {\n throw promise[TSR_DEFERRED_PROMISE].error;\n }\n return [promise[TSR_DEFERRED_PROMISE].data, promise];\n}\nfunction Await(props) {\n const inner = /* @__PURE__ */ jsx(AwaitInner, { ...props });\n if (props.fallback) {\n return /* @__PURE__ */ jsx(React.Suspense, { fallback: props.fallback, children: inner });\n }\n return inner;\n}\nfunction AwaitInner(props) {\n const [data] = useAwaited(props);\n return props.children(data);\n}\nexport {\n Await,\n useAwaited\n};\n//# sourceMappingURL=awaited.js.map\n","import { jsx, jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nfunction CatchBoundary(props) {\n const errorComponent = props.errorComponent ?? ErrorComponent;\n return /* @__PURE__ */ jsx(\n CatchBoundaryImpl,\n {\n getResetKey: props.getResetKey,\n onCatch: props.onCatch,\n children: ({ error, reset }) => {\n if (error) {\n return React.createElement(errorComponent, {\n error,\n reset\n });\n }\n return props.children;\n }\n }\n );\n}\nclass CatchBoundaryImpl extends React.Component {\n constructor() {\n super(...arguments);\n this.state = { error: null };\n }\n static getDerivedStateFromProps(props) {\n return { resetKey: props.getResetKey() };\n }\n static getDerivedStateFromError(error) {\n return { error };\n }\n reset() {\n this.setState({ error: null });\n }\n componentDidUpdate(prevProps, prevState) {\n if (prevState.error && prevState.resetKey !== this.state.resetKey) {\n this.reset();\n }\n }\n componentDidCatch(error, errorInfo) {\n if (this.props.onCatch) {\n this.props.onCatch(error, errorInfo);\n }\n }\n render() {\n return this.props.children({\n error: this.state.resetKey !== this.props.getResetKey() ? null : this.state.error,\n reset: () => {\n this.reset();\n }\n });\n }\n}\nfunction ErrorComponent({ error }) {\n const [show, setShow] = React.useState(process.env.NODE_ENV !== \"production\");\n return /* @__PURE__ */ jsxs(\"div\", { style: { padding: \".5rem\", maxWidth: \"100%\" }, children: [\n /* @__PURE__ */ jsxs(\"div\", { style: { display: \"flex\", alignItems: \"center\", gap: \".5rem\" }, children: [\n /* @__PURE__ */ jsx(\"strong\", { style: { fontSize: \"1rem\" }, children: \"Something went wrong!\" }),\n /* @__PURE__ */ jsx(\n \"button\",\n {\n style: {\n appearance: \"none\",\n fontSize: \".6em\",\n border: \"1px solid currentColor\",\n padding: \".1rem .2rem\",\n fontWeight: \"bold\",\n borderRadius: \".25rem\"\n },\n onClick: () => setShow((d) => !d),\n children: show ? \"Hide Error\" : \"Show Error\"\n }\n )\n ] }),\n /* @__PURE__ */ jsx(\"div\", { style: { height: \".25rem\" } }),\n show ? /* @__PURE__ */ jsx(\"div\", { children: /* @__PURE__ */ jsx(\n \"pre\",\n {\n style: {\n fontSize: \".7em\",\n border: \"1px solid red\",\n borderRadius: \".25rem\",\n padding: \".3rem\",\n color: \"red\",\n overflow: \"auto\"\n },\n children: error.message ? /* @__PURE__ */ jsx(\"code\", { children: error.message }) : null\n }\n ) }) : null\n ] });\n}\nexport {\n CatchBoundary,\n ErrorComponent\n};\n//# sourceMappingURL=CatchBoundary.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport React__default from \"react\";\nfunction ClientOnly({ children, fallback = null }) {\n return useHydrated() ? /* @__PURE__ */ jsx(React__default.Fragment, { children }) : /* @__PURE__ */ jsx(React__default.Fragment, { children: fallback });\n}\nfunction useHydrated() {\n return React__default.useSyncExternalStore(\n subscribe,\n () => true,\n () => false\n );\n}\nfunction subscribe() {\n return () => {\n };\n}\nexport {\n ClientOnly\n};\n//# sourceMappingURL=ClientOnly.js.map\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","import { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector.js\";\nexport * from \"@tanstack/store\";\nfunction useStore(store, selector = (d) => d) {\n const slice = useSyncExternalStoreWithSelector(\n store.subscribe,\n () => store.state,\n () => store.state,\n selector,\n shallow\n );\n return slice;\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [k, v] of objA) {\n if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const v of objA) {\n if (!objB.has(v)) return false;\n }\n return true;\n }\n if (objA instanceof Date && objB instanceof Date) {\n if (objA.getTime() !== objB.getTime()) return false;\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\nexport {\n shallow,\n useStore\n};\n//# sourceMappingURL=index.js.map\n","import * as React from \"react\";\nconst routerContext = React.createContext(null);\nfunction getRouterContext() {\n if (typeof document === \"undefined\") {\n return routerContext;\n }\n if (window.__TSR_ROUTER_CONTEXT__) {\n return window.__TSR_ROUTER_CONTEXT__;\n }\n window.__TSR_ROUTER_CONTEXT__ = routerContext;\n return routerContext;\n}\nexport {\n getRouterContext\n};\n//# sourceMappingURL=routerContext.js.map\n","import * as React from \"react\";\nimport warning from \"tiny-warning\";\nimport { getRouterContext } from \"./routerContext.js\";\nfunction useRouter(opts) {\n const value = React.useContext(getRouterContext());\n warning(\n !(((opts == null ? void 0 : opts.warn) ?? true) && !value),\n \"useRouter must be used inside a <RouterProvider> component!\"\n );\n return value;\n}\nexport {\n useRouter\n};\n//# sourceMappingURL=useRouter.js.map\n","import { useStore } from \"@tanstack/react-store\";\nimport { useRef } from \"react\";\nimport { replaceEqualDeep } from \"@tanstack/router-core\";\nimport { useRouter } from \"./useRouter.js\";\nfunction useRouterState(opts) {\n const contextRouter = useRouter({\n warn: (opts == null ? void 0 : opts.router) === void 0\n });\n const router = (opts == null ? void 0 : opts.router) || contextRouter;\n const previousResult = useRef(void 0);\n return useStore(router.__store, (state) => {\n if (opts == null ? void 0 : opts.select) {\n if (opts.structuralSharing ?? router.options.defaultStructuralSharing) {\n const newSlice = replaceEqualDeep(\n previousResult.current,\n opts.select(state)\n );\n previousResult.current = newSlice;\n return newSlice;\n }\n return opts.select(state);\n }\n return state;\n });\n}\nexport {\n useRouterState\n};\n//# sourceMappingURL=useRouterState.js.map\n","import * as React from \"react\";\nconst matchContext = React.createContext(void 0);\nconst dummyMatchContext = React.createContext(\n void 0\n);\nexport {\n dummyMatchContext,\n matchContext\n};\n//# sourceMappingURL=matchContext.js.map\n","import * as React from \"react\";\nimport invariant from \"tiny-invariant\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { dummyMatchContext, matchContext } from \"./matchContext.js\";\nfunction useMatch(opts) {\n const nearestMatchId = React.useContext(\n opts.from ? dummyMatchContext : matchContext\n );\n const matchSelection = useRouterState({\n select: (state) => {\n const match = state.matches.find(\n (d) => opts.from ? opts.from === d.routeId : d.id === nearestMatchId\n );\n invariant(\n !((opts.shouldThrow ?? true) && !match),\n `Could not find ${opts.from ? `an active match from \"${opts.from}\"` : \"a nearest match!\"}`\n );\n if (match === void 0) {\n return void 0;\n }\n return opts.select ? opts.select(match) : match;\n },\n structuralSharing: opts.structuralSharing\n });\n return matchSelection;\n}\nexport {\n useMatch\n};\n//# sourceMappingURL=useMatch.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useLoaderData(opts) {\n return useMatch({\n from: opts.from,\n strict: opts.strict,\n structuralSharing: opts.structuralSharing,\n select: (s) => {\n return opts.select ? opts.select(s.loaderData) : s.loaderData;\n }\n });\n}\nexport {\n useLoaderData\n};\n//# sourceMappingURL=useLoaderData.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useLoaderDeps(opts) {\n const { select, ...rest } = opts;\n return useMatch({\n ...rest,\n select: (s) => {\n return select ? select(s.loaderDeps) : s.loaderDeps;\n }\n });\n}\nexport {\n useLoaderDeps\n};\n//# sourceMappingURL=useLoaderDeps.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useParams(opts) {\n return useMatch({\n from: opts.from,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n structuralSharing: opts.structuralSharing,\n select: (match) => {\n return opts.select ? opts.select(match.params) : match.params;\n }\n });\n}\nexport {\n useParams\n};\n//# sourceMappingURL=useParams.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useSearch(opts) {\n return useMatch({\n from: opts.from,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n structuralSharing: opts.structuralSharing,\n select: (match) => {\n return opts.select ? opts.select(match.search) : match.search;\n }\n });\n}\nexport {\n useSearch\n};\n//# sourceMappingURL=useSearch.js.map\n","import * as React from \"react\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useMatch } from \"./useMatch.js\";\nfunction useNavigate(_defaultOpts) {\n const { navigate, state } = useRouter();\n const matchIndex = useMatch({\n strict: false,\n select: (match) => match.index\n });\n return React.useCallback(\n (options) => {\n const from = options.from ?? (_defaultOpts == null ? void 0 : _defaultOpts.from) ?? state.matches[matchIndex].fullPath;\n return navigate({\n ...options,\n from\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [_defaultOpts == null ? void 0 : _defaultOpts.from, navigate]\n );\n}\nfunction Navigate(props) {\n const router = useRouter();\n const navigate = useNavigate();\n const previousPropsRef = React.useRef(null);\n React.useEffect(() => {\n if (previousPropsRef.current !== props) {\n navigate(props);\n previousPropsRef.current = props;\n }\n }, [router, props, navigate]);\n return null;\n}\nexport {\n Navigate,\n useNavigate\n};\n//# sourceMappingURL=useNavigate.js.map\n","import * as React from \"react\";\nfunction useStableCallback(fn) {\n const fnRef = React.useRef(fn);\n fnRef.current = fn;\n const ref = React.useRef((...args) => fnRef.current(...args));\n return ref.current;\n}\nconst useLayoutEffect = typeof window !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\nfunction usePrevious(value) {\n const ref = React.useRef({\n value,\n prev: null\n });\n const current = ref.current.value;\n if (value !== current) {\n ref.current = {\n value,\n prev: current\n };\n }\n return ref.current.prev;\n}\nfunction useIntersectionObserver(ref, callback, intersectionObserverOptions = {}, options = {}) {\n React.useEffect(() => {\n if (!ref.current || options.disabled || typeof IntersectionObserver !== \"function\") {\n return;\n }\n const observer = new IntersectionObserver(([entry]) => {\n callback(entry);\n }, intersectionObserverOptions);\n observer.observe(ref.current);\n return () => {\n observer.disconnect();\n };\n }, [callback, intersectionObserverOptions, options.disabled, ref]);\n}\nfunction useForwardedRef(ref) {\n const innerRef = React.useRef(null);\n React.useImperativeHandle(ref, () => innerRef.current, []);\n return innerRef;\n}\nexport {\n useForwardedRef,\n useIntersectionObserver,\n useLayoutEffect,\n usePrevious,\n useStableCallback\n};\n//# sourceMappingURL=utils.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { preloadWarning, functionalUpdate, exactPathTest, removeTrailingSlash, deepEqual } from \"@tanstack/router-core\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useForwardedRef, useIntersectionObserver } from \"./utils.js\";\nimport { useMatch } from \"./useMatch.js\";\nfunction useLinkProps(options, forwardedRef) {\n const router = useRouter();\n const [isTransitioning, setIsTransitioning] = React.useState(false);\n const hasRenderFetched = React.useRef(false);\n const innerRef = useForwardedRef(forwardedRef);\n const {\n // custom props\n activeProps,\n inactiveProps,\n activeOptions,\n to,\n preload: userPreload,\n preloadDelay: userPreloadDelay,\n hashScrollIntoView,\n replace,\n startTransition,\n resetScroll,\n viewTransition,\n // element props\n children,\n target,\n disabled,\n style,\n className,\n onClick,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchStart,\n ignoreBlocker,\n // prevent these from being returned\n params: _params,\n search: _search,\n hash: _hash,\n state: _state,\n mask: _mask,\n reloadDocument: _reloadDocument,\n unsafeRelative: _unsafeRelative,\n from: _from,\n _fromLocation,\n ...propsSafeToSpread\n } = options;\n const type = React.useMemo(() => {\n try {\n new URL(to);\n return \"external\";\n } catch {\n }\n return \"internal\";\n }, [to]);\n const currentSearch = useRouterState({\n select: (s) => s.location.search,\n structuralSharing: true\n });\n const from = useMatch({\n strict: false,\n select: (match) => options.from ?? match.fullPath\n });\n const next = React.useMemo(\n () => router.buildLocation({ ...options, from }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n router,\n currentSearch,\n options._fromLocation,\n from,\n options.hash,\n options.to,\n options.search,\n options.params,\n options.state,\n options.mask,\n options.unsafeRelative\n ]\n );\n const isExternal = type === \"external\";\n const preload = options.reloadDocument || isExternal ? false : userPreload ?? router.options.defaultPreload;\n const preloadDelay = userPreloadDelay ?? router.options.defaultPreloadDelay ?? 0;\n const isActive = useRouterState({\n select: (s) => {\n if (isExternal) return false;\n if (activeOptions == null ? void 0 : activeOptions.exact) {\n const testExact = exactPathTest(\n s.location.pathname,\n next.pathname,\n router.basepath\n );\n if (!testExact) {\n return false;\n }\n } else {\n const currentPathSplit = removeTrailingSlash(\n s.location.pathname,\n router.basepath\n );\n const nextPathSplit = removeTrailingSlash(\n next.pathname,\n router.basepath\n );\n const pathIsFuzzyEqual = currentPathSplit.startsWith(nextPathSplit) && (currentPathSplit.length === nextPathSplit.length || currentPathSplit[nextPathSplit.length] === \"/\");\n if (!pathIsFuzzyEqual) {\n return false;\n }\n }\n if ((activeOptions == null ? void 0 : activeOptions.includeSearch) ?? true) {\n const searchTest = deepEqual(s.location.search, next.search, {\n partial: !(activeOptions == null ? void 0 : activeOptions.exact),\n ignoreUndefined: !(activeOptions == null ? void 0 : activeOptions.explicitUndefined)\n });\n if (!searchTest) {\n return false;\n }\n }\n if (activeOptions == null ? void 0 : activeOptions.includeHash) {\n return s.location.hash === next.hash;\n }\n return true;\n }\n });\n const doPreload = React.useCallback(\n () => {\n router.preloadRoute({ ...options, from }).catch((err) => {\n console.warn(err);\n console.warn(preloadWarning);\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n router,\n options.to,\n options._fromLocation,\n from,\n options.search,\n options.hash,\n options.params,\n options.state,\n options.mask,\n options.unsafeRelative,\n options.hashScrollIntoView,\n options.href,\n options.ignoreBlocker,\n options.reloadDocument,\n options.replace,\n options.resetScroll,\n options.viewTransition\n ]\n );\n const preloadViewportIoCallback = React.useCallback(\n (entry) => {\n if (entry == null ? void 0 : entry.isIntersecting) {\n doPreload();\n }\n },\n [doPreload]\n );\n useIntersectionObserver(\n innerRef,\n preloadViewportIoCallback,\n intersectionObserverOptions,\n { disabled: !!disabled || !(preload === \"viewport\") }\n );\n React.useEffect(() => {\n if (hasRenderFetched.current) {\n return;\n }\n if (!disabled && preload === \"render\") {\n doPreload();\n hasRenderFetched.current = true;\n }\n }, [disabled, doPreload, preload]);\n if (isExternal) {\n return {\n ...propsSafeToSpread,\n ref: innerRef,\n type,\n href: to,\n ...children && { children },\n ...target && { target },\n ...disabled && { disabled },\n ...style && { style },\n ...className && { className },\n ...onClick && { onClick },\n ...onFocus && { onFocus },\n ...onMouseEnter && { onMouseEnter },\n ...onMouseLeave && { onMouseLeave },\n ...onTouchStart && { onTouchStart }\n };\n }\n const handleClick = (e) => {\n if (!disabled && !isCtrlEvent(e) && !e.defaultPrevented && (!target || target === \"_self\") && e.button === 0) {\n e.preventDefault();\n flushSync(() => {\n setIsTransitioning(true);\n });\n const unsub = router.subscribe(\"onResolved\", () => {\n unsub();\n setIsTransitioning(false);\n });\n router.navigate({\n ...options,\n from,\n replace,\n resetScroll,\n hashScrollIntoView,\n startTransition,\n viewTransition,\n ignoreBlocker\n });\n }\n };\n const handleFocus = (_) => {\n if (disabled) return;\n if (preload) {\n doPreload();\n }\n };\n const handleTouchStart = handleFocus;\n const handleEnter = (e) => {\n if (disabled || !preload) return;\n if (!preloadDelay) {\n doPreload();\n } else {\n const eventTarget = e.target;\n if (timeoutMap.has(eventTarget)) {\n return;\n }\n const id = setTimeout(() => {\n timeoutMap.delete(eventTarget);\n doPreload();\n }, preloadDelay);\n timeoutMap.set(eventTarget, id);\n }\n };\n const handleLeave = (e) => {\n if (disabled || !preload || !preloadDelay) return;\n const eventTarget = e.target;\n const id = timeoutMap.get(eventTarget);\n if (id) {\n clearTimeout(id);\n timeoutMap.delete(eventTarget);\n }\n };\n const resolvedActiveProps = isActive ? functionalUpdate(activeProps, {}) ?? STATIC_ACTIVE_OBJECT : STATIC_EMPTY_OBJECT;\n const resolvedInactiveProps = isActive ? STATIC_EMPTY_OBJECT : functionalUpdate(inactiveProps, {}) ?? STATIC_EMPTY_OBJECT;\n const resolvedClassName = [\n className,\n resolvedActiveProps.className,\n resolvedInactiveProps.className\n ].filter(Boolean).join(\" \");\n const resolvedStyle = (style || resolvedActiveProps.style || resolvedInactiveProps.style) && {\n ...style,\n ...resolvedActiveProps.style,\n ...resolvedInactiveProps.style\n };\n return {\n ...propsSafeToSpread,\n ...resolvedActiveProps,\n ...resolvedInactiveProps,\n href: disabled ? void 0 : next.maskedLocation ? router.history.createHref(next.maskedLocation.href) : router.history.createHref(next.href),\n ref: innerRef,\n onClick: composeHandlers([onClick, handleClick]),\n onFocus: composeHandlers([onFocus, handleFocus]),\n onMouseEnter: composeHandlers([onMouseEnter, handleEnter]),\n onMouseLeave: composeHandlers([onMouseLeave, handleLeave]),\n onTouchStart: composeHandlers([onTouchStart, handleTouchStart]),\n disabled: !!disabled,\n target,\n ...resolvedStyle && { style: resolvedStyle },\n ...resolvedClassName && { className: resolvedClassName },\n ...disabled && STATIC_DISABLED_PROPS,\n ...isActive && STATIC_ACTIVE_PROPS,\n ...isTransitioning && STATIC_TRANSITIONING_PROPS\n };\n}\nconst STATIC_EMPTY_OBJECT = {};\nconst STATIC_ACTIVE_OBJECT = { className: \"active\" };\nconst STATIC_DISABLED_PROPS = { role: \"link\", \"aria-disabled\": true };\nconst STATIC_ACTIVE_PROPS = { \"data-status\": \"active\", \"aria-current\": \"page\" };\nconst STATIC_TRANSITIONING_PROPS = { \"data-transitioning\": \"transitioning\" };\nconst timeoutMap = /* @__PURE__ */ new WeakMap();\nconst intersectionObserverOptions = {\n rootMargin: \"100px\"\n};\nconst composeHandlers = (handlers) => (e) => {\n handlers.filter(Boolean).forEach((handler) => {\n if (e.defaultPrevented) return;\n handler(e);\n });\n};\nfunction createLink(Comp) {\n return React.forwardRef(function CreatedLink(props, ref) {\n return /* @__PURE__ */ jsx(Link, { ...props, _asChild: Comp, ref });\n });\n}\nconst Link = React.forwardRef(\n (props, ref) => {\n const { _asChild, ...rest } = props;\n const {\n type: _type,\n ref: innerRef,\n ...linkProps\n } = useLinkProps(rest, ref);\n const children = typeof rest.children === \"function\" ? rest.children({\n isActive: linkProps[\"data-status\"] === \"active\"\n }) : rest.children;\n if (_asChild === void 0) {\n delete linkProps.disabled;\n }\n return React.createElement(\n _asChild ? _asChild : \"a\",\n {\n ...linkProps,\n ref: innerRef\n },\n children\n );\n }\n);\nfunction isCtrlEvent(e) {\n return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);\n}\nconst linkOptions = (options) => {\n return options;\n};\nexport {\n Link,\n createLink,\n linkOptions,\n useLinkProps\n};\n//# sourceMappingURL=link.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { BaseRouteApi, notFound, BaseRoute, BaseRootRoute } from \"@tanstack/router-core\";\nimport React__default from \"react\";\nimport { useLoaderData } from \"./useLoaderData.js\";\nimport { useLoaderDeps } from \"./useLoaderDeps.js\";\nimport { useParams } from \"./useParams.js\";\nimport { useSearch } from \"./useSearch.js\";\nimport { useNavigate } from \"./useNavigate.js\";\nimport { useMatch } from \"./useMatch.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { Link } from \"./link.js\";\nfunction getRouteApi(id) {\n return new RouteApi({ id });\n}\nclass RouteApi extends BaseRouteApi {\n /**\n * @deprecated Use the `getRouteApi` function instead.\n */\n constructor({ id }) {\n super({ id });\n this.useMatch = (opts) => {\n return useMatch({\n select: opts == null ? void 0 : opts.select,\n from: this.id,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n };\n this.useRouteContext = (opts) => {\n return useMatch({\n from: this.id,\n select: (d) => (opts == null ? void 0 : opts.select) ? opts.select(d.context) : d.context\n });\n };\n this.useSearch = (opts) => {\n return useSearch({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useParams = (opts) => {\n return useParams({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useLoaderDeps = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id, strict: false });\n };\n this.useLoaderData = (opts) => {\n return useLoaderData({ ...opts, from: this.id, strict: false });\n };\n this.useNavigate = () => {\n const router = useRouter();\n return useNavigate({ from: router.routesById[this.id].fullPath });\n };\n this.notFound = (opts) => {\n return notFound({ routeId: this.id, ...opts });\n };\n this.Link = React__default.forwardRef((props, ref) => {\n const router = useRouter();\n const fullPath = router.routesById[this.id].fullPath;\n return /* @__PURE__ */ jsx(Link, { ref, from: fullPath, ...props });\n });\n }\n}\nclass Route extends BaseRoute {\n /**\n * @deprecated Use the `createRoute` function instead.\n */\n constructor(options) {\n super(options);\n this.useMatch = (opts) => {\n return useMatch({\n select: opts == null ? void 0 : opts.select,\n from: this.id,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n };\n this.useRouteContext = (opts) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts == null ? void 0 : opts.select) ? opts.select(d.context) : d.context\n });\n };\n this.useSearch = (opts) => {\n return useSearch({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useParams = (opts) => {\n return useParams({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useLoaderDeps = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id });\n };\n this.useLoaderData = (opts) => {\n return useLoaderData({ ...opts, from: this.id });\n };\n this.useNavigate = () => {\n return useNavigate({ from: this.fullPath });\n };\n this.Link = React__default.forwardRef(\n (props, ref) => {\n return /* @__PURE__ */ jsx(Link, { ref, from: this.fullPath, ...props });\n }\n );\n this.$$typeof = Symbol.for(\"react.memo\");\n }\n}\nfunction createRoute(options) {\n return new Route(options);\n}\nfunction createRootRouteWithContext() {\n return (options) => {\n return createRootRoute(options);\n };\n}\nconst rootRouteWithContext = createRootRouteWithContext;\nclass RootRoute extends BaseRootRoute {\n /**\n * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n */\n constructor(options) {\n super(options);\n this.useMatch = (opts) => {\n return useMatch({\n select: opts == null ? void 0 : opts.select,\n from: this.id,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n };\n this.useRouteContext = (opts) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts == null ? void 0 : opts.select) ? opts.select(d.context) : d.context\n });\n };\n this.useSearch = (opts) => {\n return useSearch({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useParams = (opts) => {\n return useParams({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useLoaderDeps = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id });\n };\n this.useLoaderData = (opts) => {\n return useLoaderData({ ...opts, from: this.id });\n };\n this.useNavigate = () => {\n return useNavigate({ from: this.fullPath });\n };\n this.Link = React__default.forwardRef(\n (props, ref) => {\n return /* @__PURE__ */ jsx(Link, { ref, from: this.fullPath, ...props });\n }\n );\n this.$$typeof = Symbol.for(\"react.memo\");\n }\n}\nfunction createRootRoute(options) {\n return new RootRoute(options);\n}\nfunction createRouteMask(opts) {\n return opts;\n}\nclass NotFoundRoute extends Route {\n constructor(options) {\n super({\n ...options,\n id: \"404\"\n });\n }\n}\nexport {\n NotFoundRoute,\n RootRoute,\n Route,\n RouteApi,\n createRootRoute,\n createRootRouteWithContext,\n createRoute,\n createRouteMask,\n getRouteApi,\n rootRouteWithContext\n};\n//# sourceMappingURL=route.js.map\n","import warning from \"tiny-warning\";\nimport { createRoute } from \"./route.js\";\nimport { useMatch } from \"./useMatch.js\";\nimport { useLoaderDeps } from \"./useLoaderDeps.js\";\nimport { useLoaderData } from \"./useLoaderData.js\";\nimport { useSearch } from \"./useSearch.js\";\nimport { useParams } from \"./useParams.js\";\nimport { useNavigate } from \"./useNavigate.js\";\nimport { useRouter } from \"./useRouter.js\";\nfunction createFileRoute(path) {\n if (typeof path === \"object\") {\n return new FileRoute(path, {\n silent: true\n }).createRoute(path);\n }\n return new FileRoute(path, {\n silent: true\n }).createRoute;\n}\nclass FileRoute {\n constructor(path, _opts) {\n this.path = path;\n this.createRoute = (options) => {\n warning(\n this.silent,\n \"FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead.\"\n );\n const route = createRoute(options);\n route.isRoot = false;\n return route;\n };\n this.silent = _opts == null ? void 0 : _opts.silent;\n }\n}\nfunction FileRouteLoader(_path) {\n warning(\n false,\n `FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the the main route file, inside the \\`createFileRoute('/path/to/file')(options)\\` options`\n );\n return (loaderFn) => loaderFn;\n}\nclass LazyRoute {\n constructor(opts) {\n this.useMatch = (opts2) => {\n return useMatch({\n select: opts2 == null ? void 0 : opts2.select,\n from: this.options.id,\n structuralSharing: opts2 == null ? void 0 : opts2.structuralSharing\n });\n };\n this.useRouteContext = (opts2) => {\n return useMatch({\n from: this.options.id,\n select: (d) => (opts2 == null ? void 0 : opts2.select) ? opts2.select(d.context) : d.context\n });\n };\n this.useSearch = (opts2) => {\n return useSearch({\n select: opts2 == null ? void 0 : opts2.select,\n structuralSharing: opts2 == null ? void 0 : opts2.structuralSharing,\n from: this.options.id\n });\n };\n this.useParams = (opts2) => {\n return useParams({\n select: opts2 == null ? void 0 : opts2.select,\n structuralSharing: opts2 == null ? void 0 : opts2.structuralSharing,\n from: this.options.id\n });\n };\n this.useLoaderDeps = (opts2) => {\n return useLoaderDeps({ ...opts2, from: this.options.id });\n };\n this.useLoaderData = (opts2) => {\n return useLoaderData({ ...opts2, from: this.options.id });\n };\n this.useNavigate = () => {\n const router = useRouter();\n return useNavigate({ from: router.routesById[this.options.id].fullPath });\n };\n this.options = opts;\n this.$$typeof = Symbol.for(\"react.memo\");\n }\n}\nfunction createLazyRoute(id) {\n return (opts) => {\n return new LazyRoute({\n id,\n ...opts\n });\n };\n}\nfunction createLazyFileRoute(id) {\n if (typeof id === \"object\") {\n return new LazyRoute(id);\n }\n return (opts) => new LazyRoute({ id, ...opts });\n}\nexport {\n FileRoute,\n FileRouteLoader,\n LazyRoute,\n createFileRoute,\n createLazyFileRoute,\n createLazyRoute\n};\n//# sourceMappingURL=fileRoute.js.map\n","import * as React from \"react\";\nimport { isModuleNotFoundError } from \"@tanstack/router-core\";\nfunction lazyRouteComponent(importer, exportName) {\n let loadPromise;\n let comp;\n let error;\n let reload;\n const load = () => {\n if (!loadPromise) {\n loadPromise = importer().then((res) => {\n loadPromise = void 0;\n comp = res[exportName ?? \"default\"];\n }).catch((err) => {\n error = err;\n if (isModuleNotFoundError(error)) {\n if (error instanceof Error && typeof window !== \"undefined\" && typeof sessionStorage !== \"undefined\") {\n const storageKey = `tanstack_router_reload:${error.message}`;\n if (!sessionStorage.getItem(storageKey)) {\n sessionStorage.setItem(storageKey, \"1\");\n reload = true;\n }\n }\n }\n });\n }\n return loadPromise;\n };\n const lazyComp = function Lazy(props) {\n if (reload) {\n window.location.reload();\n throw new Promise(() => {\n });\n }\n if (error) {\n throw error;\n }\n if (!comp) {\n throw load();\n }\n return React.createElement(comp, props);\n };\n lazyComp.preload = load;\n return lazyComp;\n}\nexport {\n lazyRouteComponent\n};\n//# sourceMappingURL=lazyRouteComponent.js.map\n","import * as React from \"react\";\nimport { trimPathRight, getLocationChangeInfo, handleHashScroll } from \"@tanstack/router-core\";\nimport { usePrevious, useLayoutEffect } from \"./utils.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nfunction Transitioner() {\n const router = useRouter();\n const mountLoadForRouter = React.useRef({ router, mounted: false });\n const [isTransitioning, setIsTransitioning] = React.useState(false);\n const { hasPendingMatches, isLoading } = useRouterState({\n select: (s) => ({\n isLoading: s.isLoading,\n hasPendingMatches: s.matches.some((d) => d.status === \"pending\")\n }),\n structuralSharing: true\n });\n const previousIsLoading = usePrevious(isLoading);\n const isAnyPending = isLoading || isTransitioning || hasPendingMatches;\n const previousIsAnyPending = usePrevious(isAnyPending);\n const isPagePending = isLoading || hasPendingMatches;\n const previousIsPagePending = usePrevious(isPagePending);\n router.startTransition = (fn) => {\n setIsTransitioning(true);\n React.startTransition(() => {\n fn();\n setIsTransitioning(false);\n });\n };\n React.useEffect(() => {\n const unsub = router.history.subscribe(router.load);\n const nextLocation = router.buildLocation({\n to: router.latestLocation.pathname,\n search: true,\n params: true,\n hash: true,\n state: true,\n _includeValidateSearch: true\n });\n if (trimPathRight(router.latestLocation.href) !== trimPathRight(nextLocation.href)) {\n router.commitLocation({ ...nextLocation, replace: true });\n }\n return () => {\n unsub();\n };\n }, [router, router.history]);\n useLayoutEffect(() => {\n if (\n // if we are hydrating from SSR, loading is triggered in ssr-client\n typeof window !== \"undefined\" && router.ssr || mountLoadForRouter.current.router === router && mountLoadForRouter.current.mounted\n ) {\n return;\n }\n mountLoadForRouter.current = { router, mounted: true };\n const tryLoad = async () => {\n try {\n await router.load();\n } catch (err) {\n console.error(err);\n }\n };\n tryLoad();\n }, [router]);\n useLayoutEffect(() => {\n if (previousIsLoading && !isLoading) {\n router.emit({\n type: \"onLoad\",\n // When the new URL has committed, when the new matches have been loaded into state.matches\n ...getLocationChangeInfo(router.state)\n });\n }\n }, [previousIsLoading, router, isLoading]);\n useLayoutEffect(() => {\n if (previousIsPagePending && !isPagePending) {\n router.emit({\n type: \"onBeforeRouteMount\",\n ...getLocationChangeInfo(router.state)\n });\n }\n }, [isPagePending, previousIsPagePending, router]);\n useLayoutEffect(() => {\n if (previousIsAnyPending && !isAnyPending) {\n router.emit({\n type: \"onResolved\",\n ...getLocationChangeInfo(router.state)\n });\n router.__store.setState((s) => ({\n ...s,\n status: \"idle\",\n resolvedLocation: s.location\n }));\n handleHashScroll(router);\n }\n }, [isAnyPending, previousIsAnyPending, router]);\n return null;\n}\nexport {\n Transitioner\n};\n//# sourceMappingURL=Transitioner.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { isNotFound } from \"@tanstack/router-core\";\nimport { CatchBoundary } from \"./CatchBoundary.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nfunction CatchNotFound(props) {\n const resetKey = useRouterState({\n select: (s) => `not-found-${s.location.pathname}-${s.status}`\n });\n return /* @__PURE__ */ jsx(\n CatchBoundary,\n {\n getResetKey: () => resetKey,\n onCatch: (error, errorInfo) => {\n var _a;\n if (isNotFound(error)) {\n (_a = props.onCatch) == null ? void 0 : _a.call(props, error, errorInfo);\n } else {\n throw error;\n }\n },\n errorComponent: ({ error }) => {\n var _a;\n if (isNotFound(error)) {\n return (_a = props.fallback) == null ? void 0 : _a.call(props, error);\n } else {\n throw error;\n }\n },\n children: props.children\n }\n );\n}\nfunction DefaultGlobalNotFound() {\n return /* @__PURE__ */ jsx(\"p\", { children: \"Not Found\" });\n}\nexport {\n CatchNotFound,\n DefaultGlobalNotFound\n};\n//# sourceMappingURL=not-found.js.map\n","import { jsx, Fragment } from \"react/jsx-runtime\";\nfunction SafeFragment(props) {\n return /* @__PURE__ */ jsx(Fragment, { children: props.children });\n}\nexport {\n SafeFragment\n};\n//# sourceMappingURL=SafeFragment.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport warning from \"tiny-warning\";\nimport { DefaultGlobalNotFound } from \"./not-found.js\";\nfunction renderRouteNotFound(router, route, data) {\n if (!route.options.notFoundComponent) {\n if (router.options.defaultNotFoundComponent) {\n return /* @__PURE__ */ jsx(router.options.defaultNotFoundComponent, { data });\n }\n if (process.env.NODE_ENV === \"development\") {\n warning(\n route.options.notFoundComponent,\n `A notFoundError was encountered on the route with ID \"${route.id}\", but a notFoundComponent option was not configured, nor was a router level defaultNotFoundComponent configured. Consider configuring at least one of these to avoid TanStack Router's overly generic defaultNotFoundComponent (<div>Not Found<div>)`\n );\n }\n return /* @__PURE__ */ jsx(DefaultGlobalNotFound, {});\n }\n return /* @__PURE__ */ jsx(route.options.notFoundComponent, { data });\n}\nexport {\n renderRouteNotFound\n};\n//# sourceMappingURL=renderRouteNotFound.js.map\n","import { jsx } from \"react/jsx-runtime\";\nfunction ScriptOnce({\n children\n}) {\n if (typeof document !== \"undefined\") {\n return null;\n }\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n className: \"$tsr\",\n dangerouslySetInnerHTML: {\n __html: [children].filter(Boolean).join(\"\\n\")\n }\n }\n );\n}\nexport {\n ScriptOnce\n};\n//# sourceMappingURL=ScriptOnce.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { defaultGetScrollRestorationKey, restoreScroll, storageKey } from \"@tanstack/router-core\";\nimport { useRouter } from \"./useRouter.js\";\nimport { ScriptOnce } from \"./ScriptOnce.js\";\nfunction ScrollRestoration() {\n const router = useRouter();\n const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;\n const userKey = getKey(router.latestLocation);\n const resolvedKey = userKey !== defaultGetScrollRestorationKey(router.latestLocation) ? userKey : void 0;\n if (!router.isScrollRestoring || !router.isServer) {\n return null;\n }\n const restoreScrollOptions = {\n storageKey,\n shouldScrollRestoration: true\n };\n if (resolvedKey) {\n restoreScrollOptions.key = resolvedKey;\n }\n return /* @__PURE__ */ jsx(\n ScriptOnce,\n {\n children: `(${restoreScroll.toString()})(${JSON.stringify(restoreScrollOptions)})`\n }\n );\n}\nexport {\n ScrollRestoration\n};\n//# sourceMappingURL=scroll-restoration.js.map\n","import { jsxs, jsx, Fragment } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\nimport { isNotFound, rootRouteId, pick, createControlledPromise, isRedirect, getLocationChangeInfo } from \"@tanstack/router-core\";\nimport { CatchBoundary, ErrorComponent } from \"./CatchBoundary.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { CatchNotFound } from \"./not-found.js\";\nimport { matchContext } from \"./matchContext.js\";\nimport { SafeFragment } from \"./SafeFragment.js\";\nimport { renderRouteNotFound } from \"./renderRouteNotFound.js\";\nimport { ScrollRestoration } from \"./scroll-restoration.js\";\nimport { ClientOnly } from \"./ClientOnly.js\";\nconst Match = React.memo(function MatchImpl({\n matchId\n}) {\n var _a, _b;\n const router = useRouter();\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === matchId);\n invariant(\n match,\n `Could not find match for matchId \"${matchId}\". Please file an issue!`\n );\n return pick(match, [\"routeId\", \"ssr\", \"_displayPending\"]);\n },\n structuralSharing: true\n });\n const route = router.routesById[matchState.routeId];\n const PendingComponent = route.options.pendingComponent ?? router.options.defaultPendingComponent;\n const pendingElement = PendingComponent ? /* @__PURE__ */ jsx(PendingComponent, {}) : null;\n const routeErrorComponent = route.options.errorComponent ?? router.options.defaultErrorComponent;\n const routeOnCatch = route.options.onCatch ?? router.options.defaultOnCatch;\n const routeNotFoundComponent = route.isRoot ? (\n // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component\n route.options.notFoundComponent ?? ((_a = router.options.notFoundRoute) == null ? void 0 : _a.options.component)\n ) : route.options.notFoundComponent;\n const resolvedNoSsr = matchState.ssr === false || matchState.ssr === \"data-only\";\n const ResolvedSuspenseBoundary = (\n // If we're on the root route, allow forcefully wrapping in suspense\n (!route.isRoot || route.options.wrapInSuspense || resolvedNoSsr) && (route.options.wrapInSuspense ?? PendingComponent ?? (((_b = route.options.errorComponent) == null ? void 0 : _b.preload) || resolvedNoSsr)) ? React.Suspense : SafeFragment\n );\n const ResolvedCatchBoundary = routeErrorComponent ? CatchBoundary : SafeFragment;\n const ResolvedNotFoundBoundary = routeNotFoundComponent ? CatchNotFound : SafeFragment;\n const resetKey = useRouterState({\n select: (s) => s.loadedAt\n });\n const parentRouteId = useRouterState({\n select: (s) => {\n var _a2;\n const index = s.matches.findIndex((d) => d.id === matchId);\n return (_a2 = s.matches[index - 1]) == null ? void 0 : _a2.routeId;\n }\n });\n const ShellComponent = route.isRoot ? route.options.shellComponent ?? SafeFragment : SafeFragment;\n return /* @__PURE__ */ jsxs(ShellComponent, { children: [\n /* @__PURE__ */ jsx(matchContext.Provider, { value: matchId, children: /* @__PURE__ */ jsx(ResolvedSuspenseBoundary, { fallback: pendingElement, children: /* @__PURE__ */ jsx(\n ResolvedCatchBoundary,\n {\n getResetKey: () => resetKey,\n errorComponent: routeErrorComponent || ErrorComponent,\n onCatch: (error, errorInfo) => {\n if (isNotFound(error)) throw error;\n warning(false, `Error in route match: ${matchId}`);\n routeOnCatch == null ? void 0 : routeOnCatch(error, errorInfo);\n },\n children: /* @__PURE__ */ jsx(\n ResolvedNotFoundBoundary,\n {\n fallback: (error) => {\n if (!routeNotFoundComponent || error.routeId && error.routeId !== matchState.routeId || !error.routeId && !route.isRoot)\n throw error;\n return React.createElement(routeNotFoundComponent, error);\n },\n children: resolvedNoSsr || matchState._displayPending ? /* @__PURE__ */ jsx(ClientOnly, { fallback: pendingElement, children: /* @__PURE__ */ jsx(MatchInner, { matchId }) }) : /* @__PURE__ */ jsx(MatchInner, { matchId })\n }\n )\n }\n ) }) }),\n parentRouteId === rootRouteId && router.options.scrollRestoration ? /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(OnRendered, {}),\n /* @__PURE__ */ jsx(ScrollRestoration, {})\n ] }) : null\n ] });\n});\nfunction OnRendered() {\n const router = useRouter();\n const prevLocationRef = React.useRef(\n void 0\n );\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n suppressHydrationWarning: true,\n ref: (el) => {\n if (el && (prevLocationRef.current === void 0 || prevLocationRef.current.href !== router.latestLocation.href)) {\n router.emit({\n type: \"onRendered\",\n ...getLocationChangeInfo(router.state)\n });\n prevLocationRef.current = router.latestLocation;\n }\n }\n },\n router.latestLocation.state.__TSR_key\n );\n}\nconst MatchInner = React.memo(function MatchInnerImpl({\n matchId\n}) {\n var _a, _b, _c, _d, _e;\n const router = useRouter();\n const { match, key, routeId } = useRouterState({\n select: (s) => {\n const matchIndex = s.matches.findIndex((d) => d.id === matchId);\n const match2 = s.matches[matchIndex];\n const routeId2 = match2.routeId;\n const remountFn = router.routesById[routeId2].options.remountDeps ?? router.options.defaultRemountDeps;\n const remountDeps = remountFn == null ? void 0 : remountFn({\n routeId: routeId2,\n loaderDeps: match2.loaderDeps,\n params: match2._strictParams,\n search: match2._strictSearch\n });\n const key2 = remountDeps ? JSON.stringify(remountDeps) : void 0;\n return {\n key: key2,\n routeId: routeId2,\n match: pick(match2, [\n \"id\",\n \"status\",\n \"error\",\n \"_forcePending\",\n \"_displayPending\"\n ])\n };\n },\n structuralSharing: true\n });\n const route = router.routesById[routeId];\n const out = React.useMemo(() => {\n const Comp = route.options.component ?? router.options.defaultComponent;\n if (Comp) {\n return /* @__PURE__ */ jsx(Comp, {}, key);\n }\n return /* @__PURE__ */ jsx(Outlet, {});\n }, [key, route.options.component, router.options.defaultComponent]);\n if (match._displayPending) {\n throw (_a = router.getMatch(match.id)) == null ? void 0 : _a.displayPendingPromise;\n }\n if (match._forcePending) {\n throw (_b = router.getMatch(match.id)) == null ? void 0 : _b.minPendingPromise;\n }\n if (match.status === \"pending\") {\n const pendingMinMs = route.options.pendingMinMs ?? router.options.defaultPendingMinMs;\n if (pendingMinMs && !((_c = router.getMatch(match.id)) == null ? void 0 : _c.minPendingPromise)) {\n if (!router.isServer) {\n const minPendingPromise = createControlledPromise();\n Promise.resolve().then(() => {\n router.updateMatch(match.id, (prev) => ({\n ...prev,\n minPendingPromise\n }));\n });\n setTimeout(() => {\n minPendingPromise.resolve();\n router.updateMatch(match.id, (prev) => ({\n ...prev,\n minPendingPromise: void 0\n }));\n }, pendingMinMs);\n }\n }\n throw (_d = router.getMatch(match.id)) == null ? void 0 : _d.loadPromise;\n }\n if (match.status === \"notFound\") {\n invariant(isNotFound(match.error), \"Expected a notFound error\");\n return renderRouteNotFound(router, route, match.error);\n }\n if (match.status === \"redirected\") {\n invariant(isRedirect(match.error), \"Expected a redirect error\");\n throw (_e = router.getMatch(match.id)) == null ? void 0 : _e.loadPromise;\n }\n if (match.status === \"error\") {\n if (router.isServer) {\n const RouteErrorComponent = (route.options.errorComponent ?? router.options.defaultErrorComponent) || ErrorComponent;\n return /* @__PURE__ */ jsx(\n RouteErrorComponent,\n {\n error: match.error,\n reset: void 0,\n info: {\n componentStack: \"\"\n }\n }\n );\n }\n throw match.error;\n }\n return out;\n});\nconst Outlet = React.memo(function OutletImpl() {\n const router = useRouter();\n const matchId = React.useContext(matchContext);\n const routeId = useRouterState({\n select: (s) => {\n var _a;\n return (_a = s.matches.find((d) => d.id === matchId)) == null ? void 0 : _a.routeId;\n }\n });\n const route = router.routesById[routeId];\n const parentGlobalNotFound = useRouterState({\n select: (s) => {\n const matches = s.matches;\n const parentMatch = matches.find((d) => d.id === matchId);\n invariant(\n parentMatch,\n `Could not find parent match for matchId \"${matchId}\"`\n );\n return parentMatch.globalNotFound;\n }\n });\n const childMatchId = useRouterState({\n select: (s) => {\n var _a;\n const matches = s.matches;\n const index = matches.findIndex((d) => d.id === matchId);\n return (_a = matches[index + 1]) == null ? void 0 : _a.id;\n }\n });\n const pendingElement = router.options.defaultPendingComponent ? /* @__PURE__ */ jsx(router.options.defaultPendingComponent, {}) : null;\n if (parentGlobalNotFound) {\n return renderRouteNotFound(router, route, void 0);\n }\n if (!childMatchId) {\n return null;\n }\n const nextMatch = /* @__PURE__ */ jsx(Match, { matchId: childMatchId });\n if (matchId === rootRouteId) {\n return /* @__PURE__ */ jsx(React.Suspense, { fallback: pendingElement, children: nextMatch });\n }\n return nextMatch;\n});\nexport {\n Match,\n MatchInner,\n Outlet\n};\n//# sourceMappingURL=Match.js.map\n","import { jsx, jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport warning from \"tiny-warning\";\nimport { CatchBoundary, ErrorComponent } from \"./CatchBoundary.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { Transitioner } from \"./Transitioner.js\";\nimport { matchContext } from \"./matchContext.js\";\nimport { Match } from \"./Match.js\";\nimport { SafeFragment } from \"./SafeFragment.js\";\nfunction Matches() {\n const router = useRouter();\n const pendingElement = router.options.defaultPendingComponent ? /* @__PURE__ */ jsx(router.options.defaultPendingComponent, {}) : null;\n const ResolvedSuspense = router.isServer || typeof document !== \"undefined\" && router.ssr ? SafeFragment : React.Suspense;\n const inner = /* @__PURE__ */ jsxs(ResolvedSuspense, { fallback: pendingElement, children: [\n !router.isServer && /* @__PURE__ */ jsx(Transitioner, {}),\n /* @__PURE__ */ jsx(MatchesInner, {})\n ] });\n return router.options.InnerWrap ? /* @__PURE__ */ jsx(router.options.InnerWrap, { children: inner }) : inner;\n}\nfunction MatchesInner() {\n const router = useRouter();\n const matchId = useRouterState({\n select: (s) => {\n var _a;\n return (_a = s.matches[0]) == null ? void 0 : _a.id;\n }\n });\n const resetKey = useRouterState({\n select: (s) => s.loadedAt\n });\n const matchComponent = matchId ? /* @__PURE__ */ jsx(Match, { matchId }) : null;\n return /* @__PURE__ */ jsx(matchContext.Provider, { value: matchId, children: router.options.disableGlobalCatchBoundary ? matchComponent : /* @__PURE__ */ jsx(\n CatchBoundary,\n {\n getResetKey: () => resetKey,\n errorComponent: ErrorComponent,\n onCatch: (error) => {\n warning(\n false,\n `The following error wasn't caught by any route! At the very least, consider setting an 'errorComponent' in your RootRoute!`\n );\n warning(false, error.message || error.toString());\n },\n children: matchComponent\n }\n ) });\n}\nfunction useMatchRoute() {\n const router = useRouter();\n useRouterState({\n select: (s) => {\n var _a;\n return [s.location.href, (_a = s.resolvedLocation) == null ? void 0 : _a.href, s.status];\n },\n structuralSharing: true\n });\n return React.useCallback(\n (opts) => {\n const { pending, caseSensitive, fuzzy, includeSearch, ...rest } = opts;\n return router.matchRoute(rest, {\n pending,\n caseSensitive,\n fuzzy,\n includeSearch\n });\n },\n [router]\n );\n}\nfunction MatchRoute(props) {\n const matchRoute = useMatchRoute();\n const params = matchRoute(props);\n if (typeof props.children === \"function\") {\n return props.children(params);\n }\n return params ? props.children : null;\n}\nfunction useMatches(opts) {\n return useRouterState({\n select: (state) => {\n const matches = state.matches;\n return (opts == null ? void 0 : opts.select) ? opts.select(matches) : matches;\n },\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n}\nfunction useParentMatches(opts) {\n const contextMatchId = React.useContext(matchContext);\n return useMatches({\n select: (matches) => {\n matches = matches.slice(\n 0,\n matches.findIndex((d) => d.id === contextMatchId)\n );\n return (opts == null ? void 0 : opts.select) ? opts.select(matches) : matches;\n },\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n}\nfunction useChildMatches(opts) {\n const contextMatchId = React.useContext(matchContext);\n return useMatches({\n select: (matches) => {\n matches = matches.slice(\n matches.findIndex((d) => d.id === contextMatchId) + 1\n );\n return (opts == null ? void 0 : opts.select) ? opts.select(matches) : matches;\n },\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n}\nexport {\n MatchRoute,\n Matches,\n useChildMatches,\n useMatchRoute,\n useMatches,\n useParentMatches\n};\n//# sourceMappingURL=Matches.js.map\n","import { RouterCore } from \"@tanstack/router-core\";\nimport { createFileRoute, createLazyFileRoute } from \"./fileRoute.js\";\nconst createRouter = (options) => {\n return new Router(options);\n};\nclass Router extends RouterCore {\n constructor(options) {\n super(options);\n }\n}\nif (typeof globalThis !== \"undefined\") {\n globalThis.createFileRoute = createFileRoute;\n globalThis.createLazyFileRoute = createLazyFileRoute;\n} else if (typeof window !== \"undefined\") {\n window.createFileRoute = createFileRoute;\n window.createFileRoute = createLazyFileRoute;\n}\nexport {\n Router,\n createRouter\n};\n//# sourceMappingURL=router.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { Matches } from \"./Matches.js\";\nimport { getRouterContext } from \"./routerContext.js\";\nfunction RouterContextProvider({\n router,\n children,\n ...rest\n}) {\n if (Object.keys(rest).length > 0) {\n router.update({\n ...router.options,\n ...rest,\n context: {\n ...router.options.context,\n ...rest.context\n }\n });\n }\n const routerContext = getRouterContext();\n const provider = /* @__PURE__ */ jsx(routerContext.Provider, { value: router, children });\n if (router.options.Wrap) {\n return /* @__PURE__ */ jsx(router.options.Wrap, { children: provider });\n }\n return provider;\n}\nfunction RouterProvider({ router, ...rest }) {\n return /* @__PURE__ */ jsx(RouterContextProvider, { router, ...rest, children: /* @__PURE__ */ jsx(Matches, {}) });\n}\nexport {\n RouterContextProvider,\n RouterProvider\n};\n//# sourceMappingURL=RouterProvider.js.map\n","import { defaultGetScrollRestorationKey, getCssSelector, scrollRestorationCache, setupScrollRestoration } from \"@tanstack/router-core\";\nimport { useRouter } from \"./useRouter.js\";\nfunction useScrollRestoration() {\n const router = useRouter();\n setupScrollRestoration(router, true);\n}\nfunction ScrollRestoration(_props) {\n useScrollRestoration();\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\n \"The ScrollRestoration component is deprecated. Use createRouter's `scrollRestoration` option instead.\"\n );\n }\n return null;\n}\nfunction useElementScrollRestoration(options) {\n var _a, _b;\n useScrollRestoration();\n const router = useRouter();\n const getKey = options.getKey || defaultGetScrollRestorationKey;\n let elementSelector = \"\";\n if (options.id) {\n elementSelector = `[data-scroll-restoration-id=\"${options.id}\"]`;\n } else {\n const element = (_a = options.getElement) == null ? void 0 : _a.call(options);\n if (!element) {\n return;\n }\n elementSelector = element instanceof Window ? \"window\" : getCssSelector(element);\n }\n const restoreKey = getKey(router.latestLocation);\n const byKey = (_b = scrollRestorationCache) == null ? void 0 : _b.state[restoreKey];\n return byKey == null ? void 0 : byKey[elementSelector];\n}\nexport {\n ScrollRestoration,\n useElementScrollRestoration\n};\n//# sourceMappingURL=ScrollRestoration.js.map\n","import * as React from \"react\";\nimport { useRouter } from \"./useRouter.js\";\nfunction _resolveBlockerOpts(opts, condition) {\n if (opts === void 0) {\n return {\n shouldBlockFn: () => true,\n withResolver: false\n };\n }\n if (\"shouldBlockFn\" in opts) {\n return opts;\n }\n if (typeof opts === \"function\") {\n const shouldBlock2 = Boolean(condition ?? true);\n const _customBlockerFn2 = async () => {\n if (shouldBlock2) return await opts();\n return false;\n };\n return {\n shouldBlockFn: _customBlockerFn2,\n enableBeforeUnload: shouldBlock2,\n withResolver: false\n };\n }\n const shouldBlock = Boolean(opts.condition ?? true);\n const fn = opts.blockerFn;\n const _customBlockerFn = async () => {\n if (shouldBlock && fn !== void 0) {\n return await fn();\n }\n return shouldBlock;\n };\n return {\n shouldBlockFn: _customBlockerFn,\n enableBeforeUnload: shouldBlock,\n withResolver: fn === void 0\n };\n}\nfunction useBlocker(opts, condition) {\n const {\n shouldBlockFn,\n enableBeforeUnload = true,\n disabled = false,\n withResolver = false\n } = _resolveBlockerOpts(opts, condition);\n const router = useRouter();\n const { history } = router;\n const [resolver, setResolver] = React.useState({\n status: \"idle\",\n current: void 0,\n next: void 0,\n action: void 0,\n proceed: void 0,\n reset: void 0\n });\n React.useEffect(() => {\n const blockerFnComposed = async (blockerFnArgs) => {\n function getLocation(location) {\n const parsedLocation = router.parseLocation(void 0, location);\n const matchedRoutes = router.getMatchedRoutes(\n parsedLocation.pathname,\n void 0\n );\n if (matchedRoutes.foundRoute === void 0) {\n throw new Error(`No route found for location ${location.href}`);\n }\n return {\n routeId: matchedRoutes.foundRoute.id,\n fullPath: matchedRoutes.foundRoute.fullPath,\n pathname: parsedLocation.pathname,\n params: matchedRoutes.routeParams,\n search: parsedLocation.search\n };\n }\n const current = getLocation(blockerFnArgs.currentLocation);\n const next = getLocation(blockerFnArgs.nextLocation);\n const shouldBlock = await shouldBlockFn({\n action: blockerFnArgs.action,\n current,\n next\n });\n if (!withResolver) {\n return shouldBlock;\n }\n if (!shouldBlock) {\n return false;\n }\n const promise = new Promise((resolve) => {\n setResolver({\n status: \"blocked\",\n current,\n next,\n action: blockerFnArgs.action,\n proceed: () => resolve(false),\n reset: () => resolve(true)\n });\n });\n const canNavigateAsync = await promise;\n setResolver({\n status: \"idle\",\n current: void 0,\n next: void 0,\n action: void 0,\n proceed: void 0,\n reset: void 0\n });\n return canNavigateAsync;\n };\n return disabled ? void 0 : history.block({ blockerFn: blockerFnComposed, enableBeforeUnload });\n }, [\n shouldBlockFn,\n enableBeforeUnload,\n disabled,\n withResolver,\n history,\n router\n ]);\n return resolver;\n}\nconst _resolvePromptBlockerArgs = (props) => {\n if (\"shouldBlockFn\" in props) {\n return { ...props };\n }\n const shouldBlock = Boolean(props.condition ?? true);\n const fn = props.blockerFn;\n const _customBlockerFn = async () => {\n if (shouldBlock && fn !== void 0) {\n return await fn();\n }\n return shouldBlock;\n };\n return {\n shouldBlockFn: _customBlockerFn,\n enableBeforeUnload: shouldBlock,\n withResolver: fn === void 0\n };\n};\nfunction Block(opts) {\n const { children, ...rest } = opts;\n const args = _resolvePromptBlockerArgs(rest);\n const resolver = useBlocker(args);\n return children ? typeof children === \"function\" ? children(resolver) : children : null;\n}\nexport {\n Block,\n useBlocker\n};\n//# sourceMappingURL=useBlocker.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useRouteContext(opts) {\n return useMatch({\n ...opts,\n select: (match) => opts.select ? opts.select(match.context) : match.context\n });\n}\nexport {\n useRouteContext\n};\n//# sourceMappingURL=useRouteContext.js.map\n","import { useRouterState } from \"./useRouterState.js\";\nfunction useLocation(opts) {\n return useRouterState({\n select: (state) => (opts == null ? void 0 : opts.select) ? opts.select(state.location) : state.location\n });\n}\nexport {\n useLocation\n};\n//# sourceMappingURL=useLocation.js.map\n","import { useRouterState } from \"./useRouterState.js\";\nfunction useCanGoBack() {\n return useRouterState({ select: (s) => s.location.state.__TSR_index !== 0 });\n}\nexport {\n useCanGoBack\n};\n//# sourceMappingURL=useCanGoBack.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nfunction Asset({\n tag,\n attrs,\n children\n}) {\n switch (tag) {\n case \"title\":\n return /* @__PURE__ */ jsx(\"title\", { ...attrs, suppressHydrationWarning: true, children });\n case \"meta\":\n return /* @__PURE__ */ jsx(\"meta\", { ...attrs, suppressHydrationWarning: true });\n case \"link\":\n return /* @__PURE__ */ jsx(\"link\", { ...attrs, suppressHydrationWarning: true });\n case \"style\":\n return /* @__PURE__ */ jsx(\n \"style\",\n {\n ...attrs,\n dangerouslySetInnerHTML: { __html: children }\n }\n );\n case \"script\":\n return /* @__PURE__ */ jsx(Script, { attrs, children });\n default:\n return null;\n }\n}\nfunction Script({\n attrs,\n children\n}) {\n React.useEffect(() => {\n if (attrs == null ? void 0 : attrs.src) {\n const script = document.createElement(\"script\");\n for (const [key, value] of Object.entries(attrs)) {\n if (key !== \"suppressHydrationWarning\" && value !== void 0 && value !== false) {\n script.setAttribute(\n key,\n typeof value === \"boolean\" ? \"\" : String(value)\n );\n }\n }\n document.head.appendChild(script);\n return () => {\n if (script.parentNode) {\n script.parentNode.removeChild(script);\n }\n };\n }\n if (typeof children === \"string\") {\n const script = document.createElement(\"script\");\n script.textContent = children;\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n if (key !== \"suppressHydrationWarning\" && value !== void 0 && value !== false) {\n script.setAttribute(\n key,\n typeof value === \"boolean\" ? \"\" : String(value)\n );\n }\n }\n }\n document.head.appendChild(script);\n return () => {\n if (script.parentNode) {\n script.parentNode.removeChild(script);\n }\n };\n }\n return void 0;\n }, [attrs, children]);\n if ((attrs == null ? void 0 : attrs.src) && typeof attrs.src === \"string\") {\n return /* @__PURE__ */ jsx(\"script\", { ...attrs, suppressHydrationWarning: true });\n }\n if (typeof children === \"string\") {\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n ...attrs,\n dangerouslySetInnerHTML: { __html: children },\n suppressHydrationWarning: true\n }\n );\n }\n return null;\n}\nexport {\n Asset\n};\n//# sourceMappingURL=Asset.js.map\n","import * as React from \"react\";\nimport { createElement } from \"react\";\nimport { Asset } from \"./Asset.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nconst useTags = () => {\n const router = useRouter();\n const routeMeta = useRouterState({\n select: (state) => {\n return state.matches.map((match) => match.meta).filter(Boolean);\n }\n });\n const meta = React.useMemo(() => {\n const resultMeta = [];\n const metaByAttribute = {};\n let title;\n [...routeMeta].reverse().forEach((metas) => {\n [...metas].reverse().forEach((m) => {\n if (!m) return;\n if (m.title) {\n if (!title) {\n title = {\n tag: \"title\",\n children: m.title\n };\n }\n } else {\n const attribute = m.name ?? m.property;\n if (attribute) {\n if (metaByAttribute[attribute]) {\n return;\n } else {\n metaByAttribute[attribute] = true;\n }\n }\n resultMeta.push({\n tag: \"meta\",\n attrs: {\n ...m\n }\n });\n }\n });\n });\n if (title) {\n resultMeta.push(title);\n }\n resultMeta.reverse();\n return resultMeta;\n }, [routeMeta]);\n const links = useRouterState({\n select: (state) => {\n var _a;\n const constructed = state.matches.map((match) => match.links).filter(Boolean).flat(1).map((link) => ({\n tag: \"link\",\n attrs: {\n ...link\n }\n }));\n const manifest = (_a = router.ssr) == null ? void 0 : _a.manifest;\n const assets = state.matches.map((match) => {\n var _a2;\n return ((_a2 = manifest == null ? void 0 : manifest.routes[match.routeId]) == null ? void 0 : _a2.assets) ?? [];\n }).filter(Boolean).flat(1).filter((asset) => asset.tag === \"link\").map(\n (asset) => ({\n tag: \"link\",\n attrs: {\n ...asset.attrs,\n suppressHydrationWarning: true\n }\n })\n );\n return [...constructed, ...assets];\n },\n structuralSharing: true\n });\n const preloadMeta = useRouterState({\n select: (state) => {\n const preloadMeta2 = [];\n state.matches.map((match) => router.looseRoutesById[match.routeId]).forEach(\n (route) => {\n var _a, _b, _c, _d;\n return (_d = (_c = (_b = (_a = router.ssr) == null ? void 0 : _a.manifest) == null ? void 0 : _b.routes[route.id]) == null ? void 0 : _c.preloads) == null ? void 0 : _d.filter(Boolean).forEach((preload) => {\n preloadMeta2.push({\n tag: \"link\",\n attrs: {\n rel: \"modulepreload\",\n href: preload\n }\n });\n });\n }\n );\n return preloadMeta2;\n },\n structuralSharing: true\n });\n const styles = useRouterState({\n select: (state) => state.matches.map((match) => match.styles).flat(1).filter(Boolean).map(({ children, ...attrs }) => ({\n tag: \"style\",\n attrs,\n children\n })),\n structuralSharing: true\n });\n const headScripts = useRouterState({\n select: (state) => state.matches.map((match) => match.headScripts).flat(1).filter(Boolean).map(({ children, ...script }) => ({\n tag: \"script\",\n attrs: {\n ...script\n },\n children\n })),\n structuralSharing: true\n });\n return uniqBy(\n [\n ...meta,\n ...preloadMeta,\n ...links,\n ...styles,\n ...headScripts\n ],\n (d) => {\n return JSON.stringify(d);\n }\n );\n};\nfunction HeadContent() {\n const tags = useTags();\n return tags.map((tag) => /* @__PURE__ */ createElement(Asset, { ...tag, key: `tsr-meta-${JSON.stringify(tag)}` }));\n}\nfunction uniqBy(arr, fn) {\n const seen = /* @__PURE__ */ new Set();\n return arr.filter((item) => {\n const key = fn(item);\n if (seen.has(key)) {\n return false;\n }\n seen.add(key);\n return true;\n });\n}\nexport {\n HeadContent,\n useTags\n};\n//# sourceMappingURL=HeadContent.js.map\n","import { jsx, Fragment } from \"react/jsx-runtime\";\nimport { createElement } from \"react\";\nimport { Asset } from \"./Asset.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nconst Scripts = () => {\n const router = useRouter();\n const assetScripts = useRouterState({\n select: (state) => {\n var _a;\n const assetScripts2 = [];\n const manifest = (_a = router.ssr) == null ? void 0 : _a.manifest;\n if (!manifest) {\n return [];\n }\n state.matches.map((match) => router.looseRoutesById[match.routeId]).forEach(\n (route) => {\n var _a2, _b;\n return (_b = (_a2 = manifest.routes[route.id]) == null ? void 0 : _a2.assets) == null ? void 0 : _b.filter((d) => d.tag === \"script\").forEach((asset) => {\n assetScripts2.push({\n tag: \"script\",\n attrs: asset.attrs,\n children: asset.children\n });\n });\n }\n );\n return assetScripts2;\n },\n structuralSharing: true\n });\n const { scripts } = useRouterState({\n select: (state) => ({\n scripts: state.matches.map((match) => match.scripts).flat(1).filter(Boolean).map(({ children, ...script }) => ({\n tag: \"script\",\n attrs: {\n ...script,\n suppressHydrationWarning: true\n },\n children\n }))\n }),\n structuralSharing: true\n });\n const allScripts = [...scripts, ...assetScripts];\n return /* @__PURE__ */ jsx(Fragment, { children: allScripts.map((asset, i) => /* @__PURE__ */ createElement(Asset, { ...asset, key: `tsr-scripts-${asset.tag}-${i}` })) });\n};\nexport {\n Scripts\n};\n//# sourceMappingURL=Scripts.js.map\n"],"names":["require$$0","shimModule","shallow","isMatch","React","jsx","jsxs","React__default","require$$1","withSelectorModule","useSyncExternalStoreWithSelector","Fragment","ScrollRestoration","createElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;CAWA,IAAI,KAAK,GAAGA,YAAA,EAAgB;AAC5B,CAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;GAChB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAA;AACA,CAAA,IAAI,QAAQ,GAAG,UAAU,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE;AAC/D,GAAE,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC3B,GAAE,SAAS,GAAG,KAAK,CAAC,SAAS;AAC7B,GAAE,eAAe,GAAG,KAAK,CAAC,eAAe;AACzC,GAAE,aAAa,GAAG,KAAK,CAAC,aAAa;AACrC,CAAA,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;AACxD,GAAE,IAAI,KAAK,GAAG,WAAW,EAAE;AAC3B,KAAI,SAAS,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;AAC9E,KAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;AAC5B,KAAI,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC;AAC9B,GAAE,eAAe;AACjB,KAAI,YAAY;AAChB,OAAM,IAAI,CAAC,KAAK,GAAG,KAAK;AACxB,OAAM,IAAI,CAAC,WAAW,GAAG,WAAW;AACpC,OAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KACjE,CAAK;AACL,KAAI,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW;IAC/B;AACH,GAAE,SAAS;AACX,KAAI,YAAY;AAChB,OAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;OAC3D,OAAO,SAAS,CAAC,YAAY;AACnC,SAAQ,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACnE,OAAA,CAAO,CAAC;KACR,CAAK;AACL,KAAI,CAAC,SAAS;IACX;GACD,aAAa,CAAC,KAAK,CAAC;AACtB,GAAE,OAAO,KAAK;AACd,CAAA;CACA,SAAS,sBAAsB,CAAC,IAAI,EAAE;AACtC,GAAE,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW;AAC1C,GAAE,IAAI,GAAG,IAAI,CAAC,KAAK;AACnB,GAAE,IAAI;AACN,KAAI,IAAI,SAAS,GAAG,iBAAiB,EAAE;AACvC,KAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;GACrC,CAAG,CAAC,OAAO,KAAK,EAAE;KACd,OAAO,IAAE;AACb,GAAA;AACA,CAAA;AACA,CAAA,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;GACtD,OAAO,WAAW,EAAE;AACtB,CAAA;AACA,CAAA,IAAI,IAAI;GACN,WAAW,KAAK,OAAO,MAAM;AAC/B,GAAE,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ;AACxC,GAAE,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC;OACnC;AACN,OAAM,sBAAsB;AAC5B,CAAA,mCAAA,CAAA,oBAA4B;GAC1B,MAAM,KAAK,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,GAAG,IAAI;;;;;;;;;AC/D3E,CAA2C;GACzCC,IAAA,CAAA,OAAO,GAAUD,0CAAA,EAA2D;CAC9E;;;;ACHA,IAAI,MAAA,GAAS,kBAAA;AACb,SAAS,SAAA,CAAU,WAAW,OAAA,EAAS;AACnC,EAAA,IAAI,SAAA,EAAW;AACX,IAAA;AAAA,EACJ;AACA,EAAkB;AACd,IAAA,MAAM,IAAI,MAAM,MAAM,CAAA;AAAA,EAC1B;AAIJ;;ACXA,SAAS,OAAA,CAAQ,WAAW,OAAA,EAAS;AAgBrC;;AChBA,MAAM,gBAAgB,mBAAmB,IAAI,OAAO,EAAE;AACtD,MAAM,gBAAgB,mBAAmB,IAAI,OAAO,EAAE;AACtD,MAAM,6BAA6B,GAAG;AACtC,EAAE,OAAO,EAAE;AACX,CAAC;AACD,IAAI,YAAY,GAAG,KAAK;AACxB,IAAI,YAAY,GAAG,CAAC;AACpB,MAAM,gBAAgB,mBAAmB,IAAI,GAAG,EAAE;AAClD,MAAM,oBAAoB,mBAAmB,IAAI,GAAG,EAAE;AACtD,SAAS,iBAAiB,CAAC,WAAW,EAAE;AACxC,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AACxD,IAAI,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;AACpE,IAAI,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE;AACrE,IAAI,OAAO,CAAC;AACZ,EAAE,CAAC,CAAC;AACJ,EAAE,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE;AAChC,IAAI,IAAI,6BAA6B,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACjE,MAAM;AACN,IAAI;AACJ,IAAI,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AACvD,IAAI,OAAO,CAAC,SAAS,EAAE;AACvB,IAAI,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;AAChD,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAClC,QAAQ,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;AACpE,QAAQ,IAAI,CAAC,wBAAwB,EAAE;AACvC,QAAQ,iBAAiB,CAAC,wBAAwB,CAAC;AACnD,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA,SAAS,iBAAiB,CAAC,KAAK,EAAE;AAClC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO;AACzB,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAC3B,MAAM,OAAO,EAAE,KAAK,CAAC,SAAS;AAC9B,MAAM,UAAU,EAAE,KAAK,CAAC;AACxB,KAAK;AACL,GAAG;AACH;AACA,SAAS,wBAAwB,CAAC,OAAO,EAAE;AAC3C,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO;AAC3B,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAC3B,MAAM,OAAO,EAAE,OAAO,CAAC,SAAS;AAChC,MAAM,UAAU,EAAE,OAAO,CAAC;AAC1B,KAAK;AACL,GAAG;AACH;AACA,SAAS,OAAO,CAAC,KAAK,EAAE;AACxB,EAAE,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC5D,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;AACpD,EAAE;AACF,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7B,EAAE,IAAI,YAAY,GAAG,CAAC,EAAE;AACxB,EAAE,IAAI,YAAY,EAAE;AACpB,EAAE,IAAI;AACN,IAAI,YAAY,GAAG,IAAI;AACvB,IAAI,OAAO,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE;AACtC,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACjD,MAAM,gBAAgB,CAAC,KAAK,EAAE;AAC9B,MAAM,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;AACnC,QAAQ,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS;AAC9E,QAAQ,MAAM,CAAC,SAAS,GAAG,SAAS;AACpC,QAAQ,iBAAiB,CAAC,MAAM,CAAC;AACjC,MAAM;AACN,MAAM,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;AACnC,QAAQ,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;AACxD,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,QAAQ,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1D,QAAQ,iBAAiB,CAAC,WAAW,CAAC;AACtC,MAAM;AACN,MAAM,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;AACnC,QAAQ,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;AACxD,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,QAAQ,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;AAC3C,UAAU,wBAAwB,CAAC,OAAO,CAAC;AAC3C,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE,CAAC,SAAS;AACZ,IAAI,YAAY,GAAG,KAAK;AACxB,IAAI,6BAA6B,CAAC,OAAO,GAAG,EAAE;AAC9C,IAAI,oBAAoB,CAAC,KAAK,EAAE;AAChC,EAAE;AACF;AACA,SAAS,KAAK,CAAC,EAAE,EAAE;AACnB,EAAE,YAAY,EAAE;AAChB,EAAE,IAAI;AACN,IAAI,EAAE,EAAE;AACR,EAAE,CAAC,SAAS;AACZ,IAAI,YAAY,EAAE;AAClB,IAAI,IAAI,YAAY,KAAK,CAAC,EAAE;AAC5B,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAClE,MAAM,IAAI,oBAAoB,EAAE;AAChC,QAAQ,OAAO,CAAC,oBAAoB,CAAC;AACrC,MAAM;AACN,IAAI;AACJ,EAAE;AACF;;AClGA,SAAS,iBAAiB,CAAC,OAAO,EAAE;AACpC,EAAE,OAAO,OAAO,OAAO,KAAK,UAAU;AACtC;;ACAA,MAAM,KAAK,CAAC;AACZ,EAAE,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE;AACrC,IAAI,IAAI,CAAC,SAAS,mBAAmB,IAAI,GAAG,EAAE;AAC9C,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,KAAK;AACnC,MAAM,IAAI,EAAE,EAAE,EAAE;AAChB,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClC,MAAM,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC;AAC/H,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACvC,QAAQ,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,EAAE;AACxC,MAAM,CAAC;AACP,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,YAAY;AACjC,IAAI,IAAI,CAAC,KAAK,GAAG,YAAY;AAC7B,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO;AAC1B,EAAE;AACF,EAAE,QAAQ,CAAC,OAAO,EAAE;AACpB,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;AAClB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK;AAC/B,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE;AAC5D,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;AACjE,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;AACtC,QAAQ,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;AAC5C,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,KAAK,GAAG,OAAO;AAC5B,MAAM;AACN,IAAI;AACJ,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5F,IAAI,OAAO,CAAC,IAAI,CAAC;AACjB,EAAE;AACF;;AC/BA,MAAM,OAAO,CAAC;AACd,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,IAAI,CAAC,SAAS,mBAAmB,IAAI,GAAG,EAAE;AAC9C,IAAI,IAAI,CAAC,cAAc,GAAG,EAAE;AAC5B,IAAI,IAAI,CAAC,iBAAiB,GAAG,EAAE;AAC/B,IAAI,IAAI,CAAC,UAAU,GAAG,MAAM;AAC5B,MAAM,MAAM,WAAW,GAAG,EAAE;AAC5B,MAAM,MAAM,WAAW,GAAG,EAAE;AAC5B,MAAM,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC3C,QAAQ,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;AACvC,QAAQ,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AACnC,MAAM;AACN,MAAM,IAAI,CAAC,iBAAiB,GAAG,WAAW;AAC1C,MAAM,OAAO;AACb,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,OAAO,EAAE,IAAI,CAAC,SAAS,IAAI;AACnC,OAAO;AACP,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM;AAC3B,MAAM,IAAI,EAAE,EAAE,EAAE;AAChB,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK;AACjC,MAAM,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;AACrE,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AACnC,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AACxE,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,gCAAgC,GAAG,MAAM;AAClD,MAAM,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC3C,QAAQ,IAAI,GAAG,YAAY,OAAO,EAAE;AACpC,UAAU,GAAG,CAAC,gCAAgC,EAAE;AAChD,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,eAAe,GAAG,KAAK;AACjC,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB;AACtD,MAAM,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;AAC/C,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnD,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC,EAAE;AACrD,UAAU,eAAe,GAAG,IAAI;AAChC,UAAU;AACV,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,eAAe,EAAE;AAC3B,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,MAAM;AACN,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,KAAK,GAAG,MAAM;AACvB,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,MAAM,IAAI,CAAC,gCAAgC,EAAE;AAC7C,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,CAAC,mBAAmB,EAAE;AAClC,QAAQ,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE;AACnD,UAAU,OAAO,EAAE;AACnB,QAAQ;AACR,MAAM,CAAC;AACP,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,KAAK;AACnC,MAAM,IAAI,EAAE,EAAE,EAAE;AAChB,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClC,MAAM,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC;AACzG,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACvC,QAAQ,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,EAAE;AACxC,MAAM,CAAC;AACP,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO;AAC1B,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;AAC5B,MAAM,WAAW,EAAE,MAAM;AACzB,MAAM,OAAO,EAAE,MAAM;AACrB,MAAM,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACrC,KAAK,CAAC;AACN,EAAE;AACF,EAAE,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC5C,IAAI,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AAC5B,MAAM,IAAI,GAAG,YAAY,OAAO,EAAE;AAClC,QAAQ,GAAG,CAAC,eAAe,EAAE;AAC7B,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;AAC9C,MAAM,CAAC,MAAM,IAAI,GAAG,YAAY,KAAK,EAAE;AACvC,QAAQ,IAAI,wBAAwB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;AAChE,QAAQ,IAAI,CAAC,wBAAwB,EAAE;AACvC,UAAU,wBAAwB,mBAAmB,IAAI,GAAG,EAAE;AAC9D,UAAU,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,wBAAwB,CAAC;AAC7D,QAAQ;AACR,QAAQ,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC;AAC1C,QAAQ,IAAI,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;AACtD,QAAQ,IAAI,CAAC,aAAa,EAAE;AAC5B,UAAU,aAAa,mBAAmB,IAAI,GAAG,EAAE;AACnD,UAAU,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC;AACnD,QAAQ;AACR,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;AAC9B,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAChD,IAAI,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AAC5B,MAAM,IAAI,GAAG,YAAY,OAAO,EAAE;AAClC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;AAClD,MAAM,CAAC,MAAM,IAAI,GAAG,YAAY,KAAK,EAAE;AACvC,QAAQ,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;AAClE,QAAQ,IAAI,wBAAwB,EAAE;AACtC,UAAU,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC;AAC/C,QAAQ;AACR,QAAQ,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;AACxD,QAAQ,IAAI,aAAa,EAAE;AAC3B,UAAU,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC;AACnC,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;AACF;;AClHA,MAAM,aAAa,GAAG,aAAa;AACnC,MAAM,aAAa,GAAG,UAAU;AAChC,MAAM,iBAAiB,GAAG,cAAc;AACxC,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACnC,EAAE,MAAM,WAAW,mBAAmB,IAAI,GAAG,EAAE;AAC/C,EAAE,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK;AAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACjC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AACzE,EAAE,CAAC;AACH,EAAE,MAAM,iBAAiB,GAAG,CAAC,MAAM,KAAK;AACxC,IAAI,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;AACxD,SAAS,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,EAAE,CAAC;AACH,EAAE,MAAM,aAAa,GAAG,OAAO;AAC/B,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI,GAAG;AACP,GAAG,KAAK;AACR,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,MAAM,aAAa,GAAG,CAAC,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,aAAa,KAAK,KAAK;AAC/F,IAAI,IAAI,aAAa,EAAE;AACvB,MAAM,IAAI,EAAE;AACZ,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrF,IAAI,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;AACvF,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,IAAI,eAAe,EAAE;AAC/E,MAAM,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AACtC,QAAQ,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;AACzE,QAAQ,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;AAClD,UAAU,eAAe,EAAE,QAAQ;AACnC,UAAU,YAAY;AACtB,UAAU,MAAM,EAAE,UAAU,CAAC;AAC7B,SAAS,CAAC;AACV,QAAQ,IAAI,SAAS,EAAE;AACvB,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;AAChE,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,EAAE;AACV,EAAE,CAAC;AACH,EAAE,OAAO;AACT,IAAI,IAAI,QAAQ,GAAG;AACnB,MAAM,OAAO,QAAQ;AACrB,IAAI,CAAC;AACL,IAAI,IAAI,MAAM,GAAG;AACjB,MAAM,OAAO,IAAI,CAAC,SAAS,EAAE;AAC7B,IAAI,CAAC;AACL,IAAI,WAAW;AACf,IAAI,SAAS,EAAE,CAAC,EAAE,KAAK;AACvB,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AACzB,MAAM,OAAO,MAAM;AACnB,QAAQ,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9B,MAAM,CAAC;AACP,IAAI,CAAC;AACL,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,KAAK;AACzC,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;AACxD,MAAM,KAAK,GAAG,iBAAiB,CAAC,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC;AACxD,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC;AACrC,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAClC,QAAQ,CAAC;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,IAAI;AACZ,QAAQ;AACR,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,KAAK;AAC5C,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;AACxD,MAAM,KAAK,GAAG,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC;AACpD,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;AACxC,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE,SAAS;AACvB,QAAQ,IAAI;AACZ,QAAQ;AACR,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK;AACjC,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AACxB,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAClD,QAAQ,CAAC;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE;AACd,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,EAAE,CAAC,YAAY,KAAK;AAC5B,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,aAAa,KAAK,KAAK,CAAC;AAC1F,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7C,QAAQ,CAAC;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE;AACd,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,OAAO,EAAE,CAAC,YAAY,KAAK;AAC/B,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,aAAa,KAAK,KAAK,CAAC;AAC7F,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAChD,QAAQ,CAAC;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE;AACd,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;AACxD,IAAI,UAAU,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AAC7C,IAAI,KAAK,EAAE,CAAC,OAAO,KAAK;AACxB,MAAM,IAAI,EAAE;AACZ,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,MAAM;AAC1C,MAAM,CAAC;AACP,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACvF,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9C,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,GAAG,EAAE,EAAE;AACnB,QAAQ,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAC5F,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC;AACxG,MAAM,CAAC;AACP,IAAI,CAAC;AACL,IAAI,KAAK,EAAE,MAAM;AACjB,MAAM,IAAI,EAAE;AACZ,MAAM,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/D,IAAI,CAAC;AACL,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,IAAI,EAAE;AACZ,MAAM,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;AACjE,IAAI,CAAC;AACL,IAAI;AACJ,GAAG;AACH;AACA,SAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE;AACzC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,KAAK,GAAG,EAAE;AACd,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,eAAe,EAAE;AAC/B,EAAE,OAAO;AACT,IAAI,GAAG,KAAK;AACZ,IAAI,GAAG;AACP;AACA,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,CAAC,aAAa,GAAG;AACrB,GAAG;AACH;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACpC,EAAE,IAAI,EAAE,EAAE,EAAE;AACZ,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,MAAM,OAAO,QAAQ,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAC1G,EAAE,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS;AACjD,EAAE,MAAM,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY;AACvD,EAAE,IAAI,QAAQ,GAAG,EAAE;AACnB,EAAE,MAAM,YAAY,GAAG,MAAM,QAAQ;AACrC,EAAE,MAAM,YAAY,GAAG,CAAC,WAAW,KAAK,QAAQ,GAAG,WAAW;AAC9D,EAAE,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;AAClF,EAAE,MAAM,aAAa,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,MAAM,MAAM,SAAS;AACxF,IAAI,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxE,IAAI,GAAG,CAAC,OAAO,CAAC;AAChB,GAAG,CAAC;AACJ,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE;AAC5H,IAAI,MAAM,QAAQ,GAAG,eAAe,EAAE;AACtC,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY;AAC5B,MAAM;AACN,QAAQ,CAAC,aAAa,GAAG,CAAC;AAC1B,QAAQ,GAAG,EAAE,QAAQ;AACrB;AACA,QAAQ,SAAS,EAAE;AACnB,OAAO;AACP,MAAM;AACN,KAAK;AACL,EAAE;AACF,EAAE,IAAI,eAAe,GAAG,aAAa,EAAE;AACvC,EAAE,IAAI,gBAAgB;AACtB,EAAE,IAAI,WAAW,GAAG,KAAK;AACzB,EAAE,IAAI,aAAa,GAAG,KAAK;AAC3B,EAAE,IAAI,kBAAkB,GAAG,KAAK;AAChC,EAAE,IAAI,sBAAsB,GAAG,KAAK;AACpC,EAAE,MAAM,WAAW,GAAG,MAAM,eAAe;AAC3C,EAAE,IAAI,IAAI;AACV,EAAE,IAAI,SAAS;AACf,EAAE,MAAM,KAAK,GAAG,MAAM;AACtB,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI;AACrC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY;AACnE,MAAM,IAAI,CAAC,KAAK;AAChB,MAAM,EAAE;AACR,MAAM,IAAI,CAAC;AACX,KAAK;AACL,IAAI,OAAO,CAAC,kBAAkB,GAAG,KAAK;AACtC,IAAI,IAAI,GAAG,MAAM;AACjB,IAAI,SAAS,GAAG,MAAM;AACtB,IAAI,gBAAgB,GAAG,MAAM;AAC7B,EAAE,CAAC;AACH,EAAE,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,KAAK;AACxD,IAAI,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;AACrC,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,gBAAgB,GAAG,eAAe;AACxC,IAAI;AACJ,IAAI,eAAe,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC;AAChD,IAAI,IAAI,GAAG;AACX,MAAM,IAAI;AACV,MAAM,KAAK;AACX,MAAM,MAAM,EAAE,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,KAAK;AAChE,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC;AACvD,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,MAAM,SAAS,GAAG,CAAC,IAAI,KAAK;AAC9B,IAAI,eAAe,GAAG,aAAa,EAAE;AACrC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;AAC5B,EAAE,CAAC;AACH,EAAE,MAAM,cAAc,GAAG,YAAY;AACrC,IAAI,IAAI,aAAa,EAAE;AACvB,MAAM,aAAa,GAAG,KAAK;AAC3B,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,YAAY,GAAG,aAAa,EAAE;AACxC,IAAI,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC;AAC1F,IAAI,MAAM,SAAS,GAAG,KAAK,KAAK,CAAC;AACjC,IAAI,MAAM,MAAM,GAAG,KAAK,KAAK,EAAE;AAC/B,IAAI,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,WAAW;AACrD,IAAI,WAAW,GAAG,KAAK;AACvB,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;AAC5D,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG;AAC1B,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,KAAK,EAAE;AACb,KAAK,GAAG;AACR,MAAM,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG;AAC9B,KAAK;AACL,IAAI,IAAI,kBAAkB,EAAE;AAC5B,MAAM,kBAAkB,GAAG,KAAK;AAChC,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,SAAS,GAAG,YAAY,EAAE;AACtC,MAAM,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,SAAS,CAAC,MAAM,EAAE;AAC/D,QAAQ,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;AACzC,UAAU,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;AACpD,YAAY,eAAe;AAC3B,YAAY,YAAY;AACxB,YAAY;AACZ,WAAW,CAAC;AACZ,UAAU,IAAI,SAAS,EAAE;AACzB,YAAY,aAAa,GAAG,IAAI;AAChC,YAAY,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,YAAY,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAClC,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,eAAe,GAAG,aAAa,EAAE;AACrC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAC1B,EAAE,CAAC;AACH,EAAE,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK;AAChC,IAAI,IAAI,sBAAsB,EAAE;AAChC,MAAM,sBAAsB,GAAG,KAAK;AACpC,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,WAAW,GAAG,KAAK;AAC3B,IAAI,MAAM,SAAS,GAAG,YAAY,EAAE;AACpC,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,SAAS,CAAC,MAAM,EAAE;AAC7D,MAAM,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;AACvC,QAAQ,MAAM,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI;AACzE,QAAQ,IAAI,sBAAsB,KAAK,IAAI,EAAE;AAC7C,UAAU,WAAW,GAAG,IAAI;AAC5B,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,OAAO,sBAAsB,KAAK,UAAU,IAAI,sBAAsB,EAAE,KAAK,IAAI,EAAE;AAC/F,UAAU,WAAW,GAAG,IAAI;AAC5B,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,WAAW,EAAE;AACrB,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,OAAO,CAAC,CAAC,WAAW,GAAG,EAAE;AAC/B,IAAI;AACJ,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,MAAM,OAAO,GAAG,aAAa,CAAC;AAChC,IAAI,WAAW;AACf,IAAI,SAAS,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM;AACvC,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;AACvE,IAAI,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7E,IAAI,IAAI,EAAE,CAAC,aAAa,KAAK;AAC7B,MAAM,IAAI,aAAa,EAAE,kBAAkB,GAAG,IAAI;AAClD,MAAM,sBAAsB,GAAG,IAAI;AACnC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;AAC/B,IAAI,CAAC;AACL,IAAI,OAAO,EAAE,CAAC,aAAa,KAAK;AAChC,MAAM,IAAI,aAAa,EAAE,kBAAkB,GAAG,IAAI;AAClD,MAAM,sBAAsB,GAAG,IAAI;AACnC,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE;AAC3B,IAAI,CAAC;AACL,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK;AACf,MAAM,WAAW,GAAG,IAAI;AACxB,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACvB,IAAI,CAAC;AACL,IAAI,UAAU,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC;AAC1C,IAAI,KAAK;AACT,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,iBAAiB;AAC/C,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,GAAG,oBAAoB;AACrD,MAAM,GAAG,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,cAAc,EAAE;AACjE,QAAQ,OAAO,EAAE;AACjB,OAAO,CAAC;AACR,MAAM,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,cAAc,CAAC;AAC5D,IAAI,CAAC;AACL,IAAI,SAAS,EAAE,MAAM;AACrB,MAAM,IAAI,gBAAgB,IAAI,eAAe,KAAK,gBAAgB,EAAE;AACpE,QAAQ,eAAe,GAAG,gBAAgB;AAC1C,MAAM;AACN,IAAI,CAAC;AACL,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,mBAAmB,EAAE;AACzB,GAAG,CAAC;AACJ,EAAE,GAAG,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC5E,EAAE,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC;AACrD,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,EAAE;AAC5C,IAAI,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;AAC1D,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC;AACtD,IAAI,OAAO,GAAG;AACd,EAAE,CAAC;AACH,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,GAAG,SAAS,GAAG,IAAI,EAAE;AAC/C,IAAI,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;AAC7D,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC;AACzD,IAAI,OAAO,GAAG;AACd,EAAE,CAAC;AACH,EAAE,OAAO,OAAO;AAChB;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACjC,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,MAAM,OAAO,QAAQ,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAC1G,EAAE,OAAO,oBAAoB,CAAC;AAC9B,IAAI,MAAM,EAAE,GAAG;AACf,IAAI,aAAa,EAAE,MAAM;AACzB,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7D,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG;AAC1C,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM;AAC5C,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAClF,MAAM,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC5D,MAAM,OAAO,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;AACnD,IAAI,CAAC;AACL,IAAI,UAAU,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC;AACjF,GAAG,CAAC;AACJ;AACA,SAAS,mBAAmB,CAAC,IAAI,GAAG;AACpC,EAAE,cAAc,EAAE,CAAC,GAAG;AACtB,CAAC,EAAE;AACH,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc;AACrC,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;AACnH,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG;AAC5B,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,MAAM;AACxD,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACpE,EAAE,OAAO,aAAa,CAAC;AACvB,IAAI,WAAW;AACf,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM;AACnC,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;AAChC,MAAM,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACtC,QAAQ,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACjC,QAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AAChC,MAAM;AACN,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7C,IAAI,CAAC;AACL,IAAI,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;AACnC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK;AAC3B,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI;AAC3B,IAAI,CAAC;AACL,IAAI,IAAI,EAAE,MAAM;AAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AACpC,IAAI,CAAC;AACL,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,IAAI,CAAC;AACL,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK;AACf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AAClE,IAAI,CAAC;AACL,IAAI,UAAU,EAAE,CAAC,IAAI,KAAK;AAC1B,GAAG,CAAC;AACJ;AACA,SAAS,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;AAChC,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,EAAE,MAAM,QAAQ,GAAG,eAAe,EAAE;AACpC,EAAE,OAAO;AACT,IAAI,IAAI;AACR,IAAI,QAAQ,EAAE,IAAI,CAAC,SAAS;AAC5B,MAAM,CAAC;AACP,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,SAAS,GAAG,WAAW,GAAG,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;AAC5H,KAAK;AACL,IAAI,IAAI,EAAE,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;AACzD,IAAI,MAAM,EAAE,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,KAAK,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE;AAClG,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;AAC5E,GAAG;AACH;AACA,SAAS,eAAe,GAAG;AAC3B,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACtD;;AC1ZA,SAAS,IAAI,CAAC,GAAG,EAAE;AACnB,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5B;AACA,SAAS,UAAU,CAAC,CAAC,EAAE;AACvB,EAAE,OAAO,OAAO,CAAC,KAAK,UAAU;AAChC;AACA,SAAS,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE;AAC7C,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;AAC3B,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC5B,EAAE;AACF,EAAE,OAAO,OAAO;AAChB;AACA,SAAS,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;AAC5B,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AACnC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AAC1B,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,EAAE,EAAE,CAAC;AACR;AACA,SAAS,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;AACvC,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE;AACtB,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,KAAK;AACpB,EAAE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC;AACxD,EAAE,IAAI,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE;AACvE,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;AAC7D,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI;AACvC,KAAK;AACL,IAAI,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM;AACrC,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;AAC7D,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI;AACvC,KAAK;AACL,IAAI,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM;AACrC,IAAI,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG,EAAE;AAChC,IAAI,IAAI,UAAU,GAAG,CAAC;AACtB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;AACvC,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;AAC1C,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE;AACxG,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM;AAC1B,QAAQ,UAAU,EAAE;AACpB,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE;AAC7D,UAAU,UAAU,EAAE;AACtB,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI;AACzE,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,mBAAmB,CAAC,CAAC,EAAE;AAChC,EAAE;AACF;AACA,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChF;AACA;AACA,SAAS,aAAa,CAAC,CAAC,EAAE;AAC1B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;AAC9B,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW;AAC5B,EAAE,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AACnC,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS;AAC7B,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;AACjC,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;AAC7C,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,kBAAkB,CAAC,CAAC,EAAE;AAC/B,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB;AAChE;AACA,SAAS,YAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;AAC3E;AACA,SAAS,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE;AAC7C,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7B,EAAE,IAAI,eAAe,EAAE;AACvB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC;AACpD,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;AAC/B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;AACf,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE;AAC7B,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;AAC5C,IAAI,MAAM,eAAe,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI;AAClF,IAAI,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,EAAE,eAAe,CAAC;AACnD,IAAI,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,EAAE,eAAe,CAAC;AACnD,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;AAClF,MAAM,OAAO,KAAK;AAClB,IAAI;AACJ,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AAChE,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AAC5C,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;AAC/B,MAAM,OAAO,KAAK;AAClB,IAAI;AACJ,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;AACrE,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA,SAAS,uBAAuB,CAAC,SAAS,EAAE;AAC5C,EAAE,IAAI,kBAAkB;AACxB,EAAE,IAAI,iBAAiB;AACvB,EAAE,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC7D,IAAI,kBAAkB,GAAG,OAAO;AAChC,IAAI,iBAAiB,GAAG,MAAM;AAC9B,EAAE,CAAC,CAAC;AACJ,EAAE,iBAAiB,CAAC,MAAM,GAAG,SAAS;AACtC,EAAE,iBAAiB,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK;AACzC,IAAI,iBAAiB,CAAC,MAAM,GAAG,UAAU;AACzC,IAAI,iBAAiB,CAAC,KAAK,GAAG,KAAK;AACnC,IAAI,kBAAkB,CAAC,KAAK,CAAC;AAC7B,IAAI,SAAS,IAAI,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC;AACjD,EAAE,CAAC;AACH,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK;AACpC,IAAI,iBAAiB,CAAC,MAAM,GAAG,UAAU;AACzC,IAAI,iBAAiB,CAAC,CAAC,CAAC;AACxB,EAAE,CAAC;AACH,EAAE,OAAO,iBAAiB;AAC1B;AACA,SAAS,UAAU,CAAC,UAAU,EAAE;AAChC,EAAE,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;AACpF;AACA,SAASE,SAAO,CAAC,IAAI,EAAE,IAAI,EAAE;AAC7B,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;AAC7B,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;AAC9F,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AACjD,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AACjG,MAAM,OAAO,KAAK;AAClB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,qBAAqB,CAAC,KAAK,EAAE;AACtC,EAAE,IAAI,QAAQ,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,OAAO,KAAK;AAChF,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,6CAA6C,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,2CAA2C,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,kCAAkC,CAAC;AACzN;;AC1JA,MAAM,qBAAqB,GAAG,CAAC;AAC/B,MAAM,kBAAkB,GAAG,CAAC;AAC5B,MAAM,qBAAqB,GAAG,CAAC;AAC/B,MAAM,2BAA2B,GAAG,CAAC;AACrC,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,OAAO,SAAS;AAClB,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;AAC1B,MAAM,OAAO,GAAG,KAAK,MAAM;AAC3B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;AACf,GAAG;AACH;AACA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;AACrC;AACA,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,OAAO,IAAI,KAAK,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;AAC1D;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,OAAO,IAAI,KAAK,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;AAC1D;AACA,SAAS,QAAQ,CAAC,IAAI,EAAE;AACxB,EAAE,OAAO,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC1C;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE;AAC9C,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE;AACnG,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7B,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA,SAAS,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;AACvD,EAAE,OAAO,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC;AAC9F;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO;AACjC,EAAE,IAAI,IAAI,KAAK,qBAAqB,EAAE;AACtC,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,OAAO;AAClD,EAAE,IAAI,IAAI,KAAK,kBAAkB,EAAE;AACnC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACpC,IAAI,IAAI,aAAa,IAAI,aAAa,EAAE;AACxC,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AAC1D,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE;AAC9B,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1C,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE;AAC9B,MAAM,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AAC1C,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,IAAI,KAAK,2BAA2B,EAAE;AAC5C,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACpC,IAAI,IAAI,aAAa,IAAI,aAAa,EAAE;AACxC,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AAC3D,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE;AAC9B,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE;AAC9B,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AAC3C,IAAI;AACJ,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACzB,EAAE;AACF,EAAE,IAAI,IAAI,KAAK,qBAAqB,EAAE;AACtC,IAAI,IAAI,aAAa,IAAI,aAAa,EAAE;AACxC,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AAClD,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE;AAC9B,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC;AAClC,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE;AAC9B,MAAM,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AAClC,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA,SAAS,WAAW,CAAC;AACrB,EAAE,QAAQ;AACV,EAAE,IAAI;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,GAAG,OAAO;AACzB,EAAE,aAAa;AACf,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,EAAE;AACR,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC;AACtD,EAAE,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,aAAa,CAAC;AAClD,EAAE,IAAI,YAAY,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,KAAK,EAAE;AAC5D,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,EAAE,UAAU,CAAC;AAClD,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,EAAE;AAClG,IAAI,YAAY,CAAC,GAAG,EAAE;AACtB,EAAE;AACF,EAAE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE;AAC3E,IAAI,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC;AACvC,IAAI,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK;AACjC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE;AACvB,MAAM,IAAI,CAAC,KAAK,EAAE;AAClB,QAAQ,YAAY,GAAG,CAAC,SAAS,CAAC;AAClC,MAAM,CAAC,MAAM,IAAI,KAAK,KAAK,MAAM,GAAG,CAAC,EAAE;AACvC,QAAQ,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,MAAM,CAAC,MAAM;AACb,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,IAAI,EAAE;AAC/B,MAAM,YAAY,CAAC,GAAG,EAAE;AACxB,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,EAAE;AAC9B,SAAS;AACT,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AAClC,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,KAAK,GAAG,EAAE;AAC1C,MAAM,IAAI,aAAa,KAAK,OAAO,EAAE;AACrC,QAAQ,YAAY,CAAC,GAAG,EAAE;AAC1B,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,aAAa,KAAK,QAAQ,EAAE;AAC3C,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACpE,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC;AACzD,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,aAAa,CAAC,CAAC;AACxD,EAAE,OAAO,MAAM;AACf;AACK,MAAC,aAAa,GAAG,CAAC,QAAQ,EAAE,KAAK,KAAK;AAC3C,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7D,EAAE,IAAI,MAAM,EAAE,OAAO,MAAM;AAC3B,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AAC5C,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;AACtD,EAAE,OAAO,MAAM;AACf;AACA,MAAM,QAAQ,GAAG,WAAW;AAC5B,MAAM,uBAAuB,GAAG,6CAA6C;AAC7E,MAAM,gCAAgC,GAAG,8CAA8C;AACvF,MAAM,WAAW,GAAG,MAAM;AAC1B,MAAM,0BAA0B,GAAG,mBAAmB;AACtD,SAAS,iBAAiB,CAAC,QAAQ,EAAE;AACrC,EAAE,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AAChC,EAAE,MAAM,QAAQ,GAAG,EAAE;AACrB,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE;AACpC,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACpC,IAAI,QAAQ,CAAC,IAAI,CAAC;AAClB,MAAM,IAAI,EAAE,qBAAqB;AACjC,MAAM,KAAK,EAAE;AACb,KAAK,CAAC;AACN,EAAE;AACF,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,OAAO,QAAQ;AACnB,EAAE;AACF,EAAE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACnD,EAAE,QAAQ,CAAC,IAAI;AACf,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK;AAC3B,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;AACxE,MAAM,IAAI,mBAAmB,EAAE;AAC/B,QAAQ,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;AAC7C,QAAQ,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;AAC7C,QAAQ,OAAO;AACf,UAAU,IAAI,EAAE,qBAAqB;AACrC,UAAU,KAAK,EAAE,GAAG;AACpB,UAAU,aAAa,EAAE,MAAM,IAAI,MAAM;AACzC,UAAU,aAAa,EAAE,MAAM,IAAI;AACnC,SAAS;AACT,MAAM;AACN,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK;AACjD,QAAQ;AACR,OAAO;AACP,MAAM,IAAI,wBAAwB,EAAE;AACpC,QAAQ,MAAM,MAAM,GAAG,wBAAwB,CAAC,CAAC,CAAC;AAClD,QAAQ,MAAM,SAAS,GAAG,wBAAwB,CAAC,CAAC,CAAC;AACrD,QAAQ,MAAM,MAAM,GAAG,wBAAwB,CAAC,CAAC,CAAC;AAClD,QAAQ,OAAO;AACf,UAAU,IAAI,EAAE,2BAA2B;AAC3C,UAAU,KAAK,EAAE,SAAS;AAC1B;AACA,UAAU,aAAa,EAAE,MAAM,IAAI,MAAM;AACzC,UAAU,aAAa,EAAE,MAAM,IAAI;AACnC,SAAS;AACT,MAAM;AACN,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC;AAClE,MAAM,IAAI,gBAAgB,EAAE;AAC5B,QAAQ,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAC1C,QAAQ,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAC7C,QAAQ,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAC1C,QAAQ,OAAO;AACf,UAAU,IAAI,EAAE,kBAAkB;AAClC,UAAU,KAAK,EAAE,EAAE,GAAG,SAAS;AAC/B,UAAU,aAAa,EAAE,MAAM,IAAI,MAAM;AACzC,UAAU,aAAa,EAAE,MAAM,IAAI;AACnC,SAAS;AACT,MAAM;AACN,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC/B,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3C,QAAQ,OAAO;AACf,UAAU,IAAI,EAAE,kBAAkB;AAClC,UAAU,KAAK,EAAE,GAAG,GAAG,SAAS;AAChC,UAAU,aAAa,EAAE,MAAM;AAC/B,UAAU,aAAa,EAAE;AACzB,SAAS;AACT,MAAM;AACN,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAClC,QAAQ,OAAO;AACf,UAAU,IAAI,EAAE,qBAAqB;AACrC,UAAU,KAAK,EAAE,GAAG;AACpB,UAAU,aAAa,EAAE,MAAM;AAC/B,UAAU,aAAa,EAAE;AACzB,SAAS;AACT,MAAM;AACN,MAAM,OAAO;AACb,QAAQ,IAAI,EAAE,qBAAqB;AACnC,QAAQ,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI;AACzH,OAAO;AACP,IAAI,CAAC;AACL,GAAG;AACH,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE;AAClC,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACpC,IAAI,QAAQ,CAAC,IAAI,CAAC;AAClB,MAAM,IAAI,EAAE,qBAAqB;AACjC,MAAM,KAAK,EAAE;AACb,KAAK,CAAC;AACN,EAAE;AACF,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,eAAe,CAAC;AACzB,EAAE,IAAI;AACN,EAAE,MAAM;AACR,EAAE,cAAc;AAChB,EAAE,WAAW;AACb,EAAE,aAAa;AACf,EAAE;AACF,CAAC,EAAE;AACH,EAAE,MAAM,wBAAwB,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC;AAClE,EAAE,SAAS,WAAW,CAAC,GAAG,EAAE;AAC5B,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;AAC7B,IAAI,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ;AACnD,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,QAAQ,EAAE;AACzC,MAAM,OAAO,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK;AACrD,IAAI,CAAC,MAAM;AACX,MAAM,OAAO,aAAa,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,KAAK;AAC1E,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,eAAe,GAAG,KAAK;AAC7B,EAAE,MAAM,UAAU,GAAG,EAAE;AACvB,EAAE,MAAM,gBAAgB,GAAG,SAAS;AACpC,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK;AAC9C,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAqB,EAAE;AAClD,QAAQ,OAAO,OAAO,CAAC,KAAK;AAC5B,MAAM;AACN,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAqB,EAAE;AAClD,QAAQ,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;AACzC,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE;AACzD,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE;AACzD,QAAQ,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,EAAE;AACnC,UAAU,eAAe,GAAG,IAAI;AAChC,UAAU,IAAI,cAAc,EAAE;AAC9B,YAAY,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC;AACrE,UAAU;AACV,UAAU,IAAI,aAAa,IAAI,aAAa,EAAE;AAC9C,YAAY,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;AACrD,UAAU;AACV,UAAU,OAAO,MAAM;AACvB,QAAQ;AACR,QAAQ,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC;AAC3C,QAAQ,IAAI,cAAc,EAAE;AAC5B,UAAU,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;AACjF,QAAQ;AACR,QAAQ,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC;AACzD,MAAM;AACN,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE;AAC/C,QAAQ,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,eAAe,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,EAAE;AAClD,UAAU,eAAe,GAAG,IAAI;AAChC,QAAQ;AACR,QAAQ,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACrC,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE;AACzD,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE;AACzD,QAAQ,IAAI,WAAW,EAAE;AACzB,UAAU,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;AAClD,UAAU,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;AACjF,QAAQ;AACR,QAAQ,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;AACnF,MAAM;AACN,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,2BAA2B,EAAE;AACxD,QAAQ,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9C,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE;AACzD,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE;AACzD,QAAQ,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;AACrD,UAAU,IAAI,cAAc,EAAE;AAC9B,YAAY,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;AAC3D,UAAU;AACV,UAAU,IAAI,aAAa,IAAI,aAAa,EAAE;AAC9C,YAAY,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;AACrD,UAAU;AACV,UAAU,OAAO,MAAM;AACvB,QAAQ;AACR,QAAQ,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACrC,QAAQ,IAAI,WAAW,EAAE;AACzB,UAAU,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;AAClD,UAAU,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;AACjF,QAAQ;AACR,QAAQ,IAAI,cAAc,EAAE;AAC5B,UAAU,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;AAClF,QAAQ;AACR,QAAQ,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;AAC1E,MAAM;AACN,MAAM,OAAO,OAAO,CAAC,KAAK;AAC1B,IAAI,CAAC;AACL,GAAG;AACH,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE;AAC1D;AACA,SAAS,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE;AAC/C,EAAE,IAAI,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC;AACzC,EAAE,IAAI,aAAa,EAAE;AACrB,IAAI,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE;AACrD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC;AACrD,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,OAAO;AAChB;AACA,SAAS,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE;AAC7E,EAAE,MAAM,UAAU,GAAG,WAAW;AAChC,IAAI,QAAQ;AACZ,IAAI,eAAe;AACnB,IAAI,aAAa;AACjB,IAAI;AACJ,GAAG;AACH,EAAE,IAAI,aAAa,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE;AACvC,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,UAAU,IAAI,EAAE;AACzB;AACA,SAAS,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,EAAE;AACnE,EAAE,MAAM,kBAAkB,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE;AAC9E,EAAE,MAAM,kBAAkB,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE;AAC9E,EAAE,QAAQ,IAAI;AACd;AACA;AACA,IAAI,KAAK,kBAAkB,KAAK,GAAG;AACnC,MAAM,OAAO,QAAQ;AACrB;AACA,IAAI,KAAK,kBAAkB,KAAK,kBAAkB;AAClD,MAAM,OAAO,EAAE;AACf;AACA;AACA,IAAI,KAAK,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;AAC1C,MAAM,OAAO,QAAQ;AACrB;AACA;AACA;AACA;AACA,IAAI,KAAK,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,GAAG;AAC9D,MAAM,OAAO,QAAQ;AACrB;AACA,IAAI,KAAK,kBAAkB,CAAC,UAAU,CAAC,kBAAkB,CAAC;AAC1D,MAAM,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC5C;AACA,IAAI;AACJ,MAAM,OAAO,QAAQ;AACrB;AACA;AACA,SAAS,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE;AACrC,EAAE,EAAE;AACJ,EAAE,KAAK;AACP,EAAE;AACF,CAAC,EAAE,UAAU,EAAE;AACf,EAAE,IAAI,QAAQ,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AACtD,IAAI,OAAO,MAAM;AACjB,EAAE;AACF,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC;AACtD,EAAE,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC;AAC9D,EAAE,MAAM,YAAY,GAAG,aAAa;AACpC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC5C,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,aAAa,GAAG,aAAa;AACrC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,EAAE;AACnB,EAAE,MAAM,MAAM,GAAGC,SAAO;AACxB,IAAI,YAAY;AAChB,IAAI,aAAa;AACjB,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,MAAM,GAAG,MAAM,GAAG,MAAM;AACjC;AACA,SAASA,SAAO,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;AAC5E,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;AAChB,EAAE,IAAI,SAAS,GAAG,CAAC;AACnB,EAAE,IAAI,UAAU,GAAG,CAAC;AACpB,EAAE,OAAO,SAAS,GAAG,YAAY,CAAC,MAAM,IAAI,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE;AAC/E,IAAI,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC;AAC/C,IAAI,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC;AAClD,IAAI,IAAI,YAAY,EAAE;AACtB,MAAM,IAAI,YAAY,CAAC,IAAI,KAAK,qBAAqB,EAAE;AACvD,QAAQ,MAAM,qBAAqB,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;AACnE,QAAQ,IAAI,MAAM;AAClB,QAAQ,IAAI,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa,EAAE;AACtE,UAAU,IAAI,CAAC,WAAW,EAAE,OAAO,KAAK;AACxC,UAAU,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE;AACzD,UAAU,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE;AACzD,UAAU,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK;AAC7C,UAAU,IAAI,eAAe,IAAI,YAAY,EAAE;AAC/C,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC/C,cAAc,OAAO,KAAK;AAC1B,YAAY;AACZ,UAAU;AACV,UAAU,IAAI,eAAe,IAAI,YAAY,EAAE;AAC/C,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;AAC9G,cAAc,OAAO,KAAK;AAC1B,YAAY;AACZ,UAAU;AACV,UAAU,IAAI,aAAa,GAAG,SAAS;AACvC,YAAY,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAC/D,WAAW;AACX,UAAU,IAAI,MAAM,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC1D,YAAY,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;AAC9D,UAAU;AACV,UAAU,IAAI,MAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACxD,YAAY,aAAa,GAAG,aAAa,CAAC,KAAK;AAC/C,cAAc,CAAC;AACf,cAAc,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;AAC5C,aAAa;AACb,UAAU;AACV,UAAU,MAAM,GAAG,aAAa;AAChC,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,GAAG,SAAS;AAC5B,YAAY,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAC/D,WAAW;AACX,QAAQ;AACR,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM;AAC5B,QAAQ,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM;AACjC,QAAQ,OAAO,IAAI;AACnB,MAAM;AACN,MAAM,IAAI,YAAY,CAAC,IAAI,KAAK,qBAAqB,EAAE;AACvD,QAAQ,IAAI,YAAY,CAAC,KAAK,KAAK,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,GAAG,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE;AAC/F,UAAU,UAAU,EAAE;AACtB,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,WAAW,EAAE;AACzB,UAAU,IAAI,aAAa,EAAE;AAC7B,YAAY,IAAI,YAAY,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,EAAE;AAC1D,cAAc,OAAO,KAAK;AAC1B,YAAY;AACZ,UAAU,CAAC,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;AAC3F,YAAY,OAAO,KAAK;AACxB,UAAU;AACV,UAAU,SAAS,EAAE;AACrB,UAAU,UAAU,EAAE;AACtB,UAAU;AACV,QAAQ,CAAC,MAAM;AACf,UAAU,OAAO,KAAK;AACtB,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,YAAY,CAAC,IAAI,KAAK,kBAAkB,EAAE;AACpD,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,UAAU,OAAO,KAAK;AACtB,QAAQ;AACR,QAAQ,IAAI,WAAW,CAAC,KAAK,KAAK,GAAG,EAAE;AACvC,UAAU,OAAO,KAAK;AACtB,QAAQ;AACR,QAAQ,IAAI,WAAW,GAAG,EAAE;AAC5B,QAAQ,IAAI,OAAO,GAAG,KAAK;AAC3B,QAAQ,IAAI,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa,EAAE;AACtE,UAAU,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE;AACzD,UAAU,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE;AACzD,UAAU,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK;AAC7C,UAAU,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACvD,YAAY,OAAO,KAAK;AACxB,UAAU;AACV,UAAU,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACrD,YAAY,OAAO,KAAK;AACxB,UAAU;AACV,UAAU,IAAI,UAAU,GAAG,SAAS;AACpC,UAAU,IAAI,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACvD,YAAY,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;AACxD,UAAU;AACV,UAAU,IAAI,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACrD,YAAY,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC/E,UAAU;AACV,UAAU,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC;AACtD,UAAU,OAAO,GAAG,IAAI;AACxB,QAAQ,CAAC,MAAM;AACf,UAAU,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC;AAC7D,UAAU,OAAO,GAAG,IAAI;AACxB,QAAQ;AACR,QAAQ,IAAI,OAAO,EAAE;AACrB,UAAU,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW;AAC/D,UAAU,SAAS,EAAE;AACrB,QAAQ;AACR,QAAQ,UAAU,EAAE;AACpB,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,YAAY,CAAC,IAAI,KAAK,2BAA2B,EAAE;AAC7D,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,UAAU,UAAU,EAAE;AACtB,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,WAAW,CAAC,KAAK,KAAK,GAAG,EAAE;AACvC,UAAU,UAAU,EAAE;AACtB,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,WAAW,GAAG,EAAE;AAC5B,QAAQ,IAAI,OAAO,GAAG,KAAK;AAC3B,QAAQ,IAAI,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa,EAAE;AACtE,UAAU,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE;AACzD,UAAU,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE;AACzD,UAAU,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK;AAC7C,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;AACpG,YAAY,IAAI,UAAU,GAAG,SAAS;AACtC,YAAY,IAAI,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACzD,cAAc,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;AAC1D,YAAY;AACZ,YAAY,IAAI,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACvD,cAAc,UAAU,GAAG,UAAU,CAAC,KAAK;AAC3C,gBAAgB,CAAC;AACjB,gBAAgB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;AAC3C,eAAe;AACf,YAAY;AACZ,YAAY,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC;AACxD,YAAY,OAAO,GAAG,IAAI;AAC1B,UAAU;AACV,QAAQ,CAAC,MAAM;AACf,UAAU,IAAI,mBAAmB,GAAG,IAAI;AACxC,UAAU,KAAK,IAAI,SAAS,GAAG,UAAU,GAAG,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;AAC9F,YAAY,MAAM,kBAAkB,GAAG,aAAa,CAAC,SAAS,CAAC;AAC/D,YAAY,IAAI,CAAC,kBAAkB,IAAI,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,IAAI,MAAM,qBAAqB,IAAI,kBAAkB,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,EAAE;AAC7J,cAAc,mBAAmB,GAAG,KAAK;AACzC,cAAc;AACd,YAAY;AACZ,YAAY,IAAI,CAAC,kBAAkB,IAAI,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,IAAI,MAAM,kBAAkB,IAAI,CAAC,kBAAkB,IAAI,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,IAAI,MAAM,qBAAqB,EAAE;AACrM,cAAc;AACd,YAAY;AACZ,UAAU;AACV,UAAU,IAAI,mBAAmB,EAAE;AACnC,YAAY,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC;AAC/D,YAAY,OAAO,GAAG,IAAI;AAC1B,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,OAAO,EAAE;AACrB,UAAU,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW;AAC/D,UAAU,SAAS,EAAE;AACrB,QAAQ;AACR,QAAQ,UAAU,EAAE;AACpB,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,SAAS,GAAG,YAAY,CAAC,MAAM,IAAI,UAAU,IAAI,aAAa,CAAC,MAAM,EAAE;AAC/E,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS;AAC9B,QAAQ,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK;AACxD,OAAO;AACP,MAAM,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG;AAC5G,IAAI;AACJ,IAAI,IAAI,UAAU,GAAG,aAAa,CAAC,MAAM,IAAI,SAAS,IAAI,YAAY,CAAC,MAAM,EAAE;AAC/E,MAAM,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9D,QAAQ,IAAI,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,MAAM,2BAA2B,EAAE;AAClG,UAAU,OAAO,KAAK;AACtB,QAAQ;AACR,MAAM;AACN,MAAM;AACN,IAAI;AACJ,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI;AACb;;AC9iBA,SAAS,QAAQ,CAAC,OAAO,GAAG,EAAE,EAAE;AAChC,EAAE,OAAO,CAAC,UAAU,GAAG,IAAI;AAC3B,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,OAAO;AAClC,EAAE,OAAO,OAAO;AAChB;AACA,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;AAClD;;ACNA,SAAS,qBAAqB,GAAG;AACjC,EAAE,IAAI;AACN,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE;AACpF,MAAM,OAAO,MAAM,CAAC,cAAc;AAClC,IAAI;AACJ,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,MAAM;AACjB,EAAE;AACF,EAAE,OAAO,MAAM;AACf;AACA,MAAM,UAAU,GAAG,6BAA6B;AAChD,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,IAAI,KAAK;AAC/B,EAAE,IAAI,OAAO;AACb,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;AACtB,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM;AACjC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;AACnB,QAAQ,OAAO,GAAG,IAAI;AACtB,MAAM,CAAC,EAAE,IAAI,CAAC;AACd,IAAI;AACJ,EAAE,CAAC;AACH,CAAC;AACD,SAAS,4BAA4B,GAAG;AACxC,EAAE,MAAM,kBAAkB,GAAG,qBAAqB,EAAE;AACpD,EAAE,IAAI,CAAC,kBAAkB,EAAE;AAC3B,IAAI,OAAO,MAAM;AACjB,EAAE;AACF,EAAE,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC;AAC/D,EAAE,IAAI,KAAK,GAAG,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE;AAC9D,EAAE,OAAO;AACT,IAAI,KAAK;AACT;AACA;AACA;AACA,IAAI,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACvI,GAAG;AACH;AACA,MAAM,sBAAsB,GAAG,4BAA4B,EAAE;AAC7D,MAAM,8BAA8B,GAAG,CAAC,QAAQ,KAAK;AACrD,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI;AAClD,CAAC;AACD,SAAS,cAAc,CAAC,EAAE,EAAE;AAC5B,EAAE,MAAM,IAAI,GAAG,EAAE;AACjB,EAAE,IAAI,MAAM;AACZ,EAAE,OAAO,MAAM,GAAG,EAAE,CAAC,UAAU,EAAE;AACjC,IAAI,IAAI,CAAC,OAAO;AAChB,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3E,KAAK;AACL,IAAI,EAAE,GAAG,MAAM;AACf,EAAE;AACF,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAC5C;AACA,IAAI,YAAY,GAAG,KAAK;AACxB,SAAS,aAAa,CAAC;AACvB,EAAE,UAAU,EAAE,WAAW;AACzB,EAAE,GAAG;AACL,EAAE,QAAQ;AACV,EAAE,uBAAuB;AACzB,EAAE,oBAAoB;AACtB,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,EAAE;AACR,EAAE,IAAI,KAAK;AACX,EAAE,IAAI;AACN,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;AACnE,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AACxB,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC;AACpF,EAAE,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC;AAC3C,EAAE,YAAY,GAAG,IAAI;AACrB,EAAE,CAAC,MAAM;AACT,IAAI,IAAI,uBAAuB,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7F,MAAM,KAAK,MAAM,eAAe,IAAI,cAAc,EAAE;AACpD,QAAQ,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe,CAAC;AACrD,QAAQ,IAAI,eAAe,KAAK,QAAQ,EAAE;AAC1C,UAAU,MAAM,CAAC,QAAQ,CAAC;AAC1B,YAAY,GAAG,EAAE,KAAK,CAAC,OAAO;AAC9B,YAAY,IAAI,EAAE,KAAK,CAAC,OAAO;AAC/B,YAAY;AACZ,WAAW,CAAC;AACZ,QAAQ,CAAC,MAAM,IAAI,eAAe,EAAE;AACpC,UAAU,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC;AACjE,UAAU,IAAI,OAAO,EAAE;AACvB,YAAY,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO;AAC9C,YAAY,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO;AAC7C,UAAU;AACV,QAAQ;AACR,MAAM;AACN,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjE,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,2BAA2B,IAAI,IAAI;AACxG,MAAM,IAAI,yBAAyB,EAAE;AACrC,QAAQ,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;AAChD,QAAQ,IAAI,EAAE,EAAE;AAChB,UAAU,EAAE,CAAC,cAAc,CAAC,yBAAyB,CAAC;AACtD,QAAQ;AACR,MAAM;AACN,MAAM;AACN,IAAI;AACJ,IAAI;AACJ,MAAM,QAAQ;AACd,MAAM,GAAG,CAAC,oBAAoB,IAAI,IAAI,GAAG,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,KAAK;AACzG,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;AAC5B,MAAM,MAAM,OAAO,GAAG,QAAQ,KAAK,QAAQ,GAAG,MAAM,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACrI,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,OAAO,CAAC,QAAQ,CAAC;AACzB,UAAU,GAAG,EAAE,CAAC;AAChB,UAAU,IAAI,EAAE,CAAC;AACjB,UAAU;AACV,SAAS,CAAC;AACV,MAAM;AACN,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,GAAG;AACN,EAAE,YAAY,GAAG,KAAK;AACtB;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE;AAC/C,EAAE,IAAI,sBAAsB,KAAK,MAAM,EAAE;AACzC,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,uBAAuB,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,IAAI,KAAK;AACpF,EAAE,IAAI,uBAAuB,EAAE;AAC/B,IAAI,MAAM,CAAC,iBAAiB,GAAG,IAAI;AACnC,EAAE;AACF,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,wBAAwB,EAAE;AAC1E,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,CAAC,wBAAwB,GAAG,IAAI;AACxC,EAAE,YAAY,GAAG,KAAK;AACtB,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,IAAI,8BAA8B;AACzF,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,GAAG,QAAQ;AAC7C,EAAE,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK;AAC9B,IAAI,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;AACnD,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,eAAe,GAAG,EAAE;AAC5B,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;AAC9D,MAAM,eAAe,GAAG,QAAQ;AAChC,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY;AAC9C,QAAQ;AACR,OAAO;AACP,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,eAAe,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,EAAE,CAAC;AACpE,MAAM,CAAC,MAAM;AACb,QAAQ,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;AACtD,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;AACpD,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC1C,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;AAClE,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE;AACtF,MAAM,IAAI,eAAe,KAAK,QAAQ,EAAE;AACxC,QAAQ,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC;AAClD,QAAQ,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC;AAClD,MAAM,CAAC,MAAM,IAAI,eAAe,EAAE;AAClC,QAAQ,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC;AAC/D,QAAQ,IAAI,OAAO,EAAE;AACrB,UAAU,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC;AACxD,UAAU,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC;AACvD,QAAQ;AACR,MAAM;AACN,MAAM,OAAO,KAAK;AAClB,IAAI,CAAC,CAAC;AACN,EAAE,CAAC;AACH,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC;AACtE,EAAE;AACF,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,KAAK,KAAK;AAC5C,IAAI,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;AAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;AACjC,MAAM,MAAM,CAAC,eAAe,GAAG,IAAI;AACnC,MAAM;AACN,IAAI;AACJ,IAAI,aAAa,CAAC;AAClB,MAAM,UAAU;AAChB,MAAM,GAAG,EAAE,QAAQ;AACnB,MAAM,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,yBAAyB;AACxD,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB;AACvD,MAAM,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB;AAC/D,MAAM,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;AAC/B,KAAK,CAAC;AACN,IAAI,IAAI,MAAM,CAAC,iBAAiB,EAAE;AAClC,MAAM,sBAAsB,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC5C,QAAQ,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC/C,QAAQ,OAAO,KAAK;AACpB,MAAM,CAAC,CAAC;AACR,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,gBAAgB,CAAC,MAAM,EAAE;AAClC,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,aAAa,EAAE;AACjE,IAAI,MAAM,yBAAyB,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,2BAA2B,IAAI,IAAI;AACrG,IAAI,IAAI,yBAAyB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,EAAE;AACxE,MAAM,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AACpE,MAAM,IAAI,EAAE,EAAE;AACd,QAAQ,EAAE,CAAC,cAAc,CAAC,yBAAyB,CAAC;AACpD,MAAM;AACN,IAAI;AACJ,EAAE;AACF;;AC5MA,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE;AAC1B,EAAE,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACzE,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,MAAM,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,IAAI,CAAC,MAAM;AACX,MAAM,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,gBAAgB,CAAC;AAC5D,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,IAAI,YAAY,CAAC,QAAQ,EAAE;AAC9C;AACA,SAAS,OAAO,CAAC,GAAG,EAAE;AACtB,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE;AACrB,EAAE,IAAI,GAAG,KAAK,OAAO,EAAE,OAAO,KAAK;AACnC,EAAE,IAAI,GAAG,KAAK,MAAM,EAAE,OAAO,IAAI;AACjC,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG;AACzD;AACA,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE;AAC1B,EAAE,MAAM,gBAAgB,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG;AAC5D,EAAE,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,gBAAgB,CAAC;AAC5D,EAAE,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;AAC7C,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AAC/C,IAAI,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC;AAClC,IAAI,IAAI,aAAa,IAAI,IAAI,EAAE;AAC/B,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;AAC/B,IAAI,CAAC,MAAM;AACX,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACpH,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,EAAE,EAAE,CAAC;AACR;;AC7BK,MAAC,kBAAkB,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK;AAChD,MAAC,sBAAsB,GAAG,mBAAmB;AAClD,EAAE,IAAI,CAAC,SAAS;AAChB,EAAE,IAAI,CAAC;AACP;AACA,SAAS,eAAe,CAAC,MAAM,EAAE;AACjC,EAAE,OAAO,CAAC,SAAS,KAAK;AACxB,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE;AAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AACxC,IAAI;AACJ,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;AACnC,IAAI,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AAC7B,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;AAC9B,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACrC,QAAQ,IAAI;AACZ,UAAU,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;AACpC,QAAQ,CAAC,CAAC,OAAO,GAAG,EAAE;AACtB,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,KAAK;AAChB,EAAE,CAAC;AACH;AACA,SAAS,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE;AAChD,EAAE,SAAS,cAAc,CAAC,GAAG,EAAE;AAC/B,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;AACjD,MAAM,IAAI;AACV,QAAQ,OAAO,SAAS,CAAC,GAAG,CAAC;AAC7B,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;AACxE,MAAM,IAAI;AACV,QAAQ,MAAM,CAAC,GAAG,CAAC;AACnB,QAAQ,OAAO,SAAS,CAAC,GAAG,CAAC;AAC7B,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,EAAE;AACF,EAAE,OAAO,CAAC,MAAM,KAAK;AACrB,IAAI,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE;AAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACzC,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;AAC7B,MAAM,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,MAAM,EAAE;AACxD,QAAQ,OAAO,MAAM,CAAC,GAAG,CAAC;AAC1B,MAAM,CAAC,MAAM;AACb,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC;AACzC,MAAM;AACN,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;AAC/C,IAAI,OAAO,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE;AAC3C,EAAE,CAAC;AACH;;ACrDK,MAAC,WAAW,GAAG;;ACApB,SAAS,QAAQ,CAAC,IAAI,EAAE;AACxB,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG;AACvD,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AAC5B,IAAI,IAAI;AACR,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7B,MAAM,IAAI,CAAC,cAAc,GAAG,IAAI;AAChC,IAAI,CAAC,CAAC,MAAM;AACZ,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;AACjD,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;AACrD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;AACtC,EAAE;AACF,EAAE,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;AACtC,IAAI,MAAM,EAAE,IAAI,CAAC,UAAU;AAC3B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI;AACzB,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;AAClB,IAAI,MAAM,QAAQ;AAClB,EAAE;AACF,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,EAAE,OAAO,GAAG,YAAY,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO;AACjD;;ACzBA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,EAAE,MAAM,KAAK,mBAAmB,IAAI,GAAG,EAAE;AACzC,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI,MAAM;AACZ,EAAE,MAAM,KAAK,GAAG,CAAC,KAAK,KAAK;AAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AACrB,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM;AAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI;AACzB,MAAM,KAAK,CAAC,IAAI,GAAG,MAAM;AACzB,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,KAAK,CAAC,IAAI,GAAG,MAAM;AAC3B,QAAQ,MAAM,CAAC,IAAI,GAAG,KAAK;AAC3B,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AAClC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AAClC,MAAM,KAAK,CAAC,IAAI,GAAG,MAAM;AACzB,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,MAAM,CAAC,IAAI,GAAG,KAAK;AAC3B,QAAQ,KAAK,CAAC,IAAI,GAAG,MAAM;AAC3B,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,GAAG,KAAK;AAClB,EAAE,CAAC;AACH,EAAE,OAAO;AACT,IAAI,GAAG,CAAC,GAAG,EAAE;AACb,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AAClC,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,MAAM;AAC/B,MAAM,KAAK,CAAC,KAAK,CAAC;AAClB,MAAM,OAAO,KAAK,CAAC,KAAK;AACxB,IAAI,CAAC;AACL,IAAI,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE;AACpB,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,IAAI,MAAM,EAAE;AACvC,QAAQ,MAAM,QAAQ,GAAG,MAAM;AAC/B,QAAQ,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;AAClC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;AAC3B,UAAU,MAAM,GAAG,QAAQ,CAAC,IAAI;AAChC,UAAU,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM;AACrC,QAAQ;AACR,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE;AACjC,UAAU,MAAM,GAAG,MAAM;AACzB,QAAQ;AACR,MAAM;AACN,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AACrC,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,QAAQ,CAAC,KAAK,GAAG,KAAK;AAC9B,QAAQ,KAAK,CAAC,QAAQ,CAAC;AACvB,MAAM,CAAC,MAAM;AACb,QAAQ,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;AAClD,QAAQ,IAAI,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK;AACvC,QAAQ,MAAM,GAAG,KAAK;AACtB,QAAQ,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;AACnC,QAAQ,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AAC7B,MAAM;AACN,IAAI;AACJ,GAAG;AACH;;AC9CA,SAAS,sBAAsB,GAAA,EAAK;AAClC,EAAA,IAAI,eAAe,KAAA,EAAO;AACxB,IAAA,MAAM,GAAA,GAAM;AAAA,MACV,MAAM,GAAA,CAAI,IAAA;AAAA,MACV,SAAS,GAAA,CAAI;AAAA,KACf;AAIA,IAAA,OAAO,GAAA;AAAA,EACT;AACA,EAAA,OAAO;AAAA,IACL,IAAA,EAAM;AAAA,GACR;AACF;AACA,SAAS,sBAAsB,WAAA,EAAa;AAC1C,EAAA,MAAM,eAAe,WAAA,CAAY,gBAAA;AACjC,EAAA,MAAM,aAAa,WAAA,CAAY,QAAA;AAC/B,EAAA,MAAM,eAAe,YAAA,IAAgB,IAAA,GAAO,MAAA,GAAS,YAAA,CAAa,cAAc,UAAA,CAAW,QAAA;AAC3F,EAAA,MAAM,eAAe,YAAA,IAAgB,IAAA,GAAO,MAAA,GAAS,YAAA,CAAa,UAAU,UAAA,CAAW,IAAA;AACvF,EAAA,MAAM,eAAe,YAAA,IAAgB,IAAA,GAAO,MAAA,GAAS,YAAA,CAAa,UAAU,UAAA,CAAW,IAAA;AACvF,EAAA,OAAO,EAAE,YAAA,EAAc,UAAA,EAAY,WAAA,EAAa,aAAa,WAAA,EAAY;AAC3E;AACA,MAAM,UAAA,CAAW;AAAA;AAAA;AAAA;AAAA,EAIf,YAAY,OAAA,EAAS;AACnB,IAAA,IAAA,CAAK,eAAA,GAAkB,GAAG,IAAA,CAAK,KAAA;AAAA,MAC7B,IAAA,CAAK,QAAO,GAAI;AAAA,KACjB,CAAA,CAAA;AACD,IAAA,IAAA,CAAK,eAAA,GAAkB,IAAA;AACvB,IAAA,IAAA,CAAK,oBAAA,GAAuB,MAAA;AAC5B,IAAA,IAAA,CAAK,8BAAA,GAAiC,MAAA;AACtC,IAAA,IAAA,CAAK,WAAA,uBAAkC,GAAA,EAAI;AAC3C,IAAA,IAAA,CAAK,iBAAA,GAAoB,KAAA;AACzB,IAAA,IAAA,CAAK,wBAAA,GAA2B,KAAA;AAChC,IAAA,IAAA,CAAK,eAAA,GAAkB,CAAC,EAAA,KAAO,EAAA,EAAG;AAClC,IAAA,IAAA,CAAK,MAAA,GAAS,CAAC,UAAA,KAAe;AAC5B,MAAA,IAAI,EAAA;AACJ,MAAA,IAAI,WAAW,aAAA,EAAe;AAC5B,QAAA,OAAA,CAAQ,IAAA;AAAA,UACN;AAAA,SACF;AAAA,MACF;AACA,MAAA,MAAM,kBAAkB,IAAA,CAAK,OAAA;AAC7B,MAAA,IAAA,CAAK,OAAA,GAAU;AAAA,QACb,GAAG,IAAA,CAAK,OAAA;AAAA,QACR,GAAG;AAAA,OACL;AACA,MAAA,IAAA,CAAK,QAAA,GAAW,IAAA,CAAK,OAAA,CAAQ,QAAA,IAAY,OAAO,QAAA,KAAa,WAAA;AAC7D,MAAA,IAAA,CAAK,uBAAA,GAA0B,IAAA,CAAK,OAAA,CAAQ,2BAAA,GAA8B,IAAI,GAAA;AAAA,QAC5E,IAAA,CAAK,OAAA,CAAQ,2BAAA,CAA4B,GAAA,CAAI,CAAC,IAAA,KAAS;AAAA,UACrD,mBAAmB,IAAI,CAAA;AAAA,UACvB;AAAA,SACD;AAAA,OACH,GAAI,MAAA;AACJ,MAAA,IAAI,CAAC,KAAK,QAAA,IAAY,UAAA,CAAW,YAAY,UAAA,CAAW,QAAA,KAAa,gBAAgB,QAAA,EAAU;AAC7F,QAAA,IAAI,UAAA,CAAW,aAAa,MAAA,IAAU,UAAA,CAAW,aAAa,EAAA,IAAM,UAAA,CAAW,aAAa,GAAA,EAAK;AAC/F,UAAA,IAAA,CAAK,QAAA,GAAW,GAAA;AAAA,QAClB,CAAA,MAAO;AACL,UAAA,IAAA,CAAK,QAAA,GAAW,CAAA,CAAA,EAAI,QAAA,CAAS,UAAA,CAAW,QAAQ,CAAC,CAAA,CAAA;AAAA,QACnD;AAAA,MACF;AACA,MAAA,IAAI,CAAC,IAAA,CAAK,OAAA,IAAW,IAAA,CAAK,OAAA,CAAQ,WAAW,IAAA,CAAK,OAAA,CAAQ,OAAA,KAAY,IAAA,CAAK,OAAA,EAAS;AAClF,QAAA,IAAA,CAAK,UAAU,IAAA,CAAK,OAAA,CAAQ,OAAA,KAAY,IAAA,CAAK,WAAW,mBAAA,CAAoB;AAAA,UAC1E,cAAA,EAAgB,CAAC,IAAA,CAAK,QAAA,IAAY,GAAG;AAAA,SACtC,IAAI,oBAAA,EAAqB,CAAA;AAC1B,QAAA,IAAA,CAAK,cAAA,GAAiB,KAAK,aAAA,EAAc;AAAA,MAC3C;AACA,MAAA,IAAI,IAAA,CAAK,OAAA,CAAQ,SAAA,KAAc,IAAA,CAAK,SAAA,EAAW;AAC7C,QAAA,IAAA,CAAK,SAAA,GAAY,KAAK,OAAA,CAAQ,SAAA;AAC9B,QAAA,IAAA,CAAK,cAAA,EAAe;AAAA,MACtB;AACA,MAAA,IAAI,CAAC,KAAK,OAAA,EAAS;AACjB,QAAA,IAAA,CAAK,UAAU,IAAI,KAAA,CAAM,qBAAA,CAAsB,IAAA,CAAK,cAAc,CAAA,EAAG;AAAA,UACnE,UAAU,MAAM;AACd,YAAA,IAAA,CAAK,QAAQ,KAAA,GAAQ;AAAA,cACnB,GAAG,IAAA,CAAK,KAAA;AAAA,cACR,aAAA,EAAe,IAAA,CAAK,KAAA,CAAM,aAAA,CAAc,MAAA;AAAA,gBACtC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAA,CAAE,QAAA,CAAS,EAAE,MAAM;AAAA;AAC1C,aACF;AAAA,UACF;AAAA,SACD,CAAA;AACD,QAAA,sBAAA,CAAuB,IAAI,CAAA;AAAA,MAC7B;AACA,MAAA,IAAI,OAAO,MAAA,KAAW,WAAA,IAAe,KAAA,IAAS,MAAA,IAAU,QAAA,CAAS,EAAA,GAAK,MAAA,CAAO,GAAA,KAAQ,IAAA,GAAO,MAAA,GAAS,EAAA,CAAG,cAAc,UAAA,EAAY;AAChI,QAAA,IAAA,CAAK,8BAAA,GAAiC,OAAO,GAAA,CAAI,QAAA;AAAA,UAC/C;AAAA,SACF;AAAA,MACF;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,iBAAiB,MAAM;AAC1B,MAAA,MAAM,EAAE,UAAA,EAAY,YAAA,EAAc,UAAA,KAAe,gBAAA,CAAiB;AAAA,QAChE,WAAW,IAAA,CAAK,SAAA;AAAA,QAChB,SAAA,EAAW,CAAC,KAAA,EAAO,CAAA,KAAM;AACvB,UAAA,KAAA,CAAM,IAAA,CAAK;AAAA,YACT,aAAA,EAAe;AAAA,WAChB,CAAA;AAAA,QACH;AAAA,OACD,CAAA;AACD,MAAA,IAAA,CAAK,UAAA,GAAa,UAAA;AAClB,MAAA,IAAA,CAAK,YAAA,GAAe,YAAA;AACpB,MAAA,IAAA,CAAK,UAAA,GAAa,UAAA;AAClB,MAAA,MAAM,aAAA,GAAgB,KAAK,OAAA,CAAQ,aAAA;AACnC,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,aAAA,CAAc,IAAA,CAAK;AAAA,UACjB,aAAA,EAAe;AAAA,SAChB,CAAA;AACD,QAAA,IAAA,CAAK,UAAA,CAAW,aAAA,CAAc,EAAE,CAAA,GAAI,aAAA;AAAA,MACtC;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,SAAA,GAAY,CAAC,SAAA,EAAW,EAAA,KAAO;AAClC,MAAA,MAAM,QAAA,GAAW;AAAA,QACf,SAAA;AAAA,QACA;AAAA,OACF;AACA,MAAA,IAAA,CAAK,WAAA,CAAY,IAAI,QAAQ,CAAA;AAC7B,MAAA,OAAO,MAAM;AACX,QAAA,IAAA,CAAK,WAAA,CAAY,OAAO,QAAQ,CAAA;AAAA,MAClC,CAAA;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,IAAA,GAAO,CAAC,WAAA,KAAgB;AAC3B,MAAA,IAAA,CAAK,WAAA,CAAY,OAAA,CAAQ,CAAC,QAAA,KAAa;AACrC,QAAA,IAAI,QAAA,CAAS,SAAA,KAAc,WAAA,CAAY,IAAA,EAAM;AAC3C,UAAA,QAAA,CAAS,GAAG,WAAW,CAAA;AAAA,QACzB;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAA;AACA,IAAA,IAAA,CAAK,aAAA,GAAgB,CAAC,gBAAA,EAAkB,eAAA,KAAoB;AAC1D,MAAA,MAAM,QAAQ,CAAC;AAAA,QACb,QAAA;AAAA,QACA,MAAA;AAAA,QACA,IAAA;AAAA,QACA;AAAA,OACF,KAAM;AACJ,QAAA,MAAM,YAAA,GAAe,IAAA,CAAK,OAAA,CAAQ,WAAA,CAAY,MAAM,CAAA;AACpD,QAAA,MAAM,SAAA,GAAY,IAAA,CAAK,OAAA,CAAQ,eAAA,CAAgB,YAAY,CAAA;AAC3D,QAAA,OAAO;AAAA,UACL,QAAA;AAAA,UACA,SAAA;AAAA,UACA,QAAQ,gBAAA,CAAiB,gBAAA,IAAoB,OAAO,MAAA,GAAS,gBAAA,CAAiB,QAAQ,YAAY,CAAA;AAAA,UAClG,IAAA,EAAM,KAAK,KAAA,CAAM,GAAG,EAAE,OAAA,EAAQ,CAAE,CAAC,CAAA,IAAK,EAAA;AAAA,UACtC,MAAM,CAAA,EAAG,QAAQ,CAAA,EAAG,SAAS,GAAG,IAAI,CAAA,CAAA;AAAA,UACpC,OAAO,gBAAA,CAAiB,gBAAA,IAAoB,OAAO,MAAA,GAAS,gBAAA,CAAiB,OAAO,KAAK;AAAA,SAC3F;AAAA,MACF,CAAA;AACA,MAAA,MAAM,QAAA,GAAW,KAAA,CAAM,eAAA,IAAmB,IAAA,CAAK,QAAQ,QAAQ,CAAA;AAC/D,MAAA,MAAM,EAAE,cAAA,EAAgB,SAAA,EAAU,GAAI,QAAA,CAAS,KAAA;AAC/C,MAAA,IAAI,cAAA,KAAmB,CAAC,SAAA,IAAa,SAAA,KAAc,KAAK,eAAA,CAAA,EAAkB;AACxE,QAAA,MAAM,kBAAA,GAAqB,MAAM,cAAc,CAAA;AAC/C,QAAA,kBAAA,CAAmB,KAAA,CAAM,GAAA,GAAM,QAAA,CAAS,KAAA,CAAM,GAAA;AAC9C,QAAA,kBAAA,CAAmB,KAAA,CAAM,SAAA,GAAY,QAAA,CAAS,KAAA,CAAM,SAAA;AACpD,QAAA,OAAO,mBAAmB,KAAA,CAAM,cAAA;AAChC,QAAA,OAAO;AAAA,UACL,GAAG,kBAAA;AAAA,UACH,cAAA,EAAgB;AAAA,SAClB;AAAA,MACF;AACA,MAAA,OAAO,QAAA;AAAA,IACT,CAAA;AACA,IAAA,IAAA,CAAK,mBAAA,GAAsB,CAAC,IAAA,EAAM,IAAA,KAAS;AACzC,MAAA,MAAM,eAAe,WAAA,CAAY;AAAA,QAC/B,UAAU,IAAA,CAAK,QAAA;AAAA,QACf,IAAA,EAAM,IAAA;AAAA,QACN,EAAA,EAAI,UAAU,IAAI,CAAA;AAAA,QAClB,aAAA,EAAe,KAAK,OAAA,CAAQ,aAAA;AAAA,QAC5B,aAAA,EAAe,KAAK,OAAA,CAAQ,aAAA;AAAA,QAC5B,YAAY,IAAA,CAAK;AAAA,OAClB,CAAA;AACD,MAAA,OAAO,YAAA;AAAA,IACT,CAAA;AACA,IAAA,IAAA,CAAK,WAAA,GAAc,CAAC,cAAA,EAAgB,oBAAA,EAAsB,IAAA,KAAS;AACjE,MAAA,IAAI,OAAO,mBAAmB,QAAA,EAAU;AACtC,QAAA,OAAO,IAAA,CAAK,mBAAA;AAAA,UACV;AAAA,YACE,QAAA,EAAU,cAAA;AAAA,YACV,MAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,SACF;AAAA,MACF;AACA,MAAA,OAAO,IAAA,CAAK,mBAAA,CAAoB,cAAA,EAAgB,oBAAoB,CAAA;AAAA,IACtE,CAAA;AACA,IAAA,IAAA,CAAK,kBAAA,GAAqB,eAAe,GAAG,CAAA;AAC5C,IAAA,IAAA,CAAK,gBAAA,GAAmB,CAAC,QAAA,EAAU,aAAA,KAAkB;AACnD,MAAA,OAAO,gBAAA,CAAiB;AAAA,QACtB,QAAA;AAAA,QACA,aAAA;AAAA,QACA,UAAU,IAAA,CAAK,QAAA;AAAA,QACf,aAAA,EAAe,KAAK,OAAA,CAAQ,aAAA;AAAA,QAC5B,cAAc,IAAA,CAAK,YAAA;AAAA,QACnB,YAAY,IAAA,CAAK,UAAA;AAAA,QACjB,YAAY,IAAA,CAAK,UAAA;AAAA,QACjB,YAAY,IAAA,CAAK;AAAA,OAClB,CAAA;AAAA,IACH,CAAA;AACA,IAAA,IAAA,CAAK,WAAA,GAAc,CAAC,EAAA,KAAO;AACzB,MAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,QAAA,CAAS,EAAE,CAAA;AAC9B,MAAA,IAAI,CAAC,KAAA,EAAO;AACZ,MAAA,KAAA,CAAM,gBAAgB,KAAA,EAAM;AAC5B,MAAA,IAAA,CAAK,WAAA,CAAY,EAAA,EAAI,CAAC,IAAA,KAAS;AAC7B,QAAA,YAAA,CAAa,KAAK,cAAc,CAAA;AAChC,QAAA,OAAO;AAAA,UACL,GAAG,IAAA;AAAA,UACH,cAAA,EAAgB;AAAA,SAClB;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAA;AACA,IAAA,IAAA,CAAK,gBAAgB,MAAM;AACzB,MAAA,IAAI,EAAA;AACJ,MAAA,CAAC,EAAA,GAAK,KAAK,KAAA,CAAM,cAAA,KAAmB,OAAO,MAAA,GAAS,EAAA,CAAG,OAAA,CAAQ,CAAC,KAAA,KAAU;AACxE,QAAA,IAAA,CAAK,WAAA,CAAY,MAAM,EAAE,CAAA;AAAA,MAC3B,CAAC,CAAA;AAAA,IACH,CAAA;AACA,IAAA,IAAA,CAAK,aAAA,GAAgB,CAAC,IAAA,KAAS;AAC7B,MAAA,MAAM,KAAA,GAAQ,CAAC,IAAA,GAAO,EAAC,KAAM;AAC3B,QAAA,IAAI,EAAA;AACJ,QAAA,MAAM,eAAA,GAAkB,IAAA,CAAK,aAAA,IAAiB,IAAA,CAAK,cAAA;AACnD,QAAA,MAAM,yBAAA,GAA4B,IAAA,CAAK,WAAA,CAAY,eAAA,EAAiB;AAAA,UAClE,cAAA,EAAgB;AAAA,SACjB,CAAA;AACD,QAAA,MAAM,SAAA,GAAY,KAAK,yBAAyB,CAAA;AAChD,QAAA,IAAI,WAAW,SAAA,CAAU,QAAA;AACzB,QAAA,MAAM,MAAA,GAAS,IAAA,CAAK,EAAA,GAAK,IAAA,CAAK,oBAAoB,QAAA,EAAU,CAAA,EAAG,IAAA,CAAK,EAAE,CAAA,CAAE,CAAA,GAAI,IAAA,CAAK,mBAAA,CAAoB,UAAU,GAAG,CAAA;AAClH,QAAA,MAAM,kBAAkB,CAAC,CAAC,IAAA,CAAK,EAAA,IAAM,CAAC,YAAA,CAAa,IAAA,CAAK,EAAA,CAAG,QAAA,IAAY,QAAQ,CAAA,IAAK,CAAC,YAAA,CAAa,QAAQ,QAAQ,CAAA;AAClH,QAAA,IAAI,IAAA,CAAK,mBAAmB,MAAA,EAAQ;AAClC,UAAA,QAAA,GAAW,eAAA,CAAgB,QAAA;AAAA,QAC7B,CAAA,MAAA,IAAW,eAAA,IAAmB,IAAA,CAAK,IAAA,EAAM;AACvC,UAAA,QAAA,GAAW,IAAA,CAAK,IAAA;AAehB,QACF;AACA,QAAA,MAAM,aAAa,SAAA,CAAU,MAAA;AAC7B,QAAA,MAAM,UAAA,GAAa,EAAE,GAAG,SAAA,CAAU,MAAA,EAAO;AACzC,QAAA,MAAM,MAAA,GAAS,IAAA,CAAK,EAAA,GAAK,IAAA,CAAK,oBAAoB,QAAA,EAAU,CAAA,EAAG,IAAA,CAAK,EAAE,CAAA,CAAE,CAAA,GAAI,IAAA,CAAK,mBAAA,CAAoB,UAAU,GAAG,CAAA;AAClH,QAAA,IAAI,UAAA,GAAa,IAAA,CAAK,MAAA,KAAW,KAAA,IAAS,IAAA,CAAK,MAAA,KAAW,IAAA,GAAO,EAAC,GAAA,CAAK,IAAA,CAAK,MAAA,IAAU,IAAA,MAAU,OAAO,UAAA,GAAa;AAAA,UAClH,GAAG,UAAA;AAAA,UACH,GAAG,gBAAA,CAAiB,IAAA,CAAK,MAAA,EAAQ,UAAU;AAAA,SAC7C;AACA,QAAA,MAAM,qBAAqB,eAAA,CAAgB;AAAA,UACzC,IAAA,EAAM,MAAA;AAAA,UACN,MAAA,EAAQ,cAAc,EAAC;AAAA,UACvB,YAAY,IAAA,CAAK;AAAA,SAClB,CAAA,CAAE,gBAAA;AACH,QAAA,MAAM,aAAa,IAAA,CAAK,WAAA;AAAA,UACtB,kBAAA;AAAA,UACA,EAAC;AAAA,UACD;AAAA,YACE,cAAA,EAAgB;AAAA;AAClB,SACF,CAAE,IAAI,CAAC,CAAA,KAAM,KAAK,eAAA,CAAgB,CAAA,CAAE,OAAO,CAAC,CAAA;AAC5C,QAAA,IAAI,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA,CAAE,SAAS,CAAA,EAAG;AACtC,UAAA,UAAA,CAAW,GAAA,CAAI,CAAC,KAAA,KAAU;AACxB,YAAA,IAAI,GAAA;AACJ,YAAA,OAAA,CAAA,CAAS,GAAA,GAAM,MAAM,OAAA,CAAQ,MAAA,KAAW,OAAO,MAAA,GAAS,GAAA,CAAI,SAAA,KAAc,KAAA,CAAM,OAAA,CAAQ,eAAA;AAAA,UAC1F,CAAC,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,OAAA,CAAQ,CAAC,EAAA,KAAO;AACjC,YAAA,UAAA,GAAa,EAAE,GAAG,UAAA,EAAY,GAAG,EAAA,CAAG,UAAU,CAAA,EAAE;AAAA,UAClD,CAAC,CAAA;AAAA,QACH;AACA,QAAA,MAAM,eAAe,eAAA,CAAgB;AAAA;AAAA;AAAA,UAGnC,IAAA,EAAM,MAAA;AAAA,UACN,MAAA,EAAQ,cAAc,EAAC;AAAA,UACvB,cAAA,EAAgB,KAAA;AAAA,UAChB,aAAa,IAAA,CAAK,WAAA;AAAA,UAClB,eAAe,IAAA,CAAK,uBAAA;AAAA,UACpB,YAAY,IAAA,CAAK;AAAA,SAClB,CAAA,CAAE,gBAAA;AACH,QAAA,IAAI,UAAA,GAAa,UAAA;AACjB,QAAA,IAAI,IAAA,CAAK,4BAA4B,EAAA,GAAK,IAAA,CAAK,QAAQ,MAAA,KAAW,IAAA,GAAO,MAAA,GAAS,EAAA,CAAG,MAAA,CAAA,EAAS;AAC5F,UAAA,IAAI,kBAAkB,EAAC;AACvB,UAAA,UAAA,CAAW,OAAA,CAAQ,CAAC,KAAA,KAAU;AAC5B,YAAA,IAAI;AACF,cAAA,IAAI,KAAA,CAAM,QAAQ,cAAA,EAAgB;AAChC,gBAAA,eAAA,GAAkB;AAAA,kBAChB,GAAG,eAAA;AAAA,kBACH,GAAG,cAAA,CAAe,KAAA,CAAM,OAAA,CAAQ,cAAA,EAAgB;AAAA,oBAC9C,GAAG,eAAA;AAAA,oBACH,GAAG;AAAA,mBACJ,KAAK;AAAC,iBACT;AAAA,cACF;AAAA,YACF,CAAA,CAAA,MAAQ;AAAA,YACR;AAAA,UACF,CAAC,CAAA;AACD,UAAA,UAAA,GAAa,eAAA;AAAA,QACf;AACA,QAAA,UAAA,GAAa,qBAAA,CAAsB;AAAA,UACjC,MAAA,EAAQ,UAAA;AAAA,UACR,IAAA;AAAA,UACA,UAAA;AAAA,UACA,wBAAwB,IAAA,CAAK;AAAA,SAC9B,CAAA;AACD,QAAA,UAAA,GAAa,gBAAA,CAAiB,YAAY,UAAU,CAAA;AACpD,QAAA,MAAM,SAAA,GAAY,IAAA,CAAK,OAAA,CAAQ,eAAA,CAAgB,UAAU,CAAA;AACzD,QAAA,MAAM,IAAA,GAAO,IAAA,CAAK,IAAA,KAAS,IAAA,GAAO,eAAA,CAAgB,IAAA,GAAO,IAAA,CAAK,IAAA,GAAO,gBAAA,CAAiB,IAAA,CAAK,IAAA,EAAM,eAAA,CAAgB,IAAI,CAAA,GAAI,MAAA;AACzH,QAAA,MAAM,OAAA,GAAU,IAAA,GAAO,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,GAAK,EAAA;AACpC,QAAA,IAAI,SAAA,GAAY,IAAA,CAAK,KAAA,KAAU,IAAA,GAAO,gBAAgB,KAAA,GAAQ,IAAA,CAAK,KAAA,GAAQ,gBAAA,CAAiB,IAAA,CAAK,KAAA,EAAO,eAAA,CAAgB,KAAK,IAAI,EAAC;AAClI,QAAA,SAAA,GAAY,gBAAA,CAAiB,eAAA,CAAgB,KAAA,EAAO,SAAS,CAAA;AAC7D,QAAA,OAAO;AAAA,UACL,QAAA,EAAU,YAAA;AAAA,UACV,MAAA,EAAQ,UAAA;AAAA,UACR,SAAA;AAAA,UACA,KAAA,EAAO,SAAA;AAAA,UACP,MAAM,IAAA,IAAQ,EAAA;AAAA,UACd,MAAM,CAAA,EAAG,YAAY,CAAA,EAAG,SAAS,GAAG,OAAO,CAAA,CAAA;AAAA,UAC3C,gBAAgB,IAAA,CAAK;AAAA,SACvB;AAAA,MACF,CAAA;AACA,MAAA,MAAM,gBAAA,GAAmB,CAAC,IAAA,GAAO,IAAI,UAAA,KAAe;AAClD,QAAA,IAAI,EAAA;AACJ,QAAA,MAAM,IAAA,GAAO,MAAM,IAAI,CAAA;AACvB,QAAA,IAAI,UAAA,GAAa,UAAA,GAAa,KAAA,CAAM,UAAU,CAAA,GAAI,MAAA;AAClD,QAAA,IAAI,CAAC,UAAA,EAAY;AACf,UAAA,IAAI,SAAS,EAAC;AACd,UAAA,MAAM,SAAA,GAAA,CAAa,EAAA,GAAK,IAAA,CAAK,OAAA,CAAQ,UAAA,KAAe,OAAO,MAAA,GAAS,EAAA,CAAG,IAAA,CAAK,CAAC,CAAA,KAAM;AACjF,YAAA,MAAM,KAAA,GAAQ,aAAA;AAAA,cACZ,IAAA,CAAK,QAAA;AAAA,cACL,IAAA,CAAK,QAAA;AAAA,cACL;AAAA,gBACE,IAAI,CAAA,CAAE,IAAA;AAAA,gBACN,aAAA,EAAe,KAAA;AAAA,gBACf,KAAA,EAAO;AAAA,eACT;AAAA,cACA,IAAA,CAAK;AAAA,aACP;AACA,YAAA,IAAI,KAAA,EAAO;AACT,cAAA,MAAA,GAAS,KAAA;AACT,cAAA,OAAO,IAAA;AAAA,YACT;AACA,YAAA,OAAO,KAAA;AAAA,UACT,CAAC,CAAA;AACD,UAAA,IAAI,SAAA,EAAW;AACb,YAAA,MAAM,EAAE,IAAA,EAAM,KAAA,EAAO,GAAG,WAAU,GAAI,SAAA;AACtC,YAAA,UAAA,GAAa;AAAA,cACX,GAAG,IAAA,CAAK,IAAA,EAAM,CAAC,MAAM,CAAC,CAAA;AAAA,cACtB,GAAG,SAAA;AAAA,cACH;AAAA,aACF;AACA,YAAA,UAAA,GAAa,MAAM,UAAU,CAAA;AAAA,UAC/B;AAAA,QACF;AACA,QAAA,IAAI,UAAA,EAAY;AACd,UAAA,MAAM,WAAA,GAAc,MAAM,UAAU,CAAA;AACpC,UAAA,IAAA,CAAK,cAAA,GAAiB,WAAA;AAAA,QACxB;AACA,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AACA,MAAA,IAAI,KAAK,IAAA,EAAM;AACb,QAAA,OAAO,iBAAiB,IAAA,EAAM;AAAA,UAC5B,GAAG,IAAA,CAAK,IAAA,EAAM,CAAC,MAAM,CAAC,CAAA;AAAA,UACtB,GAAG,IAAA,CAAK;AAAA,SACT,CAAA;AAAA,MACH;AACA,MAAA,OAAO,iBAAiB,IAAI,CAAA;AAAA,IAC9B,CAAA;AACA,IAAA,IAAA,CAAK,iBAAiB,CAAC;AAAA,MACrB,cAAA;AAAA,MACA,aAAA;AAAA,MACA,GAAG;AAAA,KACL,KAAM;AACJ,MAAA,MAAM,cAAc,MAAM;AACxB,QAAA,MAAM,YAAA,GAAe;AAAA,UACnB,KAAA;AAAA;AAAA,UAEA,WAAA;AAAA,UACA,aAAA;AAAA,UACA;AAAA,SACF;AACA,QAAA,YAAA,CAAa,OAAA,CAAQ,CAAC,IAAA,KAAS;AAC7B,UAAA,IAAA,CAAK,MAAM,IAAI,CAAA,GAAI,IAAA,CAAK,cAAA,CAAe,MAAM,IAAI,CAAA;AAAA,QACnD,CAAC,CAAA;AACD,QAAA,MAAM,UAAU,SAAA,CAAU,IAAA,CAAK,KAAA,EAAO,IAAA,CAAK,eAAe,KAAK,CAAA;AAC/D,QAAA,YAAA,CAAa,OAAA,CAAQ,CAAC,IAAA,KAAS;AAC7B,UAAA,OAAO,IAAA,CAAK,MAAM,IAAI,CAAA;AAAA,QACxB,CAAC,CAAA;AACD,QAAA,OAAO,OAAA;AAAA,MACT,CAAA;AACA,MAAA,MAAM,SAAA,GAAY,IAAA,CAAK,cAAA,CAAe,IAAA,KAAS,IAAA,CAAK,IAAA;AACpD,MAAA,MAAM,wBAAwB,IAAA,CAAK,qBAAA;AACnC,MAAA,IAAA,CAAK,qBAAA,GAAwB,wBAAwB,MAAM;AACzD,QAAA,qBAAA,IAAyB,IAAA,GAAO,MAAA,GAAS,qBAAA,CAAsB,OAAA,EAAQ;AAAA,MACzE,CAAC,CAAA;AACD,MAAA,IAAI,SAAA,IAAa,aAAY,EAAG;AAC9B,QAAA,IAAA,CAAK,IAAA,EAAK;AAAA,MACZ,CAAA,MAAO;AACL,QAAA,IAAI,EAAE,cAAA,EAAgB,kBAAA,EAAoB,GAAG,aAAY,GAAI,IAAA;AAC7D,QAAA,IAAI,cAAA,EAAgB;AAClB,UAAA,WAAA,GAAc;AAAA,YACZ,GAAG,cAAA;AAAA,YACH,KAAA,EAAO;AAAA,cACL,GAAG,cAAA,CAAe,KAAA;AAAA,cAClB,SAAA,EAAW,MAAA;AAAA,cACX,cAAA,EAAgB;AAAA,gBACd,GAAG,WAAA;AAAA,gBACH,QAAQ,WAAA,CAAY,SAAA;AAAA,gBACpB,KAAA,EAAO;AAAA,kBACL,GAAG,WAAA,CAAY,KAAA;AAAA,kBACf,SAAA,EAAW,MAAA;AAAA,kBACX,cAAA,EAAgB,MAAA;AAAA,kBAChB,SAAA,EAAW,MAAA;AAAA,kBACX,GAAA,EAAK;AAAA;AAAA;AAEP;AACF;AACF,WACF;AACA,UAAA,IAAI,WAAA,CAAY,cAAA,IAAkB,IAAA,CAAK,OAAA,CAAQ,kBAAkB,KAAA,EAAO;AACtE,YAAA,WAAA,CAAY,KAAA,CAAM,YAAY,IAAA,CAAK,eAAA;AAAA,UACrC;AAAA,QACF;AACA,QAAA,WAAA,CAAY,KAAA,CAAM,2BAAA,GAA8B,kBAAA,IAAsB,IAAA,CAAK,QAAQ,yBAAA,IAA6B,IAAA;AAChH,QAAA,IAAA,CAAK,oBAAA,GAAuB,cAAA;AAC5B,QAAA,IAAA,CAAK,OAAA,CAAQ,IAAA,CAAK,OAAA,GAAU,SAAA,GAAY,MAAM,CAAA;AAAA,UAC5C,WAAA,CAAY,IAAA;AAAA,UACZ,WAAA,CAAY,KAAA;AAAA,UACZ,EAAE,aAAA;AAAc,SAClB;AAAA,MACF;AACA,MAAA,IAAA,CAAK,eAAA,GAAkB,KAAK,WAAA,IAAe,IAAA;AAC3C,MAAA,IAAI,CAAC,IAAA,CAAK,OAAA,CAAQ,WAAA,CAAY,IAAA,EAAM;AAClC,QAAA,IAAA,CAAK,IAAA,EAAK;AAAA,MACZ;AACA,MAAA,OAAO,IAAA,CAAK,qBAAA;AAAA,IACd,CAAA;AACA,IAAA,IAAA,CAAK,yBAAyB,CAAC;AAAA,MAC7B,OAAA;AAAA,MACA,WAAA;AAAA,MACA,kBAAA;AAAA,MACA,cAAA;AAAA,MACA,aAAA;AAAA,MACA,IAAA;AAAA,MACA,GAAG;AAAA,KACL,GAAI,EAAC,KAAM;AACT,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,MAAM,YAAA,GAAe,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,KAAA,CAAM,WAAA;AACjD,QAAA,MAAM,MAAA,GAAS,UAAU,IAAA,EAAM;AAAA,UAC7B,WAAA,EAAa,OAAA,GAAU,YAAA,GAAe,YAAA,GAAe;AAAA,SACtD,CAAA;AACD,QAAA,IAAA,CAAK,KAAK,MAAA,CAAO,QAAA;AACjB,QAAA,IAAA,CAAK,MAAA,GAAS,IAAA,CAAK,OAAA,CAAQ,WAAA,CAAY,OAAO,MAAM,CAAA;AACpD,QAAA,IAAA,CAAK,IAAA,GAAO,MAAA,CAAO,IAAA,CAAK,KAAA,CAAM,CAAC,CAAA;AAAA,MACjC;AACA,MAAA,MAAM,QAAA,GAAW,KAAK,aAAA,CAAc;AAAA,QAClC,GAAG,IAAA;AAAA,QACH,sBAAA,EAAwB;AAAA,OACzB,CAAA;AACD,MAAA,OAAO,KAAK,cAAA,CAAe;AAAA,QACzB,GAAG,QAAA;AAAA,QACH,cAAA;AAAA,QACA,OAAA;AAAA,QACA,WAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA,OACD,CAAA;AAAA,IACH,CAAA;AACA,IAAA,IAAA,CAAK,QAAA,GAAW,CAAC,EAAE,EAAA,EAAI,gBAAgB,IAAA,EAAM,GAAG,MAAK,KAAM;AACzD,MAAA,IAAI,CAAC,kBAAkB,IAAA,EAAM;AAC3B,QAAA,IAAI;AACF,UAAA,IAAI,GAAA,CAAI,CAAA,EAAG,IAAI,CAAA,CAAE,CAAA;AACjB,UAAA,cAAA,GAAiB,IAAA;AAAA,QACnB,CAAA,CAAA,MAAQ;AAAA,QACR;AAAA,MACF;AACA,MAAA,IAAI,cAAA,EAAgB;AAClB,QAAA,IAAI,CAAC,IAAA,EAAM;AACT,UAAA,MAAM,WAAW,IAAA,CAAK,aAAA,CAAc,EAAE,EAAA,EAAI,GAAG,MAAM,CAAA;AACnD,UAAA,IAAA,GAAO,IAAA,CAAK,OAAA,CAAQ,UAAA,CAAW,QAAA,CAAS,IAAI,CAAA;AAAA,QAC9C;AACA,QAAA,IAAI,KAAK,OAAA,EAAS;AAChB,UAAA,MAAA,CAAO,QAAA,CAAS,QAAQ,IAAI,CAAA;AAAA,QAC9B,CAAA,MAAO;AACL,UAAA,MAAA,CAAO,SAAS,IAAA,GAAO,IAAA;AAAA,QACzB;AACA,QAAA,OAAO,QAAQ,OAAA,EAAQ;AAAA,MACzB;AACA,MAAA,OAAO,KAAK,sBAAA,CAAuB;AAAA,QACjC,GAAG,IAAA;AAAA,QACH,IAAA;AAAA,QACA,EAAA;AAAA,QACA,WAAA,EAAa;AAAA,OACd,CAAA;AAAA,IACH,CAAA;AACA,IAAA,IAAA,CAAK,aAAa,MAAM;AACtB,MAAA,IAAA,CAAK,aAAA,EAAc;AACnB,MAAA,IAAA,CAAK,cAAA,GAAiB,IAAA,CAAK,aAAA,CAAc,IAAA,CAAK,cAAc,CAAA;AAC5D,MAAA,IAAI,KAAK,QAAA,EAAU;AACjB,QAAA,MAAM,YAAA,GAAe,KAAK,aAAA,CAAc;AAAA,UACtC,EAAA,EAAI,KAAK,cAAA,CAAe,QAAA;AAAA,UACxB,MAAA,EAAQ,IAAA;AAAA,UACR,MAAA,EAAQ,IAAA;AAAA,UACR,IAAA,EAAM,IAAA;AAAA,UACN,KAAA,EAAO,IAAA;AAAA,UACP,sBAAA,EAAwB;AAAA,SACzB,CAAA;AACD,QAAA,MAAM,YAAA,GAAe,CAAC,GAAA,KAAQ;AAC5B,UAAA,IAAI;AACF,YAAA,OAAO,SAAA,CAAU,SAAA,CAAU,GAAG,CAAC,CAAA;AAAA,UACjC,CAAA,CAAA,MAAQ;AACN,YAAA,OAAO,GAAA;AAAA,UACT;AAAA,QACF,CAAA;AACA,QAAA,IAAI,QAAA,CAAS,YAAA,CAAa,IAAA,CAAK,cAAA,CAAe,IAAI,CAAC,CAAA,KAAM,QAAA,CAAS,YAAA,CAAa,YAAA,CAAa,IAAI,CAAC,CAAA,EAAG;AAClG,UAAA,MAAM,QAAA,CAAS,EAAE,IAAA,EAAM,YAAA,CAAa,MAAM,CAAA;AAAA,QAC5C;AAAA,MACF;AACA,MAAA,MAAM,cAAA,GAAiB,IAAA,CAAK,WAAA,CAAY,IAAA,CAAK,cAAc,CAAA;AAC3D,MAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,MAAO;AAAA,QAC5B,GAAG,CAAA;AAAA,QACH,MAAA,EAAQ,SAAA;AAAA,QACR,UAAA,EAAY,GAAA;AAAA,QACZ,SAAA,EAAW,IAAA;AAAA,QACX,UAAU,IAAA,CAAK,cAAA;AAAA,QACf,cAAA;AAAA;AAAA,QAEA,aAAA,EAAe,EAAE,aAAA,CAAc,MAAA;AAAA,UAC7B,CAAC,CAAA,KAAM,CAAC,cAAA,CAAe,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,CAAA,CAAE,EAAE;AAAA;AAClD,OACF,CAAE,CAAA;AAAA,IACJ,CAAA;AACA,IAAA,IAAA,CAAK,IAAA,GAAO,OAAO,IAAA,KAAS;AAC1B,MAAA,IAAI,SAAA;AACJ,MAAA,IAAI,QAAA;AACJ,MAAA,IAAI,WAAA;AACJ,MAAA,WAAA,GAAc,IAAI,OAAA,CAAQ,CAAC,OAAA,KAAY;AACrC,QAAA,IAAA,CAAK,gBAAgB,YAAY;AAC/B,UAAA,IAAI,EAAA;AACJ,UAAA,IAAI;AACF,YAAA,IAAA,CAAK,UAAA,EAAW;AAChB,YAAA,MAAM,OAAO,IAAA,CAAK,cAAA;AAClB,YAAA,MAAM,YAAA,GAAe,KAAK,KAAA,CAAM,gBAAA;AAChC,YAAA,IAAI,CAAC,IAAA,CAAK,KAAA,CAAM,QAAA,EAAU;AACxB,cAAA,IAAA,CAAK,IAAA,CAAK;AAAA,gBACR,IAAA,EAAM,kBAAA;AAAA,gBACN,GAAG,qBAAA,CAAsB;AAAA,kBACvB,gBAAA,EAAkB,YAAA;AAAA,kBAClB,QAAA,EAAU;AAAA,iBACX;AAAA,eACF,CAAA;AAAA,YACH;AACA,YAAA,IAAA,CAAK,IAAA,CAAK;AAAA,cACR,IAAA,EAAM,cAAA;AAAA,cACN,GAAG,qBAAA,CAAsB;AAAA,gBACvB,gBAAA,EAAkB,YAAA;AAAA,gBAClB,QAAA,EAAU;AAAA,eACX;AAAA,aACF,CAAA;AACD,YAAA,MAAM,KAAK,WAAA,CAAY;AAAA,cACrB,IAAA,EAAM,IAAA,IAAQ,IAAA,GAAO,KAAA,CAAA,GAAS,IAAA,CAAK,IAAA;AAAA,cACnC,OAAA,EAAS,KAAK,KAAA,CAAM,cAAA;AAAA,cACpB,QAAA,EAAU,IAAA;AAAA;AAAA,cAEV,SAAS,YAAY;AACnB,gBAAA,IAAA,CAAK,oBAAoB,YAAY;AACnC,kBAAA,IAAI,cAAA;AACJ,kBAAA,IAAI,eAAA;AACJ,kBAAA,IAAI,cAAA;AACJ,kBAAA,KAAA,CAAM,MAAM;AACV,oBAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,KAAM;AAC3B,sBAAA,MAAM,kBAAkB,CAAA,CAAE,OAAA;AAC1B,sBAAA,MAAM,UAAA,GAAa,CAAA,CAAE,cAAA,IAAkB,CAAA,CAAE,OAAA;AACzC,sBAAA,cAAA,GAAiB,eAAA,CAAgB,MAAA;AAAA,wBAC/B,CAAC,KAAA,KAAU,CAAC,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,KAAA,CAAM,EAAE;AAAA,uBACtD;AACA,sBAAA,eAAA,GAAkB,UAAA,CAAW,MAAA;AAAA,wBAC3B,CAAC,KAAA,KAAU,CAAC,eAAA,CAAgB,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,KAAA,CAAM,EAAE;AAAA,uBAC3D;AACA,sBAAA,cAAA,GAAiB,eAAA,CAAgB,MAAA;AAAA,wBAC/B,CAAC,UAAU,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,KAAA,CAAM,EAAE;AAAA,uBACrD;AACA,sBAAA,OAAO;AAAA,wBACL,GAAG,CAAA;AAAA,wBACH,SAAA,EAAW,KAAA;AAAA,wBACX,QAAA,EAAU,KAAK,GAAA,EAAI;AAAA,wBACnB,OAAA,EAAS,UAAA;AAAA,wBACT,cAAA,EAAgB,KAAA,CAAA;AAAA,wBAChB,aAAA,EAAe;AAAA,0BACb,GAAG,CAAA,CAAE,aAAA;AAAA,0BACL,GAAG,cAAA,CAAe,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,WAAW,OAAO;AAAA;AACtD,uBACF;AAAA,oBACF,CAAC,CAAA;AACD,oBAAA,IAAA,CAAK,iBAAA,EAAkB;AAAA,kBACzB,CAAC,CAAA;AACD,kBAAA;AAAA,oBACE,CAAC,gBAAgB,SAAS,CAAA;AAAA,oBAC1B,CAAC,iBAAiB,SAAS,CAAA;AAAA,oBAC3B,CAAC,gBAAgB,QAAQ;AAAA,oBACzB,OAAA,CAAQ,CAAC,CAAC,OAAA,EAAS,IAAI,CAAA,KAAM;AAC7B,oBAAA,OAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,KAAU;AACzB,sBAAA,IAAI,GAAA,EAAK,EAAA;AACT,sBAAA,CAAC,EAAA,GAAA,CAAM,GAAA,GAAM,IAAA,CAAK,eAAA,CAAgB,MAAM,OAAO,CAAA,CAAE,OAAA,EAAS,IAAI,MAAM,IAAA,GAAO,KAAA,CAAA,GAAS,EAAA,CAAG,IAAA,CAAK,KAAK,KAAK,CAAA;AAAA,oBACxG,CAAC,CAAA;AAAA,kBACH,CAAC,CAAA;AAAA,gBACH,CAAC,CAAA;AAAA,cACH;AAAA,aACD,CAAA;AAAA,UACH,SAAS,GAAA,EAAK;AACZ,YAAA,IAAI,UAAA,CAAW,GAAG,CAAA,EAAG;AACnB,cAAA,SAAA,GAAY,GAAA;AACZ,cAAA,IAAI,CAAC,KAAK,QAAA,EAAU;AAClB,gBAAA,IAAA,CAAK,QAAA,CAAS;AAAA,kBACZ,GAAG,SAAA,CAAU,OAAA;AAAA,kBACb,OAAA,EAAS,IAAA;AAAA,kBACT,aAAA,EAAe;AAAA,iBAChB,CAAA;AAAA,cACH;AAAA,YACF,CAAA,MAAA,IAAW,UAAA,CAAW,GAAG,CAAA,EAAG;AAC1B,cAAA,QAAA,GAAW,GAAA;AAAA,YACb;AACA,YAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,MAAO;AAAA,cAC5B,GAAG,CAAA;AAAA,cACH,UAAA,EAAY,SAAA,GAAY,SAAA,CAAU,MAAA,GAAS,WAAW,GAAA,GAAM,CAAA,CAAE,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW,OAAO,IAAI,GAAA,GAAM,GAAA;AAAA,cAChH,QAAA,EAAU;AAAA,aACZ,CAAE,CAAA;AAAA,UACJ;AACA,UAAA,IAAI,IAAA,CAAK,sBAAsB,WAAA,EAAa;AAC1C,YAAA,CAAC,KAAK,IAAA,CAAK,qBAAA,KAA0B,IAAA,GAAO,MAAA,GAAS,GAAG,OAAA,EAAQ;AAChE,YAAA,IAAA,CAAK,iBAAA,GAAoB,MAAA;AACzB,YAAA,IAAA,CAAK,qBAAA,GAAwB,MAAA;AAAA,UAC/B;AACA,UAAA,OAAA,EAAQ;AAAA,QACV,CAAC,CAAA;AAAA,MACH,CAAC,CAAA;AACD,MAAA,IAAA,CAAK,iBAAA,GAAoB,WAAA;AACzB,MAAA,MAAM,WAAA;AACN,MAAA,OAAO,IAAA,CAAK,iBAAA,IAAqB,WAAA,KAAgB,IAAA,CAAK,iBAAA,EAAmB;AACvE,QAAA,MAAM,IAAA,CAAK,iBAAA;AAAA,MACb;AACA,MAAA,IAAI,IAAA,CAAK,kBAAiB,EAAG;AAC3B,QAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,MAAO;AAAA,UAC5B,GAAG,CAAA;AAAA,UACH,UAAA,EAAY;AAAA,SACd,CAAE,CAAA;AAAA,MACJ;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,mBAAA,GAAsB,CAAC,EAAA,KAAO;AACjC,MAAA,MAAM,oBAAA,GAAuB,IAAA,CAAK,oBAAA,IAAwB,IAAA,CAAK,OAAA,CAAQ,qBAAA;AACvE,MAAA,OAAO,IAAA,CAAK,oBAAA;AACZ,MAAA,IAAI,oBAAA,IAAwB,OAAO,QAAA,KAAa,WAAA,IAAe,yBAAyB,QAAA,IAAY,OAAO,QAAA,CAAS,mBAAA,KAAwB,UAAA,EAAY;AACtJ,QAAA,IAAI,yBAAA;AACJ,QAAA,IAAI,OAAO,oBAAA,KAAyB,QAAA,IAAY,IAAA,CAAK,8BAAA,EAAgC;AACnF,UAAA,MAAM,OAAO,IAAA,CAAK,cAAA;AAClB,UAAA,MAAM,YAAA,GAAe,KAAK,KAAA,CAAM,gBAAA;AAChC,UAAA,MAAM,2BAAA,GAA8B,OAAO,oBAAA,CAAqB,KAAA,KAAU,aAAa,oBAAA,CAAqB,KAAA;AAAA,YAC1G,qBAAA,CAAsB;AAAA,cACpB,gBAAA,EAAkB,YAAA;AAAA,cAClB,QAAA,EAAU;AAAA,aACX;AAAA,cACC,oBAAA,CAAqB,KAAA;AACzB,UAAA,yBAAA,GAA4B;AAAA,YAC1B,MAAA,EAAQ,EAAA;AAAA,YACR,KAAA,EAAO;AAAA,WACT;AAAA,QACF,CAAA,MAAO;AACL,UAAA,yBAAA,GAA4B,EAAA;AAAA,QAC9B;AACA,QAAA,QAAA,CAAS,oBAAoB,yBAAyB,CAAA;AAAA,MACxD,CAAA,MAAO;AACL,QAAA,EAAA,EAAG;AAAA,MACL;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,WAAA,GAAc,CAAC,EAAA,EAAI,OAAA,KAAY;AAClC,MAAA,IAAI,EAAA;AACJ,MAAA,MAAM,eAAe,EAAA,GAAK,IAAA,CAAK,KAAA,CAAM,cAAA,KAAmB,OAAO,MAAA,GAAS,EAAA,CAAG,IAAA,CAAK,CAAC,MAAM,CAAA,CAAE,EAAA,KAAO,EAAE,CAAA,IAAK,mBAAmB,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,EAAE,IAAI,SAAA,GAAY,IAAA,CAAK,KAAA,CAAM,aAAA,CAAc,KAAK,CAAC,CAAA,KAAM,EAAE,EAAA,KAAO,EAAE,IAAI,eAAA,GAAkB,EAAA;AAC1P,MAAA,IAAI,UAAA,EAAY;AACd,QAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,KAAM;AAC3B,UAAA,IAAI,GAAA;AACJ,UAAA,OAAO;AAAA,YACL,GAAG,CAAA;AAAA,YACH,CAAC,UAAU,GAAA,CAAI,MAAM,CAAA,CAAE,UAAU,MAAM,IAAA,GAAO,MAAA,GAAS,IAAI,GAAA,CAAI,CAAC,MAAM,CAAA,CAAE,EAAA,KAAO,KAAK,OAAA,CAAQ,CAAC,IAAI,CAAC;AAAA,WACpG;AAAA,QACF,CAAC,CAAA;AAAA,MACH;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,QAAA,GAAW,CAAC,OAAA,KAAY;AAC3B,MAAA,IAAI,EAAA;AACJ,MAAA,MAAM,MAAA,GAAS,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,OAAA;AAC/B,MAAA,OAAO,IAAA,CAAK,MAAM,aAAA,CAAc,IAAA,CAAK,MAAM,CAAA,KAAA,CAAO,EAAA,GAAK,KAAK,KAAA,CAAM,cAAA,KAAmB,OAAO,MAAA,GAAS,EAAA,CAAG,KAAK,MAAM,CAAA,CAAA,IAAM,KAAK,KAAA,CAAM,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA,IACzJ,CAAA;AACA,IAAA,IAAA,CAAK,cAAc,OAAO;AAAA,MACxB,QAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA,EAAS,UAAA;AAAA,MACT,OAAA;AAAA,MACA,cAAc,IAAA,CAAK,WAAA;AAAA,MACnB;AAAA,KACF,KAAM;AACJ,MAAA,IAAI,kBAAA;AACJ,MAAA,IAAI,QAAA,GAAW,KAAA;AACf,MAAA,MAAM,iBAAiB,YAAY;AACjC,QAAA,IAAI,CAAC,QAAA,EAAU;AACb,UAAA,QAAA,GAAW,IAAA;AACX,UAAA,OAAO,OAAA,IAAW,IAAA,GAAO,MAAA,GAAS,OAAA,EAAQ,CAAA;AAAA,QAC5C;AAAA,MACF,CAAA;AACA,MAAA,MAAM,cAAA,GAAiB,CAAC,OAAA,KAAY;AAClC,QAAA,OAAO,CAAC,EAAE,UAAA,IAAc,CAAC,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,OAAO,CAAA,CAAA;AAAA,MAC1E,CAAA;AACA,MAAA,IAAI,CAAC,IAAA,CAAK,QAAA,IAAY,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa,CAAA,EAAG;AACrE,QAAA,cAAA,EAAe;AAAA,MACjB;AACA,MAAA,MAAM,yBAAA,GAA4B,CAAC,KAAA,EAAO,GAAA,KAAQ;AAChD,QAAA,IAAI,IAAI,EAAA,EAAI,EAAA;AACZ,QAAA,IAAI,UAAA,CAAW,GAAG,CAAA,IAAK,UAAA,CAAW,GAAG,CAAA,EAAG;AACtC,UAAA,IAAI,UAAA,CAAW,GAAG,CAAA,EAAG;AACnB,YAAA,IAAI,IAAI,eAAA,EAAiB;AACvB,cAAA,IAAI,CAAC,GAAA,CAAI,OAAA,CAAQ,cAAA,EAAgB;AAC/B,gBAAA,MAAM,GAAA;AAAA,cACR;AAAA,YACF;AAAA,UACF;AACA,UAAA,CAAC,KAAK,KAAA,CAAM,iBAAA,KAAsB,IAAA,GAAO,MAAA,GAAS,GAAG,OAAA,EAAQ;AAC7D,UAAA,CAAC,KAAK,KAAA,CAAM,aAAA,KAAkB,IAAA,GAAO,MAAA,GAAS,GAAG,OAAA,EAAQ;AACzD,UAAA,WAAA,CAAY,KAAA,CAAM,EAAA,EAAI,CAAC,IAAA,MAAU;AAAA,YAC/B,GAAG,IAAA;AAAA,YACH,MAAA,EAAQ,WAAW,GAAG,CAAA,GAAI,eAAe,UAAA,CAAW,GAAG,IAAI,UAAA,GAAa,OAAA;AAAA,YACxE,UAAA,EAAY,KAAA;AAAA,YACZ,KAAA,EAAO,GAAA;AAAA,YACP,iBAAA,EAAmB,MAAA;AAAA,YACnB,aAAA,EAAe;AAAA,WACjB,CAAE,CAAA;AACF,UAAA,IAAI,CAAC,IAAI,OAAA,EAAS;AAChB,YAAA,GAAA,CAAI,UAAU,KAAA,CAAM,OAAA;AAAA,UACtB;AACA,UAAA,CAAC,KAAK,KAAA,CAAM,WAAA,KAAgB,IAAA,GAAO,MAAA,GAAS,GAAG,OAAA,EAAQ;AACvD,UAAA,IAAI,UAAA,CAAW,GAAG,CAAA,EAAG;AACnB,YAAA,QAAA,GAAW,IAAA;AACX,YAAA,GAAA,CAAI,QAAQ,aAAA,GAAgB,QAAA;AAC5B,YAAA,GAAA,CAAI,eAAA,GAAkB,IAAA;AACtB,YAAA,GAAA,GAAM,IAAA,CAAK,gBAAgB,GAAG,CAAA;AAC9B,YAAA,MAAM,GAAA;AAAA,UACR,CAAA,MAAA,IAAW,UAAA,CAAW,GAAG,CAAA,EAAG;AAC1B,YAAA,IAAA,CAAK,eAAA,CAAgB,SAAS,GAAA,EAAK;AAAA,cACjC;AAAA,aACD,CAAA;AACD,YAAA,MAAM,GAAA;AAAA,UACR;AAAA,QACF;AAAA,MACF,CAAA;AACA,MAAA,MAAM,gBAAA,GAAmB,CAAC,OAAA,KAAY;AACpC,QAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA;AACnC,QAAA,IAAI,CAAC,IAAA,CAAK,QAAA,IAAY,KAAA,CAAM,WAAA,EAAa;AACvC,UAAA,OAAO,IAAA;AAAA,QACT;AACA,QAAA,IAAI,KAAK,QAAA,EAAU;AACjB,UAAA,IAAI,KAAA,CAAM,QAAQ,KAAA,EAAO;AACvB,YAAA,OAAO,IAAA;AAAA,UACT;AAAA,QACF;AACA,QAAA,OAAO,KAAA;AAAA,MACT,CAAA;AACA,MAAA,IAAI;AACF,QAAA,MAAM,IAAI,OAAA,CAAQ,CAAC,UAAA,EAAY,SAAA,KAAc;AAC3C,UAAA;AACA,UAAA,CAAC,YAAY;AACX,YAAA,IAAI,EAAA,EAAI,IAAI,EAAA,EAAI,EAAA;AAChB,YAAA,IAAI;AACF,cAAA,MAAM,iBAAA,GAAoB,CAAC,KAAA,EAAO,GAAA,EAAK,UAAA,KAAe;AACpD,gBAAA,IAAI,GAAA,EAAK,GAAA;AACT,gBAAA,MAAM,EAAE,EAAA,EAAI,OAAA,EAAS,OAAA,EAAQ,GAAI,QAAQ,KAAK,CAAA;AAC9C,gBAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,eAAA,CAAgB,OAAO,CAAA;AAC1C,gBAAA,IAAI,eAAe,OAAA,EAAS;AAC1B,kBAAA,MAAM,GAAA;AAAA,gBACR;AACA,gBAAA,GAAA,CAAI,UAAA,GAAa,UAAA;AACjB,gBAAA,kBAAA,GAAqB,kBAAA,IAAsB,KAAA;AAC3C,gBAAA,yBAAA,CAA0B,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA,EAAG,GAAG,CAAA;AACrD,gBAAA,IAAI;AACF,kBAAA,CAAC,GAAA,GAAA,CAAO,GAAA,GAAM,KAAA,CAAM,OAAA,EAAS,OAAA,KAAY,OAAO,KAAA,CAAA,GAAS,GAAA,CAAI,IAAA,CAAK,GAAA,EAAK,GAAG,CAAA;AAAA,gBAC5E,SAAS,eAAA,EAAiB;AACxB,kBAAA,GAAA,GAAM,eAAA;AACN,kBAAA,yBAAA,CAA0B,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA,EAAG,GAAG,CAAA;AAAA,gBACvD;AACA,gBAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,KAAS;AAC7B,kBAAA,IAAI,GAAA,EAAK,GAAA;AACT,kBAAA,CAAC,MAAM,IAAA,CAAK,iBAAA,KAAsB,IAAA,GAAO,KAAA,CAAA,GAAS,IAAI,OAAA,EAAQ;AAC9D,kBAAA,CAAC,MAAM,IAAA,CAAK,WAAA,KAAgB,IAAA,GAAO,KAAA,CAAA,GAAS,IAAI,OAAA,EAAQ;AACxD,kBAAA,OAAO;AAAA,oBACL,GAAG,IAAA;AAAA,oBACH,KAAA,EAAO,GAAA;AAAA,oBACP,MAAA,EAAQ,OAAA;AAAA,oBACR,UAAA,EAAY,KAAA;AAAA,oBACZ,SAAA,EAAW,KAAK,GAAA,EAAI;AAAA,oBACpB,eAAA,EAAiB,IAAI,eAAA,EAAgB;AAAA,oBACrC,iBAAA,EAAmB,KAAA;AAAA,mBACrB;AAAA,gBACF,CAAC,CAAA;AAAA,cACH,CAAA;AACA,cAAA,KAAA,MAAW,CAAC,KAAA,EAAO,EAAE,EAAA,EAAI,OAAA,EAAS,SAAS,CAAA,IAAK,OAAA,CAAQ,OAAA,EAAQ,EAAG;AACjE,gBAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA;AAC3C,gBAAA,MAAM,aAAA,GAAA,CAAiB,KAAK,OAAA,CAAQ,KAAA,GAAQ,CAAC,CAAA,KAAM,IAAA,GAAO,SAAS,EAAA,CAAG,EAAA;AACtE,gBAAA,MAAM,WAAA,GAAc,aAAA,GAAgB,IAAA,CAAK,QAAA,CAAS,aAAa,CAAA,GAAI,KAAA,CAAA;AACnE,gBAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,eAAA,CAAgB,OAAO,CAAA;AAC1C,gBAAA,MAAM,SAAA,GAAY,KAAA,CAAM,OAAA,CAAQ,SAAA,IAAa,KAAK,OAAA,CAAQ,gBAAA;AAC1D,gBAAA,IAAI,KAAK,QAAA,EAAU;AACjB,kBAAA,IAAI,GAAA;AACJ,kBAAA,IAAI,IAAA,CAAK,SAAQ,EAAG;AAClB,oBAAA,GAAA,GAAM,OAAA,KAAY,WAAA;AAAA,kBACpB,CAAA,MAAO;AACL,oBAAA,MAAM,UAAA,GAAa,IAAA,CAAK,OAAA,CAAQ,UAAA,IAAc,IAAA;AAC9C,oBAAA,IAAA,CAAK,WAAA,IAAe,IAAA,GAAO,KAAA,CAAA,GAAS,WAAA,CAAY,SAAS,KAAA,EAAO;AAC9D,sBAAA,GAAA,GAAM,KAAA;AAAA,oBACR,CAAA,MAAO;AACL,sBAAA,IAAI,OAAA;AACJ,sBAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,GAAA,KAAQ,KAAA,CAAA,EAAQ;AAChC,wBAAA,OAAA,GAAU,UAAA;AAAA,sBACZ,CAAA,MAAA,IAAW,OAAO,KAAA,CAAM,OAAA,CAAQ,QAAQ,UAAA,EAAY;AAClD,wBAAA,IAAI,SAAA,GAAY,SAAS,KAAA,EAAO,KAAA,EAAO;AACrC,0BAAA,IAAI,KAAA,EAAO;AACT,4BAAA,OAAO,EAAE,MAAA,EAAQ,OAAA,EAAS,KAAA,EAAM;AAAA,0BAClC;AACA,0BAAA,OAAO,EAAE,MAAA,EAAQ,SAAA,EAAW,KAAA,EAAM;AAAA,wBACpC,CAAA;AACA,wBAAA,MAAM,EAAE,MAAA,EAAQ,MAAA,EAAO,GAAI,IAAA,CAAK,SAAS,OAAO,CAAA;AAChD,wBAAA,MAAM,YAAA,GAAe;AAAA,0BACnB,MAAA,EAAQ,SAAA,CAAU,MAAA,EAAQ,aAAA,CAAc,WAAW,CAAA;AAAA,0BACnD,MAAA,EAAQ,SAAA,CAAU,MAAA,EAAQ,aAAA,CAAc,WAAW,CAAA;AAAA,0BACnD,QAAA;AAAA,0BACA,OAAA,EAAS,OAAA,CAAQ,GAAA,CAAI,CAAC,KAAA,MAAW;AAAA,4BAC/B,OAAO,KAAA,CAAM,KAAA;AAAA,4BACb,UAAU,KAAA,CAAM,QAAA;AAAA,4BAChB,UAAU,KAAA,CAAM,QAAA;AAAA,4BAChB,YAAY,KAAA,CAAM,UAAA;AAAA,4BAClB,IAAI,KAAA,CAAM,EAAA;AAAA,4BACV,SAAS,KAAA,CAAM,OAAA;AAAA,4BACf,MAAA,EAAQ,SAAA,CAAU,KAAA,CAAM,MAAA,EAAQ,MAAM,WAAW,CAAA;AAAA,4BACjD,MAAA,EAAQ,SAAA,CAAU,KAAA,CAAM,MAAA,EAAQ,MAAM,WAAW,CAAA;AAAA,4BACjD,KAAK,KAAA,CAAM;AAAA,2BACb,CAAE;AAAA,yBACJ;AACA,wBAAA,OAAA,GAAU,MAAM,KAAA,CAAM,OAAA,CAAQ,GAAA,CAAI,YAAY,CAAA,IAAK,UAAA;AAAA,sBACrD,CAAA,MAAO;AACL,wBAAA,OAAA,GAAU,MAAM,OAAA,CAAQ,GAAA;AAAA,sBAC1B;AACA,sBAAA,IAAI,YAAY,IAAA,IAAA,CAAS,WAAA,IAAe,OAAO,KAAA,CAAA,GAAS,WAAA,CAAY,SAAS,WAAA,EAAa;AACxF,wBAAA,GAAA,GAAM,WAAA;AAAA,sBACR,CAAA,MAAO;AACL,wBAAA,GAAA,GAAM,OAAA;AAAA,sBACR;AAAA,oBACF;AAAA,kBACF;AACA,kBAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,MAAU;AAAA,oBAC9B,GAAG,IAAA;AAAA,oBACH;AAAA,mBACF,CAAE,CAAA;AAAA,gBACJ;AACA,gBAAA,IAAI,gBAAA,CAAiB,OAAO,CAAA,EAAG;AAC7B,kBAAA;AAAA,gBACF;AACA,gBAAA,MAAM,aAAA,GAAgB,CAAC,EAAE,OAAA,IAAW,CAAC,IAAA,CAAK,QAAA,IAAY,CAAC,cAAA,CAAe,OAAO,CAAA,KAAM,KAAA,CAAM,OAAA,CAAQ,UAAU,KAAA,CAAM,OAAA,CAAQ,UAAA,IAAc,iBAAA,CAAkB,KAAK,CAAA,CAAA,IAAM,OAAO,SAAA,KAAc,YAAY,SAAA,KAAc,QAAA,KAAa,KAAA,CAAM,OAAA,CAAQ,sBAAsB,EAAA,GAAK,IAAA,CAAK,OAAA,KAAY,IAAA,GAAO,SAAS,EAAA,CAAG,uBAAA,CAAA,CAAA,CAAA;AAC7S,gBAAA,IAAI,iBAAA,GAAoB,IAAA;AACxB,gBAAA,MAAM,sBAAsB,MAAM;AAChC,kBAAA,IAAI,iBAAiB,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA,CAAE,mBAAmB,KAAA,CAAA,EAAQ;AACrE,oBAAA,MAAM,cAAA,GAAiB,WAAW,MAAM;AACtC,sBAAA,IAAI;AACF,wBAAA,cAAA,EAAe;AAAA,sBACjB,CAAA,CAAA,MAAQ;AAAA,sBACR;AAAA,oBACF,GAAG,SAAS,CAAA;AACZ,oBAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,MAAU;AAAA,sBAC9B,GAAG,IAAA;AAAA,sBACH;AAAA,qBACF,CAAE,CAAA;AAAA,kBACJ;AAAA,gBACF,CAAA;AACA,gBAAA;AAAA;AAAA;AAAA,kBAGE,aAAA,CAAc,qBAAqB,aAAA,CAAc;AAAA,kBACjD;AACA,kBAAA,mBAAA,EAAoB;AACpB,kBAAA,MAAM,aAAA,CAAc,iBAAA;AACpB,kBAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA;AACnC,kBAAA,IAAI,KAAA,CAAM,WAAW,OAAA,EAAS;AAC5B,oBAAA,iBAAA,GAAoB,IAAA;AAAA,kBACtB,CAAA,MAAA,IAAW,MAAM,OAAA,KAAY,KAAA,CAAM,WAAW,YAAA,IAAgB,KAAA,CAAM,WAAW,UAAA,CAAA,EAAa;AAC1F,oBAAA,yBAAA,CAA0B,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,kBAC9C;AAAA,gBACF;AACA,gBAAA,IAAI,iBAAA,EAAmB;AACrB,kBAAA,IAAI;AACF,oBAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,KAAS;AAC7B,sBAAA,MAAM,kBAAkB,IAAA,CAAK,WAAA;AAC7B,sBAAA,OAAO;AAAA,wBACL,GAAG,IAAA;AAAA,wBACH,WAAA,EAAa,wBAAwB,MAAM;AACzC,0BAAA,eAAA,IAAmB,IAAA,GAAO,KAAA,CAAA,GAAS,eAAA,CAAgB,OAAA,EAAQ;AAAA,wBAC7D,CAAC,CAAA;AAAA,wBACD,mBAAmB,uBAAA;AAAwB,uBAC7C;AAAA,oBACF,CAAC,CAAA;AACD,oBAAA,MAAM,EAAE,WAAA,EAAa,WAAA,EAAY,GAAI,IAAA,CAAK,SAAS,OAAO,CAAA;AAC1D,oBAAA,IAAI,WAAA,EAAa;AACf,sBAAA,iBAAA,CAAkB,KAAA,EAAO,aAAa,cAAc,CAAA;AAAA,oBACtD;AACA,oBAAA,IAAI,WAAA,EAAa;AACf,sBAAA,iBAAA,CAAkB,KAAA,EAAO,aAAa,iBAAiB,CAAA;AAAA,oBACzD;AACA,oBAAA,mBAAA,EAAoB;AACpB,oBAAA,MAAM,eAAA,GAAkB,IAAI,eAAA,EAAgB;AAC5C,oBAAA,MAAM,kBAAA,GAAA,CAAsB,eAAe,IAAA,GAAO,KAAA,CAAA,GAAS,YAAY,OAAA,KAAY,IAAA,CAAK,OAAA,CAAQ,OAAA,IAAW,EAAC;AAC5G,oBAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,MAAU;AAAA,sBAC9B,GAAG,IAAA;AAAA,sBACH,UAAA,EAAY,YAAA;AAAA,sBACZ,UAAA,EAAY,KAAK,UAAA,GAAa,CAAA;AAAA,sBAC9B,eAAA;AAAA,sBACA,OAAA,EAAS;AAAA,wBACP,GAAG,kBAAA;AAAA,wBACH,GAAG,IAAA,CAAK;AAAA;AACV,qBACF,CAAE,CAAA;AACF,oBAAA,MAAM,EAAE,QAAQ,MAAA,EAAQ,OAAA,EAAS,OAAM,GAAI,IAAA,CAAK,SAAS,OAAO,CAAA;AAChE,oBAAA,MAAM,OAAA,GAAU,eAAe,OAAO,CAAA;AACtC,oBAAA,MAAM,mBAAA,GAAsB;AAAA,sBAC1B,MAAA;AAAA,sBACA,eAAA;AAAA,sBACA,MAAA;AAAA,sBACA,OAAA;AAAA,sBACA,OAAA;AAAA,sBACA,QAAA;AAAA,sBACA,QAAA,EAAU,CAAC,IAAA,KAAS,IAAA,CAAK,QAAA,CAAS,EAAE,GAAG,IAAA,EAAM,aAAA,EAAe,QAAA,EAAU,CAAA;AAAA,sBACtE,eAAe,IAAA,CAAK,aAAA;AAAA,sBACpB,KAAA,EAAO,UAAU,SAAA,GAAY,KAAA;AAAA,sBAC7B;AAAA,qBACF;AACA,oBAAA,MAAM,iBAAA,GAAoB,OAAA,CAAQ,EAAA,GAAA,CAAM,EAAA,GAAK,KAAA,CAAM,OAAA,EAAS,UAAA,KAAe,IAAA,GAAO,KAAA,CAAA,GAAS,EAAA,CAAG,IAAA,CAAK,EAAA,EAAI,mBAAmB,CAAA,CAAA;AAC1H,oBAAA,IAAI,UAAA,CAAW,iBAAiB,CAAA,IAAK,UAAA,CAAW,iBAAiB,CAAA,EAAG;AAClE,sBAAA,iBAAA,CAAkB,KAAA,EAAO,mBAAmB,aAAa,CAAA;AAAA,oBAC3D;AACA,oBAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,KAAS;AAC7B,sBAAA,OAAO;AAAA,wBACL,GAAG,IAAA;AAAA,wBACH,mBAAA,EAAqB,iBAAA;AAAA,wBACrB,OAAA,EAAS;AAAA,0BACP,GAAG,kBAAA;AAAA,0BACH,GAAG,IAAA,CAAK,cAAA;AAAA,0BACR,GAAG;AAAA,yBACL;AAAA,wBACA;AAAA,uBACF;AAAA,oBACF,CAAC,CAAA;AAAA,kBACH,SAAS,GAAA,EAAK;AACZ,oBAAA,iBAAA,CAAkB,KAAA,EAAO,KAAK,aAAa,CAAA;AAAA,kBAC7C;AACA,kBAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,KAAS;AAC7B,oBAAA,IAAI,GAAA;AACJ,oBAAA,CAAC,MAAM,IAAA,CAAK,iBAAA,KAAsB,IAAA,GAAO,KAAA,CAAA,GAAS,IAAI,OAAA,EAAQ;AAC9D,oBAAA,OAAO;AAAA,sBACL,GAAG,IAAA;AAAA,sBACH,iBAAA,EAAmB,KAAA,CAAA;AAAA,sBACnB,UAAA,EAAY;AAAA,qBACd;AAAA,kBACF,CAAC,CAAA;AAAA,gBACH;AAAA,cACF;AACA,cAAA,MAAM,oBAAA,GAAuB,OAAA,CAAQ,KAAA,CAAM,CAAA,EAAG,kBAAkB,CAAA;AAChE,cAAA,MAAM,gBAAgB,EAAC;AACvB,cAAA,oBAAA,CAAqB,QAAQ,CAAC,EAAE,IAAI,OAAA,EAAS,OAAA,IAAW,KAAA,KAAU;AAChE,gBAAA,aAAA,CAAc,IAAA;AAAA,kBAAA,CACX,YAAY;AACX,oBAAA,IAAI,oBAAA,GAAuB,KAAA;AAC3B,oBAAA,IAAI,oBAAA,GAAuB,KAAA;AAC3B,oBAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,eAAA,CAAgB,OAAO,CAAA;AAC1C,oBAAA,MAAM,cAAc,YAAY;AAC9B,sBAAA,IAAI,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,GAAA,EAAK,EAAA,EAAI,EAAA;AAC5B,sBAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA;AACnC,sBAAA,IAAI,CAAC,KAAA,EAAO;AACV,wBAAA;AAAA,sBACF;AACA,sBAAA,MAAM,YAAA,GAAe;AAAA,wBACnB,OAAA;AAAA,wBACA,KAAA;AAAA,wBACA,QAAQ,KAAA,CAAM,MAAA;AAAA,wBACd,YAAY,KAAA,CAAM;AAAA,uBACpB;AACA,sBAAA,MAAM,aAAA,GAAgB,OAAA,CAAQ,GAAA,GAAA,CAAO,GAAA,GAAM,KAAA,CAAM,OAAA,EAAS,IAAA,KAAS,IAAA,GAAO,KAAA,CAAA,GAAS,GAAA,CAAI,IAAA,CAAK,GAAA,EAAK,YAAY,CAAA,CAAA;AAC7G,sBAAA,MAAM,IAAA,GAAO,aAAA,IAAiB,IAAA,GAAO,KAAA,CAAA,GAAS,aAAA,CAAc,IAAA;AAC5D,sBAAA,MAAM,KAAA,GAAQ,aAAA,IAAiB,IAAA,GAAO,KAAA,CAAA,GAAS,aAAA,CAAc,KAAA;AAC7D,sBAAA,MAAM,WAAA,GAAc,aAAA,IAAiB,IAAA,GAAO,KAAA,CAAA,GAAS,aAAA,CAAc,OAAA;AACnE,sBAAA,MAAM,MAAA,GAAS,aAAA,IAAiB,IAAA,GAAO,KAAA,CAAA,GAAS,aAAA,CAAc,MAAA;AAC9D,sBAAA,MAAM,OAAA,GAAU,OAAA,CAAQ,GAAA,GAAA,CAAO,GAAA,GAAM,KAAA,CAAM,OAAA,EAAS,OAAA,KAAY,IAAA,GAAO,KAAA,CAAA,GAAS,GAAA,CAAI,IAAA,CAAK,GAAA,EAAK,YAAY,CAAA,CAAA;AAC1G,sBAAA,MAAM,OAAA,GAAU,OAAA,CAAQ,EAAA,GAAA,CAAM,EAAA,GAAK,KAAA,CAAM,OAAA,EAAS,OAAA,KAAY,IAAA,GAAO,KAAA,CAAA,GAAS,EAAA,CAAG,IAAA,CAAK,EAAA,EAAI,YAAY,CAAA,CAAA;AACtG,sBAAA,OAAO;AAAA,wBACL,IAAA;AAAA,wBACA,KAAA;AAAA,wBACA,WAAA;AAAA,wBACA,OAAA;AAAA,wBACA,OAAA;AAAA,wBACA;AAAA,uBACF;AAAA,oBACF,CAAA;AACA,oBAAA,MAAM,6BAA6B,YAAY;AAC7C,sBAAA,MAAM,WAAA,GAAc,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA;AACzC,sBAAA,IAAI,YAAY,iBAAA,EAAmB;AACjC,wBAAA,MAAM,WAAA,CAAY,iBAAA;AAAA,sBACpB;AAAA,oBACF,CAAA;AACA,oBAAA,MAAM,SAAA,GAAY,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA;AACvC,oBAAA,IAAI,gBAAA,CAAiB,OAAO,CAAA,EAAG;AAC7B,sBAAA,IAAI,KAAK,QAAA,EAAU;AACjB,wBAAA,MAAM,IAAA,GAAO,MAAM,WAAA,EAAY;AAC/B,wBAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,MAAU;AAAA,0BAC9B,GAAG,IAAA;AAAA,0BACH,GAAG;AAAA,yBACL,CAAE,CAAA;AACF,wBAAA,OAAO,IAAA,CAAK,SAAS,OAAO,CAAA;AAAA,sBAC9B;AAAA,oBACF,CAAA,MAAA,IAAW,UAAU,aAAA,EAAe;AAClC,sBAAA,IAAI,UAAU,MAAA,KAAW,SAAA,IAAa,CAAC,IAAA,IAAQ,CAAC,UAAU,OAAA,EAAS;AACjE,wBAAA,OAAO,IAAA,CAAK,SAAS,OAAO,CAAA;AAAA,sBAC9B;AACA,sBAAA,MAAM,SAAA,CAAU,aAAA;AAChB,sBAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA;AACnC,sBAAA,IAAI,MAAM,KAAA,EAAO;AACf,wBAAA,yBAAA,CAA0B,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA,sBAC9C;AAAA,oBACF,CAAA,MAAO;AACL,sBAAA,MAAM,kBAAA,GAAqB,aAAA,CAAc,KAAA,GAAQ,CAAC,CAAA;AAClD,sBAAA,MAAM,mBAAmB,MAAM;AAC7B,wBAAA,MAAM;AAAA,0BACJ,MAAA;AAAA,0BACA,UAAA;AAAA,0BACA,eAAA;AAAA,0BACA,OAAA;AAAA,0BACA;AAAA,yBACF,GAAI,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA;AACzB,wBAAA,MAAM,QAAA,GAAW,eAAe,OAAO,CAAA;AACvC,wBAAA,OAAO;AAAA,0BACL,MAAA;AAAA,0BACA,IAAA,EAAM,UAAA;AAAA,0BACN,OAAA,EAAS,CAAC,CAAC,QAAA;AAAA,0BACX,kBAAA;AAAA,0BACA,eAAA;AAAA,0BACA,OAAA;AAAA,0BACA,QAAA;AAAA,0BACA,QAAA,EAAU,CAAC,IAAA,KAAS,IAAA,CAAK,QAAA,CAAS,EAAE,GAAG,IAAA,EAAM,aAAA,EAAe,QAAA,EAAU,CAAA;AAAA,0BACtE,KAAA,EAAO,WAAW,SAAA,GAAY,KAAA;AAAA,0BAC9B;AAAA,yBACF;AAAA,sBACF,CAAA;AACA,sBAAA,MAAM,MAAM,IAAA,CAAK,GAAA,KAAQ,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA,CAAE,SAAA;AAChD,sBAAA,MAAM,OAAA,GAAU,eAAe,OAAO,CAAA;AACtC,sBAAA,MAAM,QAAA,GAAW,OAAA,GAAU,KAAA,CAAM,OAAA,CAAQ,oBAAoB,IAAA,CAAK,OAAA,CAAQ,uBAAA,IAA2B,GAAA,GAAM,KAAA,CAAM,OAAA,CAAQ,SAAA,IAAa,IAAA,CAAK,QAAQ,gBAAA,IAAoB,CAAA;AACvK,sBAAA,MAAM,kBAAA,GAAqB,MAAM,OAAA,CAAQ,YAAA;AACzC,sBAAA,MAAM,eAAe,OAAO,kBAAA,KAAuB,aAAa,kBAAA,CAAmB,gBAAA,EAAkB,CAAA,GAAI,kBAAA;AACzG,sBAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,MAAU;AAAA,wBAC9B,GAAG,IAAA;AAAA,wBACH,eAAe,uBAAA,EAAwB;AAAA,wBACvC,OAAA,EAAS,CAAC,CAAC,OAAA,IAAW,CAAC,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,OAAO,OAAO;AAAA,uBACxE,CAAE,CAAA;AACF,sBAAA,MAAM,YAAY,YAAY;AAC5B,wBAAA,IAAI,GAAA,EAAK,KAAK,GAAA,EAAK,GAAA;AACnB,wBAAA,IAAI;AACF,0BAAA,IAAI;AACF,4BAAA,IAAI,CAAC,IAAA,CAAK,QAAA,IAAY,IAAA,CAAK,QAAA,IAAY,KAAK,QAAA,CAAS,OAAO,CAAA,CAAE,GAAA,KAAQ,IAAA,EAAM;AAC1E,8BAAA,IAAA,CAAK,eAAe,KAAK,CAAA;AAAA,4BAC3B;AACA,4BAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,MAAU;AAAA,8BAC9B,GAAG,IAAA;AAAA,8BACH,UAAA,EAAY;AAAA,6BACd,CAAE,CAAA;AACF,4BAAA,MAAM,UAAA,GAAa,OAAA,CAAQ,GAAA,GAAA,CAAO,GAAA,GAAM,KAAA,CAAM,OAAA,EAAS,MAAA,KAAW,IAAA,GAAO,KAAA,CAAA,GAAS,GAAA,CAAI,IAAA,CAAK,GAAA,EAAK,kBAAkB,CAAA,CAAA;AAClH,4BAAA,yBAAA;AAAA,8BACE,IAAA,CAAK,SAAS,OAAO,CAAA;AAAA,8BACrB;AAAA,6BACF;AACA,4BAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,MAAU;AAAA,8BAC9B,GAAG,IAAA;AAAA,8BACH;AAAA,6BACF,CAAE,CAAA;AACF,4BAAA,MAAM,KAAA,CAAM,YAAA;AACZ,4BAAA,MAAM,IAAA,GAAO,MAAM,WAAA,EAAY;AAC/B,4BAAA,MAAM,0BAAA,EAA2B;AACjC,4BAAA,MAAM,KAAA,CAAM,kBAAA;AACZ,4BAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,MAAU;AAAA,8BAC9B,GAAG,IAAA;AAAA,8BACH,KAAA,EAAO,KAAA,CAAA;AAAA,8BACP,MAAA,EAAQ,SAAA;AAAA,8BACR,UAAA,EAAY,KAAA;AAAA,8BACZ,SAAA,EAAW,KAAK,GAAA,EAAI;AAAA,8BACpB,GAAG;AAAA,6BACL,CAAE,CAAA;AAAA,0BACJ,SAAS,CAAA,EAAG;AACV,4BAAA,IAAI,KAAA,GAAQ,CAAA;AACZ,4BAAA,MAAM,0BAAA,EAA2B;AACjC,4BAAA,yBAAA,CAA0B,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA,EAAG,CAAC,CAAA;AACnD,4BAAA,IAAI;AACF,8BAAA,CAAC,GAAA,GAAA,CAAO,GAAA,GAAM,KAAA,CAAM,OAAA,EAAS,OAAA,KAAY,OAAO,KAAA,CAAA,GAAS,GAAA,CAAI,IAAA,CAAK,GAAA,EAAK,CAAC,CAAA;AAAA,4BAC1E,SAAS,YAAA,EAAc;AACrB,8BAAA,KAAA,GAAQ,YAAA;AACR,8BAAA,yBAAA;AAAA,gCACE,IAAA,CAAK,SAAS,OAAO,CAAA;AAAA,gCACrB;AAAA,+BACF;AAAA,4BACF;AACA,4BAAA,MAAM,IAAA,GAAO,MAAM,WAAA,EAAY;AAC/B,4BAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,MAAU;AAAA,8BAC9B,GAAG,IAAA;AAAA,8BACH,KAAA;AAAA,8BACA,MAAA,EAAQ,OAAA;AAAA,8BACR,UAAA,EAAY,KAAA;AAAA,8BACZ,GAAG;AAAA,6BACL,CAAE,CAAA;AAAA,0BACJ;AAAA,wBACF,SAAS,GAAA,EAAK;AACZ,0BAAA,MAAM,IAAA,GAAO,MAAM,WAAA,EAAY;AAC/B,0BAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,MAAU;AAAA,4BAC9B,GAAG,IAAA;AAAA,4BACH,aAAA,EAAe,KAAA,CAAA;AAAA,4BACf,GAAG;AAAA,2BACL,CAAE,CAAA;AACF,0BAAA,yBAAA,CAA0B,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA,EAAG,GAAG,CAAA;AAAA,wBACvD;AAAA,sBACF,CAAA;AACA,sBAAA,MAAM,EAAE,MAAA,EAAQ,OAAA,EAAQ,GAAI,IAAA,CAAK,SAAS,OAAO,CAAA;AACjD,sBAAA,oBAAA,GAAuB,MAAA,KAAW,SAAA,KAAc,OAAA,KAAY,YAAA,IAAgB,GAAA,GAAM,QAAA,CAAA,CAAA;AAClF,sBAAA,IAAI,OAAA,IAAW,KAAA,CAAM,OAAA,CAAQ,OAAA,KAAY,KAAA,EAAO;AAAA,sBAChD,CAAA,MAAA,IAAW,oBAAA,IAAwB,CAAC,IAAA,EAAM;AACxC,wBAAA,oBAAA,GAAuB,IAAA;AACvB,wBAAA,CAAC,YAAY;AACX,0BAAA,IAAI;AACF,4BAAA,MAAM,SAAA,EAAU;AAChB,4BAAA,MAAM,EAAE,aAAA,EAAe,WAAA,EAAY,GAAI,IAAA,CAAK,SAAS,OAAO,CAAA;AAC5D,4BAAA,aAAA,IAAiB,IAAA,GAAO,KAAA,CAAA,GAAS,aAAA,CAAc,OAAA,EAAQ;AACvD,4BAAA,WAAA,IAAe,IAAA,GAAO,KAAA,CAAA,GAAS,WAAA,CAAY,OAAA,EAAQ;AACnD,4BAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,MAAU;AAAA,8BAC9B,GAAG,IAAA;AAAA,8BACH,aAAA,EAAe,KAAA;AAAA,6BACjB,CAAE,CAAA;AAAA,0BACJ,SAAS,GAAA,EAAK;AACZ,4BAAA,IAAI,UAAA,CAAW,GAAG,CAAA,EAAG;AACnB,8BAAA,MAAM,IAAA,CAAK,QAAA,CAAS,GAAA,CAAI,OAAO,CAAA;AAAA,4BACjC;AAAA,0BACF;AAAA,wBACF,CAAA,GAAG;AAAA,sBACL,CAAA,MAAA,IAAW,MAAA,KAAW,SAAA,IAAa,oBAAA,IAAwB,IAAA,EAAM;AAC/D,wBAAA,MAAM,SAAA,EAAU;AAAA,sBAClB,CAAA,MAAO;AACL,wBAAA,MAAM,IAAA,GAAO,MAAM,WAAA,EAAY;AAC/B,wBAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,MAAU;AAAA,0BAC9B,GAAG,IAAA;AAAA,0BACH,GAAG;AAAA,yBACL,CAAE,CAAA;AAAA,sBACJ;AAAA,oBACF;AACA,oBAAA,IAAI,CAAC,oBAAA,EAAsB;AACzB,sBAAA,MAAM,EAAE,aAAA,EAAe,WAAA,EAAY,GAAI,IAAA,CAAK,SAAS,OAAO,CAAA;AAC5D,sBAAA,aAAA,IAAiB,IAAA,GAAO,KAAA,CAAA,GAAS,aAAA,CAAc,OAAA,EAAQ;AACvD,sBAAA,WAAA,IAAe,IAAA,GAAO,KAAA,CAAA,GAAS,WAAA,CAAY,OAAA,EAAQ;AAAA,oBACrD;AACA,oBAAA,WAAA,CAAY,OAAA,EAAS,CAAC,IAAA,KAAS;AAC7B,sBAAA,YAAA,CAAa,KAAK,cAAc,CAAA;AAChC,sBAAA,OAAO;AAAA,wBACL,GAAG,IAAA;AAAA,wBACH,UAAA,EAAY,oBAAA,GAAuB,IAAA,CAAK,UAAA,GAAa,KAAA;AAAA,wBACrD,aAAA,EAAe,oBAAA,GAAuB,IAAA,CAAK,aAAA,GAAgB,KAAA,CAAA;AAAA,wBAC3D,OAAA,EAAS,KAAA;AAAA,wBACT,cAAA,EAAgB,KAAA,CAAA;AAAA,wBAChB,WAAA,EAAa,KAAA;AAAA,uBACf;AAAA,oBACF,CAAC,CAAA;AACD,oBAAA,OAAO,IAAA,CAAK,SAAS,OAAO,CAAA;AAAA,kBAC9B,CAAA;AAAG,iBACL;AAAA,cACF,CAAC,CAAA;AACD,cAAA,MAAM,OAAA,CAAQ,IAAI,aAAa,CAAA;AAC/B,cAAA,UAAA,EAAW;AAAA,YACb,SAAS,GAAA,EAAK;AACZ,cAAA,SAAA,CAAU,GAAG,CAAA;AAAA,YACf;AAAA,UACF,CAAA,GAAG;AAAA,QACL,CAAC,CAAA;AACD,QAAA,MAAM,cAAA,EAAe;AAAA,MACvB,SAAS,GAAA,EAAK;AACZ,QAAA,IAAI,UAAA,CAAW,GAAG,CAAA,IAAK,UAAA,CAAW,GAAG,CAAA,EAAG;AACtC,UAAA,IAAI,UAAA,CAAW,GAAG,CAAA,IAAK,CAAC,UAAA,EAAY;AAClC,YAAA,MAAM,cAAA,EAAe;AAAA,UACvB;AACA,UAAA,MAAM,GAAA;AAAA,QACR;AAAA,MACF;AACA,MAAA,OAAO,OAAA;AAAA,IACT,CAAA;AACA,IAAA,IAAA,CAAK,UAAA,GAAa,CAAC,IAAA,KAAS;AAC1B,MAAA,MAAM,UAAA,GAAa,CAAC,CAAA,KAAM;AACxB,QAAA,IAAI,EAAA;AACJ,QAAA,IAAA,CAAA,CAAM,EAAA,GAAK,IAAA,IAAQ,IAAA,GAAO,MAAA,GAAS,IAAA,CAAK,MAAA,KAAW,IAAA,GAAO,MAAA,GAAS,EAAA,CAAG,IAAA,CAAK,IAAA,EAAM,CAAC,MAAM,IAAA,EAAM;AAC5F,UAAA,OAAO;AAAA,YACL,GAAG,CAAA;AAAA,YACH,OAAA,EAAS,IAAA;AAAA,YACT,GAAA,CAAI,IAAA,IAAQ,IAAA,GAAO,MAAA,GAAS,KAAK,YAAA,KAAiB,CAAA,CAAE,MAAA,KAAW,OAAA,GAAU,EAAE,MAAA,EAAQ,SAAA,EAAW,KAAA,EAAO,MAAA,KAAW;AAAC,WACnH;AAAA,QACF;AACA,QAAA,OAAO,CAAA;AAAA,MACT,CAAA;AACA,MAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,KAAM;AAC3B,QAAA,IAAI,EAAA;AACJ,QAAA,OAAO;AAAA,UACL,GAAG,CAAA;AAAA,UACH,OAAA,EAAS,CAAA,CAAE,OAAA,CAAQ,GAAA,CAAI,UAAU,CAAA;AAAA,UACjC,aAAA,EAAe,CAAA,CAAE,aAAA,CAAc,GAAA,CAAI,UAAU,CAAA;AAAA,UAC7C,cAAA,EAAA,CAAiB,KAAK,CAAA,CAAE,cAAA,KAAmB,OAAO,MAAA,GAAS,EAAA,CAAG,IAAI,UAAU;AAAA,SAC9E;AAAA,MACF,CAAC,CAAA;AACD,MAAA,IAAA,CAAK,oBAAA,GAAuB,KAAA;AAC5B,MAAA,OAAO,IAAA,CAAK,KAAK,EAAE,IAAA,EAAM,QAAQ,IAAA,GAAO,MAAA,GAAS,IAAA,CAAK,IAAA,EAAM,CAAA;AAAA,IAC9D,CAAA;AACA,IAAA,IAAA,CAAK,eAAA,GAAkB,CAAC,SAAA,KAAc;AACpC,MAAA,IAAI,CAAC,SAAA,CAAU,OAAA,CAAQ,IAAA,EAAM;AAC3B,QAAA,SAAA,CAAU,QAAQ,IAAA,GAAO,IAAA,CAAK,aAAA,CAAc,SAAA,CAAU,OAAO,CAAA,CAAE,IAAA;AAC/D,QAAA,SAAA,CAAU,OAAA,CAAQ,GAAA,CAAI,UAAA,EAAY,SAAA,CAAU,QAAQ,IAAI,CAAA;AAAA,MAC1D;AACA,MAAA,IAAI,CAAC,SAAA,CAAU,OAAA,CAAQ,GAAA,CAAI,UAAU,CAAA,EAAG;AACtC,QAAA,SAAA,CAAU,OAAA,CAAQ,GAAA,CAAI,UAAA,EAAY,SAAA,CAAU,QAAQ,IAAI,CAAA;AAAA,MAC1D;AACA,MAAA,OAAO,SAAA;AAAA,IACT,CAAA;AACA,IAAA,IAAA,CAAK,UAAA,GAAa,CAAC,IAAA,KAAS;AAC1B,MAAA,MAAM,MAAA,GAAS,IAAA,IAAQ,IAAA,GAAO,MAAA,GAAS,IAAA,CAAK,MAAA;AAC5C,MAAA,IAAI,WAAW,MAAA,EAAQ;AACrB,QAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,KAAM;AAC3B,UAAA,OAAO;AAAA,YACL,GAAG,CAAA;AAAA,YACH,aAAA,EAAe,EAAE,aAAA,CAAc,MAAA;AAAA,cAC7B,CAAC,CAAA,KAAM,CAAC,MAAA,CAAO,CAAC;AAAA;AAClB,WACF;AAAA,QACF,CAAC,CAAA;AAAA,MACH,CAAA,MAAO;AACL,QAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,KAAM;AAC3B,UAAA,OAAO;AAAA,YACL,GAAG,CAAA;AAAA,YACH,eAAe;AAAC,WAClB;AAAA,QACF,CAAC,CAAA;AAAA,MACH;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,oBAAoB,MAAM;AAC7B,MAAA,MAAM,MAAA,GAAS,CAAC,CAAA,KAAM;AACpB,QAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,eAAA,CAAgB,CAAA,CAAE,OAAO,CAAA;AAC5C,QAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,MAAA,EAAQ;AACzB,UAAA,OAAO,IAAA;AAAA,QACT;AACA,QAAA,MAAM,UAAU,CAAA,CAAE,OAAA,GAAU,KAAA,CAAM,OAAA,CAAQ,iBAAiB,IAAA,CAAK,OAAA,CAAQ,oBAAA,GAAuB,KAAA,CAAM,QAAQ,MAAA,IAAU,IAAA,CAAK,OAAA,CAAQ,aAAA,KAAkB,IAAI,EAAA,GAAK,GAAA;AAC/J,QAAA,MAAM,OAAA,GAAU,EAAE,MAAA,KAAW,OAAA;AAC7B,QAAA,IAAI,SAAS,OAAO,IAAA;AACpB,QAAA,MAAM,UAAA,GAAa,IAAA,CAAK,GAAA,EAAI,GAAI,EAAE,SAAA,IAAa,MAAA;AAC/C,QAAA,OAAO,UAAA;AAAA,MACT,CAAA;AACA,MAAA,IAAA,CAAK,UAAA,CAAW,EAAE,MAAA,EAAQ,CAAA;AAAA,IAC5B,CAAA;AACA,IAAA,IAAA,CAAK,cAAA,GAAiB,CAAC,KAAA,KAAU;AAC/B,MAAA,IAAI,KAAA,CAAM,iBAAiB,MAAA,EAAQ;AACjC,QAAA,IAAI,MAAM,MAAA,EAAQ;AAChB,UAAA,KAAA,CAAM,eAAe,KAAA,CAAM,MAAA,EAAO,CAAE,IAAA,CAAK,CAAC,SAAA,KAAc;AACtD,YAAA,MAAM,EAAE,EAAA,EAAI,GAAA,EAAK,GAAG,QAAA,KAAa,SAAA,CAAU,OAAA;AAC3C,YAAA,MAAA,CAAO,MAAA,CAAO,KAAA,CAAM,OAAA,EAAS,QAAQ,CAAA;AAAA,UACvC,CAAC,CAAA;AAAA,QACH,CAAA,MAAO;AACL,UAAA,KAAA,CAAM,YAAA,GAAe,QAAQ,OAAA,EAAQ;AAAA,QACvC;AAAA,MACF;AACA,MAAA,IAAI,KAAA,CAAM,uBAAuB,MAAA,EAAQ;AACvC,QAAA,KAAA,CAAM,kBAAA,GAAqB,MAAM,YAAA,CAAa,IAAA;AAAA,UAC5C,MAAM,OAAA,CAAQ,GAAA;AAAA,YACZ,cAAA,CAAe,GAAA,CAAI,OAAO,IAAA,KAAS;AACjC,cAAA,MAAM,SAAA,GAAY,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA;AACpC,cAAA,IAAI,SAAA,IAAa,IAAA,GAAO,MAAA,GAAS,SAAA,CAAU,OAAA,EAAS;AAClD,gBAAA,MAAM,UAAU,OAAA,EAAQ;AAAA,cAC1B;AAAA,YACF,CAAC;AAAA;AACH,SACF;AAAA,MACF;AACA,MAAA,OAAO,KAAA,CAAM,kBAAA;AAAA,IACf,CAAA;AACA,IAAA,IAAA,CAAK,YAAA,GAAe,OAAO,IAAA,KAAS;AAClC,MAAA,MAAM,IAAA,GAAO,IAAA,CAAK,aAAA,CAAc,IAAI,CAAA;AACpC,MAAA,IAAI,OAAA,GAAU,IAAA,CAAK,WAAA,CAAY,IAAA,EAAM;AAAA,QACnC,YAAA,EAAc,IAAA;AAAA,QACd,OAAA,EAAS,IAAA;AAAA,QACT,IAAA,EAAM;AAAA,OACP,CAAA;AACD,MAAA,MAAM,iBAAiB,IAAI,GAAA;AAAA,QACzB,CAAC,GAAG,IAAA,CAAK,KAAA,CAAM,OAAA,EAAS,GAAG,IAAA,CAAK,KAAA,CAAM,cAAA,IAAkB,EAAE,CAAA,CAAE,GAAA;AAAA,UAC1D,CAAC,MAAM,CAAA,CAAE;AAAA;AACX,OACF;AACA,MAAA,MAAM,cAAA,uBAAqC,GAAA,CAAI;AAAA,QAC7C,GAAG,cAAA;AAAA,QACH,GAAG,KAAK,KAAA,CAAM,aAAA,CAAc,IAAI,CAAC,CAAA,KAAM,EAAE,EAAE;AAAA,OAC5C,CAAA;AACD,MAAA,KAAA,CAAM,MAAM;AACV,QAAA,OAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,KAAU;AACzB,UAAA,IAAI,CAAC,cAAA,CAAe,GAAA,CAAI,KAAA,CAAM,EAAE,CAAA,EAAG;AACjC,YAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,MAAO;AAAA,cAC5B,GAAG,CAAA;AAAA,cACH,aAAA,EAAe,CAAC,GAAG,CAAA,CAAE,eAAe,KAAK;AAAA,aAC3C,CAAE,CAAA;AAAA,UACJ;AAAA,QACF,CAAC,CAAA;AAAA,MACH,CAAC,CAAA;AACD,MAAA,IAAI;AACF,QAAA,OAAA,GAAU,MAAM,KAAK,WAAA,CAAY;AAAA,UAC/B,OAAA;AAAA,UACA,QAAA,EAAU,IAAA;AAAA,UACV,OAAA,EAAS,IAAA;AAAA,UACT,WAAA,EAAa,CAAC,EAAA,EAAI,OAAA,KAAY;AAC5B,YAAA,IAAI,cAAA,CAAe,GAAA,CAAI,EAAE,CAAA,EAAG;AAC1B,cAAA,OAAA,GAAU,OAAA,CAAQ,GAAA,CAAI,CAAC,CAAA,KAAM,CAAA,CAAE,OAAO,EAAA,GAAK,OAAA,CAAQ,CAAC,CAAA,GAAI,CAAC,CAAA;AAAA,YAC3D,CAAA,MAAO;AACL,cAAA,IAAA,CAAK,WAAA,CAAY,IAAI,OAAO,CAAA;AAAA,YAC9B;AAAA,UACF;AAAA,SACD,CAAA;AACD,QAAA,OAAO,OAAA;AAAA,MACT,SAAS,GAAA,EAAK;AACZ,QAAA,IAAI,UAAA,CAAW,GAAG,CAAA,EAAG;AACnB,UAAA,IAAI,GAAA,CAAI,QAAQ,cAAA,EAAgB;AAC9B,YAAA,OAAO,MAAA;AAAA,UACT;AACA,UAAA,OAAO,MAAM,KAAK,YAAA,CAAa;AAAA,YAC7B,GAAG,GAAA,CAAI,OAAA;AAAA,YACP,aAAA,EAAe;AAAA,WAChB,CAAA;AAAA,QACH;AACA,QAAA,IAAI,CAAC,UAAA,CAAW,GAAG,CAAA,EAAG;AACpB,UAAA,OAAA,CAAQ,MAAM,GAAG,CAAA;AAAA,QACnB;AACA,QAAA,OAAO,MAAA;AAAA,MACT;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,UAAA,GAAa,CAAC,QAAA,EAAU,IAAA,KAAS;AACpC,MAAA,MAAM,aAAA,GAAgB;AAAA,QACpB,GAAG,QAAA;AAAA,QACH,EAAA,EAAI,QAAA,CAAS,EAAA,GAAK,IAAA,CAAK,mBAAA;AAAA,UACrB,SAAS,IAAA,IAAQ,EAAA;AAAA,UACjB,QAAA,CAAS;AAAA,SACX,GAAI,MAAA;AAAA,QACJ,MAAA,EAAQ,QAAA,CAAS,MAAA,IAAU,EAAC;AAAA,QAC5B,WAAA,EAAa;AAAA,OACf;AACA,MAAA,MAAM,IAAA,GAAO,IAAA,CAAK,aAAA,CAAc,aAAa,CAAA;AAC7C,MAAA,IAAA,CAAK,IAAA,IAAQ,OAAO,MAAA,GAAS,IAAA,CAAK,YAAY,IAAA,CAAK,KAAA,CAAM,WAAW,SAAA,EAAW;AAC7E,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,MAAM,OAAA,GAAA,CAAW,IAAA,IAAQ,IAAA,GAAO,MAAA,GAAS,IAAA,CAAK,OAAA,MAAa,MAAA,GAAS,CAAC,IAAA,CAAK,KAAA,CAAM,SAAA,GAAY,IAAA,CAAK,OAAA;AACjG,MAAA,MAAM,YAAA,GAAe,UAAU,IAAA,CAAK,cAAA,GAAiB,KAAK,KAAA,CAAM,gBAAA,IAAoB,KAAK,KAAA,CAAM,QAAA;AAC/F,MAAA,MAAM,KAAA,GAAQ,aAAA;AAAA,QACZ,IAAA,CAAK,QAAA;AAAA,QACL,YAAA,CAAa,QAAA;AAAA,QACb;AAAA,UACE,GAAG,IAAA;AAAA,UACH,IAAI,IAAA,CAAK;AAAA,SACX;AAAA,QACA,IAAA,CAAK;AAAA,OACP;AACA,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,IAAI,SAAS,MAAA,EAAQ;AACnB,QAAA,IAAI,CAAC,UAAU,KAAA,EAAO,QAAA,CAAS,QAAQ,EAAE,OAAA,EAAS,IAAA,EAAM,CAAA,EAAG;AACzD,UAAA,OAAO,KAAA;AAAA,QACT;AAAA,MACF;AACA,MAAA,IAAI,WAAW,IAAA,IAAQ,IAAA,GAAO,MAAA,GAAS,IAAA,CAAK,kBAAkB,IAAA,CAAA,EAAO;AACnE,QAAA,OAAO,SAAA,CAAU,YAAA,CAAa,MAAA,EAAQ,IAAA,CAAK,MAAA,EAAQ,EAAE,OAAA,EAAS,IAAA,EAAM,CAAA,GAAI,KAAA,GAAQ,KAAA;AAAA,MAClF;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAA;AACA,IAAA,IAAA,CAAK,eAAA,GAAkB,CAAC,OAAA,EAAS,GAAA,EAAK;AAAA,MACpC,cAAc,IAAA,CAAK;AAAA,KACrB,GAAI,EAAC,KAAM;AACT,MAAA,IAAI,EAAA;AACJ,MAAA,MAAM,cAAc,IAAA,CAAK,UAAA,CAAW,IAAI,OAAA,IAAW,EAAE,KAAK,IAAA,CAAK,SAAA;AAC/D,MAAA,MAAM,mBAAmB,EAAC;AAC1B,MAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC3B,QAAA,gBAAA,CAAiB,KAAA,CAAM,OAAO,CAAA,GAAI,KAAA;AAAA,MACpC;AACA,MAAA,IAAI,CAAC,WAAA,CAAY,OAAA,CAAQ,iBAAA,KAAA,CAAuB,EAAA,GAAK,KAAK,OAAA,KAAY,IAAA,GAAO,MAAA,GAAS,EAAA,CAAG,wBAAA,CAAA,EAA2B;AAClH,QAAA,WAAA,CAAY,OAAA,CAAQ,iBAAA,GAAoB,IAAA,CAAK,OAAA,CAAQ,wBAAA;AAAA,MACvD;AACA,MAAA,SAAA;AAAA,QACE,YAAY,OAAA,CAAQ,iBAEtB,CAAA;AACA,MAAA,MAAM,aAAA,GAAgB,gBAAA,CAAiB,WAAA,CAAY,EAAE,CAAA;AACrD,MAAA,SAAA;AAAA,QACE,aAAA;AAAA,QACA,qCAAqC,WAAA,CAAY;AAAA,OACnD;AACA,MAAA,WAAA,CAAY,aAAA,CAAc,EAAA,EAAI,CAAC,IAAA,MAAU;AAAA,QACvC,GAAG,IAAA;AAAA,QACH,MAAA,EAAQ,UAAA;AAAA,QACR,KAAA,EAAO,GAAA;AAAA,QACP,UAAA,EAAY;AAAA,OACd,CAAE,CAAA;AACF,MAAA,IAAI,GAAA,CAAI,UAAA,KAAe,aAAA,IAAiB,WAAA,CAAY,WAAA,EAAa;AAC/D,QAAA,GAAA,CAAI,OAAA,GAAU,YAAY,WAAA,CAAY,EAAA;AACtC,QAAA,IAAA,CAAK,eAAA,CAAgB,SAAS,GAAA,EAAK;AAAA,UACjC;AAAA,SACD,CAAA;AAAA,MACH;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,mBAAmB,MAAM;AAC5B,MAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,KAAA,CAAM,OAAA,CAAQ,IAAA;AAAA,QAChC,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW,cAAc,CAAA,CAAE;AAAA,OACtC;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,MAAA,CAAO;AAAA,MACV,mBAAA,EAAqB,EAAA;AAAA,MACrB,gBAAA,EAAkB,GAAA;AAAA,MAClB,mBAAA,EAAqB,GAAA;AAAA,MACrB,OAAA,EAAS,MAAA;AAAA,MACT,GAAG,OAAA;AAAA,MACH,aAAA,EAAe,QAAQ,aAAA,IAAiB,KAAA;AAAA,MACxC,YAAA,EAAc,QAAQ,YAAA,IAAgB,OAAA;AAAA,MACtC,eAAA,EAAiB,QAAQ,eAAA,IAAmB,sBAAA;AAAA,MAC5C,WAAA,EAAa,QAAQ,WAAA,IAAe;AAAA,KACrC,CAAA;AACD,IAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACnC,MAAA,IAAA,CAAK,cAAA,GAAiB,IAAA;AAAA,IACxB;AAAA,EACF;AAAA,EACA,OAAA,GAAU;AACR,IAAA,OAAO,CAAC,CAAC,IAAA,CAAK,OAAA,CAAQ,OAAA;AAAA,EACxB;AAAA,EACA,cAAA,GAAiB;AACf,IAAA,OAAO,CAAC,CAAC,IAAA,CAAK,OAAA,CAAQ,cAAA;AAAA,EACxB;AAAA,EACA,IAAI,KAAA,GAAQ;AACV,IAAA,OAAO,KAAK,OAAA,CAAQ,KAAA;AAAA,EACtB;AAAA,EACA,IAAI,eAAA,GAAkB;AACpB,IAAA,OAAO,IAAA,CAAK,UAAA;AAAA,EACd;AAAA,EACA,mBAAA,CAAoB,MAAM,IAAA,EAAM;AAC9B,IAAA,IAAI,EAAA;AACJ,IAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAe,WAAA,KAAgB,IAAA,CAAK,gBAAA;AAAA,MACtD,IAAA,CAAK,QAAA;AAAA,MAAA,CACJ,EAAA,GAAK,QAAQ,IAAA,GAAO,MAAA,GAAS,KAAK,IAAA,KAAS,IAAA,GAAO,SAAS,EAAA,CAAG;AAAA,KACjE;AACA,IAAA,IAAI,gBAAA,GAAmB,KAAA;AACvB,IAAA;AAAA;AAAA,MAEE,UAAA,GAAa,UAAA,CAAW,IAAA,KAAS,GAAA,IAAO,YAAY,IAAI,CAAA;AAAA;AAAA,QAEtD,aAAA,CAAc,KAAK,QAAQ;AAAA;AAAA,MAE7B;AACA,MAAA,IAAI,IAAA,CAAK,QAAQ,aAAA,EAAe;AAC9B,QAAA,aAAA,CAAc,IAAA,CAAK,IAAA,CAAK,OAAA,CAAQ,aAAa,CAAA;AAAA,MAC/C,CAAA,MAAO;AACL,QAAA,gBAAA,GAAmB,IAAA;AAAA,MACrB;AAAA,IACF;AACA,IAAA,MAAM,yBAAyB,MAAM;AACnC,MAAA,IAAI,CAAC,gBAAA,EAAkB;AACrB,QAAA,OAAO,MAAA;AAAA,MACT;AACA,MAAA,IAAI,IAAA,CAAK,OAAA,CAAQ,YAAA,KAAiB,MAAA,EAAQ;AACxC,QAAA,KAAA,IAAS,IAAI,aAAA,CAAc,MAAA,GAAS,CAAA,EAAG,CAAA,IAAK,GAAG,CAAA,EAAA,EAAK;AAClD,UAAA,MAAM,KAAA,GAAQ,cAAc,CAAC,CAAA;AAC7B,UAAA,IAAI,MAAM,QAAA,EAAU;AAClB,YAAA,OAAO,KAAA,CAAM,EAAA;AAAA,UACf;AAAA,QACF;AAAA,MACF;AACA,MAAA,OAAO,WAAA;AAAA,IACT,CAAA,GAAG;AACH,IAAA,MAAM,WAAA,GAAc,aAAA,CAAc,GAAA,CAAI,CAAC,KAAA,KAAU;AAC/C,MAAA,IAAI,GAAA;AACJ,MAAA,IAAI,iBAAA;AACJ,MAAA,MAAM,WAAA,GAAA,CAAA,CAAgB,GAAA,GAAM,KAAA,CAAM,OAAA,CAAQ,MAAA,KAAW,OAAO,MAAA,GAAS,GAAA,CAAI,KAAA,KAAU,KAAA,CAAM,OAAA,CAAQ,WAAA;AACjG,MAAA,IAAI,WAAA,EAAa;AACf,QAAA,IAAI;AACF,UAAA,MAAM,YAAA,GAAe,YAAY,WAAW,CAAA;AAC5C,UAAA,MAAA,CAAO,MAAA,CAAO,aAAa,YAAY,CAAA;AAAA,QACzC,SAAS,GAAA,EAAK;AACZ,UAAA,iBAAA,GAAoB,IAAI,cAAA,CAAe,GAAA,CAAI,OAAA,EAAS;AAAA,YAClD,KAAA,EAAO;AAAA,WACR,CAAA;AACD,UAAA,IAAI,IAAA,IAAQ,IAAA,GAAO,MAAA,GAAS,IAAA,CAAK,YAAA,EAAc;AAC7C,YAAA,MAAM,iBAAA;AAAA,UACR;AACA,UAAA,OAAO,iBAAA;AAAA,QACT;AAAA,MACF;AACA,MAAA;AAAA,IACF,CAAC,CAAA;AACD,IAAA,MAAM,UAAU,EAAC;AACjB,IAAA,MAAM,gBAAA,GAAmB,CAAC,WAAA,KAAgB;AACxC,MAAA,MAAM,aAAA,GAAgB,WAAA,IAAe,IAAA,GAAO,MAAA,GAAS,WAAA,CAAY,EAAA;AACjE,MAAA,MAAM,aAAA,GAAgB,CAAC,aAAA,GAAgB,IAAA,CAAK,OAAA,CAAQ,OAAA,IAAW,EAAC,GAAI,WAAA,CAAY,OAAA,IAAW,IAAA,CAAK,OAAA,CAAQ,WAAW,EAAC;AACpH,MAAA,OAAO,aAAA;AAAA,IACT,CAAA;AACA,IAAA,aAAA,CAAc,OAAA,CAAQ,CAAC,KAAA,EAAO,KAAA,KAAU;AACtC,MAAA,IAAI,GAAA,EAAK,EAAA;AACT,MAAA,MAAM,WAAA,GAAc,OAAA,CAAQ,KAAA,GAAQ,CAAC,CAAA;AACrC,MAAA,MAAM,CAAC,cAAA,EAAgB,iBAAA,EAAmB,WAAW,KAAK,MAAM;AAC9D,QAAA,MAAM,gBAAgB,WAAA,IAAe,IAAA,GAAO,MAAA,GAAS,WAAA,CAAY,WAAW,IAAA,CAAK,MAAA;AACjF,QAAA,MAAM,sBAAsB,WAAA,IAAe,IAAA,GAAO,MAAA,GAAS,WAAA,CAAY,kBAAkB,EAAC;AAC1F,QAAA,IAAI;AACF,UAAA,MAAM,YAAA,GAAe,cAAA,CAAe,KAAA,CAAM,OAAA,CAAQ,cAAA,EAAgB,EAAE,GAAG,YAAA,EAAc,CAAA,IAAK,EAAC;AAC3F,UAAA,OAAO;AAAA,YACL;AAAA,cACE,GAAG,YAAA;AAAA,cACH,GAAG;AAAA,aACL;AAAA,YACA,EAAE,GAAG,kBAAA,EAAoB,GAAG,YAAA,EAAa;AAAA,YACzC,KAAA;AAAA,WACF;AAAA,QACF,SAAS,GAAA,EAAK;AACZ,UAAA,IAAI,gBAAA,GAAmB,GAAA;AACvB,UAAA,IAAI,EAAE,eAAe,gBAAA,CAAA,EAAmB;AACtC,YAAA,gBAAA,GAAmB,IAAI,gBAAA,CAAiB,GAAA,CAAI,OAAA,EAAS;AAAA,cACnD,KAAA,EAAO;AAAA,aACR,CAAA;AAAA,UACH;AACA,UAAA,IAAI,IAAA,IAAQ,IAAA,GAAO,MAAA,GAAS,IAAA,CAAK,YAAA,EAAc;AAC7C,YAAA,MAAM,gBAAA;AAAA,UACR;AACA,UAAA,OAAO,CAAC,YAAA,EAAc,EAAC,EAAG,gBAAgB,CAAA;AAAA,QAC5C;AAAA,MACF,CAAA,GAAG;AACH,MAAA,MAAM,UAAA,GAAA,CAAA,CAAe,EAAA,GAAA,CAAM,GAAA,GAAM,KAAA,CAAM,OAAA,EAAS,eAAe,IAAA,GAAO,MAAA,GAAS,EAAA,CAAG,IAAA,CAAK,GAAA,EAAK;AAAA,QAC1F,MAAA,EAAQ;AAAA,OACT,CAAA,KAAM,EAAA;AACP,MAAA,MAAM,cAAA,GAAiB,UAAA,GAAa,IAAA,CAAK,SAAA,CAAU,UAAU,CAAA,GAAI,EAAA;AACjE,MAAA,MAAM,EAAE,UAAA,EAAY,gBAAA,EAAiB,GAAI,eAAA,CAAgB;AAAA,QACvD,MAAM,KAAA,CAAM,QAAA;AAAA,QACZ,MAAA,EAAQ,WAAA;AAAA,QACR,eAAe,IAAA,CAAK;AAAA,OACrB,CAAA;AACD,MAAA,MAAM,UAAU,eAAA,CAAgB;AAAA,QAC9B,MAAM,KAAA,CAAM,EAAA;AAAA,QACZ,MAAA,EAAQ,WAAA;AAAA,QACR,cAAA,EAAgB,IAAA;AAAA,QAChB,eAAe,IAAA,CAAK,uBAAA;AAAA,QACpB,YAAY,IAAA,CAAK;AAAA,OAClB,EAAE,gBAAA,GAAmB,cAAA;AACtB,MAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA;AAC3C,MAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,IAAA;AAAA,QACvC,CAAC,CAAA,KAAM,CAAA,CAAE,OAAA,KAAY,KAAA,CAAM;AAAA,OAC7B;AACA,MAAA,MAAM,KAAA,GAAQ,gBAAgB,MAAA,GAAS,OAAA;AACvC,MAAA,IAAI,KAAA;AACJ,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,KAAA,GAAQ;AAAA,UACN,GAAG,aAAA;AAAA,UACH,KAAA;AAAA,UACA,QAAQ,aAAA,GAAgB,gBAAA,CAAiB,aAAA,CAAc,MAAA,EAAQ,WAAW,CAAA,GAAI,WAAA;AAAA,UAC9E,aAAA,EAAe,UAAA;AAAA,UACf,MAAA,EAAQ,aAAA,GAAgB,gBAAA,CAAiB,aAAA,CAAc,MAAA,EAAQ,cAAc,CAAA,GAAI,gBAAA,CAAiB,aAAA,CAAc,MAAA,EAAQ,cAAc,CAAA;AAAA,UACtI,aAAA,EAAe;AAAA,SACjB;AAAA,MACF,CAAA,MAAO;AACL,QAAA,MAAM,MAAA,GAAS,KAAA,CAAM,OAAA,CAAQ,MAAA,IAAU,KAAA,CAAM,OAAA,CAAQ,UAAA,IAAc,KAAA,CAAM,MAAA,IAAU,iBAAA,CAAkB,KAAK,CAAA,GAAI,SAAA,GAAY,SAAA;AAC1H,QAAA,KAAA,GAAQ;AAAA,UACN,EAAA,EAAI,OAAA;AAAA,UACJ,KAAA;AAAA,UACA,SAAS,KAAA,CAAM,EAAA;AAAA,UACf,QAAQ,aAAA,GAAgB,gBAAA,CAAiB,aAAA,CAAc,MAAA,EAAQ,WAAW,CAAA,GAAI,WAAA;AAAA,UAC9E,aAAA,EAAe,UAAA;AAAA,UACf,UAAU,SAAA,CAAU,CAAC,IAAA,CAAK,QAAA,EAAU,gBAAgB,CAAC,CAAA;AAAA,UACrD,SAAA,EAAW,KAAK,GAAA,EAAI;AAAA,UACpB,QAAQ,aAAA,GAAgB,gBAAA,CAAiB,aAAA,CAAc,MAAA,EAAQ,cAAc,CAAA,GAAI,cAAA;AAAA,UACjF,aAAA,EAAe,iBAAA;AAAA,UACf,WAAA,EAAa,MAAA;AAAA,UACb,MAAA;AAAA,UACA,UAAA,EAAY,KAAA;AAAA,UACZ,KAAA,EAAO,MAAA;AAAA,UACP,WAAA,EAAa,YAAY,KAAK,CAAA;AAAA,UAC9B,gBAAgB,EAAC;AAAA,UACjB,mBAAA,EAAqB,MAAA;AAAA,UACrB,SAAS,EAAC;AAAA,UACV,eAAA,EAAiB,IAAI,eAAA,EAAgB;AAAA,UACrC,UAAA,EAAY,CAAA;AAAA,UACZ,KAAA;AAAA,UACA,YAAY,aAAA,GAAgB,gBAAA,CAAiB,aAAA,CAAc,UAAA,EAAY,UAAU,CAAA,GAAI,UAAA;AAAA,UACrF,OAAA,EAAS,KAAA;AAAA,UACT,OAAA,EAAS,KAAA;AAAA,UACT,KAAA,EAAO,MAAA;AAAA,UACP,OAAA,EAAS,MAAA;AAAA,UACT,WAAA,EAAa,MAAA;AAAA,UACb,IAAA,EAAM,MAAA;AAAA,UACN,UAAA,EAAY,KAAA,CAAM,OAAA,CAAQ,UAAA,IAAc,EAAC;AAAA,UACzC,aAAa,uBAAA,EAAwB;AAAA,UACrC,UAAU,KAAA,CAAM;AAAA,SAClB;AAAA,MACF;AACA,MAAA,IAAI,EAAE,IAAA,IAAQ,IAAA,GAAO,MAAA,GAAS,KAAK,OAAA,CAAA,EAAU;AAC3C,QAAA,KAAA,CAAM,cAAA,GAAiB,0BAA0B,KAAA,CAAM,EAAA;AAAA,MACzD;AACA,MAAA,KAAA,CAAM,WAAA,GAAc,WAAA;AACpB,MAAA,MAAM,aAAA,GAAgB,iBAAiB,WAAW,CAAA;AAClD,MAAA,KAAA,CAAM,OAAA,GAAU;AAAA,QACd,GAAG,aAAA;AAAA,QACH,GAAG,KAAA,CAAM,cAAA;AAAA,QACT,GAAG,KAAA,CAAM;AAAA,OACX;AACA,MAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,IACpB,CAAC,CAAA;AACD,IAAA,OAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,EAAO,KAAA,KAAU;AAChC,MAAA,IAAI,GAAA,EAAK,EAAA;AACT,MAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,eAAA,CAAgB,KAAA,CAAM,OAAO,CAAA;AAChD,MAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,QAAA,CAAS,KAAA,CAAM,EAAE,CAAA;AAC5C,MAAA,IAAI,CAAC,aAAA,IAAA,CAAkB,IAAA,IAAQ,OAAO,MAAA,GAAS,IAAA,CAAK,oBAAoB,IAAA,EAAM;AAC5E,QAAA,MAAM,WAAA,GAAc,OAAA,CAAQ,KAAA,GAAQ,CAAC,CAAA;AACrC,QAAA,MAAM,aAAA,GAAgB,iBAAiB,WAAW,CAAA;AAClD,QAAA,MAAM,gBAAA,GAAmB;AAAA,UACvB,MAAM,KAAA,CAAM,UAAA;AAAA,UACZ,QAAQ,KAAA,CAAM,MAAA;AAAA,UACd,OAAA,EAAS,aAAA;AAAA,UACT,QAAA,EAAU,IAAA;AAAA,UACV,QAAA,EAAU,CAAC,KAAA,KAAU,IAAA,CAAK,QAAA,CAAS,EAAE,GAAG,KAAA,EAAO,aAAA,EAAe,IAAA,EAAM,CAAA;AAAA,UACpE,eAAe,IAAA,CAAK,aAAA;AAAA,UACpB,OAAO,KAAA,CAAM,KAAA;AAAA,UACb,iBAAiB,KAAA,CAAM,eAAA;AAAA,UACvB,OAAA,EAAS,CAAC,CAAC,KAAA,CAAM,OAAA;AAAA,UACjB;AAAA,SACF;AACA,QAAA,KAAA,CAAM,cAAA,GAAA,CAAA,CAAmB,EAAA,GAAA,CAAM,GAAA,GAAM,KAAA,CAAM,OAAA,EAAS,OAAA,KAAY,IAAA,GAAO,MAAA,GAAS,EAAA,CAAG,IAAA,CAAK,GAAA,EAAK,gBAAgB,MAAM,EAAC;AACpH,QAAA,KAAA,CAAM,OAAA,GAAU;AAAA,UACd,GAAG,aAAA;AAAA,UACH,GAAG,KAAA,CAAM,cAAA;AAAA,UACT,GAAG,KAAA,CAAM;AAAA,SACX;AAAA,MACF;AAAA,IACF,CAAC,CAAA;AACD,IAAA,OAAO,OAAA;AAAA,EACT;AACF;AACA,MAAM,yBAAyB,KAAA,CAAM;AACrC;AACA,MAAM,uBAAuB,KAAA,CAAM;AACnC;AACA,MAAM,SAAA,GAAY,CAAC,GAAA,KAAQ,GAAA,CAAI,SAAS,GAAG,CAAA,IAAK,GAAA,CAAI,MAAA,GAAS,CAAA,GAAI,GAAA,CAAI,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA,GAAI,GAAA;AACpF,SAAS,YAAA,CAAa,GAAG,CAAA,EAAG;AAC1B,EAAA,OAAO,SAAA,CAAU,CAAC,CAAA,KAAM,SAAA,CAAU,CAAC,CAAA;AACrC;AACA,SAAS,MAAA,CAAO,IAAI,GAAA,EAAK;AACvB,EAAA,OAAO,UAAU,IAAA,KAAS;AACxB,IAAA,MAAM,QAAA,GAAW,MAAM,EAAA,EAAG;AAC1B,IAAA,OAAO,QAAA,CAAS,GAAA,IAAO,SAAS,CAAA,CAAE,GAAG,IAAI,CAAA;AAAA,EAC3C,CAAA;AACF;AACA,SAAS,sBAAsB,QAAA,EAAU;AACvC,EAAA,OAAO;AAAA,IACL,QAAA,EAAU,CAAA;AAAA,IACV,SAAA,EAAW,KAAA;AAAA,IACX,eAAA,EAAiB,KAAA;AAAA,IACjB,MAAA,EAAQ,MAAA;AAAA,IACR,gBAAA,EAAkB,MAAA;AAAA,IAClB,QAAA;AAAA,IACA,SAAS,EAAC;AAAA,IACV,gBAAgB,EAAC;AAAA,IACjB,eAAe,EAAC;AAAA,IAChB,UAAA,EAAY;AAAA,GACd;AACF;AACA,SAAS,cAAA,CAAe,iBAAiB,KAAA,EAAO;AAC9C,EAAA,IAAI,eAAA,IAAmB,IAAA,EAAM,OAAO,EAAC;AACrC,EAAA,IAAI,eAAe,eAAA,EAAiB;AAClC,IAAA,MAAM,MAAA,GAAS,eAAA,CAAgB,WAAW,CAAA,CAAE,SAAS,KAAK,CAAA;AAC1D,IAAA,IAAI,MAAA,YAAkB,OAAA;AACpB,MAAA,MAAM,IAAI,iBAAiB,gCAAgC,CAAA;AAC7D,IAAA,IAAI,MAAA,CAAO,MAAA;AACT,MAAA,MAAM,IAAI,iBAAiB,IAAA,CAAK,SAAA,CAAU,OAAO,MAAA,EAAQ,MAAA,EAAQ,CAAC,CAAA,EAAG;AAAA,QACnE,KAAA,EAAO;AAAA,OACR,CAAA;AACH,IAAA,OAAO,MAAA,CAAO,KAAA;AAAA,EAChB;AACA,EAAA,IAAI,WAAW,eAAA,EAAiB;AAC9B,IAAA,OAAO,eAAA,CAAgB,MAAM,KAAK,CAAA;AAAA,EACpC;AACA,EAAA,IAAI,OAAO,oBAAoB,UAAA,EAAY;AACzC,IAAA,OAAO,gBAAgB,KAAK,CAAA;AAAA,EAC9B;AACA,EAAA,OAAO,EAAC;AACV;AACA,MAAM,cAAA,GAAiB;AAAA,EACrB,WAAA;AAAA,EACA,gBAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACF;AACA,SAAS,kBAAkB,KAAA,EAAO;AAChC,EAAA,IAAI,EAAA;AACJ,EAAA,KAAA,MAAW,iBAAiB,cAAA,EAAgB;AAC1C,IAAA,IAAA,CAAK,EAAA,GAAK,MAAM,OAAA,CAAQ,aAAa,MAAM,IAAA,GAAO,MAAA,GAAS,GAAG,OAAA,EAAS;AACrE,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,OAAO,KAAA;AACT;AACA,MAAM,yBAAA,GAA4B,GAAA;AAClC,MAAM,yBAAA,GAA4B,GAAA;AAClC,MAAM,yBAAA,GAA4B,IAAA;AAClC,SAAS,WAAA,CAAY,SAAS,SAAA,EAAW;AACvC,EAAA,IAAI,OAAA,CAAQ,aAAA,IAAiB,OAAA,CAAQ,aAAA,EAAe;AAClD,IAAA,OAAO,SAAA,GAAY,IAAA;AAAA,EACrB;AACA,EAAA,IAAI,QAAQ,aAAA,EAAe;AACzB,IAAA,OAAO,SAAA,GAAY,IAAA;AAAA,EACrB;AACA,EAAA,IAAI,QAAQ,aAAA,EAAe;AACzB,IAAA,OAAO,SAAA,GAAY,IAAA;AAAA,EACrB;AACA,EAAA,OAAO,SAAA;AACT;AACA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,aAAa,EAAC;AACpB,EAAA,MAAM,eAAe,EAAC;AACtB,EAAA,MAAM,aAAA,GAAgB,CAAC,WAAA,KAAgB;AACrC,IAAA,WAAA,CAAY,OAAA,CAAQ,CAAC,UAAA,EAAY,CAAA,KAAM;AACrC,MAAA,SAAA,IAAa,IAAA,GAAO,MAAA,GAAS,SAAA,CAAU,UAAA,EAAY,CAAC,CAAA;AACpD,MAAA,MAAM,aAAA,GAAgB,UAAA,CAAW,UAAA,CAAW,EAAE,CAAA;AAC9C,MAAA,SAAA;AAAA,QACE,CAAC,aAAA;AAAA,QACD,CAAA,gCAAA,EAAmC,MAAA,CAAO,UAAA,CAAW,EAAE,CAAC,CAAA;AAAA,OAC1D;AACA,MAAA,UAAA,CAAW,UAAA,CAAW,EAAE,CAAA,GAAI,UAAA;AAC5B,MAAA,IAAI,CAAC,UAAA,CAAW,MAAA,IAAU,UAAA,CAAW,IAAA,EAAM;AACzC,QAAA,MAAM,eAAA,GAAkB,aAAA,CAAc,UAAA,CAAW,QAAQ,CAAA;AACzD,QAAA,IAAI,CAAC,aAAa,eAAe,CAAA,IAAK,WAAW,QAAA,CAAS,QAAA,CAAS,GAAG,CAAA,EAAG;AACvE,UAAA,YAAA,CAAa,eAAe,CAAA,GAAI,UAAA;AAAA,QAClC;AAAA,MACF;AACA,MAAA,MAAM,WAAW,UAAA,CAAW,QAAA;AAC5B,MAAA,IAAI,QAAA,IAAY,IAAA,GAAO,MAAA,GAAS,QAAA,CAAS,MAAA,EAAQ;AAC/C,QAAA,aAAA,CAAc,QAAQ,CAAA;AAAA,MACxB;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA;AACA,EAAA,aAAA,CAAc,CAAC,SAAS,CAAC,CAAA;AACzB,EAAA,MAAM,eAAe,EAAC;AACtB,EAAA,MAAM,MAAA,GAAS,MAAA,CAAO,MAAA,CAAO,UAAU,CAAA;AACvC,EAAA,MAAA,CAAO,OAAA,CAAQ,CAAC,CAAA,EAAG,CAAA,KAAM;AACvB,IAAA,IAAI,EAAA;AACJ,IAAA,IAAI,CAAA,CAAE,MAAA,IAAU,CAAC,CAAA,CAAE,IAAA,EAAM;AACvB,MAAA;AAAA,IACF;AACA,IAAA,MAAM,OAAA,GAAU,YAAA,CAAa,CAAA,CAAE,QAAQ,CAAA;AACvC,IAAA,IAAI,MAAA,GAAS,cAAc,OAAO,CAAA;AAClC,IAAA,IAAI,IAAA,GAAO,CAAA;AACX,IAAA,OAAO,MAAA,CAAO,MAAA,GAAS,IAAA,GAAO,CAAA,IAAA,CAAA,CAAO,EAAA,GAAK,MAAA,CAAO,IAAI,CAAA,KAAM,IAAA,GAAO,MAAA,GAAS,EAAA,CAAG,KAAA,MAAW,GAAA,EAAK;AAC5F,MAAA,IAAA,EAAA;AAAA,IACF;AACA,IAAA,IAAI,IAAA,GAAO,CAAA,EAAG,MAAA,GAAS,MAAA,CAAO,MAAM,IAAI,CAAA;AACxC,IAAA,IAAI,kBAAA,GAAqB,CAAA;AACzB,IAAA,IAAI,cAAA,GAAiB,KAAA;AACrB,IAAA,MAAM,MAAA,GAAS,MAAA,CAAO,GAAA,CAAI,CAAC,SAAS,KAAA,KAAU;AAC5C,MAAA,IAAI,OAAA,CAAQ,UAAU,GAAA,EAAK;AACzB,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,IAAI,SAAA,GAAY,MAAA;AAChB,MAAA,IAAI,OAAA,CAAQ,SAAS,kBAAA,EAAoB;AACvC,QAAA,SAAA,GAAY,yBAAA;AAAA,MACd,CAAA,MAAA,IAAW,OAAA,CAAQ,IAAA,KAAS,2BAAA,EAA6B;AACvD,QAAA,SAAA,GAAY,yBAAA;AACZ,QAAA,kBAAA,EAAA;AAAA,MACF,CAAA,MAAA,IAAW,OAAA,CAAQ,IAAA,KAAS,qBAAA,EAAuB;AACjD,QAAA,SAAA,GAAY,yBAAA;AAAA,MACd;AACA,MAAA,IAAI,SAAA,EAAW;AACb,QAAA,KAAA,IAAS,KAAK,KAAA,GAAQ,CAAA,EAAG,EAAA,GAAK,MAAA,CAAO,QAAQ,EAAA,EAAA,EAAM;AACjD,UAAA,MAAM,WAAA,GAAc,OAAO,EAAE,CAAA;AAC7B,UAAA,IAAI,WAAA,CAAY,IAAA,KAAS,qBAAA,IAAyB,WAAA,CAAY,UAAU,GAAA,EAAK;AAC3E,YAAA,cAAA,GAAiB,IAAA;AACjB,YAAA,OAAO,WAAA,CAAY,OAAA,EAAS,SAAA,GAAY,GAAG,CAAA;AAAA,UAC7C;AAAA,QACF;AACA,QAAA,OAAO,WAAA,CAAY,SAAS,SAAS,CAAA;AAAA,MACvC;AACA,MAAA,OAAO,CAAA;AAAA,IACT,CAAC,CAAA;AACD,IAAA,YAAA,CAAa,IAAA,CAAK;AAAA,MAChB,KAAA,EAAO,CAAA;AAAA,MACP,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA,EAAO,CAAA;AAAA,MACP,MAAA;AAAA,MACA,kBAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,EACH,CAAC,CAAA;AACD,EAAA,MAAM,UAAA,GAAa,YAAA,CAAa,IAAA,CAAK,CAAC,GAAG,CAAA,KAAM;AAC7C,IAAA,MAAM,SAAA,GAAY,KAAK,GAAA,CAAI,CAAA,CAAE,OAAO,MAAA,EAAQ,CAAA,CAAE,OAAO,MAAM,CAAA;AAC3D,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,SAAA,EAAW,CAAA,EAAA,EAAK;AAClC,MAAA,IAAI,EAAE,MAAA,CAAO,CAAC,MAAM,CAAA,CAAE,MAAA,CAAO,CAAC,CAAA,EAAG;AAC/B,QAAA,OAAO,EAAE,MAAA,CAAO,CAAC,CAAA,GAAI,CAAA,CAAE,OAAO,CAAC,CAAA;AAAA,MACjC;AAAA,IACF;AACA,IAAA,IAAI,CAAA,CAAE,MAAA,CAAO,MAAA,KAAW,CAAA,CAAE,OAAO,MAAA,EAAQ;AACvC,MAAA,IAAI,CAAA,CAAE,kBAAA,KAAuB,CAAA,CAAE,kBAAA,EAAoB;AACjD,QAAA,IAAI,CAAA,CAAE,cAAA,KAAmB,CAAA,CAAE,cAAA,EAAgB;AACzC,UAAA,OAAO,CAAA,CAAE,qBAAqB,CAAA,CAAE,kBAAA;AAAA,QAClC,CAAA,MAAA,IAAW,CAAA,CAAE,cAAA,IAAkB,CAAC,EAAE,cAAA,EAAgB;AAChD,UAAA,OAAO,EAAA;AAAA,QACT,CAAA,MAAA,IAAW,CAAC,CAAA,CAAE,cAAA,IAAkB,EAAE,cAAA,EAAgB;AAChD,UAAA,OAAO,CAAA;AAAA,QACT;AAAA,MACF;AACA,MAAA,OAAO,CAAA,CAAE,MAAA,CAAO,MAAA,GAAS,CAAA,CAAE,MAAA,CAAO,MAAA;AAAA,IACpC;AACA,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,SAAA,EAAW,CAAA,EAAA,EAAK;AAClC,MAAA,IAAI,CAAA,CAAE,OAAO,CAAC,CAAA,CAAE,UAAU,CAAA,CAAE,MAAA,CAAO,CAAC,CAAA,CAAE,KAAA,EAAO;AAC3C,QAAA,OAAO,CAAA,CAAE,MAAA,CAAO,CAAC,CAAA,CAAE,KAAA,GAAQ,EAAE,MAAA,CAAO,CAAC,CAAA,CAAE,KAAA,GAAQ,CAAA,GAAI,EAAA;AAAA,MACrD;AAAA,IACF;AACA,IAAA,OAAO,CAAA,CAAE,QAAQ,CAAA,CAAE,KAAA;AAAA,EACrB,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,GAAG,CAAA,KAAM;AACf,IAAA,CAAA,CAAE,MAAM,IAAA,GAAO,CAAA;AACf,IAAA,OAAO,CAAA,CAAE,KAAA;AAAA,EACX,CAAC,CAAA;AACD,EAAA,OAAO,EAAE,UAAA,EAAY,YAAA,EAAc,UAAA,EAAW;AAChD;AACA,SAAS,gBAAA,CAAiB;AAAA,EACxB,QAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,IAAI,cAAc,EAAC;AACnB,EAAA,MAAM,WAAA,GAAc,cAAc,QAAQ,CAAA;AAC1C,EAAA,MAAM,gBAAA,GAAmB,CAAC,KAAA,KAAU;AAClC,IAAA,IAAI,EAAA;AACJ,IAAA,MAAM,MAAA,GAAS,aAAA;AAAA,MACb,QAAA;AAAA,MACA,WAAA;AAAA,MACA;AAAA,QACE,IAAI,KAAA,CAAM,QAAA;AAAA,QACV,iBAAiB,EAAA,GAAK,KAAA,CAAM,YAAY,IAAA,GAAO,MAAA,GAAS,GAAG,aAAA,KAAkB,aAAA;AAAA;AAAA,QAE7E,KAAA,EAAO;AAAA,OACT;AAAA,MACA;AAAA,KACF;AACA,IAAA,OAAO,MAAA;AAAA,EACT,CAAA;AACA,EAAA,IAAI,UAAA,GAAa,aAAA,KAAkB,MAAA,GAAS,YAAA,CAAa,aAAa,CAAA,GAAI,MAAA;AAC1E,EAAA,IAAI,UAAA,EAAY;AACd,IAAA,WAAA,GAAc,iBAAiB,UAAU,CAAA;AAAA,EAC3C,CAAA,MAAO;AACL,IAAA,IAAI,UAAA,GAAa,MAAA;AACjB,IAAA,KAAA,MAAW,SAAS,UAAA,EAAY;AAC9B,MAAA,MAAM,aAAA,GAAgB,iBAAiB,KAAK,CAAA;AAC5C,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,IAAI,KAAA,CAAM,IAAA,KAAS,GAAA,IAAO,aAAA,CAAc,IAAI,CAAA,EAAG;AAC7C,UAAA,IAAI,CAAC,UAAA,EAAY;AACf,YAAA,UAAA,GAAa,EAAE,UAAA,EAAY,KAAA,EAAO,WAAA,EAAa,aAAA,EAAc;AAAA,UAC/D;AAAA,QACF,CAAA,MAAO;AACL,UAAA,UAAA,GAAa,KAAA;AACb,UAAA,WAAA,GAAc,aAAA;AACd,UAAA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,IAAA,IAAI,CAAC,cAAc,UAAA,EAAY;AAC7B,MAAA,UAAA,GAAa,UAAA,CAAW,UAAA;AACxB,MAAA,WAAA,GAAc,UAAA,CAAW,WAAA;AAAA,IAC3B;AAAA,EACF;AACA,EAAA,IAAI,WAAA,GAAc,UAAA,IAAc,UAAA,CAAW,WAAW,CAAA;AACtD,EAAA,MAAM,aAAA,GAAgB,CAAC,WAAW,CAAA;AAClC,EAAA,OAAO,YAAY,WAAA,EAAa;AAC9B,IAAA,WAAA,GAAc,WAAA,CAAY,WAAA;AAC1B,IAAA,aAAA,CAAc,KAAK,WAAW,CAAA;AAAA,EAChC;AACA,EAAA,aAAA,CAAc,OAAA,EAAQ;AACtB,EAAA,OAAO,EAAE,aAAA,EAAe,WAAA,EAAa,UAAA,EAAW;AAClD;AACA,SAAS,qBAAA,CAAsB;AAAA,EAC7B,MAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,iBAAiB,UAAA,CAAW,MAAA;AAAA,IAChC,CAAC,KAAK,KAAA,KAAU;AACd,MAAA,IAAI,EAAA;AACJ,MAAA,MAAM,cAAc,EAAC;AACrB,MAAA,IAAI,QAAA,IAAY,MAAM,OAAA,EAAS;AAC7B,QAAA,IAAA,CAAK,KAAK,KAAA,CAAM,OAAA,CAAQ,WAAW,IAAA,GAAO,MAAA,GAAS,GAAG,WAAA,EAAa;AACjE,UAAA,WAAA,CAAY,IAAA,CAAK,GAAG,KAAA,CAAM,OAAA,CAAQ,OAAO,WAAW,CAAA;AAAA,QACtD;AAAA,MACF,WAAW,KAAA,CAAM,OAAA,CAAQ,gBAAA,IAAoB,KAAA,CAAM,QAAQ,iBAAA,EAAmB;AAC5E,QAAA,MAAM,mBAAmB,CAAC;AAAA,UACxB,MAAA,EAAQ,OAAA;AAAA,UACR;AAAA,SACF,KAAM;AACJ,UAAA,IAAI,UAAA,GAAa,OAAA;AACjB,UAAA,IAAI,kBAAA,IAAsB,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,QAAQ,gBAAA,EAAkB;AACzE,YAAA,UAAA,GAAa,KAAA,CAAM,QAAQ,gBAAA,CAAiB,MAAA;AAAA,cAC1C,CAAC,IAAA,EAAM,KAAA,KAAU,KAAA,CAAM,IAAI,CAAA;AAAA,cAC3B;AAAA,aACF;AAAA,UACF;AACA,UAAA,MAAM,MAAA,GAAS,KAAK,UAAU,CAAA;AAC9B,UAAA,IAAI,mBAAA,IAAuB,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,QAAQ,iBAAA,EAAmB;AAC3E,YAAA,OAAO,KAAA,CAAM,QAAQ,iBAAA,CAAkB,MAAA;AAAA,cACrC,CAAC,IAAA,EAAM,KAAA,KAAU,KAAA,CAAM,IAAI,CAAA;AAAA,cAC3B;AAAA,aACF;AAAA,UACF;AACA,UAAA,OAAO,MAAA;AAAA,QACT,CAAA;AACA,QAAA,WAAA,CAAY,KAAK,gBAAgB,CAAA;AAAA,MACnC;AACA,MAAA,IAAI,sBAAA,IAA0B,KAAA,CAAM,OAAA,CAAQ,cAAA,EAAgB;AAC1D,QAAA,MAAM,WAAW,CAAC,EAAE,MAAA,EAAQ,OAAA,EAAS,MAAK,KAAM;AAC9C,UAAA,MAAM,MAAA,GAAS,KAAK,OAAO,CAAA;AAC3B,UAAA,IAAI;AACF,YAAA,MAAM,eAAA,GAAkB;AAAA,cACtB,GAAG,MAAA;AAAA,cACH,GAAG,cAAA,CAAe,KAAA,CAAM,QAAQ,cAAA,EAAgB,MAAM,KAAK;AAAC,aAC9D;AACA,YAAA,OAAO,eAAA;AAAA,UACT,CAAA,CAAA,MAAQ;AACN,YAAA,OAAO,MAAA;AAAA,UACT;AAAA,QACF,CAAA;AACA,QAAA,WAAA,CAAY,KAAK,QAAQ,CAAA;AAAA,MAC3B;AACA,MAAA,OAAO,GAAA,CAAI,OAAO,WAAW,CAAA;AAAA,IAC/B,CAAA;AAAA,IACA;AAAC,OACE,EAAC;AACN,EAAA,MAAM,KAAA,GAAQ,CAAC,EAAE,MAAA,EAAQ,SAAQ,KAAM;AACrC,IAAA,IAAI,CAAC,KAAK,MAAA,EAAQ;AAChB,MAAA,OAAO,EAAC;AAAA,IACV;AACA,IAAA,IAAI,IAAA,CAAK,WAAW,IAAA,EAAM;AACxB,MAAA,OAAO,OAAA;AAAA,IACT;AACA,IAAA,OAAO,gBAAA,CAAiB,IAAA,CAAK,MAAA,EAAQ,OAAO,CAAA;AAAA,EAC9C,CAAA;AACA,EAAA,cAAA,CAAe,KAAK,KAAK,CAAA;AACzB,EAAA,MAAM,SAAA,GAAY,CAAC,KAAA,EAAO,aAAA,KAAkB;AAC1C,IAAA,IAAI,KAAA,IAAS,eAAe,MAAA,EAAQ;AAClC,MAAA,OAAO,aAAA;AAAA,IACT;AACA,IAAA,MAAM,UAAA,GAAa,eAAe,KAAK,CAAA;AACvC,IAAA,MAAM,IAAA,GAAO,CAAC,SAAA,KAAc;AAC1B,MAAA,OAAO,SAAA,CAAU,KAAA,GAAQ,CAAA,EAAG,SAAS,CAAA;AAAA,IACvC,CAAA;AACA,IAAA,OAAO,UAAA,CAAW,EAAE,MAAA,EAAQ,aAAA,EAAe,MAAM,CAAA;AAAA,EACnD,CAAA;AACA,EAAA,OAAO,SAAA,CAAU,GAAG,MAAM,CAAA;AAC5B;;ACj8DK,MAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB;AAC9D,SAAS,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,OAAO,GAAG,QAAQ;AAC1B,EAAE,IAAI,OAAO,CAAC,oBAAoB,CAAC,EAAE;AACrC,IAAI,OAAO,OAAO;AAClB,EAAE;AACF,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;AACvD,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACzB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,SAAS;AACpD,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,GAAG,IAAI;AAC7C,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK;AACtB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,OAAO;AAClD,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,GAAG;AAC1C,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,KAAK,qBAAqB,EAAE,KAAK,CAAC;AACjG,MAAM,eAAe,EAAE;AACvB,KAAK;AACL,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,OAAO;AAChB;;ACnBA,MAAM,cAAc,GAAG,4BAA4B;;ACA9C,MAAC,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK;AACjC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/B,EAAE,IAAI,IAAI;AACV,EAAE,IAAI,KAAK,GAAG,KAAK;AACnB,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;AAC1D,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;AACvB,EAAE;AACF,EAAE,OAAO,KAAK,IAAI,IAAI;AACtB;;ACJA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK;AAC1B,MAAM,IAAI,EAAE,EAAE,EAAE;AAChB,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa;AAC7C,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO;AACnC,MAAM,MAAM,MAAM,GAAG,EAAE,QAAQ,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC;AAC/G,MAAM,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AACjG,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,KAAK,GAAG,WAAW;AAChC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACpC,QAAQ,SAAS;AACjB,UAAU,KAEF,CAAC;AACT,MAAM;AACN,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI;AACjF,MAAM,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE;AAChC,QAAQ,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;AACjC,MAAM;AACN,MAAM,MAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,KAAK,IAAI;AACxE,MAAM,IAAI,EAAE,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;AAChD,QAAQ,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE;AACtE,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,IAAI,IAAI,KAAK,WAAW,EAAE;AAChC,QAAQ,IAAI,GAAG,GAAG;AAClB,MAAM;AACN,MAAM,IAAI,EAAE,KAAK,WAAW,EAAE;AAC9B,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjC,MAAM;AACN,MAAM,MAAM,QAAQ,GAAG,EAAE,KAAK,WAAW,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9F,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI;AACvB,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE;AACnB,MAAM,IAAI,CAAC,SAAS,GAAG,QAAQ;AAC/B,MAAM,IAAI,CAAC,GAAG,GAAG,QAAQ;AACzB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,KAAK;AAC5B,MAAM,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;AAC9B,MAAM,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;AAC1B,MAAM,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS;AACtC,MAAM,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;AAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc;AAChE,MAAM,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ;AACpC,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,QAAQ,KAAK;AACrC,MAAM,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAC5C,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,QAAQ,KAAK;AAC1C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACnC,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,MAAM;AACN,MAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE;AAC7D,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC/C,MAAM;AACN,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM;AAC/B,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,QAAQ,KAAK;AACtC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC3C,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,KAAK;AAChC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC3C,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK;AAC5B,MAAM,IAAI,CAAC,MAAM,GAAG,MAAM;AAC1B,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE;AAChC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;AACtE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,MAAM,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE;AAC9F,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,mDAAmD,CAAC,CAAC;AAC5E,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,EAAE,GAAG;AACX,IAAI,OAAO,IAAI,CAAC,GAAG;AACnB,EAAE;AACF,EAAE,IAAI,EAAE,GAAG;AACX,IAAI,OAAO,IAAI,CAAC,GAAG;AACnB,EAAE;AACF,EAAE,IAAI,IAAI,GAAG;AACb,IAAI,OAAO,IAAI,CAAC,KAAK;AACrB,EAAE;AACF,EAAE,IAAI,QAAQ,GAAG;AACjB,IAAI,OAAO,IAAI,CAAC,SAAS;AACzB,EAAE;AACF;AACA,MAAM,YAAY,CAAC;AACnB,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE;AACtB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AACpD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,EAAE,GAAG,EAAE;AAChB,EAAE;AACF;AACA,MAAM,aAAa,SAAS,SAAS,CAAC;AACtC,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB,EAAE;AACF;;AC1GA,SAAS,kBAAkB,CAAC,IAAI,EAAE;AAClC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;AAC/B,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC/B,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE;AACrC,IAAI;AACJ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC1B,MAAM,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,EAAE;AAC5B,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACjC,MAAM;AACN,IAAI,CAAC,CAAC;AACN,IAAI,OAAO,MAAM;AACjB,EAAE,CAAC;AACH;AACA,SAAS,iBAAiB,CAAC,KAAK,EAAE;AAClC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;AAC/B,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE;AACxB,MAAM,OAAO,EAAE;AACf,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC/B,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC7B,QAAQ,OAAO,MAAM,CAAC,GAAG,CAAC;AAC1B,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO;AACnC,QAAQ,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AAC1B,UAAU,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE;AAC7C,YAAY,OAAO,MAAM,CAAC,GAAG,CAAC;AAC9B,UAAU;AACV,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,IAAI,OAAO,MAAM;AACjB,EAAE,CAAC;AACH;;ACnCA,MAAAC,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAEA,SAAS,UAAU,CAAC;AACpB,EAAE,OAAO,EAAE;AACX,CAAC,EAAE;AACH,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;AACjC,EAAE,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE;AAC1D,IAAI,MAAM,OAAO;AACjB,EAAE;AACF,EAAE,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE;AACxD,IAAI,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK;AAC7C,EAAE;AACF,EAAE,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC;AACtD;AACA,SAAS,KAAK,CAAC,KAAK,EAAE;AACtB,EAAE,MAAM,KAAK,mBAAmBC,qBAAG,CAAC,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;AAC7D,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;AACtB,IAAI,uBAAuBA,qBAAG,CAACD,OAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7F,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;AAClC,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC7B;;ACxBA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,SAAS,cAAc,KAAA,EAAO;AAC5B,EAAA,MAAM,cAAA,GAAiB,MAAM,cAAA,IAAkB,cAAA;AAC/C,EAAA,uBAAuBC,qBAAA;AAAA,IACrB,iBAAA;AAAA,IACA;AAAA,MACE,aAAa,KAAA,CAAM,WAAA;AAAA,MACnB,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,QAAA,EAAU,CAAC,EAAE,KAAA,EAAO,OAAM,KAAM;AAC9B,QAAA,IAAI,KAAA,EAAO;AACT,UAAA,OAAOD,OAAA,CAAM,cAAc,cAAA,EAAgB;AAAA,YACzC,KAAA;AAAA,YACA;AAAA,WACD,CAAA;AAAA,QACH;AACA,QAAA,OAAO,KAAA,CAAM,QAAA;AAAA,MACf;AAAA;AACF,GACF;AACF;AACA,MAAM,iBAAA,SAA0BA,QAAM,SAAA,CAAU;AAAA,EAC9C,WAAA,GAAc;AACZ,IAAA,KAAA,CAAM,GAAG,SAAS,CAAA;AAClB,IAAA,IAAA,CAAK,KAAA,GAAQ,EAAE,KAAA,EAAO,IAAA,EAAK;AAAA,EAC7B;AAAA,EACA,OAAO,yBAAyB,KAAA,EAAO;AACrC,IAAA,OAAO,EAAE,QAAA,EAAU,KAAA,CAAM,WAAA,EAAY,EAAE;AAAA,EACzC;AAAA,EACA,OAAO,yBAAyB,KAAA,EAAO;AACrC,IAAA,OAAO,EAAE,KAAA,EAAM;AAAA,EACjB;AAAA,EACA,KAAA,GAAQ;AACN,IAAA,IAAA,CAAK,QAAA,CAAS,EAAE,KAAA,EAAO,IAAA,EAAM,CAAA;AAAA,EAC/B;AAAA,EACA,kBAAA,CAAmB,WAAW,SAAA,EAAW;AACvC,IAAA,IAAI,UAAU,KAAA,IAAS,SAAA,CAAU,QAAA,KAAa,IAAA,CAAK,MAAM,QAAA,EAAU;AACjE,MAAA,IAAA,CAAK,KAAA,EAAM;AAAA,IACb;AAAA,EACF;AAAA,EACA,iBAAA,CAAkB,OAAO,SAAA,EAAW;AAClC,IAAA,IAAI,IAAA,CAAK,MAAM,OAAA,EAAS;AACtB,MAAA,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,KAAA,EAAO,SAAS,CAAA;AAAA,IACrC;AAAA,EACF;AAAA,EACA,MAAA,GAAS;AACP,IAAA,OAAO,IAAA,CAAK,MAAM,QAAA,CAAS;AAAA,MACzB,KAAA,EAAO,IAAA,CAAK,KAAA,CAAM,QAAA,KAAa,IAAA,CAAK,MAAM,WAAA,EAAY,GAAI,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,KAAA;AAAA,MAC5E,OAAO,MAAM;AACX,QAAA,IAAA,CAAK,KAAA,EAAM;AAAA,MACb;AAAA,KACD,CAAA;AAAA,EACH;AACF;AACA,SAAS,cAAA,CAAe,EAAE,KAAA,EAAM,EAAG;AACjC,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,OAAA,CAAM,SAAS,KAAqC,CAAA;AAC5E,EAAA,uBAAuBE,sBAAA,CAAK,KAAA,EAAO,EAAE,KAAA,EAAO,EAAE,SAAS,OAAA,EAAS,QAAA,EAAU,MAAA,EAAO,EAAG,QAAA,EAAU;AAAA,oBAC5EA,sBAAA,CAAK,KAAA,EAAO,EAAE,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,OAAA,EAAQ,EAAG,QAAA,EAAU;AAAA,sBACtFD,qBAAA,CAAI,QAAA,EAAU,EAAE,KAAA,EAAO,EAAE,UAAU,MAAA,EAAO,EAAG,QAAA,EAAU,uBAAA,EAAyB,CAAA;AAAA,sBAChFA,qBAAA;AAAA,QACd,QAAA;AAAA,QACA;AAAA,UACE,KAAA,EAAO;AAAA,YACL,UAAA,EAAY,MAAA;AAAA,YACZ,QAAA,EAAU,MAAA;AAAA,YACV,MAAA,EAAQ,wBAAA;AAAA,YACR,OAAA,EAAS,aAAA;AAAA,YACT,UAAA,EAAY,MAAA;AAAA,YACZ,YAAA,EAAc;AAAA,WAChB;AAAA,UACA,SAAS,MAAM,OAAA,CAAQ,CAAC,CAAA,KAAM,CAAC,CAAC,CAAA;AAAA,UAChC,QAAA,EAAU,OAAO,YAAA,GAAe;AAAA;AAClC;AACF,OACC,CAAA;AAAA,oBACaA,qBAAA,CAAI,OAAO,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,QAAA,IAAY,CAAA;AAAA,IAC1D,IAAA,mBAAuBA,qBAAA,CAAI,KAAA,EAAO,EAAE,QAAA,kBAA0BA,qBAAA;AAAA,MAC5D,KAAA;AAAA,MACA;AAAA,QACE,KAAA,EAAO;AAAA,UACL,QAAA,EAAU,MAAA;AAAA,UACV,MAAA,EAAQ,eAAA;AAAA,UACR,YAAA,EAAc,QAAA;AAAA,UACd,OAAA,EAAS,OAAA;AAAA,UACT,KAAA,EAAO,KAAA;AAAA,UACP,QAAA,EAAU;AAAA,SACZ;AAAA,QACA,QAAA,EAAU,KAAA,CAAM,OAAA,mBAA0BA,qBAAA,CAAI,MAAA,EAAQ,EAAE,QAAA,EAAU,KAAA,CAAM,OAAA,EAAS,CAAA,GAAI;AAAA;AACvF,KACF,EAAG,CAAA,GAAI;AAAA,KACN,CAAA;AACL;;AC1FA,MAAAE,gBAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE;AACnD,EAAE,OAAO,WAAW,EAAE,mBAAmBF,qBAAG,CAACE,gBAAc,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,mBAAmBF,qBAAG,CAACE,gBAAc,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC1J;AACA,SAAS,WAAW,GAAG;AACvB,EAAE,OAAOA,gBAAc,CAAC,oBAAoB;AAC5C,IAAI,SAAS;AACb,IAAI,MAAM,IAAI;AACd,IAAI,MAAM;AACV,GAAG;AACH;AACA,SAAS,SAAS,GAAG;AACrB,EAAE,OAAO,MAAM;AACf,EAAE,CAAC;AACH;;;;;;;;;;;;;;;;;;;;;CCJA,IAAI,KAAK,GAAGP,YAAA,EAAgB;GAC1B,IAAI,GAAGQ,WAAA,EAAuC;AAChD,CAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;GAChB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAA;AACA,CAAA,IAAI,QAAQ,GAAG,UAAU,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE;AAC/D,GAAE,oBAAoB,GAAG,IAAI,CAAC,oBAAoB;AAClD,GAAE,MAAM,GAAG,KAAK,CAAC,MAAM;AACvB,GAAE,SAAS,GAAG,KAAK,CAAC,SAAS;AAC7B,GAAE,OAAO,GAAG,KAAK,CAAC,OAAO;AACzB,GAAE,aAAa,GAAG,KAAK,CAAC,aAAa;AACrC,CAAA,uBAAA,CAAA,gCAAwC,GAAG;AAC3C,GAAE,SAAS;AACX,GAAE,WAAW;AACb,GAAE,iBAAiB;AACnB,GAAE,QAAQ;GACR;GACA;AACF,GAAE,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;AAC5B,GAAE,IAAI,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE;AAChC,KAAI,IAAI,IAAI,GAAG,EAAE,QAAQ,EAAE,KAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5C,KAAI,OAAO,CAAC,OAAO,GAAG,IAAI;AAC1B,GAAA,CAAG,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO;GAC7B,OAAO,GAAG,OAAO;AACnB,KAAI,YAAY;AAChB,OAAM,SAAS,gBAAgB,CAAC,YAAY,EAAE;SACtC,IAAI,CAAC,OAAO,EAAE;WACZ,OAAO,GAAG,IAAE;WACZ,gBAAgB,GAAG,YAAY;AACzC,WAAU,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;WACrC,IAAI,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnD,aAAY,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK;AAC7C,aAAY,IAAI,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC;eACzC,QAAQ,iBAAiB,GAAG,gBAAgB;AAC1D,WAAA;WACU,QAAQ,iBAAiB,GAAG,YAAY;AAClD,SAAA;SACQ,gBAAgB,GAAG,iBAAiB;SACpC,IAAI,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,OAAO,gBAAgB;AAC7E,SAAQ,IAAI,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC;SAC1C,IAAI,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC;AAC1E,WAAU,OAAO,CAAC,gBAAgB,GAAG,YAAY,GAAG,gBAAgB;SAC5D,gBAAgB,GAAG,YAAY;SAC/B,QAAQ,iBAAiB,GAAG,aAAa;AACjD,OAAA;AACA,OAAM,IAAI,OAAO,GAAG,KAAE;AACtB,SAAQ,gBAAgB;AACxB,SAAQ,iBAAiB;AACzB,SAAQ,sBAAsB;AAC9B,WAAU,MAAM,KAAK,iBAAiB,GAAG,IAAI,GAAG,iBAAiB;AACjE,OAAM,OAAO;AACb,SAAQ,YAAY;AACpB,WAAU,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC;SAChD,CAAS;AACT,SAAQ,IAAI,KAAK;AACjB,aAAY;AACZ,aAAY,YAAY;AACxB,eAAc,OAAO,gBAAgB,CAAC,sBAAsB,EAAE,CAAC;AAC/D,aAAA;QACO;KACP,CAAK;AACL,KAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO;IACnD;AACH,GAAE,IAAI,KAAK,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACrE,GAAE,SAAS;AACX,KAAI,YAAY;AAChB,OAAM,IAAI,CAAC,QAAQ,GAAG,IAAE;AACxB,OAAM,IAAI,CAAC,KAAK,GAAG,KAAK;KACxB,CAAK;AACL,KAAI,CAAC,KAAK;IACP;GACD,aAAa,CAAC,KAAK,CAAC;AACtB,GAAE,OAAO,KAAK;CACd,CAAC;;;;;;;;;AClFD,CAA2C;GACzCC,YAAA,CAAA,OAAO,GAAUT,8BAAA,EAAyE;CAC5F;;;;;;ACFA,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;AAC9C,EAAE,MAAM,KAAK,GAAGU,oDAAgC;AAChD,IAAI,KAAK,CAAC,SAAS;AACnB,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,KAAK;AACd;AACA,SAAS,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE;AAC7B,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;AAC7B,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;AAC9F,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,YAAY,GAAG,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AAC7C,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;AAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;AAClE,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,YAAY,GAAG,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AAC7C,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;AAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;AACpC,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,EAAE;AACpD,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,KAAK;AACvD,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AACjD,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAC7G,MAAM,OAAO,KAAK;AAClB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI;AACb;;AC/CA,MAAAN,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,MAAM,aAAa,GAAGA,OAAK,CAAC,aAAa,CAAC,IAAI,CAAC;AAC/C,SAAS,gBAAgB,GAAG;AAC5B,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI,OAAO,aAAa;AACxB,EAAE;AACF,EAAE,IAAI,MAAM,CAAC,sBAAsB,EAAE;AACrC,IAAI,OAAO,MAAM,CAAC,sBAAsB;AACxC,EAAE;AACF,EAAE,MAAM,CAAC,sBAAsB,GAAG,aAAa;AAC/C,EAAE,OAAO,aAAa;AACtB;;ACXA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAGA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,MAAM,KAAK,GAAGA,OAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;AACpD,EAAE,OAAO;AACT,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAE3D,CAAC;AACH,EAAE,OAAO,KAAK;AACd;;ACTA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAGA,SAAS,cAAc,CAAC,IAAI,EAAE;AAC9B,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC;AAClC,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,MAAM;AACpD,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,aAAa;AACvE,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;AACvC,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK;AAC7C,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC7C,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE;AAC7E,QAAQ,MAAM,QAAQ,GAAG,gBAAgB;AACzC,UAAU,cAAc,CAAC,OAAO;AAChC,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK;AAC3B,SAAS;AACT,QAAQ,cAAc,CAAC,OAAO,GAAG,QAAQ;AACzC,QAAQ,OAAO,QAAQ;AACvB,MAAM;AACN,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/B,IAAI;AACJ,IAAI,OAAO,KAAK;AAChB,EAAE,CAAC,CAAC;AACJ;;ACxBA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACK,MAAC,YAAY,GAAGA,OAAK,CAAC,aAAa,CAAC,MAAM;AAC/C,MAAM,iBAAiB,GAAGA,OAAK,CAAC,aAAa;AAC7C,EAAE;AACF,CAAC;;ACJD,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAIA,SAAS,QAAQ,CAAC,IAAI,EAAE;AACxB,EAAE,MAAM,cAAc,GAAGA,OAAK,CAAC,UAAU;AACzC,IAAI,IAAI,CAAC,IAAI,GAAG,iBAAiB,GAAG;AACpC,GAAG;AACH,EAAE,MAAM,cAAc,GAAG,cAAc,CAAC;AACxC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI;AACtC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK;AAC9D,OAAO;AACP,MAAM,SAAS;AACf,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC;AAC/C,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;AACjG,OAAO;AACP,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE;AAC5B,QAAQ,OAAO,MAAM;AACrB,MAAM;AACN,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK;AACrD,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE,IAAI,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,OAAO,cAAc;AACvB;;ACxBA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM;AACvB,IAAI,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC7C,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU;AACnE,IAAI;AACJ,GAAG,CAAC;AACJ;;ACTA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI;AAClC,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,GAAG,IAAI;AACX,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU;AACzD,IAAI;AACJ,GAAG,CAAC;AACJ;;ACRA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM;AACvB,IAAI,WAAW,EAAE,IAAI,CAAC,WAAW;AACjC,IAAI,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC7C,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM;AACnE,IAAI;AACJ,GAAG,CAAC;AACJ;;ACVA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM;AACvB,IAAI,WAAW,EAAE,IAAI,CAAC,WAAW;AACjC,IAAI,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC7C,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM;AACnE,IAAI;AACJ,GAAG,CAAC;AACJ;;ACXA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAGA,SAAS,WAAW,CAAC,YAAY,EAAE;AACnC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE;AACzC,EAAE,MAAM,UAAU,GAAG,QAAQ,CAAC;AAC9B,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,OAAOA,OAAK,CAAC,WAAW;AAC1B,IAAI,CAAC,OAAO,KAAK;AACjB,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ;AAC5H,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,GAAG,OAAO;AAClB,QAAQ;AACR,OAAO,CAAC;AACR,IAAI,CAAC;AACL;AACA,IAAI,CAAC,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ;AAChE,GAAG;AACH;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,QAAQ,GAAG,WAAW,EAAE;AAChC,EAAE,MAAM,gBAAgB,GAAGA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7C,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE;AAC5C,MAAM,QAAQ,CAAC,KAAK,CAAC;AACrB,MAAM,gBAAgB,CAAC,OAAO,GAAG,KAAK;AACtC,IAAI;AACJ,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/B,EAAE,OAAO,IAAI;AACb;;AChCA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,SAAS,iBAAiB,CAAC,EAAE,EAAE;AAC/B,EAAE,MAAM,KAAK,GAAGA,OAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAChC,EAAE,KAAK,CAAC,OAAO,GAAG,EAAE;AACpB,EAAE,MAAM,GAAG,GAAGA,OAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAC/D,EAAE,OAAO,GAAG,CAAC,OAAO;AACpB;AACK,MAAC,eAAe,GAAG,OAAO,MAAM,KAAK,WAAW,GAAGA,OAAK,CAAC,eAAe,GAAGA,OAAK,CAAC;AACtF,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,EAAE,MAAM,GAAG,GAAGA,OAAK,CAAC,MAAM,CAAC;AAC3B,IAAI,KAAK;AACT,IAAI,IAAI,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK;AACnC,EAAE,IAAI,KAAK,KAAK,OAAO,EAAE;AACzB,IAAI,GAAG,CAAC,OAAO,GAAG;AAClB,MAAM,KAAK;AACX,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,EAAE;AACF,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI;AACzB;AACA,SAAS,uBAAuB,CAAC,GAAG,EAAE,QAAQ,EAAE,2BAA2B,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE;AAChG,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE;AACxF,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;AAC3D,MAAM,QAAQ,CAAC,KAAK,CAAC;AACrB,IAAI,CAAC,EAAE,2BAA2B,CAAC;AACnC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;AACjC,IAAI,OAAO,MAAM;AACjB,MAAM,QAAQ,CAAC,UAAU,EAAE;AAC3B,IAAI,CAAC;AACL,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,2BAA2B,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACpE;AACA,SAAS,eAAe,CAAC,GAAG,EAAE;AAC9B,EAAE,MAAM,QAAQ,GAAGA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACrC,EAAEA,OAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;AAC5D,EAAE,OAAO,QAAQ;AACjB;;ACvCA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,MAAA,CAAA,SAAA,CAAA,GAAA,MAAA,YAAA,CAAA,WAAA,CAAA;AAMA,SAAS,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE;AAC7C,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAGA,OAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACrE,EAAE,MAAM,gBAAgB,GAAGA,OAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAC9C,EAAE,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC;AAChD,EAAE,MAAM;AACR;AACA,IAAI,WAAW;AACf,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,EAAE;AACN,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,kBAAkB;AACtB,IAAI,OAAO;AACX,IAAI,eAAe;AACnB,IAAI,WAAW;AACf,IAAI,cAAc;AAClB;AACA,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,aAAa;AACjB;AACA,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,cAAc,EAAE,eAAe;AACnC,IAAI,cAAc,EAAE,eAAe;AACnC,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,aAAa;AACjB,IAAI,GAAG;AACP,GAAG,GAAG,OAAO;AACb,EAAE,MAAM,IAAI,GAAGA,OAAK,CAAC,OAAO,CAAC,MAAM;AACnC,IAAI,IAAI;AACR,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC;AACjB,MAAM,OAAO,UAAU;AACvB,IAAI,CAAC,CAAC,MAAM;AACZ,IAAI;AACJ,IAAI,OAAO,UAAU;AACrB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACV,EAAE,MAAM,aAAa,GAAG,cAAc,CAAC;AACvC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM;AACpC,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC;AACxB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;AAC7C,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAGA,OAAK,CAAC,OAAO;AAC5B,IAAI,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;AACpD;AACA,IAAI;AACJ,MAAM,MAAM;AACZ,MAAM,aAAa;AACnB,MAAM,OAAO,CAAC,aAAa;AAC3B,MAAM,IAAI;AACV,MAAM,OAAO,CAAC,IAAI;AAClB,MAAM,OAAO,CAAC,EAAE;AAChB,MAAM,OAAO,CAAC,MAAM;AACpB,MAAM,OAAO,CAAC,MAAM;AACpB,MAAM,OAAO,CAAC,KAAK;AACnB,MAAM,OAAO,CAAC,IAAI;AAClB,MAAM,OAAO,CAAC;AACd;AACA,GAAG;AACH,EAAE,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU;AACxC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,IAAI,UAAU,GAAG,KAAK,GAAG,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc;AAC7G,EAAE,MAAM,YAAY,GAAG,gBAAgB,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC;AAClF,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC;AAClC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,IAAI,UAAU,EAAE,OAAO,KAAK;AAClC,MAAM,IAAI,aAAa,IAAI,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE;AAChE,QAAQ,MAAM,SAAS,GAAG,aAAa;AACvC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ;AAC7B,UAAU,IAAI,CAAC,QAAQ;AACvB,UAAU,MAAM,CAAC;AACjB,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,UAAU,OAAO,KAAK;AACtB,QAAQ;AACR,MAAM,CAAC,MAAM;AACb,QAAQ,MAAM,gBAAgB,GAAG,mBAAmB;AACpD,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ;AAC7B,UAAU,MAAM,CAAC;AACjB,SAAS;AACT,QAAQ,MAAM,aAAa,GAAG,mBAAmB;AACjD,UAAU,IAAI,CAAC,QAAQ;AACvB,UAAU,MAAM,CAAC;AACjB,SAAS;AACT,QAAQ,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,gBAAgB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,IAAI,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;AACnL,QAAQ,IAAI,CAAC,gBAAgB,EAAE;AAC/B,UAAU,OAAO,KAAK;AACtB,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,CAAC,aAAa,IAAI,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,aAAa,KAAK,IAAI,EAAE;AAClF,QAAQ,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrE,UAAU,OAAO,EAAE,EAAE,aAAa,IAAI,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;AAC1E,UAAU,eAAe,EAAE,EAAE,aAAa,IAAI,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,iBAAiB;AAC7F,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,OAAO,KAAK;AACtB,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,aAAa,IAAI,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE;AACtE,QAAQ,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;AAC5C,MAAM;AACN,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAGA,OAAK,CAAC,WAAW;AACrC,IAAI,MAAM;AACV,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;AAC/D,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACzB,QAAQ,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;AACpC,MAAM,CAAC,CAAC;AACR,IAAI,CAAC;AACL;AACA,IAAI;AACJ,MAAM,MAAM;AACZ,MAAM,OAAO,CAAC,EAAE;AAChB,MAAM,OAAO,CAAC,aAAa;AAC3B,MAAM,IAAI;AACV,MAAM,OAAO,CAAC,MAAM;AACpB,MAAM,OAAO,CAAC,IAAI;AAClB,MAAM,OAAO,CAAC,MAAM;AACpB,MAAM,OAAO,CAAC,KAAK;AACnB,MAAM,OAAO,CAAC,IAAI;AAClB,MAAM,OAAO,CAAC,cAAc;AAC5B,MAAM,OAAO,CAAC,kBAAkB;AAChC,MAAM,OAAO,CAAC,IAAI;AAClB,MAAM,OAAO,CAAC,aAAa;AAC3B,MAAM,OAAO,CAAC,cAAc;AAC5B,MAAM,OAAO,CAAC,OAAO;AACrB,MAAM,OAAO,CAAC,WAAW;AACzB,MAAM,OAAO,CAAC;AACd;AACA,GAAG;AACH,EAAE,MAAM,yBAAyB,GAAGA,OAAK,CAAC,WAAW;AACrD,IAAI,CAAC,KAAK,KAAK;AACf,MAAM,IAAI,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,cAAc,EAAE;AACzD,QAAQ,SAAS,EAAE;AACnB,MAAM;AACN,IAAI,CAAC;AACL,IAAI,CAAC,SAAS;AACd,GAAG;AACH,EAAE,uBAAuB;AACzB,IAAI,QAAQ;AACZ,IAAI,yBAAyB;AAC7B,IAAI,2BAA2B;AAC/B,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,OAAO,KAAK,UAAU,CAAC;AACvD,GAAG;AACH,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,IAAI,gBAAgB,CAAC,OAAO,EAAE;AAClC,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,QAAQ,EAAE;AAC3C,MAAM,SAAS,EAAE;AACjB,MAAM,gBAAgB,CAAC,OAAO,GAAG,IAAI;AACrC,IAAI;AACJ,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACpC,EAAE,IAAI,UAAU,EAAE;AAClB,IAAI,OAAO;AACX,MAAM,GAAG,iBAAiB;AAC1B,MAAM,GAAG,EAAE,QAAQ;AACnB,MAAM,IAAI;AACV,MAAM,IAAI,EAAE,EAAE;AACd,MAAM,GAAG,QAAQ,IAAI,EAAE,QAAQ,EAAE;AACjC,MAAM,GAAG,MAAM,IAAI,EAAE,MAAM,EAAE;AAC7B,MAAM,GAAG,QAAQ,IAAI,EAAE,QAAQ,EAAE;AACjC,MAAM,GAAG,KAAK,IAAI,EAAE,KAAK,EAAE;AAC3B,MAAM,GAAG,SAAS,IAAI,EAAE,SAAS,EAAE;AACnC,MAAM,GAAG,OAAO,IAAI,EAAE,OAAO,EAAE;AAC/B,MAAM,GAAG,OAAO,IAAI,EAAE,OAAO,EAAE;AAC/B,MAAM,GAAG,YAAY,IAAI,EAAE,YAAY,EAAE;AACzC,MAAM,GAAG,YAAY,IAAI,EAAE,YAAY,EAAE;AACzC,MAAM,GAAG,YAAY,IAAI,EAAE,YAAY;AACvC,KAAK;AACL,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC7B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAClH,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,SAAS,CAAC,MAAM;AACtB,QAAQ,kBAAkB,CAAC,IAAI,CAAC;AAChC,MAAM,CAAC,CAAC;AACR,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM;AACzD,QAAQ,KAAK,EAAE;AACf,QAAQ,kBAAkB,CAAC,KAAK,CAAC;AACjC,MAAM,CAAC,CAAC;AACR,MAAM,MAAM,CAAC,QAAQ,CAAC;AACtB,QAAQ,GAAG,OAAO;AAClB,QAAQ,IAAI;AACZ,QAAQ,OAAO;AACf,QAAQ,WAAW;AACnB,QAAQ,kBAAkB;AAC1B,QAAQ,eAAe;AACvB,QAAQ,cAAc;AACtB,QAAQ;AACR,OAAO,CAAC;AACR,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC7B,IAAI,IAAI,QAAQ,EAAE;AAClB,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,SAAS,EAAE;AACjB,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,MAAM,gBAAgB,GAAG,WAAW;AACtC,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC7B,IAAI,IAAI,QAAQ,IAAI,CAAC,OAAO,EAAE;AAC9B,IAAI,IAAI,CAAC,YAAY,EAAE;AACvB,MAAM,SAAS,EAAE;AACjB,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM;AAClC,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;AACvC,QAAQ;AACR,MAAM;AACN,MAAM,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM;AAClC,QAAQ,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;AACtC,QAAQ,SAAS,EAAE;AACnB,MAAM,CAAC,EAAE,YAAY,CAAC;AACtB,MAAM,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;AACrC,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC7B,IAAI,IAAI,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE;AAC/C,IAAI,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM;AAChC,IAAI,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;AAC1C,IAAI,IAAI,EAAE,EAAE;AACZ,MAAM,YAAY,CAAC,EAAE,CAAC;AACtB,MAAM,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;AACpC,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,MAAM,mBAAmB,GAAG,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,oBAAoB,GAAG,mBAAmB;AACxH,EAAE,MAAM,qBAAqB,GAAG,QAAQ,GAAG,mBAAmB,GAAG,gBAAgB,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,mBAAmB;AAC3H,EAAE,MAAM,iBAAiB,GAAG;AAC5B,IAAI,SAAS;AACb,IAAI,mBAAmB,CAAC,SAAS;AACjC,IAAI,qBAAqB,CAAC;AAC1B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7B,EAAE,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,mBAAmB,CAAC,KAAK,IAAI,qBAAqB,CAAC,KAAK,KAAK;AAC/F,IAAI,GAAG,KAAK;AACZ,IAAI,GAAG,mBAAmB,CAAC,KAAK;AAChC,IAAI,GAAG,qBAAqB,CAAC;AAC7B,GAAG;AACH,EAAE,OAAO;AACT,IAAI,GAAG,iBAAiB;AACxB,IAAI,GAAG,mBAAmB;AAC1B,IAAI,GAAG,qBAAqB;AAC5B,IAAI,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9I,IAAI,GAAG,EAAE,QAAQ;AACjB,IAAI,OAAO,EAAE,eAAe,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACpD,IAAI,OAAO,EAAE,eAAe,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACpD,IAAI,YAAY,EAAE,eAAe,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAC9D,IAAI,YAAY,EAAE,eAAe,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAC9D,IAAI,YAAY,EAAE,eAAe,CAAC,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AACnE,IAAI,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACxB,IAAI,MAAM;AACV,IAAI,GAAG,aAAa,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE;AAChD,IAAI,GAAG,iBAAiB,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE;AAC5D,IAAI,GAAG,QAAQ,IAAI,qBAAqB;AACxC,IAAI,GAAG,QAAQ,IAAI,mBAAmB;AACtC,IAAI,GAAG,eAAe,IAAI;AAC1B,GAAG;AACH;AACA,MAAM,mBAAmB,GAAG,EAAE;AAC9B,MAAM,oBAAoB,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE;AACpD,MAAM,qBAAqB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE;AACrE,MAAM,mBAAmB,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE;AAC/E,MAAM,0BAA0B,GAAG,EAAE,oBAAoB,EAAE,eAAe,EAAE;AAC5E,MAAM,UAAU,mBAAmB,IAAI,OAAO,EAAE;AAChD,MAAM,2BAA2B,GAAG;AACpC,EAAE,UAAU,EAAE;AACd,CAAC;AACD,MAAM,eAAe,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK;AAC7C,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AAChD,IAAI,IAAI,CAAC,CAAC,gBAAgB,EAAE;AAC5B,IAAI,OAAO,CAAC,CAAC,CAAC;AACd,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,OAAOA,OAAK,CAAC,UAAU,CAAC,SAAS,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE;AAC3D,IAAI,uBAAuBC,qBAAG,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACvE,EAAE,CAAC,CAAC;AACJ;AACK,MAAC,IAAI,GAAGD,OAAK,CAAC,UAAU;AAC7B,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK;AAClB,IAAI,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK;AACvC,IAAI,MAAM;AACV,MAAM,IAAI,EAAE,KAAK;AACjB,MAAM,GAAG,EAAE,QAAQ;AACnB,MAAM,GAAG;AACT,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;AAC/B,IAAI,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;AACzE,MAAM,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC,KAAK;AAC7C,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ;AACtB,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE;AAC7B,MAAM,OAAO,SAAS,CAAC,QAAQ;AAC/B,IAAI;AACJ,IAAI,OAAOA,OAAK,CAAC,aAAa;AAC9B,MAAM,QAAQ,GAAG,QAAQ,GAAG,GAAG;AAC/B,MAAM;AACN,QAAQ,GAAG,SAAS;AACpB,QAAQ,GAAG,EAAE;AACb,OAAO;AACP,MAAM;AACN,KAAK;AACL,EAAE;AACF;AACA,SAAS,WAAW,CAAC,CAAC,EAAE;AACxB,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC;AAC7D;AACK,MAAC,WAAW,GAAG,CAAC,OAAO,KAAK;AACjC,EAAE,OAAO,OAAO;AAChB;;ACzUA,MAAA,cAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AASA,SAAS,WAAW,CAAC,EAAE,EAAE;AACzB,EAAE,OAAO,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;AAC7B;AACA,MAAM,QAAQ,SAAS,YAAY,CAAC;AACpC;AACA;AACA;AACA,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE;AACtB,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AACjB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AACxD,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK;AACrC,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1F,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACzE,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACzE,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACrE,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACrE,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,MAAM,MAAM,GAAG,SAAS,EAAE;AAChC,MAAM,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACvE,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AACpD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAC1D,MAAM,MAAM,MAAM,GAAG,SAAS,EAAE;AAChC,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ;AAC1D,MAAM,uBAAuBC,qBAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AACzE,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA,MAAM,KAAK,SAAS,SAAS,CAAC;AAC9B;AACA;AACA;AACA,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AACxD,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK;AACrC,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,GAAG,IAAI;AACf,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1F,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACzE,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACzE,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU;AACzC,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK;AACtB,QAAQ,uBAAuBA,qBAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AAChF,MAAM;AACN,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5C,EAAE;AACF;AACA,SAAS,WAAW,CAAC,OAAO,EAAE;AAC9B,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;AAC3B;AACA,SAAS,0BAA0B,GAAG;AACtC,EAAE,OAAO,CAAC,OAAO,KAAK;AACtB,IAAI,OAAO,eAAe,CAAC,OAAO,CAAC;AACnC,EAAE,CAAC;AACH;AACK,MAAC,oBAAoB,GAAG;AAC7B,MAAM,SAAS,SAAS,aAAa,CAAC;AACtC;AACA;AACA;AACA,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AACxD,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK;AACrC,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,GAAG,IAAI;AACf,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1F,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACzE,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACzE,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU;AACzC,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK;AACtB,QAAQ,uBAAuBA,qBAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AAChF,MAAM;AACN,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5C,EAAE;AACF;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,EAAE,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC;AAC/B;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,OAAO,IAAI;AACb;AACA,MAAM,aAAa,SAAS,KAAK,CAAC;AAClC,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC;AACV,MAAM,GAAG,OAAO;AAChB,MAAM,EAAE,EAAE;AACV,KAAK,CAAC;AACN,EAAE;AACF;;ACtLA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE;AAC/B,MAAM,MAAM,EAAE;AACd,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AACxB,EAAE;AACF,EAAE,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE;AAC7B,IAAI,MAAM,EAAE;AACZ,GAAG,CAAC,CAAC,WAAW;AAChB;AACA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;AAC3B,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;AACpB,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,KAAK;AACpC,MAAM,OAAO;AACb,QAAQ,IAAI,CAAC,MAEP,CAAC;AACP,MAAM,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;AACxC,MAAM,KAAK,CAAC,MAAM,GAAG,KAAK;AAC1B,MAAM,OAAO,KAAK;AAClB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM;AACvD,EAAE;AACF;AACA,SAAS,eAAe,CAAC,KAAK,EAAE;AAKhC,EAAE,OAAO,CAAC,QAAQ,KAAK,QAAQ;AAC/B;AACA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,CAAC,IAAI,EAAE;AACpB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,KAAK;AAC/B,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM;AACrD,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;AAC7B,QAAQ,iBAAiB,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;AAC1D,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,KAAK;AACtC,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;AAC7B,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC7F,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,KAAK;AAChC,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM;AACrD,QAAQ,iBAAiB,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,iBAAiB;AAC3E,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;AAC3B,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,KAAK;AAChC,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM;AACrD,QAAQ,iBAAiB,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,iBAAiB;AAC3E,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;AAC3B,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,KAAK;AACpC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;AAC/D,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,KAAK;AACpC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;AAC/D,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,MAAM,MAAM,GAAG,SAAS,EAAE;AAChC,MAAM,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC/E,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI;AACvB,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5C,EAAE;AACF;AACA,SAAS,eAAe,CAAC,EAAE,EAAE;AAC7B,EAAE,OAAO,CAAC,IAAI,KAAK;AACnB,IAAI,OAAO,IAAI,SAAS,CAAC;AACzB,MAAM,EAAE;AACR,MAAM,GAAG;AACT,KAAK,CAAC;AACN,EAAE,CAAC;AACH;AACA,SAAS,mBAAmB,CAAC,EAAE,EAAE;AACjC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;AAC9B,IAAI,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC;AAC5B,EAAE;AACF,EAAE,OAAO,CAAC,IAAI,KAAK,IAAI,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AACjD;;ACjGA,MAAAD,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAEA,SAAS,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE;AAClD,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,IAAI;AACV,EAAE,IAAI,KAAK;AACX,EAAE,IAAI,MAAM;AACZ,EAAE,MAAM,IAAI,GAAG,MAAM;AACrB,IAAI,IAAI,CAAC,WAAW,EAAE;AACtB,MAAM,WAAW,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;AAC7C,QAAQ,WAAW,GAAG,MAAM;AAC5B,QAAQ,IAAI,GAAG,GAAG,CAAC,UAAU,IAAI,SAAS,CAAC;AAC3C,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;AACxB,QAAQ,KAAK,GAAG,GAAG;AACnB,QAAQ,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE;AAC1C,UAAU,IAAI,KAAK,YAAY,KAAK,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;AAChH,YAAY,MAAM,UAAU,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACxE,YAAY,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACrD,cAAc,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;AACrD,cAAc,MAAM,GAAG,IAAI;AAC3B,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,MAAM,CAAC,CAAC;AACR,IAAI;AACJ,IAAI,OAAO,WAAW;AACtB,EAAE,CAAC;AACH,EAAE,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,KAAK,EAAE;AACxC,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC9B,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM;AAC9B,MAAM,CAAC,CAAC;AACR,IAAI;AACJ,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,MAAM,KAAK;AACjB,IAAI;AACJ,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM,MAAM,IAAI,EAAE;AAClB,IAAI;AACJ,IAAI,OAAOA,OAAK,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;AAC3C,EAAE,CAAC;AACH,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI;AACzB,EAAE,OAAO,QAAQ;AACjB;;AC3CA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAKA,SAAS,YAAY,GAAG;AACxB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,kBAAkB,GAAGA,OAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACrE,EAAE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAGA,OAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACrE,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC;AAC1D,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM;AACpB,MAAM,SAAS,EAAE,CAAC,CAAC,SAAS;AAC5B,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,SAAS;AACrE,KAAK,CAAC;AACN,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,iBAAiB,GAAG,WAAW,CAAC,SAAS,CAAC;AAClD,EAAE,MAAM,YAAY,GAAG,SAAS,IAAI,eAAe,IAAI,iBAAiB;AACxE,EAAE,MAAM,oBAAoB,GAAG,WAAW,CAAC,YAAY,CAAC;AACxD,EAAE,MAAM,aAAa,GAAG,SAAS,IAAI,iBAAiB;AACtD,EAAE,MAAM,qBAAqB,GAAG,WAAW,CAAC,aAAa,CAAC;AAC1D,EAAE,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,KAAK;AACnC,IAAI,kBAAkB,CAAC,IAAI,CAAC;AAC5B,IAAIA,OAAK,CAAC,eAAe,CAAC,MAAM;AAChC,MAAM,EAAE,EAAE;AACV,MAAM,kBAAkB,CAAC,KAAK,CAAC;AAC/B,IAAI,CAAC,CAAC;AACN,EAAE,CAAC;AACH,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AACvD,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;AAC9C,MAAM,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ;AACxC,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,KAAK,EAAE,IAAI;AACjB,MAAM,sBAAsB,EAAE;AAC9B,KAAK,CAAC;AACN,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AACxF,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC/D,IAAI;AACJ,IAAI,OAAO,MAAM;AACjB,MAAM,KAAK,EAAE;AACb,IAAI,CAAC;AACL,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9B,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI;AACJ;AACA,MAAM,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC;AAChI,MAAM;AACN,MAAM;AACN,IAAI;AACJ,IAAI,kBAAkB,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1D,IAAI,MAAM,OAAO,GAAG,YAAY;AAChC,MAAM,IAAI;AACV,QAAQ,MAAM,MAAM,CAAC,IAAI,EAAE;AAC3B,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1B,MAAM;AACN,IAAI,CAAC;AACL,IAAI,OAAO,EAAE;AACb,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACd,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,IAAI,iBAAiB,IAAI,CAAC,SAAS,EAAE;AACzC,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,IAAI,EAAE,QAAQ;AACtB;AACA,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK;AAC7C,OAAO,CAAC;AACR,IAAI;AACJ,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC5C,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,IAAI,qBAAqB,IAAI,CAAC,aAAa,EAAE;AACjD,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,IAAI,EAAE,oBAAoB;AAClC,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK;AAC7C,OAAO,CAAC;AACR,IAAI;AACJ,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,IAAI,oBAAoB,IAAI,CAAC,YAAY,EAAE;AAC/C,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,IAAI,EAAE,YAAY;AAC1B,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK;AAC7C,OAAO,CAAC;AACR,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;AACtC,QAAQ,GAAG,CAAC;AACZ,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,gBAAgB,EAAE,CAAC,CAAC;AAC5B,OAAO,CAAC,CAAC;AACT,MAAM,gBAAgB,CAAC,MAAM,CAAC;AAC9B,IAAI;AACJ,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAClD,EAAE,OAAO,IAAI;AACb;;AC1FA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC;AAClC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AAChE,GAAG,CAAC;AACJ,EAAE,uBAAuBC,qBAAG;AAC5B,IAAI,aAAa;AACjB,IAAI;AACJ,MAAM,WAAW,EAAE,MAAM,QAAQ;AACjC,MAAM,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK;AACrC,QAAQ,IAAI,EAAE;AACd,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AAC/B,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC;AAClF,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,KAAK;AACrB,QAAQ;AACR,MAAM,CAAC;AACP,MAAM,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK;AACrC,QAAQ,IAAI,EAAE;AACd,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AAC/B,UAAU,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;AAC/E,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,KAAK;AACrB,QAAQ;AACR,MAAM,CAAC;AACP,MAAM,QAAQ,EAAE,KAAK,CAAC;AACtB;AACA,GAAG;AACH;AACA,SAAS,qBAAqB,GAAG;AACjC,EAAE,uBAAuBA,qBAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAC5D;;ACjCA,SAAS,YAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,uBAAuBA,qBAAG,CAACM,0BAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;AACpE;;ACAA,SAAS,mBAAA,CAAoB,MAAA,EAAQ,KAAA,EAAO,IAAA,EAAM;AAChD,EAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,iBAAA,EAAmB;AACpC,IAAA,IAAI,MAAA,CAAO,QAAQ,wBAAA,EAA0B;AAC3C,MAAA,6CAA2B,MAAA,CAAO,OAAA,CAAQ,wBAAA,EAA0B,EAAE,MAAM,CAAA;AAAA,IAC9E;AAOA,IAAA,uBAAuBN,qBAAA,CAAI,qBAAA,EAAuB,EAAE,CAAA;AAAA,EACtD;AACA,EAAA,6CAA2B,KAAA,CAAM,OAAA,CAAQ,iBAAA,EAAmB,EAAE,MAAM,CAAA;AACtE;;AChBA,SAAS,UAAU,CAAC;AACpB,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,uBAAuBA,qBAAG;AAC5B,IAAI,QAAQ;AACZ,IAAI;AACJ,MAAM,SAAS,EAAE,MAAM;AACvB,MAAM,uBAAuB,EAAE;AAC/B,QAAQ,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI;AACpD;AACA;AACA,GAAG;AACH;;ACZA,SAASO,mBAAiB,GAAG;AAC7B,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,IAAI,8BAA8B;AACzF,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;AAC/C,EAAE,MAAM,WAAW,GAAG,OAAO,KAAK,8BAA8B,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,OAAO,GAAG,MAAM;AAC1G,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AACrD,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,oBAAoB,GAAG;AAC/B,IAAI,UAAU;AACd,IAAI,uBAAuB,EAAE;AAC7B,GAAG;AACH,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,oBAAoB,CAAC,GAAG,GAAG,WAAW;AAC1C,EAAE;AACF,EAAE,uBAAuBP,qBAAG;AAC5B,IAAI,UAAU;AACd,IAAI;AACJ,MAAM,QAAQ,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACvF;AACA,GAAG;AACH;;ACxBA,MAAAD,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAaK,MAAC,KAAK,GAAGA,OAAK,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC;AAC5C,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,EAAE,EAAE,EAAE;AACZ,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,UAAU,GAAG,cAAc,CAAC;AACpC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AAC3D,MAAM,SAAS;AACf,QAAQ,KAEF,CAAC;AACP,MAAM,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAC/D,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;AACrD,EAAE,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB;AACnG,EAAE,MAAM,cAAc,GAAG,gBAAgB,mBAAmBC,qBAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,IAAI;AAC5F,EAAE,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB;AAClG,EAAE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc;AAC7E,EAAE,MAAM,sBAAsB,GAAG,KAAK,CAAC,MAAM;AAC7C;AACA,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS;AACnH,MAAM,KAAK,CAAC,OAAO,CAAC,iBAAiB;AACrC,EAAE,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,KAAK,KAAK,IAAI,UAAU,CAAC,GAAG,KAAK,WAAW;AAClF,EAAE,MAAM,wBAAwB;AAChC;AACA,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,aAAa,MAAM,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,GAAGD,OAAK,CAAC,QAAQ,GAAG;AACxO,GAAG;AACH,EAAE,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,aAAa,GAAG,YAAY;AAClF,EAAE,MAAM,wBAAwB,GAAG,sBAAsB,GAAG,aAAa,GAAG,YAAY;AACxF,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC;AAClC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AACrB,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,cAAc,CAAC;AACvC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,IAAI,GAAG;AACb,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AAChE,MAAM,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,OAAO;AACxE,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,YAAY,GAAG,YAAY;AACnG,EAAE,uBAAuBE,sBAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE;AAC1D,oBAAoBD,qBAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,kBAAkBA,qBAAG,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,kBAAkBA,qBAAG;AAClL,MAAM,qBAAqB;AAC3B,MAAM;AACN,QAAQ,WAAW,EAAE,MAAM,QAAQ;AACnC,QAAQ,cAAc,EAAE,mBAAmB,IAAI,cAAc;AAC7D,QAAQ,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK;AACvC,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK;AAE5C,UAAU,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACxE,QAAQ,CAAC;AACT,QAAQ,QAAQ,kBAAkBA,qBAAG;AACrC,UAAU,wBAAwB;AAClC,UAAU;AACV,YAAY,QAAQ,EAAE,CAAC,KAAK,KAAK;AACjC,cAAc,IAAI,CAAC,sBAAsB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM;AACrI,gBAAgB,MAAM,KAAK;AAC3B,cAAc,OAAOD,OAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC;AACvE,YAAY,CAAC;AACb,YAAY,QAAQ,EAAE,aAAa,IAAI,UAAU,CAAC,eAAe,mBAAmBC,qBAAG,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,kBAAkBA,qBAAG,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,mBAAmBA,qBAAG,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE;AACvO;AACA;AACA;AACA,KAAK,EAAE,CAAC,EAAE,CAAC;AACX,IAAI,aAAa,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,mBAAmBC,sBAAI,CAACK,0BAAQ,EAAE,EAAE,QAAQ,EAAE;AACnH,sBAAsBN,qBAAG,CAAC,UAAU,EAAE,EAAE,CAAC;AACzC,sBAAsBA,qBAAG,CAACO,mBAAiB,EAAE,EAAE;AAC/C,KAAK,EAAE,CAAC,GAAG;AACX,GAAG,EAAE,CAAC;AACN,CAAC;AACD,SAAS,UAAU,GAAG;AACtB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,eAAe,GAAGR,OAAK,CAAC,MAAM;AACtC,IAAI;AACJ,GAAG;AACH,EAAE,uBAAuBC,qBAAG;AAC5B,IAAI,QAAQ;AACZ,IAAI;AACJ,MAAM,wBAAwB,EAAE,IAAI;AACpC,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK;AACnB,QAAQ,IAAI,EAAE,KAAK,eAAe,CAAC,OAAO,KAAK,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AACvH,UAAU,MAAM,CAAC,IAAI,CAAC;AACtB,YAAY,IAAI,EAAE,YAAY;AAC9B,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK;AACjD,WAAW,CAAC;AACZ,UAAU,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc;AACzD,QAAQ;AACR,MAAM;AACN,KAAK;AACL,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;AAChC,GAAG;AACH;AACA,MAAM,UAAU,GAAGD,OAAK,CAAC,IAAI,CAAC,SAAS,cAAc,CAAC;AACtD,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AACxB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;AACjD,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AACrE,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;AAC1C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO;AACrC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB;AAC5G,MAAM,MAAM,WAAW,GAAG,SAAS,IAAI,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AACjE,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,UAAU,EAAE,MAAM,CAAC,UAAU;AACrC,QAAQ,MAAM,EAAE,MAAM,CAAC,aAAa;AACpC,QAAQ,MAAM,EAAE,MAAM,CAAC;AACvB,OAAO,CAAC;AACR,MAAM,MAAM,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM;AACrE,MAAM,OAAO;AACb,QAAQ,GAAG,EAAE,IAAI;AACjB,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;AAC5B,UAAU,IAAI;AACd,UAAU,QAAQ;AAClB,UAAU,OAAO;AACjB,UAAU,eAAe;AACzB,UAAU;AACV,SAAS;AACT,OAAO;AACP,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;AAC1C,EAAE,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,MAAM;AAClC,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB;AAC3E,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,uBAAuBC,qBAAG,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC;AAC/C,IAAI;AACJ,IAAI,uBAAuBA,qBAAG,CAAC,MAAM,EAAE,EAAE,CAAC;AAC1C,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACrE,EAAE,IAAI,KAAK,CAAC,eAAe,EAAE;AAC7B,IAAI,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,qBAAqB;AACtF,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,aAAa,EAAE;AAC3B,IAAI,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,iBAAiB;AAClF,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;AAClC,IAAI,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB;AACzF,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE;AACrG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC5B,QAAQ,MAAM,iBAAiB,GAAG,uBAAuB,EAAE;AAC3D,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AACrC,UAAU,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM;AAClD,YAAY,GAAG,IAAI;AACnB,YAAY;AACZ,WAAW,CAAC,CAAC;AACb,QAAQ,CAAC,CAAC;AACV,QAAQ,UAAU,CAAC,MAAM;AACzB,UAAU,iBAAiB,CAAC,OAAO,EAAE;AACrC,UAAU,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM;AAClD,YAAY,GAAG,IAAI;AACnB,YAAY,iBAAiB,EAAE;AAC/B,WAAW,CAAC,CAAC;AACb,QAAQ,CAAC,EAAE,YAAY,CAAC;AACxB,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW;AAC5E,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;AACnC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAA8B,CAAC;AACnE,IAAI,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;AAC1D,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE;AACrC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAA8B,CAAC;AACnE,IAAI,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW;AAC5E,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE;AAChC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE;AACzB,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,KAAK,cAAc;AAC1H,MAAM,uBAAuBA,qBAAG;AAChC,QAAQ,mBAAmB;AAC3B,QAAQ;AACR,UAAU,KAAK,EAAE,KAAK,CAAC,KAAK;AAC5B,UAAU,KAAK,EAAE,MAAM;AACvB,UAAU,IAAI,EAAE;AAChB,YAAY,cAAc,EAAE;AAC5B;AACA;AACA,OAAO;AACP,IAAI;AACJ,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB,EAAE;AACF,EAAE,OAAO,GAAG;AACZ,CAAC,CAAC;AACG,MAAC,MAAM,GAAGD,OAAK,CAAC,IAAI,CAAC,SAAS,UAAU,GAAG;AAChD,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,OAAO,GAAGA,OAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AAChD,EAAE,MAAM,OAAO,GAAG,cAAc,CAAC;AACjC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,IAAI,EAAE;AACZ,MAAM,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO;AACzF,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;AAC1C,EAAE,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAC9C,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO;AAC/B,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AAC/D,MAAM,SAAS;AACf,QAAQ,WAEF,CAAC;AACP,MAAM,OAAO,WAAW,CAAC,cAAc;AACvC,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,cAAc,CAAC;AACtC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,IAAI,EAAE;AACZ,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO;AAC/B,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AAC9D,MAAM,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,EAAE;AAC/D,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,mBAAmBC,qBAAG,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,GAAG,IAAI;AACxI,EAAE,IAAI,oBAAoB,EAAE;AAC5B,IAAI,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AACrD,EAAE;AACF,EAAE,IAAI,CAAC,YAAY,EAAE;AACrB,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,SAAS,mBAAmBA,qBAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACzE,EAAE,IAAI,OAAO,KAAK,WAAW,EAAE;AAC/B,IAAI,uBAAuBA,qBAAG,CAACD,OAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjG,EAAE;AACF,EAAE,OAAO,SAAS;AAClB,CAAC;;ACnPD,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AASA,SAAS,OAAO,GAAG;AACnB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,mBAAmBC,qBAAG,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,GAAG,IAAI;AACxI,EAAE,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,GAAG,GAAG,YAAY,GAAGD,OAAK,CAAC,QAAQ;AAC3H,EAAE,MAAM,KAAK,mBAAmBE,sBAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE;AAC7F,IAAI,CAAC,MAAM,CAAC,QAAQ,oBAAoBD,qBAAG,CAAC,YAAY,EAAE,EAAE,CAAC;AAC7D,oBAAoBA,qBAAG,CAAC,YAAY,EAAE,EAAE;AACxC,GAAG,EAAE,CAAC;AACN,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,mBAAmBA,qBAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK;AAC9G;AACA,SAAS,YAAY,GAAG;AACxB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,OAAO,GAAG,cAAc,CAAC;AACjC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,IAAI,EAAE;AACZ,MAAM,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,EAAE;AACzD,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC;AAClC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AACrB,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,OAAO,mBAAmBA,qBAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;AACjF,EAAE,uBAAuBA,qBAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,0BAA0B,GAAG,cAAc,mBAAmBA,qBAAG;AAChK,IAAI,aAAa;AACjB,IAAI;AACJ,MAAM,WAAW,EAAE,MAAM,QAAQ;AACjC,MAAM,cAAc,EAAE,cAAc;AACpC,MAAM,OAAO,EAAE,CAAC,KAAK,KAAK;AAK1B,QAAQ,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;AACzD,MAAM,CAAC;AACP,MAAM,QAAQ,EAAE;AAChB;AACA,GAAG,EAAE,CAAC;AACN;AACA,SAAS,aAAa,GAAG;AACzB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,cAAc,CAAC;AACjB,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,IAAI,EAAE;AACZ,MAAM,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,gBAAgB,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;AAC9F,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,OAAOD,OAAK,CAAC,WAAW;AAC1B,IAAI,CAAC,IAAI,KAAK;AACd,MAAM,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI;AAC5E,MAAM,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;AACrC,QAAQ,OAAO;AACf,QAAQ,aAAa;AACrB,QAAQ,KAAK;AACb,QAAQ;AACR,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,CAAC,MAAM;AACX,GAAG;AACH;AACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,EAAE,MAAM,UAAU,GAAG,aAAa,EAAE;AACpC,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;AAClC,EAAE,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE;AAC5C,IAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;AACjC,EAAE;AACF,EAAE,OAAO,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI;AACvC;AACA,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,OAAO,cAAc,CAAC;AACxB,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;AACnC,MAAM,OAAO,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO;AACnF,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AACpD,GAAG,CAAC;AACJ;AACA,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAChC,EAAE,MAAM,cAAc,GAAGA,OAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AACvD,EAAE,OAAO,UAAU,CAAC;AACpB,IAAI,MAAM,EAAE,CAAC,OAAO,KAAK;AACzB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK;AAC7B,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,cAAc;AACxD,OAAO;AACP,MAAM,OAAO,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO;AACnF,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AACpD,GAAG,CAAC;AACJ;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,MAAM,cAAc,GAAGA,OAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AACvD,EAAE,OAAO,UAAU,CAAC;AACpB,IAAI,MAAM,EAAE,CAAC,OAAO,KAAK;AACzB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK;AAC7B,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,GAAG;AAC5D,OAAO;AACP,MAAM,OAAO,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO;AACnF,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AACpD,GAAG,CAAC;AACJ;;AC7GK,MAAC,YAAY,GAAG,CAAC,OAAO,KAAK;AAClC,EAAE,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;AAC5B;AACA,MAAM,MAAM,SAAS,UAAU,CAAC;AAChC,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB,EAAE;AACF;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;AACvC,EAAE,UAAU,CAAC,eAAe,GAAG,eAAe;AAC9C,EAAE,UAAU,CAAC,mBAAmB,GAAG,mBAAmB;AACtD,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAC1C,EAAE,MAAM,CAAC,eAAe,GAAG,eAAe;AAC1C,EAAE,MAAM,CAAC,eAAe,GAAG,mBAAmB;AAC9C;;ACbA,SAAS,qBAAqB,CAAC;AAC/B,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,GAAG;AACL,CAAC,EAAE;AACH,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACpC,IAAI,MAAM,CAAC,MAAM,CAAC;AAClB,MAAM,GAAG,MAAM,CAAC,OAAO;AACvB,MAAM,GAAG,IAAI;AACb,MAAM,OAAO,EAAE;AACf,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO;AACjC,QAAQ,GAAG,IAAI,CAAC;AAChB;AACA,KAAK,CAAC;AACN,EAAE;AACF,EAAE,MAAM,aAAa,GAAG,gBAAgB,EAAE;AAC1C,EAAE,MAAM,QAAQ,mBAAmBC,qBAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC3F,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;AAC3B,IAAI,uBAAuBA,qBAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC3E,EAAE;AACF,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE;AAC7C,EAAE,uBAAuBA,qBAAG,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,QAAQ,kBAAkBA,qBAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;AACpH;;ACzBA,SAAS,oBAAA,GAAuB;AAC9B,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,sBAAA,CAAuB,QAAQ,IAAI,CAAA;AACrC;AACA,SAAS,kBAAkB,MAAA,EAAQ;AACjC,EAAA,oBAAA,EAAqB;AAMrB,EAAA,OAAO,IAAA;AACT;AACA,SAAS,4BAA4B,OAAA,EAAS;AAC5C,EAAA,IAAI,EAAA,EAAI,EAAA;AACR,EAAA,oBAAA,EAAqB;AACrB,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,MAAM,MAAA,GAAS,QAAQ,MAAA,IAAU,8BAAA;AACjC,EAAA,IAAI,eAAA,GAAkB,EAAA;AACtB,EAAA,IAAI,QAAQ,EAAA,EAAI;AACd,IAAA,eAAA,GAAkB,CAAA,6BAAA,EAAgC,QAAQ,EAAE,CAAA,EAAA,CAAA;AAAA,EAC9D,CAAA,MAAO;AACL,IAAA,MAAM,OAAA,GAAA,CAAW,KAAK,OAAA,CAAQ,UAAA,KAAe,OAAO,MAAA,GAAS,EAAA,CAAG,KAAK,OAAO,CAAA;AAC5E,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA;AAAA,IACF;AACA,IAAA,eAAA,GAAkB,OAAA,YAAmB,MAAA,GAAS,QAAA,GAAW,cAAA,CAAe,OAAO,CAAA;AAAA,EACjF;AACA,EAAA,MAAM,UAAA,GAAa,MAAA,CAAO,MAAA,CAAO,cAAc,CAAA;AAC/C,EAAA,MAAM,SAAS,EAAA,GAAK,sBAAA,KAA2B,OAAO,MAAA,GAAS,EAAA,CAAG,MAAM,UAAU,CAAA;AAClF,EAAA,OAAO,KAAA,IAAS,IAAA,GAAO,MAAA,GAAS,KAAA,CAAM,eAAe,CAAA;AACvD;;ACjCA,MAAAD,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAEA,SAAS,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE;AAC9C,EAAE,IAAI,IAAI,KAAK,MAAM,EAAE;AACvB,IAAI,OAAO;AACX,MAAM,aAAa,EAAE,MAAM,IAAI;AAC/B,MAAM,YAAY,EAAE;AACpB,KAAK;AACL,EAAE;AACF,EAAE,IAAI,eAAe,IAAI,IAAI,EAAE;AAC/B,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAClC,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;AACnD,IAAI,MAAM,iBAAiB,GAAG,YAAY;AAC1C,MAAM,IAAI,YAAY,EAAE,OAAO,MAAM,IAAI,EAAE;AAC3C,MAAM,OAAO,KAAK;AAClB,IAAI,CAAC;AACL,IAAI,OAAO;AACX,MAAM,aAAa,EAAE,iBAAiB;AACtC,MAAM,kBAAkB,EAAE,YAAY;AACtC,MAAM,YAAY,EAAE;AACpB,KAAK;AACL,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;AACrD,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS;AAC3B,EAAE,MAAM,gBAAgB,GAAG,YAAY;AACvC,IAAI,IAAI,WAAW,IAAI,EAAE,KAAK,MAAM,EAAE;AACtC,MAAM,OAAO,MAAM,EAAE,EAAE;AACvB,IAAI;AACJ,IAAI,OAAO,WAAW;AACtB,EAAE,CAAC;AACH,EAAE,OAAO;AACT,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,kBAAkB,EAAE,WAAW;AACnC,IAAI,YAAY,EAAE,EAAE,KAAK;AACzB,GAAG;AACH;AACA,SAAS,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE;AACrC,EAAE,MAAM;AACR,IAAI,aAAa;AACjB,IAAI,kBAAkB,GAAG,IAAI;AAC7B,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,YAAY,GAAG;AACnB,GAAG,GAAG,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM;AAC5B,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,OAAK,CAAC,QAAQ,CAAC;AACjD,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,KAAK,EAAE;AACX,GAAG,CAAC;AACJ,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,MAAM,iBAAiB,GAAG,OAAO,aAAa,KAAK;AACvD,MAAM,SAAS,WAAW,CAAC,QAAQ,EAAE;AACrC,QAAQ,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrE,QAAQ,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB;AACrD,UAAU,cAAc,CAAC,QAAQ;AACjC,UAAU;AACV,SAAS;AACT,QAAQ,IAAI,aAAa,CAAC,UAAU,KAAK,MAAM,EAAE;AACjD,UAAU,MAAM,IAAI,KAAK,CAAC,CAAC,4BAA4B,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,QAAQ;AACR,QAAQ,OAAO;AACf,UAAU,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE;AAC9C,UAAU,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,QAAQ;AACrD,UAAU,QAAQ,EAAE,cAAc,CAAC,QAAQ;AAC3C,UAAU,MAAM,EAAE,aAAa,CAAC,WAAW;AAC3C,UAAU,MAAM,EAAE,cAAc,CAAC;AACjC,SAAS;AACT,MAAM;AACN,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC;AAChE,MAAM,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC;AAC9C,QAAQ,MAAM,EAAE,aAAa,CAAC,MAAM;AACpC,QAAQ,OAAO;AACf,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,QAAQ,OAAO,WAAW;AAC1B,MAAM;AACN,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,OAAO,KAAK;AACpB,MAAM;AACN,MAAM,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;AAC/C,QAAQ,WAAW,CAAC;AACpB,UAAU,MAAM,EAAE,SAAS;AAC3B,UAAU,OAAO;AACjB,UAAU,IAAI;AACd,UAAU,MAAM,EAAE,aAAa,CAAC,MAAM;AACtC,UAAU,OAAO,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;AACvC,UAAU,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI;AACnC,SAAS,CAAC;AACV,MAAM,CAAC,CAAC;AACR,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO;AAC5C,MAAM,WAAW,CAAC;AAClB,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,OAAO,EAAE,MAAM;AACvB,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,OAAO,EAAE,MAAM;AACvB,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,MAAM,OAAO,gBAAgB;AAC7B,IAAI,CAAC;AACL,IAAI,OAAO,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;AAClG,EAAE,CAAC,EAAE;AACL,IAAI,aAAa;AACjB,IAAI,kBAAkB;AACtB,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,OAAO;AACX,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,QAAQ;AACjB;AACA,MAAM,yBAAyB,GAAG,CAAC,KAAK,KAAK;AAC7C,EAAE,IAAI,eAAe,IAAI,KAAK,EAAE;AAChC,IAAI,OAAO,EAAE,GAAG,KAAK,EAAE;AACvB,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC;AACtD,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS;AAC5B,EAAE,MAAM,gBAAgB,GAAG,YAAY;AACvC,IAAI,IAAI,WAAW,IAAI,EAAE,KAAK,MAAM,EAAE;AACtC,MAAM,OAAO,MAAM,EAAE,EAAE;AACvB,IAAI;AACJ,IAAI,OAAO,WAAW;AACtB,EAAE,CAAC;AACH,EAAE,OAAO;AACT,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,kBAAkB,EAAE,WAAW;AACnC,IAAI,YAAY,EAAE,EAAE,KAAK;AACzB,GAAG;AACH,CAAC;AACD,SAAS,KAAK,CAAC,IAAI,EAAE;AACrB,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI;AACpC,EAAE,MAAM,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC;AAC9C,EAAE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;AACnC,EAAE,OAAO,QAAQ,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,IAAI;AACzF;;AC7IA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,GAAG,IAAI;AACX,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AACxE,GAAG,CAAC;AACJ;;ACLA,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,OAAO,cAAc,CAAC;AACxB,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;AACnG,GAAG,CAAC;AACJ;;ACJA,SAAS,YAAY,GAAG;AACxB,EAAE,OAAO,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;AAC9E;;ACFA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,SAAS,KAAK,CAAC;AACf,EAAE,GAAG;AACL,EAAE,KAAK;AACP,EAAE;AACF,CAAC,EAAE;AACH,EAAE,QAAQ,GAAG;AACb,IAAI,KAAK,OAAO;AAChB,MAAM,uBAAuBC,qBAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACjG,IAAI,KAAK,MAAM;AACf,MAAM,uBAAuBA,qBAAG,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;AACtF,IAAI,KAAK,MAAM;AACf,MAAM,uBAAuBA,qBAAG,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;AACtF,IAAI,KAAK,OAAO;AAChB,MAAM,uBAAuBA,qBAAG;AAChC,QAAQ,OAAO;AACf,QAAQ;AACR,UAAU,GAAG,KAAK;AAClB,UAAU,uBAAuB,EAAE,EAAE,MAAM,EAAE,QAAQ;AACrD;AACA,OAAO;AACP,IAAI,KAAK,QAAQ;AACjB,MAAM,uBAAuBA,qBAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7D,IAAI;AACJ,MAAM,OAAO,IAAI;AACjB;AACA;AACA,SAAS,MAAM,CAAC;AAChB,EAAE,KAAK;AACP,EAAE;AACF,CAAC,EAAE;AACH,EAAED,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE;AAC5C,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACrD,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxD,QAAQ,IAAI,GAAG,KAAK,0BAA0B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE;AACvF,UAAU,MAAM,CAAC,YAAY;AAC7B,YAAY,GAAG;AACf,YAAY,OAAO,KAAK,KAAK,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK;AAC1D,WAAW;AACX,QAAQ;AACR,MAAM;AACN,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACvC,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE;AAC/B,UAAU,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;AAC/C,QAAQ;AACR,MAAM,CAAC;AACP,IAAI;AACJ,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACtC,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACrD,MAAM,MAAM,CAAC,WAAW,GAAG,QAAQ;AACnC,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1D,UAAU,IAAI,GAAG,KAAK,0BAA0B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE;AACzF,YAAY,MAAM,CAAC,YAAY;AAC/B,cAAc,GAAG;AACjB,cAAc,OAAO,KAAK,KAAK,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK;AAC5D,aAAa;AACb,UAAU;AACV,QAAQ;AACR,MAAM;AACN,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACvC,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE;AAC/B,UAAU,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;AAC/C,QAAQ;AACR,MAAM,CAAC;AACP,IAAI;AACJ,IAAI,OAAO,MAAM;AACjB,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvB,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,KAAK,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AAC7E,IAAI,uBAAuBC,qBAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;AACtF,EAAE;AACF,EAAE,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACpC,IAAI,uBAAuBA,qBAAG;AAC9B,MAAM,QAAQ;AACd,MAAM;AACN,QAAQ,GAAG,KAAK;AAChB,QAAQ,uBAAuB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;AACrD,QAAQ,wBAAwB,EAAE;AAClC;AACA,KAAK;AACL,EAAE;AACF,EAAE,OAAO,IAAI;AACb;;ACtFA,MAAA,KAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,MAAA,gBAAAQ,eAAA,CAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAIA,MAAM,OAAO,GAAG,MAAM;AACtB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,SAAS,GAAG,cAAc,CAAC;AACnC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACrE,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM;AACnC,IAAI,MAAM,UAAU,GAAG,EAAE;AACzB,IAAI,MAAM,eAAe,GAAG,EAAE;AAC9B,IAAI,IAAI,KAAK;AACb,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAChD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AAC1C,QAAQ,IAAI,CAAC,CAAC,EAAE;AAChB,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE;AACrB,UAAU,IAAI,CAAC,KAAK,EAAE;AACtB,YAAY,KAAK,GAAG;AACpB,cAAc,GAAG,EAAE,OAAO;AAC1B,cAAc,QAAQ,EAAE,CAAC,CAAC;AAC1B,aAAa;AACb,UAAU;AACV,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ;AAChD,UAAU,IAAI,SAAS,EAAE;AACzB,YAAY,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE;AAC5C,cAAc;AACd,YAAY,CAAC,MAAM;AACnB,cAAc,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI;AAC/C,YAAY;AACZ,UAAU;AACV,UAAU,UAAU,CAAC,IAAI,CAAC;AAC1B,YAAY,GAAG,EAAE,MAAM;AACvB,YAAY,KAAK,EAAE;AACnB,cAAc,GAAG;AACjB;AACA,WAAW,CAAC;AACZ,QAAQ;AACR,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B,IAAI;AACJ,IAAI,UAAU,CAAC,OAAO,EAAE;AACxB,IAAI,OAAO,UAAU;AACrB,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AACjB,EAAE,MAAM,KAAK,GAAG,cAAc,CAAC;AAC/B,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,IAAI,EAAE;AACZ,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AAC3G,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,KAAK,EAAE;AACf,UAAU,GAAG;AACb;AACA,OAAO,CAAC,CAAC;AACT,MAAM,MAAM,QAAQ,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ;AACvE,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAClD,QAAQ,IAAI,GAAG;AACf,QAAQ,OAAO,CAAC,CAAC,GAAG,GAAG,QAAQ,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,EAAE;AACvH,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,GAAG;AAC5E,QAAQ,CAAC,KAAK,MAAM;AACpB,UAAU,GAAG,EAAE,MAAM;AACrB,UAAU,KAAK,EAAE;AACjB,YAAY,GAAG,KAAK,CAAC,KAAK;AAC1B,YAAY,wBAAwB,EAAE;AACtC;AACA,SAAS;AACT,OAAO;AACP,MAAM,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC;AACxC,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,cAAc,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,MAAM,YAAY,GAAG,EAAE;AAC7B,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;AACjF,QAAQ,CAAC,KAAK,KAAK;AACnB,UAAU,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AAC5B,UAAU,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AACxN,YAAY,YAAY,CAAC,IAAI,CAAC;AAC9B,cAAc,GAAG,EAAE,MAAM;AACzB,cAAc,KAAK,EAAE;AACrB,gBAAgB,GAAG,EAAE,eAAe;AACpC,gBAAgB,IAAI,EAAE;AACtB;AACA,aAAa,CAAC;AACd,UAAU,CAAC,CAAC;AACZ,QAAQ;AACR,OAAO;AACP,MAAM,OAAO,YAAY;AACzB,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,cAAc,CAAC;AAChC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,MAAM;AAC3H,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,KAAK;AACX,MAAM;AACN,KAAK,CAAC,CAAC;AACP,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,cAAc,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,MAAM;AACjI,MAAM,GAAG,EAAE,QAAQ;AACnB,MAAM,KAAK,EAAE;AACb,QAAQ,GAAG;AACX,OAAO;AACP,MAAM;AACN,KAAK,CAAC,CAAC;AACP,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,OAAO,MAAM;AACf,IAAI;AACJ,MAAM,GAAG,IAAI;AACb,MAAM,GAAG,WAAW;AACpB,MAAM,GAAG,KAAK;AACd,MAAM,GAAG,MAAM;AACf,MAAM,GAAG;AACT,KAAK;AACL,IAAI,CAAC,CAAC,KAAK;AACX,MAAM,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9B,IAAI;AACJ,GAAG;AACH,CAAC;AACD,SAAS,WAAW,GAAG;AACvB,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqBA,eAAa,CAAC,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpH;AACA,SAAS,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE;AACzB,EAAE,MAAM,IAAI,mBAAmB,IAAI,GAAG,EAAE;AACxC,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AAC9B,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;AACxB,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACvB,MAAM,OAAO,KAAK;AAClB,IAAI;AACJ,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACjB,IAAI,OAAO,IAAI;AACf,EAAE,CAAC,CAAC;AACJ;;AC7IA,MAAA,CAAA,aAAA,CAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAIK,MAAC,OAAO,GAAG,MAAM;AACtB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,YAAY,GAAG,cAAc,CAAC;AACtC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,IAAI,EAAE;AACZ,MAAM,MAAM,aAAa,GAAG,EAAE;AAC9B,MAAM,MAAM,QAAQ,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ;AACvE,MAAM,IAAI,CAAC,QAAQ,EAAE;AACrB,QAAQ,OAAO,EAAE;AACjB,MAAM;AACN,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;AACjF,QAAQ,CAAC,KAAK,KAAK;AACnB,UAAU,IAAI,GAAG,EAAE,EAAE;AACrB,UAAU,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AACnK,YAAY,aAAa,CAAC,IAAI,CAAC;AAC/B,cAAc,GAAG,EAAE,QAAQ;AAC3B,cAAc,KAAK,EAAE,KAAK,CAAC,KAAK;AAChC,cAAc,QAAQ,EAAE,KAAK,CAAC;AAC9B,aAAa,CAAC;AACd,UAAU,CAAC,CAAC;AACZ,QAAQ;AACR,OAAO;AACP,MAAM,OAAO,aAAa;AAC1B,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,KAAK,MAAM;AACxB,MAAM,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,MAAM;AACrH,QAAQ,GAAG,EAAE,QAAQ;AACrB,QAAQ,KAAK,EAAE;AACf,UAAU,GAAG,MAAM;AACnB,UAAU,wBAAwB,EAAE;AACpC,SAAS;AACT,QAAQ;AACR,OAAO,CAAC;AACR,KAAK,CAAC;AACN,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC;AAClD,EAAE,uBAAuBR,qBAAG,CAACM,0BAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,qBAAqB,aAAa,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC5K;;;;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62]}