@taon-dev/e-commerce 21.0.5 → 21.0.6

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 (294) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +3 -3
  2. package/browser/fesm2022/e-commerce-browser.mjs +1 -1
  3. package/browser/fesm2022/e-commerce-browser.mjs.map +1 -1
  4. package/browser/package.json +1 -1
  5. package/browser/types/e-commerce-browser.d.ts +1 -1
  6. package/browser-prod/fesm2022/e-commerce-browser-prod.mjs +1 -1
  7. package/browser-prod/fesm2022/e-commerce-browser-prod.mjs.map +1 -1
  8. package/browser-prod/package.json +1 -1
  9. package/browser-prod/types/e-commerce-browser-prod.d.ts +1 -1
  10. package/full-dts/build-info._auto-generated_.d.ts +24 -0
  11. package/full-dts/env/env.angular-node-app.d.ts +71 -0
  12. package/full-dts/env/env.docs-webapp.d.ts +71 -0
  13. package/full-dts/env/env.electron-app.d.ts +71 -0
  14. package/full-dts/env/env.mobile-app.d.ts +71 -0
  15. package/full-dts/env/env.npm-lib-and-cli-tool.d.ts +71 -0
  16. package/full-dts/env/env.vscode-plugin.d.ts +71 -0
  17. package/full-dts/env/index.d.ts +6 -0
  18. package/full-dts/i18n/lib.translation.d.ts +4 -0
  19. package/full-dts/i18n/my-organization-proj.ts.en-US.i18n.data.d.ts +15 -0
  20. package/full-dts/i18n/my-organization-proj.ts.pl-PL.i18n.data.d.ts +16 -0
  21. package/full-dts/index._auto-generated_.d.ts +158 -0
  22. package/full-dts/index.d.ts +7 -0
  23. package/full-dts/migrations/1791132517216_initial.d.ts +7 -0
  24. package/full-dts/migrations/index.d.ts +1 -0
  25. package/full-dts/migrations/migrations_index._auto-generated_.d.ts +4 -0
  26. package/full-dts/my-organization-proj.d.ts +1 -0
  27. package/full-dts/start-cli.d.ts +7 -0
  28. package/full-dts/taon-cart/index.d.ts +2 -0
  29. package/full-dts/taon-cart/taon-cart.models.d.ts +6 -0
  30. package/full-dts/taon-cart-button/index.d.ts +2 -0
  31. package/full-dts/taon-cart-button/taon-cart-button.models.d.ts +1 -0
  32. package/full-dts/taon-e-commerce-backoffice/index.d.ts +1 -0
  33. package/full-dts/taon-e-commerce-backoffice/taon-e-commerce-backoffice.models.d.ts +1 -0
  34. package/full-dts/taon-e-commerce-backoffice-dashboard/index.d.ts +1 -0
  35. package/full-dts/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.models.d.ts +1 -0
  36. package/full-dts/taon-e-commerce-backoffice-settings/index.d.ts +1 -0
  37. package/full-dts/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context.d.ts +16 -0
  38. package/full-dts/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.controller.d.ts +6 -0
  39. package/full-dts/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.models.d.ts +1 -0
  40. package/full-dts/taon-e-commerce-backoffice-settings/taon-e-commerce-settings.kv.repository.d.ts +3 -0
  41. package/full-dts/taon-e-commerce-cart/i18n/taon-e-commerce-cart.constants.ts.en-US.i18n.data.d.ts +15 -0
  42. package/full-dts/taon-e-commerce-cart/i18n/taon-e-commerce-cart.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  43. package/full-dts/taon-e-commerce-cart/i18n/taon-e-commerce-cart.translation.d.ts +4 -0
  44. package/full-dts/taon-e-commerce-cart/index.d.ts +12 -0
  45. package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.abstract.context.d.ts +16 -0
  46. package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.constants.d.ts +6 -0
  47. package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.controller.d.ts +11 -0
  48. package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.entity.d.ts +10 -0
  49. package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.kv.repository.d.ts +7 -0
  50. package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.middleware.d.ts +3 -0
  51. package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.models.d.ts +6 -0
  52. package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.provider.d.ts +4 -0
  53. package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.repository.d.ts +9 -0
  54. package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.subscriber.d.ts +7 -0
  55. package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.utils.d.ts +4 -0
  56. package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.validators.d.ts +7 -0
  57. package/full-dts/taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.constants.ts.en-US.i18n.data.d.ts +15 -0
  58. package/full-dts/taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  59. package/full-dts/taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.translation.d.ts +4 -0
  60. package/full-dts/taon-e-commerce-cart-item/index.d.ts +12 -0
  61. package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context.d.ts +16 -0
  62. package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.d.ts +6 -0
  63. package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.controller.d.ts +11 -0
  64. package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity.d.ts +12 -0
  65. package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.kv.repository.d.ts +7 -0
  66. package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.middleware.d.ts +3 -0
  67. package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.models.d.ts +6 -0
  68. package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.provider.d.ts +4 -0
  69. package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.repository.d.ts +9 -0
  70. package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.subscriber.d.ts +7 -0
  71. package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.utils.d.ts +4 -0
  72. package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.validators.d.ts +7 -0
  73. package/full-dts/taon-e-commerce-customer/index.d.ts +3 -0
  74. package/full-dts/taon-e-commerce-customer/taon-e-commerce-customer.controller.d.ts +24 -0
  75. package/full-dts/taon-e-commerce-customer/taon-e-commerce-customer.repository.d.ts +13 -0
  76. package/full-dts/taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.constants.ts.en-US.i18n.data.d.ts +15 -0
  77. package/full-dts/taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  78. package/full-dts/taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.translation.d.ts +4 -0
  79. package/full-dts/taon-e-commerce-customer-address/index.d.ts +12 -0
  80. package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context.d.ts +16 -0
  81. package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.d.ts +6 -0
  82. package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.controller.d.ts +10 -0
  83. package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.entity.d.ts +18 -0
  84. package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.kv.repository.d.ts +7 -0
  85. package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.middleware.d.ts +3 -0
  86. package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.models.d.ts +6 -0
  87. package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.provider.d.ts +12 -0
  88. package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.repository.d.ts +9 -0
  89. package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.subscriber.d.ts +6 -0
  90. package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.utils.d.ts +4 -0
  91. package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.validators.d.ts +7 -0
  92. package/full-dts/taon-e-commerce-order/i18n/taon-e-commerce-order.constants.ts.en-US.i18n.data.d.ts +15 -0
  93. package/full-dts/taon-e-commerce-order/i18n/taon-e-commerce-order.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  94. package/full-dts/taon-e-commerce-order/i18n/taon-e-commerce-order.translation.d.ts +4 -0
  95. package/full-dts/taon-e-commerce-order/index.d.ts +12 -0
  96. package/full-dts/taon-e-commerce-order/taon-e-commerce-order.abstract.context.d.ts +16 -0
  97. package/full-dts/taon-e-commerce-order/taon-e-commerce-order.constants.d.ts +6 -0
  98. package/full-dts/taon-e-commerce-order/taon-e-commerce-order.controller.d.ts +10 -0
  99. package/full-dts/taon-e-commerce-order/taon-e-commerce-order.entity.d.ts +16 -0
  100. package/full-dts/taon-e-commerce-order/taon-e-commerce-order.kv.repository.d.ts +7 -0
  101. package/full-dts/taon-e-commerce-order/taon-e-commerce-order.middleware.d.ts +3 -0
  102. package/full-dts/taon-e-commerce-order/taon-e-commerce-order.models.d.ts +6 -0
  103. package/full-dts/taon-e-commerce-order/taon-e-commerce-order.provider.d.ts +12 -0
  104. package/full-dts/taon-e-commerce-order/taon-e-commerce-order.repository.d.ts +9 -0
  105. package/full-dts/taon-e-commerce-order/taon-e-commerce-order.subscriber.d.ts +6 -0
  106. package/full-dts/taon-e-commerce-order/taon-e-commerce-order.utils.d.ts +4 -0
  107. package/full-dts/taon-e-commerce-order/taon-e-commerce-order.validators.d.ts +7 -0
  108. package/full-dts/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.d.ts +1 -0
  109. package/full-dts/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.models.d.ts +1 -0
  110. package/full-dts/taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.constants.ts.en-US.i18n.data.d.ts +15 -0
  111. package/full-dts/taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  112. package/full-dts/taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.translation.d.ts +4 -0
  113. package/full-dts/taon-e-commerce-order-item/index.d.ts +12 -0
  114. package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context.d.ts +16 -0
  115. package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.d.ts +6 -0
  116. package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.controller.d.ts +10 -0
  117. package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.entity.d.ts +15 -0
  118. package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.kv.repository.d.ts +7 -0
  119. package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.middleware.d.ts +3 -0
  120. package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.models.d.ts +6 -0
  121. package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.provider.d.ts +12 -0
  122. package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.repository.d.ts +9 -0
  123. package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.subscriber.d.ts +6 -0
  124. package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.utils.d.ts +4 -0
  125. package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.validators.d.ts +7 -0
  126. package/full-dts/taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.constants.ts.en-US.i18n.data.d.ts +15 -0
  127. package/full-dts/taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  128. package/full-dts/taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.translation.d.ts +4 -0
  129. package/full-dts/taon-e-commerce-payment-transaction/index.d.ts +12 -0
  130. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context.d.ts +16 -0
  131. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.d.ts +6 -0
  132. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.controller.d.ts +10 -0
  133. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity.d.ts +13 -0
  134. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.kv.repository.d.ts +7 -0
  135. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.middleware.d.ts +3 -0
  136. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.models.d.ts +6 -0
  137. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.provider.d.ts +12 -0
  138. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.repository.d.ts +9 -0
  139. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.subscriber.d.ts +6 -0
  140. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.utils.d.ts +4 -0
  141. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.validators.d.ts +7 -0
  142. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.d.ts +1 -0
  143. package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.models.d.ts +1 -0
  144. package/full-dts/taon-e-commerce-product/i18n/taon-e-commerce-product.constants.ts.en-US.i18n.data.d.ts +15 -0
  145. package/full-dts/taon-e-commerce-product/i18n/taon-e-commerce-product.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  146. package/full-dts/taon-e-commerce-product/i18n/taon-e-commerce-product.translation.d.ts +4 -0
  147. package/full-dts/taon-e-commerce-product/index.d.ts +12 -0
  148. package/full-dts/taon-e-commerce-product/taon-e-commerce-product.abstract.context.d.ts +16 -0
  149. package/full-dts/taon-e-commerce-product/taon-e-commerce-product.constants.d.ts +6 -0
  150. package/full-dts/taon-e-commerce-product/taon-e-commerce-product.controller.d.ts +11 -0
  151. package/full-dts/taon-e-commerce-product/taon-e-commerce-product.entity.d.ts +20 -0
  152. package/full-dts/taon-e-commerce-product/taon-e-commerce-product.kv.repository.d.ts +7 -0
  153. package/full-dts/taon-e-commerce-product/taon-e-commerce-product.middleware.d.ts +3 -0
  154. package/full-dts/taon-e-commerce-product/taon-e-commerce-product.models.d.ts +6 -0
  155. package/full-dts/taon-e-commerce-product/taon-e-commerce-product.provider.d.ts +12 -0
  156. package/full-dts/taon-e-commerce-product/taon-e-commerce-product.repository.d.ts +9 -0
  157. package/full-dts/taon-e-commerce-product/taon-e-commerce-product.subscriber.d.ts +6 -0
  158. package/full-dts/taon-e-commerce-product/taon-e-commerce-product.utils.d.ts +4 -0
  159. package/full-dts/taon-e-commerce-product/taon-e-commerce-product.validators.d.ts +7 -0
  160. package/full-dts/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.d.ts +1 -0
  161. package/full-dts/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.models.d.ts +1 -0
  162. package/full-dts/taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.constants.ts.en-US.i18n.data.d.ts +15 -0
  163. package/full-dts/taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  164. package/full-dts/taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.translation.d.ts +4 -0
  165. package/full-dts/taon-e-commerce-product-permission/index.d.ts +12 -0
  166. package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context.d.ts +16 -0
  167. package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.d.ts +6 -0
  168. package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.controller.d.ts +10 -0
  169. package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity.d.ts +9 -0
  170. package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.kv.repository.d.ts +7 -0
  171. package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.middleware.d.ts +3 -0
  172. package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.models.d.ts +6 -0
  173. package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.provider.d.ts +12 -0
  174. package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.repository.d.ts +9 -0
  175. package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.subscriber.d.ts +6 -0
  176. package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.utils.d.ts +4 -0
  177. package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.validators.d.ts +7 -0
  178. package/full-dts/taon-e-commerce.abstract.context.d.ts +16 -0
  179. package/i18n/src.translation.d.ts +1 -1
  180. package/lib/build-info._auto-generated_.d.ts +1 -1
  181. package/lib/build-info._auto-generated_.js +1 -1
  182. package/lib/index._auto-generated_.d.ts +1 -37
  183. package/lib/package.json +1 -1
  184. package/lib/taon-cart/index.d.ts +1 -2
  185. package/lib/taon-cart-button/index.d.ts +1 -2
  186. package/lib/taon-e-commerce-backoffice/index.d.ts +1 -1
  187. package/lib/taon-e-commerce-backoffice/index.js +2 -2
  188. package/lib/taon-e-commerce-backoffice-dashboard/index.d.ts +1 -1
  189. package/lib/taon-e-commerce-backoffice-dashboard/index.js +2 -2
  190. package/lib/taon-e-commerce-backoffice-settings/index.d.ts +1 -1
  191. package/lib/taon-e-commerce-backoffice-settings/index.js +2 -2
  192. package/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context.d.ts +3 -3
  193. package/lib/taon-e-commerce-cart/index.d.ts +1 -3
  194. package/lib/taon-e-commerce-cart/taon-e-commerce-cart.abstract.context.d.ts +3 -3
  195. package/lib/taon-e-commerce-cart/taon-e-commerce-cart.validators.d.ts +1 -6
  196. package/lib/taon-e-commerce-cart-item/index.d.ts +1 -3
  197. package/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context.d.ts +3 -3
  198. package/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.validators.d.ts +1 -6
  199. package/lib/taon-e-commerce-customer/index.d.ts +1 -2
  200. package/lib/taon-e-commerce-customer-address/index.d.ts +1 -3
  201. package/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context.d.ts +3 -3
  202. package/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.validators.d.ts +1 -6
  203. package/lib/taon-e-commerce-order/index.d.ts +1 -3
  204. package/lib/taon-e-commerce-order/taon-e-commerce-order.abstract.context.d.ts +3 -3
  205. package/lib/taon-e-commerce-order/taon-e-commerce-order.validators.d.ts +1 -6
  206. package/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.d.ts +1 -1
  207. package/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.js +2 -2
  208. package/lib/taon-e-commerce-order-item/index.d.ts +1 -3
  209. package/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context.d.ts +3 -3
  210. package/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.validators.d.ts +1 -6
  211. package/lib/taon-e-commerce-payment-transaction/index.d.ts +1 -3
  212. package/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context.d.ts +3 -3
  213. package/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.validators.d.ts +1 -6
  214. package/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.d.ts +1 -1
  215. package/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.js +2 -2
  216. package/lib/taon-e-commerce-product/index.d.ts +1 -3
  217. package/lib/taon-e-commerce-product/taon-e-commerce-product.abstract.context.d.ts +3 -3
  218. package/lib/taon-e-commerce-product/taon-e-commerce-product.validators.d.ts +1 -6
  219. package/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.d.ts +1 -1
  220. package/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.js +2 -2
  221. package/lib/taon-e-commerce-product-permission/index.d.ts +1 -3
  222. package/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context.d.ts +3 -3
  223. package/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.validators.d.ts +1 -6
  224. package/lib/taon-e-commerce.abstract.context.d.ts +3 -3
  225. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  226. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  227. package/lib-esm/lib/index._auto-generated_.d.ts +1 -37
  228. package/lib-esm/lib/taon-cart/index.d.ts +1 -2
  229. package/lib-esm/lib/taon-cart-button/index.d.ts +1 -2
  230. package/lib-esm/lib/taon-e-commerce-backoffice/index.d.ts +1 -1
  231. package/lib-esm/lib/taon-e-commerce-backoffice/index.js +1 -1
  232. package/lib-esm/lib/taon-e-commerce-backoffice-dashboard/index.d.ts +1 -1
  233. package/lib-esm/lib/taon-e-commerce-backoffice-dashboard/index.js +1 -1
  234. package/lib-esm/lib/taon-e-commerce-backoffice-settings/index.d.ts +1 -1
  235. package/lib-esm/lib/taon-e-commerce-backoffice-settings/index.js +1 -1
  236. package/lib-esm/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context.d.ts +3 -3
  237. package/lib-esm/lib/taon-e-commerce-cart/index.d.ts +1 -3
  238. package/lib-esm/lib/taon-e-commerce-cart/taon-e-commerce-cart.abstract.context.d.ts +3 -3
  239. package/lib-esm/lib/taon-e-commerce-cart/taon-e-commerce-cart.validators.d.ts +1 -6
  240. package/lib-esm/lib/taon-e-commerce-cart-item/index.d.ts +1 -3
  241. package/lib-esm/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context.d.ts +3 -3
  242. package/lib-esm/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.validators.d.ts +1 -6
  243. package/lib-esm/lib/taon-e-commerce-customer/index.d.ts +1 -2
  244. package/lib-esm/lib/taon-e-commerce-customer-address/index.d.ts +1 -3
  245. package/lib-esm/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context.d.ts +3 -3
  246. package/lib-esm/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.validators.d.ts +1 -6
  247. package/lib-esm/lib/taon-e-commerce-order/index.d.ts +1 -3
  248. package/lib-esm/lib/taon-e-commerce-order/taon-e-commerce-order.abstract.context.d.ts +3 -3
  249. package/lib-esm/lib/taon-e-commerce-order/taon-e-commerce-order.validators.d.ts +1 -6
  250. package/lib-esm/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.d.ts +1 -1
  251. package/lib-esm/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.js +1 -1
  252. package/lib-esm/lib/taon-e-commerce-order-item/index.d.ts +1 -3
  253. package/lib-esm/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context.d.ts +3 -3
  254. package/lib-esm/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.validators.d.ts +1 -6
  255. package/lib-esm/lib/taon-e-commerce-payment-transaction/index.d.ts +1 -3
  256. package/lib-esm/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context.d.ts +3 -3
  257. package/lib-esm/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.validators.d.ts +1 -6
  258. package/lib-esm/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.d.ts +1 -1
  259. package/lib-esm/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.js +1 -1
  260. package/lib-esm/lib/taon-e-commerce-product/index.d.ts +1 -3
  261. package/lib-esm/lib/taon-e-commerce-product/taon-e-commerce-product.abstract.context.d.ts +3 -3
  262. package/lib-esm/lib/taon-e-commerce-product/taon-e-commerce-product.validators.d.ts +1 -6
  263. package/lib-esm/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.d.ts +1 -1
  264. package/lib-esm/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.js +1 -1
  265. package/lib-esm/lib/taon-e-commerce-product-permission/index.d.ts +1 -3
  266. package/lib-esm/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context.d.ts +3 -3
  267. package/lib-esm/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.validators.d.ts +1 -6
  268. package/lib-esm/lib/taon-e-commerce.abstract.context.d.ts +3 -3
  269. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  270. package/lib-prod/build-info._auto-generated_.js +1 -1
  271. package/lib-prod/package.json +1 -1
  272. package/lib-prod/taon-e-commerce-backoffice/index.d.ts +1 -1
  273. package/lib-prod/taon-e-commerce-backoffice/index.js +1 -1
  274. package/lib-prod/taon-e-commerce-backoffice-dashboard/index.d.ts +1 -1
  275. package/lib-prod/taon-e-commerce-backoffice-dashboard/index.js +1 -1
  276. package/lib-prod/taon-e-commerce-backoffice-settings/index.d.ts +1 -1
  277. package/lib-prod/taon-e-commerce-backoffice-settings/index.js +1 -1
  278. package/lib-prod/taon-e-commerce-customer/taon-e-commerce-customer.controller.js.map +1 -1
  279. package/lib-prod/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.d.ts +1 -1
  280. package/lib-prod/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.js +1 -1
  281. package/lib-prod/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.d.ts +1 -1
  282. package/lib-prod/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.js +1 -1
  283. package/lib-prod/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.d.ts +1 -1
  284. package/lib-prod/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.js +1 -1
  285. package/package.json +1 -1
  286. package/src.d.ts +1 -1
  287. package/websql/fesm2022/e-commerce-websql.mjs +1 -1
  288. package/websql/fesm2022/e-commerce-websql.mjs.map +1 -1
  289. package/websql/package.json +1 -1
  290. package/websql/types/e-commerce-websql.d.ts +1 -1
  291. package/websql-prod/fesm2022/e-commerce-websql-prod.mjs +1 -1
  292. package/websql-prod/fesm2022/e-commerce-websql-prod.mjs.map +1 -1
  293. package/websql-prod/package.json +1 -1
  294. package/websql-prod/types/e-commerce-websql-prod.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"e-commerce-browser.mjs","sources":["../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/migrations/1791132517216_initial.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/migrations/migrations_index._auto-generated_.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/migrations/index.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/env/env.angular-node-app.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/env/env.docs-webapp.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/env/env.electron-app.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/env/env.mobile-app.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/env/env.npm-lib-and-cli-tool.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/env/env.vscode-plugin.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/build-info._auto-generated_.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/my-organization-proj.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/start-cli.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer/taon-e-commerce-customer.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer/taon-e-commerce-customer.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-settings.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/i18n/lib.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer/taon-e-commerce-customer.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart/taon-cart.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart/taon-cart.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart-button/taon-cart-button.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart-button/taon-cart-button.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart-button/taon-cart-button.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice/taon-e-commerce-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice/taon-e-commerce-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice/taon-e-commerce-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/i18n/taon-e-commerce-cart.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/i18n/taon-e-commerce-order.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/i18n/taon-e-commerce-product.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/index._auto-generated_.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/index.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/e-commerce-browser.ts"],"sourcesContent":["import {\n MyAppAuthorization,\n MyAppGroup,\n MyAppPermission,\n MyAppRole,\n} from '@taon-dev/cms/browser';\nimport { TaonAuthContextRepository } from '@taon-dev/session/browser';\nimport { Taon, TaonBaseMigration, TaonMigration } from 'taon/browser';\nimport { QueryRunner } from 'taon-typeorm/browser';\n\n//#region Migration class for context \"ECommerceContext\"\n@TaonMigration({\n className: 'ECommerceContext_1791132517216_initial',\n})\nexport class ECommerceContext_1791132517216_initial extends TaonBaseMigration {\n private taonAuthContextRepository = this.injectCustomRepo(\n TaonAuthContextRepository<MyAppAuthorization>,\n );\n\n //#region up\n async up(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n await this.taonAuthContextRepository.persistTree({\n enums: {\n groups: MyAppGroup,\n roles: MyAppRole,\n permissions: MyAppPermission,\n },\n tree: {\n groupAndRoles: {\n [MyAppGroup.Administrator]: '*',\n [MyAppGroup.Customers]: [MyAppRole.BlogReader],\n },\n rolesAndPermissions: {\n [MyAppRole.Customer]: [\n MyAppPermission.AccessCourseP2,\n MyAppPermission.AccessCourseP2,\n ],\n [MyAppRole.CustomerPremium]: '*',\n },\n },\n });\n\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n } finally {\n await queryRunner.release();\n }\n }\n //#endregion\n\n //#region down\n async down(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n await this.taonAuthContextRepository.clearRolesGroupPermissions();\n\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n } finally {\n await queryRunner.release();\n }\n }\n //#endregion\n}\n//#endregion\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { ECommerceContext_1791132517216_initial } from './1791132517216_initial';\n// THIS FILE IS GENERATED - DO NOT MODIFY\nexport const MIGRATIONS_CLASSES_FOR_ECommerceContext = {\n /* 04-10-2026 18:48:37 */ ECommerceContext_1791132517216_initial,\n};\n// THIS FILE IS GENERATED - DO NOT MODIFY\n","//@ts-nocheck\nexport * from './migrations_index._auto-generated_';\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser';\n// config.superUsers\nexport const ENV_ANGULAR_NODE_APP_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_ANGULAR_NODE_APP_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_ANGULAR_NODE_APP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_ANGULAR_NODE_APP_WEBSITE_DOMAIN = 'e-commerce.example.domain.com';\n// website.title\nexport const ENV_ANGULAR_NODE_APP_WEBSITE_TITLE = 'E Commerce';\n// website.useDomain\nexport const ENV_ANGULAR_NODE_APP_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_ANGULAR_NODE_APP_RELEASE_TARGET_ARTIFACT = 'angular-node-app';\n// release.envName\nexport const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_ANGULAR_NODE_APP_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_END = undefined;\n// container.start\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_ANGULAR_NODE_APP_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_ANGULAR_NODE_APP_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_ANGULAR_NODE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_ANGULAR_NODE_APP_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_ANGULAR_NODE_APP_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_ANGULAR_NODE_APP_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_ANGULAR_NODE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_ANGULAR_NODE_APP_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_ANGULAR_NODE_APP_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_ANGULAR_NODE_APP_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_ANGULAR_NODE_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_ANGULAR_NODE_APP_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_ANGULAR_NODE_APP_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_ANGULAR_NODE_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_ANGULAR_NODE_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_ANGULAR_NODE_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_ANGULAR_NODE_APP_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_ANGULAR_NODE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_ANGULAR_NODE_APP_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_ANGULAR_NODE_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_ANGULAR_NODE_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_ANGULAR_NODE_APP_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_ANGULAR_NODE_APP_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_ANGULAR_NODE_APP_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_ANGULAR_NODE_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser';\n// config.superUsers\nexport const ENV_DOCS_WEBAPP_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_DOCS_WEBAPP_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_DOCS_WEBAPP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_DOCS_WEBAPP_WEBSITE_DOMAIN = 'e-commerce.example.domain.com';\n// website.title\nexport const ENV_DOCS_WEBAPP_WEBSITE_TITLE = 'E Commerce';\n// website.useDomain\nexport const ENV_DOCS_WEBAPP_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_DOCS_WEBAPP_RELEASE_TARGET_ARTIFACT = 'docs-webapp';\n// release.envName\nexport const ENV_DOCS_WEBAPP_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_DOCS_WEBAPP_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_DOCS_WEBAPP_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_DOCS_WEBAPP_CONTAINER_END = undefined;\n// container.start\nexport const ENV_DOCS_WEBAPP_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_DOCS_WEBAPP_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_DOCS_WEBAPP_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_DOCS_WEBAPP_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_DOCS_WEBAPP_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_DOCS_WEBAPP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_DOCS_WEBAPP_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_DOCS_WEBAPP_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_DOCS_WEBAPP_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_DOCS_WEBAPP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_DOCS_WEBAPP_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_DOCS_WEBAPP_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_DOCS_WEBAPP_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_DOCS_WEBAPP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_DOCS_WEBAPP_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_DOCS_WEBAPP_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_DOCS_WEBAPP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_DOCS_WEBAPP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_DOCS_WEBAPP_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_DOCS_WEBAPP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_DOCS_WEBAPP_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_DOCS_WEBAPP_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_DOCS_WEBAPP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_DOCS_WEBAPP_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_DOCS_WEBAPP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_DOCS_WEBAPP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_DOCS_WEBAPP_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_DOCS_WEBAPP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_DOCS_WEBAPP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_DOCS_WEBAPP_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_DOCS_WEBAPP_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_DOCS_WEBAPP_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_DOCS_WEBAPP_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_DOCS_WEBAPP_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_DOCS_WEBAPP_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser';\n// config.superUsers\nexport const ENV_ELECTRON_APP_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_ELECTRON_APP_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_ELECTRON_APP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// build.ssr\nexport const ENV_ELECTRON_APP_BUILD_SSR = false;\n// loading.preAngularBootstrap.background\nexport const ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_ELECTRON_APP_WEBSITE_DOMAIN = 'e-commerce.example.domain.com';\n// website.title\nexport const ENV_ELECTRON_APP_WEBSITE_TITLE = 'E Commerce';\n// website.useDomain\nexport const ENV_ELECTRON_APP_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_ELECTRON_APP_RELEASE_TARGET_ARTIFACT = 'electron-app';\n// release.envName\nexport const ENV_ELECTRON_APP_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_ELECTRON_APP_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_ELECTRON_APP_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_ELECTRON_APP_CONTAINER_END = undefined;\n// container.start\nexport const ENV_ELECTRON_APP_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_ELECTRON_APP_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_ELECTRON_APP_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_ELECTRON_APP_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_ELECTRON_APP_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_ELECTRON_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_ELECTRON_APP_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_ELECTRON_APP_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_ELECTRON_APP_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_ELECTRON_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.websql\nexport const ENV_ELECTRON_APP_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_ELECTRON_APP_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_ELECTRON_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_ELECTRON_APP_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_ELECTRON_APP_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_ELECTRON_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_ELECTRON_APP_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_ELECTRON_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_ELECTRON_APP_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_ELECTRON_APP_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_ELECTRON_APP_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_ELECTRON_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_ELECTRON_APP_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_ELECTRON_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_ELECTRON_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_ELECTRON_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_ELECTRON_APP_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_ELECTRON_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_ELECTRON_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_ELECTRON_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_ELECTRON_APP_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_ELECTRON_APP_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_ELECTRON_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_ELECTRON_APP_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_ELECTRON_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_ELECTRON_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_ELECTRON_APP_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_ELECTRON_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_ELECTRON_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_ELECTRON_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_ELECTRON_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_ELECTRON_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_ELECTRON_APP_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_ELECTRON_APP_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_ELECTRON_APP_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_ELECTRON_APP_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_ELECTRON_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_ELECTRON_APP_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_ELECTRON_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser';\n// config.superUsers\nexport const ENV_MOBILE_APP_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_MOBILE_APP_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_MOBILE_APP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_MOBILE_APP_WEBSITE_DOMAIN = 'e-commerce.example.domain.com';\n// website.title\nexport const ENV_MOBILE_APP_WEBSITE_TITLE = 'E Commerce';\n// website.useDomain\nexport const ENV_MOBILE_APP_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_MOBILE_APP_RELEASE_TARGET_ARTIFACT = 'mobile-app';\n// release.envName\nexport const ENV_MOBILE_APP_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_MOBILE_APP_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_MOBILE_APP_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_MOBILE_APP_CONTAINER_END = undefined;\n// container.start\nexport const ENV_MOBILE_APP_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_MOBILE_APP_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_MOBILE_APP_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_MOBILE_APP_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_MOBILE_APP_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_MOBILE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_MOBILE_APP_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_MOBILE_APP_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_MOBILE_APP_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_MOBILE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_MOBILE_APP_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_MOBILE_APP_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_MOBILE_APP_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_MOBILE_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_MOBILE_APP_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_MOBILE_APP_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_MOBILE_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_MOBILE_APP_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_MOBILE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_MOBILE_APP_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_MOBILE_APP_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_MOBILE_APP_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_MOBILE_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_MOBILE_APP_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_MOBILE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_MOBILE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_MOBILE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_MOBILE_APP_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_MOBILE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_MOBILE_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_MOBILE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_MOBILE_APP_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_MOBILE_APP_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_MOBILE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_MOBILE_APP_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_MOBILE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_MOBILE_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_MOBILE_APP_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_MOBILE_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_MOBILE_APP_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_MOBILE_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_MOBILE_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_MOBILE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_MOBILE_APP_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_MOBILE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_MOBILE_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_MOBILE_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_MOBILE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_MOBILE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_MOBILE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_MOBILE_APP_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_MOBILE_APP_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_MOBILE_APP_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_MOBILE_APP_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_MOBILE_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_MOBILE_APP_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_MOBILE_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser';\n// config.superUsers\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_DOMAIN = 'e-commerce.example.domain.com';\n// website.title\nexport const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_TITLE = 'E Commerce';\n// website.useDomain\nexport const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TARGET_ARTIFACT = 'npm-lib-and-cli-tool';\n// release.envName\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_NPM_LIB_AND_CLI_TOOL_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_END = undefined;\n// container.start\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_NPM_LIB_AND_CLI_TOOL_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_NPM_LIB_AND_CLI_TOOL_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_NPM_LIB_AND_CLI_TOOL_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_NPM_LIB_AND_CLI_TOOL_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser';\n// config.superUsers\nexport const ENV_VSCODE_PLUGIN_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_VSCODE_PLUGIN_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_VSCODE_PLUGIN_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_VSCODE_PLUGIN_WEBSITE_DOMAIN = 'e-commerce.example.domain.com';\n// website.title\nexport const ENV_VSCODE_PLUGIN_WEBSITE_TITLE = 'E Commerce';\n// website.useDomain\nexport const ENV_VSCODE_PLUGIN_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_VSCODE_PLUGIN_RELEASE_TARGET_ARTIFACT = 'vscode-plugin';\n// release.envName\nexport const ENV_VSCODE_PLUGIN_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_VSCODE_PLUGIN_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_VSCODE_PLUGIN_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_VSCODE_PLUGIN_CONTAINER_END = undefined;\n// container.start\nexport const ENV_VSCODE_PLUGIN_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_VSCODE_PLUGIN_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_VSCODE_PLUGIN_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_VSCODE_PLUGIN_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_VSCODE_PLUGIN_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_VSCODE_PLUGIN_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_VSCODE_PLUGIN_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_VSCODE_PLUGIN_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_VSCODE_PLUGIN_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_VSCODE_PLUGIN_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_VSCODE_PLUGIN_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_VSCODE_PLUGIN_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_VSCODE_PLUGIN_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_VSCODE_PLUGIN_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_VSCODE_PLUGIN_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_VSCODE_PLUGIN_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_VSCODE_PLUGIN_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_VSCODE_PLUGIN_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_VSCODE_PLUGIN_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_VSCODE_PLUGIN_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_VSCODE_PLUGIN_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_VSCODE_PLUGIN_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_VSCODE_PLUGIN_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_VSCODE_PLUGIN_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_VSCODE_PLUGIN_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_VSCODE_PLUGIN_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_VSCODE_PLUGIN_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_VSCODE_PLUGIN_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_VSCODE_PLUGIN_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_VSCODE_PLUGIN_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_VSCODE_PLUGIN_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_VSCODE_PLUGIN_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_VSCODE_PLUGIN_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_VSCODE_PLUGIN_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_VSCODE_PLUGIN_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_FRAMEWORK_CLI_NAME = 'tnp';\n/**\n * This value can be change in taon.jsonc (appId)\n */\nexport const APP_ID = 'com.domain.example.e-commerce';\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_BASE_HREF = '';\n/**\n * This value can be change in taon.jsonc (overrideNpmName)\n */\nexport const PROJECT_NPM_NAME = '@taon-dev/e-commerce';\n/**\n * Taon version from you project taon.json\n */\nexport const CURRENT_PACKAGE_TAON_VERSION = 'v21';\n/**\n * Autogenerated by current cli tool. Use *tnp release* to bump version.\n */\nexport const CURRENT_PACKAGE_VERSION = '21.0.5';\n\n\n\n\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n ","import { Translation } from \"@taon-dev/i18n/browser\";\nimport { Taon } from \"taon/browser\";\n\nconst t = Translation.for('src/lib/my-organization-proj.ts', {\"src/lib/my-organization-proj.ts\":{\"en-US\":async () => (await import('./i18n/my-organization-proj.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/my-organization-proj.ts.pl-PL.i18n.data')).default}} as any);\n\nexport function myOrgProj() {\n t.gettext('My Translated Company Name!')\n}\n","//#region tnp-helpers cli template\nimport { UtilsJson } from 'tnp-core/browser';\nimport { Helpers, BaseCommandLineFeature } from 'tnp-helpers/browser';\n/* */ \n//#endregion\n\n//#region CLI / global scope\n/**\n * This class is for handling global arguments. *\n * Cli engine will parse: hello:world:from:global:arg to helloWorldFromGlobalArg\n * (lower case, camel case) .. so you don't need to worry about misspelling\n * arguments\n */\nclass $Global extends BaseCommandLineFeature<{}> {\n /**\n * When you execute cli without arguments:`$ cli`\n */\n public _() {\n console.log(`Hello world from cli`);\n this._exit();\n }\n\n /**\n * When you execute: `$ cli hello:world:from:global:arg`\n * (or `$ cli helloWorldFromGlobalArg`)\n */\n helloWorldFromGlobalArg() {\n console.log('hello world from global argument!');\n this._exit(0);\n }\n}\n//#endregion\n\n//#region CLI / Version Scope\n/**\n *\n */\nclass $Version extends BaseCommandLineFeature<{\n anyCLIparamsHere: string;\n}> {\n /**\n * When you execute: `$ cli version`\n */\n public _() {\n console.log(`Hello world from version argument`);\n this._exit();\n }\n\n /**\n * When you execute: `$ cli version:getFromPackageJson`\n */\n public getFromPackageJson() {\n const ver = UtilsJson.getValue(\n this.project.pathFor('package.json'),\n 'version',\n {\n defaultValue: '<not defined>',\n },\n );\n console.log(`Version from packageJson ${ver}`);\n this._exit(0);\n }\n}\n//#endregion\n\n/**\n *\n * @param argsv process.argsv\n * @param filename needed if you want ipc communicaiton\n */\nexport async function startCli(\n argsv: string[],\n filename: string,\n): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n}\n\nexport default startCli;\n","import {\n Column,\n CreateDateColumn,\n Index,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\n\n@Index(['provider', 'providerTransactionId'], { unique: true })\n@TaonEntity<TaonECommercePaymentTransactionEntity>({\n className: 'TaonECommercePaymentTransactionEntity',\n createTable: true,\n})\nexport class TaonECommercePaymentTransactionEntity extends TaonBaseAbstractEntity<TaonECommercePaymentTransactionEntity> {\n @Column({ type: 'int' })\n orderId!: number;\n\n @Column({ type: 'varchar' })\n provider!: string;\n\n @Column({ type: 'varchar' })\n providerTransactionId!: string;\n\n @Column({ type: 'varchar' })\n status!: 'pending' | 'succeeded' | 'failed' | 'cancelled';\n\n @Column({ type: 'float' })\n amount!: number;\n\n @Column({ type: 'varchar', length: 3 })\n currency!: string;\n\n @ManyToOne(() => TaonECommerceOrderEntity, order => order.transactions, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'orderId' })\n order!: TaonECommerceOrderEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import { TaonSessionUserEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n OneToMany,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderItemEntity } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\nimport { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\n\n@TaonEntity<TaonECommerceOrderEntity>({\n className: 'TaonECommerceOrderEntity',\n createTable: true,\n})\nexport class TaonECommerceOrderEntity extends TaonBaseAbstractEntity<TaonECommerceOrderEntity> {\n @Column({ type: 'int' })\n userId!: number;\n\n @Column({ type: 'varchar' })\n status!: 'pending' | 'paid' | 'cancelled' | 'failed';\n\n @Column({ type: 'varchar', length: 3 })\n currency!: string;\n\n @Column({ type: 'float' })\n subtotal!: number;\n\n @Column({ type: 'float' })\n total!: number;\n\n @ManyToOne(() => TaonSessionUserEntity, {\n onDelete: 'RESTRICT',\n })\n @JoinColumn({ name: 'userId' })\n user!: TaonSessionUserEntity;\n\n @OneToMany(() => TaonECommerceOrderItemEntity, item => item.order)\n items!: TaonECommerceOrderItemEntity[];\n\n @OneToMany(\n () => TaonECommercePaymentTransactionEntity,\n transaction => transaction.order,\n )\n transactions!: TaonECommercePaymentTransactionEntity[];\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@TaonEntity<TaonECommerceOrderItemEntity>({\n className: 'TaonECommerceOrderItemEntity',\n createTable: true,\n})\nexport class TaonECommerceOrderItemEntity extends TaonBaseAbstractEntity<TaonECommerceOrderItemEntity> {\n @Column({ type: 'int' })\n orderId!: number;\n\n @Column({ type: 'int' })\n productId!: number;\n\n @Column({ type: 'varchar' })\n productName!: string;\n\n @Column({ type: 'float' })\n unitPrice!: number;\n\n @Column({ type: 'int' })\n quantity!: number;\n\n @Column({ type: 'float' })\n totalPrice!: number;\n\n @ManyToOne(() => TaonECommerceOrderEntity, order => order.items, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'orderId' })\n order!: TaonECommerceOrderEntity;\n\n @ManyToOne(() => TaonECommerceProductEntity, product => product.orderItems, {\n onDelete: 'RESTRICT',\n })\n @JoinColumn({ name: 'productId' })\n product!: TaonECommerceProductEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import { TaonPermissionEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n Index,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n} from 'taon/browser';\n\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@Index(['productId', 'permissionId'], { unique: true })\n@TaonEntity<TaonECommerceProductPermissionEntity>({\n className: 'TaonECommerceProductPermissionEntity',\n createTable: true,\n})\nexport class TaonECommerceProductPermissionEntity extends TaonBaseAbstractEntity<TaonECommerceProductPermissionEntity> {\n @Column({ type: 'int' })\n productId!: number;\n\n @Column({ type: 'int' })\n permissionId!: number;\n\n @ManyToOne(() => TaonECommerceProductEntity, product => product.permissions, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'productId' })\n product!: TaonECommerceProductEntity;\n\n @ManyToOne(() => TaonPermissionEntity, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'permissionId' })\n permission!: TaonPermissionEntity;\n}\n","import {\n BooleanColumn,\n Column,\n CreateDateColumn,\n OneToMany,\n String500Column,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from '../taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity';\nimport { TaonECommerceOrderItemEntity } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\nimport { TaonECommerceProductPermissionEntity } from '../taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity';\n\n@TaonEntity<TaonECommerceProductEntity>({\n className: 'TaonECommerceProductEntity',\n createTable: true,\n})\nexport class TaonECommerceProductEntity extends TaonBaseAbstractEntity<TaonECommerceProductEntity> {\n @String500Column()\n name!: string;\n\n @Column({ type: 'text', nullable: true })\n description!: string | null;\n\n @BooleanColumn(true)\n active!: boolean;\n\n @Column({ type: 'varchar' })\n type!: 'digital' | 'physical' | 'service';\n\n @Column({ type: 'float' })\n price!: number;\n\n @Column({ type: 'varchar', length: 3, default: 'USD' })\n currency!: string;\n\n @Column({ type: 'varchar', nullable: true })\n stripeProductId!: string | null;\n\n @Column({ type: 'varchar', nullable: true })\n stripePriceId!: string | null;\n\n @Column({ type: 'datetime', nullable: true })\n stripeLastSyncedAt!: Date | null;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n\n @OneToMany(() => TaonECommerceProductPermissionEntity, link => link.product)\n permissions!: TaonECommerceProductPermissionEntity[];\n\n @OneToMany(() => TaonECommerceCartItemEntity, item => item.product)\n cartItems!: TaonECommerceCartItemEntity[];\n\n @OneToMany(() => TaonECommerceOrderItemEntity, item => item.product)\n orderItems!: TaonECommerceOrderItemEntity[];\n}\n","import {\n Column,\n CreateDateColumn,\n Index,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@Index(['cartId', 'productId'], { unique: true })\n@TaonEntity({\n className: 'TaonECommerceCartItemEntity',\n createTable: true,\n})\nexport class TaonECommerceCartItemEntity extends TaonBaseAbstractEntity<TaonECommerceCartItemEntity> {\n @Column({ type: 'int' })\n cartId!: number;\n\n @Column({ type: 'int' })\n productId!: number;\n\n @Column({ type: 'int', default: 1 })\n quantity!: number;\n\n @ManyToOne(() => TaonECommerceCartEntity, cart => cart.items, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'cartId' })\n cart!: TaonECommerceCartEntity;\n\n @ManyToOne(() => TaonECommerceProductEntity, product => product.cartItems, {\n onDelete: 'RESTRICT',\n })\n @JoinColumn({ name: 'productId' })\n product!: TaonECommerceProductEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import { TaonSessionUserEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n OneToMany,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from '../taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity';\n\n@TaonEntity({\n className: 'TaonECommerceCartEntity',\n createTable: true,\n})\nexport class TaonECommerceCartEntity extends TaonBaseAbstractEntity<TaonECommerceCartEntity> {\n @Column({ type: 'int' })\n userId!: number;\n\n @ManyToOne(() => TaonSessionUserEntity, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'userId' })\n user!: TaonSessionUserEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n\n @OneToMany(() => TaonECommerceCartItemEntity, item => item.cart)\n items!: TaonECommerceCartItemEntity[];\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartRepository',\n})\nexport class TaonECommerceCartRepository extends TaonBaseRepository<TaonECommerceCartEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartEntity = () => TaonECommerceCartEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartRepository } from './taon-e-commerce-cart.repository';\n//#endregion\n\n@TaonController<TaonECommerceCartController>({\n className: 'TaonECommerceCartController',\n allowedMethods: []\n})\nexport class TaonECommerceCartController extends TaonBaseCrudController<TaonECommerceCartEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartEntity = () => TaonECommerceCartEntity;\n\n taonECommerceCartRepository = this.injectCustomRepo(TaonECommerceCartRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonProvider({\n className: 'TaonECommerceCartProvider',\n})\nexport class TaonECommerceCartProvider extends TaonBaseProvider {\n enabledTaonECommerceCartOption: boolean = true;\n}","import { TaonBaseRepository, TaonRepository } from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport { TaonECommerceCartItemEntity } from '../taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity';\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@TaonRepository({\n className: 'TaonECommerceCustomerRepository',\n})\nexport class TaonECommerceCustomerRepository extends TaonBaseRepository<TaonECommerceCartEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartEntity = () =>\n TaonECommerceCartEntity;\n\n async getCart(userId: number): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async addProduct(\n userId: number,\n productId: number,\n quantity: number,\n ): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async setItemQuantity(\n userId: number,\n itemId: number,\n quantity: number,\n ): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async removeItem(\n userId: number,\n itemId: number,\n ): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getOrders(userId: number): Promise<TaonECommerceOrderEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getTransactions(\n userId: number,\n ): Promise<TaonECommercePaymentTransactionEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","import { TaonSessionRepository } from '@taon-dev/session/browser';\nimport {\n Body,\n GET,\n Models,\n POST,\n Taon,\n TaonBaseController,\n TaonController,\n} from 'taon/browser';\n\nimport { TaonECommerceCustomerRepository } from './taon-e-commerce-customer.repository';\nimport type { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport type { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport type { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\n\nexport interface TaonECommerceSubscriptionStatus {\n id: string;\n productName: string;\n status: 'active' | 'cancelled';\n validUntil: string | null;\n}\n\n@TaonController<TaonECommerceCustomerController>({\n className: 'TaonECommerceCustomerController',\n})\nexport class TaonECommerceCustomerController extends TaonBaseController<\n {},\n TaonECommerceCustomerController\n> {\n private readonly sessionRepository = this.injectCustomRepo(\n TaonSessionRepository,\n );\n\n private readonly customerRepository = this.injectCustomRepo(\n TaonECommerceCustomerRepository,\n );\n\n private readonly unsubscribedUsers = new Set<number>();\n\n protected async beforeEachRequest({\n req,\n res,\n }: Models.TaonCtrlBeforeEachRequestParams<TaonECommerceCustomerController>): Promise<void> {\n await this.sessionRepository.throwIfNotAuthenticated({ req, res });\n }\n\n @GET()\n getMyCart(): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.getCart(userId);\n };\n }\n\n @POST()\n addToMyCart(\n @Body('productId') productId: number,\n @Body('quantity') quantity: number,\n ): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.addProduct(userId, productId, quantity);\n };\n }\n\n @POST()\n updateMyCartItem(\n @Body('itemId') itemId: number,\n @Body('quantity') quantity: number,\n ): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.setItemQuantity(userId, itemId, quantity);\n };\n }\n\n @POST()\n removeFromMyCart(\n @Body('itemId') itemId: number,\n ): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.removeItem(userId, itemId);\n };\n }\n\n @GET()\n getMyOrders(): Taon.Response<TaonECommerceOrderEntity[]> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.getOrders(userId);\n };\n }\n\n @GET()\n getMyTransactions(): Taon.Response<TaonECommercePaymentTransactionEntity[]> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.getTransactions(userId);\n };\n }\n\n @GET()\n getMySubscriptionStatuses(): Taon.Response<\n TaonECommerceSubscriptionStatus[]\n > {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return [\n {\n id: `example-subscription-${userId}`,\n productName: 'Example subscription',\n status: this.unsubscribedUsers.has(userId) ? 'cancelled' : 'active',\n validUntil: null,\n },\n ];\n };\n }\n\n @POST()\n unsubscribeFromExampleSubscription(): Taon.Response<void> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n this.unsubscribedUsers.add(userId);\n };\n }\n}\n","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartController } from './taon-e-commerce-cart.controller';\nimport { TaonECommerceCartRepository } from './taon-e-commerce-cart.repository';\n// import { TaonECommerceCartKvRepository } from './taon-e-commerce-cart.kv.repository';\nimport { TaonECommerceCartProvider } from './taon-e-commerce-cart.provider';\nimport { TaonECommerceCustomerController } from '../taon-e-commerce-customer/taon-e-commerce-customer.controller';\nimport { TaonECommerceCustomerRepository } from '../taon-e-commerce-customer/taon-e-commerce-customer.repository';\n// import { TaonECommerceCartMiddleware } from './taon-e-commerce-cart.middleware';\n// import { TaonECommerceCartSubscriber } from './taon-e-commerce-cart.subscriber';\n//#endregion\n\nexport const TaonECommerceCartAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceCartAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceCartEntity },\n repositories: {\n // TaonECommerceCartKvRepository\n TaonECommerceCartRepository,\n TaonECommerceCustomerRepository,\n },\n controllers: { TaonECommerceCartController, TaonECommerceCustomerController },\n providers: { TaonECommerceCartProvider },\n // middlewares: { TaonECommerceCartMiddleware },\n // subscribers: { TaonECommerceCartSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartItemRepository',\n})\nexport class TaonECommerceCartItemRepository extends TaonBaseRepository<TaonECommerceCartItemEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartItemEntity = () => TaonECommerceCartItemEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemRepository } from './taon-e-commerce-cart-item.repository';\n//#endregion\n\n@TaonController<TaonECommerceCartItemController>({\n className: 'TaonECommerceCartItemController',\n allowedMethods: [],\n})\nexport class TaonECommerceCartItemController extends TaonBaseCrudController<TaonECommerceCartItemEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartItemEntity = () =>\n TaonECommerceCartItemEntity;\n\n taonECommerceCartItemRepository = this.injectCustomRepo(\n TaonECommerceCartItemRepository,\n );\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonProvider({\n className: 'TaonECommerceCartItemProvider',\n})\nexport class TaonECommerceCartItemProvider extends TaonBaseProvider {\n enabledTaonECommerceCartItemOption: boolean = true;\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemController } from './taon-e-commerce-cart-item.controller';\nimport { TaonECommerceCartItemRepository } from './taon-e-commerce-cart-item.repository';\n// import { TaonECommerceCartItemKvRepository } from './taon-e-commerce-cart-item.kv.repository';\nimport { TaonECommerceCartItemProvider } from './taon-e-commerce-cart-item.provider';\n// import { TaonECommerceCartItemMiddleware } from './taon-e-commerce-cart-item.middleware';\n// import { TaonECommerceCartItemSubscriber } from './taon-e-commerce-cart-item.subscriber';\n//#endregion\n\nexport const TaonECommerceCartItemAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceCartItemAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceCartItemEntity },\n controllers: { TaonECommerceCartItemController },\n repositories: {\n // TaonECommerceCartItemKvRepository\n TaonECommerceCartItemRepository,\n },\n providers: { TaonECommerceCartItemProvider },\n // middlewares: { TaonECommerceCartItemMiddleware },\n // subscribers: { TaonECommerceCartItemSubscriber },\n}));","import { TaonSessionUserEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\n@TaonEntity<TaonECommerceCustomerAddressEntity>({\n className: 'TaonECommerceCustomerAddressEntity',\n createTable: true,\n})\nexport class TaonECommerceCustomerAddressEntity extends TaonBaseAbstractEntity<TaonECommerceCustomerAddressEntity> {\n @Column({ type: 'int' })\n userId!: number;\n\n @Column({ type: 'varchar' })\n type!: 'billing' | 'shipping';\n\n @Column({ type: 'varchar' })\n firstName!: string;\n\n @Column({ type: 'varchar' })\n lastName!: string;\n\n @Column({ type: 'varchar', nullable: true })\n company!: string | null;\n\n @Column({ type: 'varchar' })\n addressLine1!: string;\n\n @Column({ type: 'varchar', nullable: true })\n addressLine2!: string | null;\n\n @Column({ type: 'varchar' })\n city!: string;\n\n @Column({ type: 'varchar' })\n postalCode!: string;\n\n @Column({ type: 'varchar' })\n country!: string;\n\n @Column({ type: 'varchar', nullable: true })\n phone!: string | null;\n\n @ManyToOne(() => TaonSessionUserEntity, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'userId' })\n user!: TaonSessionUserEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCustomerAddressRepository',\n})\nexport class TaonECommerceCustomerAddressRepository extends TaonBaseRepository<TaonECommerceCustomerAddressEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCustomerAddressEntity = () => TaonECommerceCustomerAddressEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressRepository } from './taon-e-commerce-customer-address.repository';\n//#endregion\n\n@TaonController<TaonECommerceCustomerAddressController>({\n className: 'TaonECommerceCustomerAddressController',\n // allowedMethods: []\n})\nexport class TaonECommerceCustomerAddressController extends TaonBaseCrudController<\n TaonECommerceCustomerAddressEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceCustomerAddressController\n> {\n entityClassResolveFn: () => typeof TaonECommerceCustomerAddressEntity = () => TaonECommerceCustomerAddressEntity;\n\n private readonly taonECommerceCustomerAddressRepository = this.injectCustomRepo(TaonECommerceCustomerAddressRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceCustomerAddressConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceCustomerAddressProvider',\n})\nexport class TaonECommerceCustomerAddressProvider extends TaonBaseProvider {\n enabledTaonECommerceCustomerAddressOption: boolean = true;\n config = new TaonTaonECommerceCustomerAddressConfig();\n clone() {\n return {\n enabledTaonECommerceCustomerAddressOption: this.enabledTaonECommerceCustomerAddressOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressController } from './taon-e-commerce-customer-address.controller';\nimport { TaonECommerceCustomerAddressRepository } from './taon-e-commerce-customer-address.repository';\n// import { TaonECommerceCustomerAddressKvRepository } from './taon-e-commerce-customer-address.kv.repository';\nimport { TaonECommerceCustomerAddressProvider } from './taon-e-commerce-customer-address.provider';\n// import { TaonECommerceCustomerAddressMiddleware } from './taon-e-commerce-customer-address.middleware';\n// import { TaonECommerceCustomerAddressSubscriber } from './taon-e-commerce-customer-address.subscriber';\n//#endregion\n\nexport const TaonECommerceCustomerAddressAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceCustomerAddressAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceCustomerAddressEntity },\n controllers: { TaonECommerceCustomerAddressController },\n repositories: {\n // TaonECommerceCustomerAddressKvRepository\n TaonECommerceCustomerAddressRepository,\n },\n providers: { TaonECommerceCustomerAddressProvider },\n // middlewares: { TaonECommerceCustomerAddressMiddleware },\n // subscribers: { TaonECommerceCustomerAddressSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderRepository',\n})\nexport class TaonECommerceOrderRepository extends TaonBaseRepository<TaonECommerceOrderEntity> {\n entityClassResolveFn: () => typeof TaonECommerceOrderEntity = () => TaonECommerceOrderEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderRepository } from './taon-e-commerce-order.repository';\n//#endregion\n\n@TaonController<TaonECommerceOrderController>({\n className: 'TaonECommerceOrderController',\n // allowedMethods: []\n})\nexport class TaonECommerceOrderController extends TaonBaseCrudController<\n TaonECommerceOrderEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceOrderController\n> {\n entityClassResolveFn: () => typeof TaonECommerceOrderEntity = () => TaonECommerceOrderEntity;\n\n private readonly taonECommerceOrderRepository = this.injectCustomRepo(TaonECommerceOrderRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceOrderConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceOrderProvider',\n})\nexport class TaonECommerceOrderProvider extends TaonBaseProvider {\n enabledTaonECommerceOrderOption: boolean = true;\n config = new TaonTaonECommerceOrderConfig();\n clone() {\n return {\n enabledTaonECommerceOrderOption: this.enabledTaonECommerceOrderOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderController } from './taon-e-commerce-order.controller';\nimport { TaonECommerceOrderRepository } from './taon-e-commerce-order.repository';\n// import { TaonECommerceOrderKvRepository } from './taon-e-commerce-order.kv.repository';\nimport { TaonECommerceOrderProvider } from './taon-e-commerce-order.provider';\n// import { TaonECommerceOrderMiddleware } from './taon-e-commerce-order.middleware';\n// import { TaonECommerceOrderSubscriber } from './taon-e-commerce-order.subscriber';\n//#endregion\n\nexport const TaonECommerceOrderAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceOrderAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceOrderEntity },\n controllers: { TaonECommerceOrderController },\n repositories: {\n // TaonECommerceOrderKvRepository\n TaonECommerceOrderRepository,\n },\n providers: { TaonECommerceOrderProvider },\n // middlewares: { TaonECommerceOrderMiddleware },\n // subscribers: { TaonECommerceOrderSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderItemRepository',\n})\nexport class TaonECommerceOrderItemRepository extends TaonBaseRepository<TaonECommerceOrderItemEntity> {\n entityClassResolveFn: () => typeof TaonECommerceOrderItemEntity = () => TaonECommerceOrderItemEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemRepository } from './taon-e-commerce-order-item.repository';\n//#endregion\n\n@TaonController<TaonECommerceOrderItemController>({\n className: 'TaonECommerceOrderItemController',\n // allowedMethods: []\n})\nexport class TaonECommerceOrderItemController extends TaonBaseCrudController<\n TaonECommerceOrderItemEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceOrderItemController\n> {\n entityClassResolveFn: () => typeof TaonECommerceOrderItemEntity = () => TaonECommerceOrderItemEntity;\n\n private readonly taonECommerceOrderItemRepository = this.injectCustomRepo(TaonECommerceOrderItemRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceOrderItemConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceOrderItemProvider',\n})\nexport class TaonECommerceOrderItemProvider extends TaonBaseProvider {\n enabledTaonECommerceOrderItemOption: boolean = true;\n config = new TaonTaonECommerceOrderItemConfig();\n clone() {\n return {\n enabledTaonECommerceOrderItemOption: this.enabledTaonECommerceOrderItemOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemController } from './taon-e-commerce-order-item.controller';\nimport { TaonECommerceOrderItemRepository } from './taon-e-commerce-order-item.repository';\n// import { TaonECommerceOrderItemKvRepository } from './taon-e-commerce-order-item.kv.repository';\nimport { TaonECommerceOrderItemProvider } from './taon-e-commerce-order-item.provider';\n// import { TaonECommerceOrderItemMiddleware } from './taon-e-commerce-order-item.middleware';\n// import { TaonECommerceOrderItemSubscriber } from './taon-e-commerce-order-item.subscriber';\n//#endregion\n\nexport const TaonECommerceOrderItemAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceOrderItemAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceOrderItemEntity },\n controllers: { TaonECommerceOrderItemController },\n repositories: {\n // TaonECommerceOrderItemKvRepository\n TaonECommerceOrderItemRepository,\n },\n providers: { TaonECommerceOrderItemProvider },\n // middlewares: { TaonECommerceOrderItemMiddleware },\n // subscribers: { TaonECommerceOrderItemSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommercePaymentTransactionRepository',\n})\nexport class TaonECommercePaymentTransactionRepository extends TaonBaseRepository<TaonECommercePaymentTransactionEntity> {\n entityClassResolveFn: () => typeof TaonECommercePaymentTransactionEntity = () => TaonECommercePaymentTransactionEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionRepository } from './taon-e-commerce-payment-transaction.repository';\n//#endregion\n\n@TaonController<TaonECommercePaymentTransactionController>({\n className: 'TaonECommercePaymentTransactionController',\n // allowedMethods: []\n})\nexport class TaonECommercePaymentTransactionController extends TaonBaseCrudController<\n TaonECommercePaymentTransactionEntity,\n {\n /* file upload query params type */\n },\n TaonECommercePaymentTransactionController\n> {\n entityClassResolveFn: () => typeof TaonECommercePaymentTransactionEntity = () => TaonECommercePaymentTransactionEntity;\n\n private readonly taonECommercePaymentTransactionRepository = this.injectCustomRepo(TaonECommercePaymentTransactionRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommercePaymentTransactionConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommercePaymentTransactionProvider',\n})\nexport class TaonECommercePaymentTransactionProvider extends TaonBaseProvider {\n enabledTaonECommercePaymentTransactionOption: boolean = true;\n config = new TaonTaonECommercePaymentTransactionConfig();\n clone() {\n return {\n enabledTaonECommercePaymentTransactionOption: this.enabledTaonECommercePaymentTransactionOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionController } from './taon-e-commerce-payment-transaction.controller';\nimport { TaonECommercePaymentTransactionRepository } from './taon-e-commerce-payment-transaction.repository';\n// import { TaonECommercePaymentTransactionKvRepository } from './taon-e-commerce-payment-transaction.kv.repository';\nimport { TaonECommercePaymentTransactionProvider } from './taon-e-commerce-payment-transaction.provider';\n// import { TaonECommercePaymentTransactionMiddleware } from './taon-e-commerce-payment-transaction.middleware';\n// import { TaonECommercePaymentTransactionSubscriber } from './taon-e-commerce-payment-transaction.subscriber';\n//#endregion\n\nexport const TaonECommercePaymentTransactionAbstractContext = createContext(() => ({\n contextName: 'TaonECommercePaymentTransactionAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommercePaymentTransactionEntity },\n controllers: { TaonECommercePaymentTransactionController },\n repositories: {\n // TaonECommercePaymentTransactionKvRepository\n TaonECommercePaymentTransactionRepository,\n },\n providers: { TaonECommercePaymentTransactionProvider },\n // middlewares: { TaonECommercePaymentTransactionMiddleware },\n // subscribers: { TaonECommercePaymentTransactionSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductRepository',\n})\nexport class TaonECommerceProductRepository extends TaonBaseRepository<TaonECommerceProductEntity> {\n entityClassResolveFn: () => typeof TaonECommerceProductEntity = () => TaonECommerceProductEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n POST,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { TaonECommerceProductRepository } from './taon-e-commerce-product.repository';\n//#endregion\n\n@TaonController<TaonECommerceProductController>({\n className: 'TaonECommerceProductController',\n allowedMethods: ['getAll', 'paginationQuery', 'save', 'updateById'],\n})\nexport class TaonECommerceProductController extends TaonBaseCrudController<\n TaonECommerceProductEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceProductController\n> {\n entityClassResolveFn: () => typeof TaonECommerceProductEntity = () =>\n TaonECommerceProductEntity;\n\n private readonly taonECommerceProductRepository = this.injectCustomRepo(\n TaonECommerceProductRepository,\n );\n\n @POST()\n syncWithStripe(): Taon.Response<void> {\n return async () => {\n throw new Error(\n 'Stripe synchronization is not configured for this project.',\n );\n };\n }\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceProductConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceProductProvider',\n})\nexport class TaonECommerceProductProvider extends TaonBaseProvider {\n enabledTaonECommerceProductOption: boolean = true;\n config = new TaonTaonECommerceProductConfig();\n clone() {\n return {\n enabledTaonECommerceProductOption: this.enabledTaonECommerceProductOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { TaonECommerceProductController } from './taon-e-commerce-product.controller';\nimport { TaonECommerceProductRepository } from './taon-e-commerce-product.repository';\n// import { TaonECommerceProductKvRepository } from './taon-e-commerce-product.kv.repository';\nimport { TaonECommerceProductProvider } from './taon-e-commerce-product.provider';\n// import { TaonECommerceProductMiddleware } from './taon-e-commerce-product.middleware';\n// import { TaonECommerceProductSubscriber } from './taon-e-commerce-product.subscriber';\n//#endregion\n\nexport const TaonECommerceProductAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceProductAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceProductEntity },\n controllers: { TaonECommerceProductController },\n repositories: {\n // TaonECommerceProductKvRepository\n TaonECommerceProductRepository,\n },\n providers: { TaonECommerceProductProvider },\n // middlewares: { TaonECommerceProductMiddleware },\n // subscribers: { TaonECommerceProductSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductPermissionRepository',\n})\nexport class TaonECommerceProductPermissionRepository extends TaonBaseRepository<TaonECommerceProductPermissionEntity> {\n entityClassResolveFn: () => typeof TaonECommerceProductPermissionEntity = () => TaonECommerceProductPermissionEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionRepository } from './taon-e-commerce-product-permission.repository';\n//#endregion\n\n@TaonController<TaonECommerceProductPermissionController>({\n className: 'TaonECommerceProductPermissionController',\n // allowedMethods: []\n})\nexport class TaonECommerceProductPermissionController extends TaonBaseCrudController<\n TaonECommerceProductPermissionEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceProductPermissionController\n> {\n entityClassResolveFn: () => typeof TaonECommerceProductPermissionEntity = () => TaonECommerceProductPermissionEntity;\n\n private readonly taonECommerceProductPermissionRepository = this.injectCustomRepo(TaonECommerceProductPermissionRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceProductPermissionConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceProductPermissionProvider',\n})\nexport class TaonECommerceProductPermissionProvider extends TaonBaseProvider {\n enabledTaonECommerceProductPermissionOption: boolean = true;\n config = new TaonTaonECommerceProductPermissionConfig();\n clone() {\n return {\n enabledTaonECommerceProductPermissionOption: this.enabledTaonECommerceProductPermissionOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionController } from './taon-e-commerce-product-permission.controller';\nimport { TaonECommerceProductPermissionRepository } from './taon-e-commerce-product-permission.repository';\n// import { TaonECommerceProductPermissionKvRepository } from './taon-e-commerce-product-permission.kv.repository';\nimport { TaonECommerceProductPermissionProvider } from './taon-e-commerce-product-permission.provider';\n// import { TaonECommerceProductPermissionMiddleware } from './taon-e-commerce-product-permission.middleware';\n// import { TaonECommerceProductPermissionSubscriber } from './taon-e-commerce-product-permission.subscriber';\n//#endregion\n\nexport const TaonECommerceProductPermissionAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceProductPermissionAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceProductPermissionEntity },\n controllers: { TaonECommerceProductPermissionController },\n repositories: {\n // TaonECommerceProductPermissionKvRepository\n TaonECommerceProductPermissionRepository,\n },\n providers: { TaonECommerceProductPermissionProvider },\n // middlewares: { TaonECommerceProductPermissionMiddleware },\n // subscribers: { TaonECommerceProductPermissionSubscriber },\n}));","import { TaonBaseKvRepository, TaonRepository } from 'taon/browser';\n\n@TaonRepository({\n className: 'TaonECommerceSettingsKvRepository',\n})\nexport class TaonECommerceSettingsKvRepository extends TaonBaseKvRepository<\n Record<string, boolean>\n> {}\n","import {\n Body,\n GET,\n PUT,\n Taon,\n TaonBaseController,\n TaonController,\n} from 'taon/browser';\n\nimport { TaonECommerceSettingsKvRepository } from './taon-e-commerce-settings.kv.repository';\n\n@TaonController({\n className: 'TaonECommerceBackofficeSettingsController',\n})\nexport class TaonECommerceBackofficeSettingsController extends TaonBaseController {\n private readonly settings = this.injectCustomRepo(\n TaonECommerceSettingsKvRepository,\n );\n\n @GET()\n getSellingEnabled(): Taon.Response<boolean> {\n return async () => {\n return (await this.settings.get('sellingEnabled')) ?? true;\n };\n }\n\n @PUT()\n setSellingEnabled(@Body('enabled') enabled: boolean): Taon.Response<boolean> {\n return async () => {\n if (typeof enabled !== 'boolean') {\n throw new Error('Selling enabled must be a boolean.');\n }\n\n await this.settings.set('sellingEnabled', enabled);\n return enabled;\n };\n }\n}\n","import { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceBackofficeSettingsController } from './taon-e-commerce-backoffice-settings.controller';\nimport { TaonECommerceSettingsKvRepository } from './taon-e-commerce-settings.kv.repository';\n\nexport const TaonECommerceBackofficeSettingsContext = createContext(() => ({\n contextName: 'TaonECommerceBackofficeSettingsContext',\n abstract: true,\n contexts: { TaonBaseContext },\n controllers: { TaonECommerceBackofficeSettingsController },\n repositories: { TaonECommerceSettingsKvRepository },\n}));\n","import { TaonCmsAbstractContext } from '@taon-dev/cms/browser';\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCartAbstractContext } from './taon-e-commerce-cart/taon-e-commerce-cart.abstract.context';\nimport { TaonECommerceCartItemAbstractContext } from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context';\nimport { TaonECommerceCustomerAddressAbstractContext } from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context';\nimport { TaonECommerceOrderAbstractContext } from './taon-e-commerce-order/taon-e-commerce-order.abstract.context';\nimport { TaonECommerceOrderItemAbstractContext } from './taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context';\nimport { TaonECommercePaymentTransactionAbstractContext } from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context';\nimport { TaonECommerceProductAbstractContext } from './taon-e-commerce-product/taon-e-commerce-product.abstract.context';\nimport { TaonECommerceProductPermissionAbstractContext } from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context';\nimport { TaonECommerceBackofficeSettingsContext } from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context';\n\nexport const TaonECommerceAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceAbstractContext',\n abstract: true,\n contexts: {\n TaonCmsAbstractContext,\n TaonECommerceCartAbstractContext,\n TaonECommerceCartItemAbstractContext,\n TaonECommerceCustomerAddressAbstractContext,\n TaonECommerceOrderAbstractContext,\n TaonECommerceOrderItemAbstractContext,\n TaonECommercePaymentTransactionAbstractContext,\n TaonECommerceProductAbstractContext,\n TaonECommerceProductPermissionAbstractContext,\n TaonECommerceBackofficeSettingsContext,\n },\n}));\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibMyOrganizationProjTs } from './my-organization-proj.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibMyOrganizationProjTs } from './my-organization-proj.ts.pl-PL.i18n.data';;\nexport type LibOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibMyOrganizationProjTs \n| PlPlTraslationOverrideSrcLibMyOrganizationProjTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import { Injectable } from '@angular/core';\nimport { TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCustomerController } from './taon-e-commerce-customer.controller';\n\n@Injectable()\nexport class TaonECommerceCustomerApiService extends TaonBaseAngularService {\n readonly controller = this.injectController(TaonECommerceCustomerController);\n}\n","import { CurrencyPipe, DatePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\n\nimport type { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport type { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport type { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\nimport { TaonECommerceCustomerApiService } from '../taon-e-commerce-customer/taon-e-commerce-customer.api.service';\nimport type { TaonECommerceSubscriptionStatus } from '../taon-e-commerce-customer/taon-e-commerce-customer.controller';\nimport type { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\nimport type { TaonCartConfig } from './taon-cart.models';\n\n@Component({\n selector: 'taon-cart',\n templateUrl: './taon-cart.component.html',\n styleUrls: ['./taon-cart.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CurrencyPipe,\n DatePipe,\n MatButtonModule,\n MatIconModule,\n MatTabsModule,\n TaonDatatableComponent,\n ],\n providers: [TaonECommerceCustomerApiService],\n})\nexport class TaonCartComponent {\n @Input() config: TaonCartConfig = {};\n\n private readonly api = inject(TaonECommerceCustomerApiService);\n private readonly dialogRef = inject(MatDialogRef, { optional: true });\n\n readonly cart = signal<TaonECommerceCartEntity | null>(null);\n readonly orders = signal<TaonECommerceOrderEntity[]>([]);\n readonly transactions = signal<TaonECommercePaymentTransactionEntity[]>([]);\n readonly subscriptions = signal<TaonECommerceSubscriptionStatus[]>([]);\n readonly loadingCart = signal(false);\n readonly loadingOrders = signal(false);\n readonly loadingTransactions = signal(false);\n readonly loadingSubscriptions = signal(false);\n readonly error = signal('');\n\n readonly orderColumns: MtxGridColumn[] = [\n { header: 'Order ID', field: 'id', sortable: true },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Total', field: 'total', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n ];\n\n readonly transactionColumns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Order ID', field: 'orderId', sortable: true },\n { header: 'Provider', field: 'provider', sortable: true },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Amount', field: 'amount', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n ];\n\n constructor() {\n void this.loadCart();\n }\n\n close(): void {\n this.dialogRef?.close();\n }\n\n onMainTabChange(index: number): void {\n if (index === (this.hasSuggestedProducts ? 2 : 1)) {\n void this.loadSubscriptions();\n }\n }\n\n onSettingsTabChange(index: number): void {\n if (index === 0) {\n void this.loadSubscriptions();\n } else if (index === 1) {\n void this.loadOrders();\n } else if (index === 2) {\n void this.loadTransactions();\n }\n }\n\n get suggestedProducts(): TaonECommerceProductEntity[] {\n return this.config?.suggestedProducts ?? [];\n }\n\n get hasSuggestedProducts(): boolean {\n return this.suggestedProducts.length > 0;\n }\n\n async loadCart(): Promise<void> {\n this.loadingCart.set(true);\n this.error.set('');\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.getMyCart().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load your cart.', error);\n } finally {\n this.loadingCart.set(false);\n }\n }\n\n async addProduct(product: TaonECommerceProductEntity): Promise<void> {\n if (typeof product.id !== 'number') {\n this.error.set('This suggested product does not have a saved product ID.');\n return;\n }\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.addToMyCart(product.id, 1).request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to add this product to your cart.', error);\n }\n }\n\n async updateQuantity(itemId: number, quantity: number): Promise<void> {\n if (quantity < 1) {\n await this.removeItem(itemId);\n return;\n }\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.updateMyCartItem(itemId, quantity).request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to update the cart item.', error);\n }\n }\n\n async removeItem(itemId: number): Promise<void> {\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.removeFromMyCart(itemId).request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to remove the cart item.', error);\n }\n }\n\n async loadOrders(): Promise<void> {\n this.loadingOrders.set(true);\n this.error.set('');\n try {\n this.orders.set(\n await this.request<TaonECommerceOrderEntity[]>(\n this.api.controller.getMyOrders().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load your orders.', error);\n } finally {\n this.loadingOrders.set(false);\n }\n }\n\n async loadTransactions(): Promise<void> {\n this.loadingTransactions.set(true);\n this.error.set('');\n try {\n this.transactions.set(\n await this.request<TaonECommercePaymentTransactionEntity[]>(\n this.api.controller.getMyTransactions().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load your transactions.', error);\n } finally {\n this.loadingTransactions.set(false);\n }\n }\n\n async loadSubscriptions(): Promise<void> {\n this.loadingSubscriptions.set(true);\n this.error.set('');\n try {\n this.subscriptions.set(\n await this.request<TaonECommerceSubscriptionStatus[]>(\n this.api.controller.getMySubscriptionStatuses().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load subscription statuses.', error);\n } finally {\n this.loadingSubscriptions.set(false);\n }\n }\n\n async unsubscribe(): Promise<void> {\n this.error.set('');\n try {\n const response = await this.api.controller\n .unsubscribeFromExampleSubscription()\n .request!();\n if (response.statusCode >= 400) {\n throw new Error(response.responseText || 'The request failed.');\n }\n await this.loadSubscriptions();\n } catch (error) {\n this.reportError('Unable to unsubscribe.', error);\n }\n }\n\n private async request<T>(\n endpoint: Promise<{\n statusCode: number;\n responseText: string;\n body?: { json?: T };\n }>,\n ): Promise<T> {\n const response = await endpoint;\n if (response.statusCode >= 400) {\n throw new Error(response.responseText || 'The request failed.');\n }\n const result = response.body?.json;\n if (result === undefined || result === null) {\n throw new Error('The server returned an empty response.');\n }\n return result;\n }\n\n private reportError(message: string, error: unknown): void {\n console.error('[taon-cart]', message, error);\n this.error.set(error instanceof Error ? error.message : message);\n }\n}\n","<section class=\"cart-shell\">\n <header class=\"cart-header\">\n <h2>Shopping</h2>\n <button\n mat-icon-button\n type=\"button\"\n aria-label=\"Close cart\"\n (click)=\"close()\">\n <mat-icon>close</mat-icon>\n </button>\n </header>\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n }\n <mat-tab-group\n (selectedIndexChange)=\"onMainTabChange($event)\"\n [selectedIndex]=\"hasSuggestedProducts ? 0 : 1\">\n @if (hasSuggestedProducts) {\n <mat-tab label=\"Buy\">\n <div class=\"products\">\n @for (product of suggestedProducts; track product.id) {\n <article class=\"product\">\n <h3>{{ product.name }}</h3>\n @if (product.description) {\n <p>{{ product.description }}</p>\n }\n <p>{{ product.price | currency: product.currency }}</p>\n <button\n mat-flat-button\n type=\"button\"\n (click)=\"addProduct(product)\">\n Add to cart\n </button>\n </article>\n }\n </div>\n </mat-tab>\n } @else {\n <mat-tab\n label=\"Buy\"\n [disabled]=\"true\"></mat-tab>\n }\n <mat-tab label=\"Cart\">\n @if (loadingCart()) {\n <p role=\"status\">Loading cart...</p>\n } @else if (!cart()?.items?.length) {\n <p>Your cart is empty.</p>\n } @else {\n <div class=\"cart-items\">\n @for (item of cart()!.items; track item.id) {\n <article class=\"cart-item\">\n <div class=\"item-product\">\n <strong>{{ item.product.name }}</strong>\n <span\n >{{\n item.product.price | currency: item.product.currency\n }}\n each</span\n >\n </div>\n <div class=\"quantity\">\n <button\n mat-icon-button\n type=\"button\"\n aria-label=\"Decrease quantity\"\n (click)=\"updateQuantity(item.id!, item.quantity - 1)\">\n <mat-icon>remove</mat-icon>\n </button>\n <span>{{ item.quantity }}</span>\n <button\n mat-icon-button\n type=\"button\"\n aria-label=\"Increase quantity\"\n (click)=\"updateQuantity(item.id!, item.quantity + 1)\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n <strong>{{\n item.product.price * item.quantity\n | currency: item.product.currency\n }}</strong>\n <button\n mat-button\n type=\"button\"\n (click)=\"removeItem(item.id!)\">\n Remove\n </button>\n </article>\n }\n </div>\n }\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <mat-icon aria-hidden=\"true\">settings</mat-icon>\n <span>Settings</span>\n </ng-template>\n <mat-tab-group (selectedIndexChange)=\"onSettingsTabChange($event)\">\n <mat-tab label=\"Settings\">\n @if (loadingSubscriptions()) {\n <p role=\"status\">Loading subscription statuses...</p>\n } @else if (!subscriptions().length) {\n <p>No subscriptions.</p>\n } @else {\n <div class=\"table-scroll\">\n <table>\n <thead>\n <tr>\n <th>Subscription</th>\n <th>Status</th>\n <th>Valid until</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (\n subscription of subscriptions();\n track subscription.id\n ) {\n <tr>\n <td>{{ subscription.productName }}</td>\n <td>{{ subscription.status }}</td>\n <td>\n {{\n subscription.validUntil\n ? (subscription.validUntil | date)\n : '—'\n }}\n </td>\n <td>\n @if (subscription.status === 'active') {\n <button\n mat-button\n type=\"button\"\n (click)=\"unsubscribe()\">\n Unsubscribe\n </button>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n </mat-tab>\n <mat-tab label=\"Orders\">\n @if (loadingOrders()) {\n <p role=\"status\">Loading orders...</p>\n } @else {\n <taon-datatable\n [data]=\"orders()\"\n [columns]=\"orderColumns\"\n [hideAddButton]=\"true\"\n [hideSearch]=\"true\" />\n }\n </mat-tab>\n <mat-tab label=\"Transactions\">\n @if (loadingTransactions()) {\n <p role=\"status\">Loading transactions...</p>\n } @else {\n <taon-datatable\n [data]=\"transactions()\"\n [columns]=\"transactionColumns\"\n [hideAddButton]=\"true\"\n [hideSearch]=\"true\" />\n }\n </mat-tab>\n </mat-tab-group>\n </mat-tab>\n </mat-tab-group>\n</section>\n","import { ChangeDetectionStrategy, Component, Input, inject, signal } from '@angular/core';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TaonECommerceCustomerApiService } from '../taon-e-commerce-customer/taon-e-commerce-customer.api.service';\nimport { TaonCartComponent } from '../taon-cart/taon-cart.component';\nimport type { TaonCartConfig } from '../taon-cart/taon-cart.models';\n\n@Component({\n selector: 'taon-cart-button',\n templateUrl: './taon-cart-button.component.html',\n styleUrls: ['./taon-cart-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatBadgeModule, MatButtonModule, MatIconModule],\n providers: [TaonECommerceCustomerApiService],\n})\nexport class TaonCartButtonComponent {\n @Input() config: TaonCartConfig = {};\n\n private readonly dialog = inject(MatDialog);\n private readonly api = inject(TaonECommerceCustomerApiService);\n readonly cartItemCount = signal(0);\n readonly error = signal('');\n\n constructor() {\n void this.loadCartCount();\n }\n\n get badgeText(): string {\n return this.config?.iconShortText ?? String(this.cartItemCount());\n }\n\n openCart(): void {\n const dialog = this.dialog.open(TaonCartComponent, {\n width: '100vw',\n height: '100dvh',\n maxWidth: '100vw',\n maxHeight: '100dvh',\n panelClass: 'taon-cart-fullscreen-dialog',\n });\n dialog.componentRef?.setInput('config', this.config);\n dialog.afterClosed().subscribe(() => void this.loadCartCount());\n }\n\n private async loadCartCount(): Promise<void> {\n try {\n const response = await this.api.controller.getMyCart().request!();\n if (response.statusCode >= 400) {\n throw new Error(response.responseText || 'Unable to load your cart.');\n }\n const cart = response.body?.json;\n if (!cart || !Array.isArray(cart.items)) {\n throw new Error('The cart response was invalid.');\n }\n this.cartItemCount.set(\n cart.items.reduce(\n (count: number, item: { quantity: number }) =>\n count + item.quantity,\n 0,\n ),\n );\n } catch (error) {\n console.error('[taon-cart-button] Unable to load cart count', error);\n this.error.set(\n error instanceof Error ? error.message : 'Unable to load your cart.',\n );\n }\n }\n}\n","<button\n mat-icon-button\n type=\"button\"\n aria-label=\"Open shopping cart\"\n [matBadge]=\"badgeText\"\n [matBadgeHidden]=\"false\"\n (click)=\"openCart()\">\n <mat-icon>shopping_cart</mat-icon>\n</button>\n@if (error()) {\n <span class=\"cart-button-error\" role=\"alert\" [title]=\"error()\">!</span>\n}","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonCartButtonRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-cart-button.component').then(m => m.TaonCartButtonComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonCartButtonRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonCartButtonRoutes;","//#region imports\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n//#endregion\n\n@Component({\n selector: 'app-taon-e-commerce-backoffice',\n templateUrl: './taon-e-commerce-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, RouterOutlet],\n})\nexport class TaonECommerceBackofficeComponent {\n componentLoaded = false;\n\n onRouteActivate(component: any): void {\n this.componentLoaded = !!component;\n }\n\n onRouteDeactivate(component: any): void {\n this.componentLoaded = false;\n }\n}\n","@if (!componentLoaded) {\n <code>\n In E-commerce section you can manager everything about your e-business.\n </code>\n}\n\n<router-outlet\n (activate)=\"onRouteActivate($event)\"\n (deactivate)=\"onRouteDeactivate($event)\"></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonECommerceBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-backoffice.component').then(\n m => m.TaonECommerceBackofficeComponent,\n ),\n\n children: [\n adminLazyRoute({\n path: 'dashboard',\n menuItem: 'Dashboard',\n icon: 'dashboard',\n loader: () =>\n import('../taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes').then(\n m => m.TaonECommerceBackofficeDashboardRoutes,\n ),\n }),\n adminLazyRoute({\n path: 'products',\n menuItem: 'Products',\n icon: 'inventory',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes').then(\n m => m.TaonECommerceProductsBackofficeRoutes,\n ),\n }),\n\n adminLazyRoute({\n path: 'orders',\n menuItem: 'Orders',\n icon: 'receipt_long',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes').then(\n m => m.TaonECommerceOrdersBackofficeRoutes,\n ),\n }),\n\n adminLazyRoute({\n path: 'payment-transactions',\n menuItem: 'Transactions',\n icon: 'payments',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes').then(\n m => m.TaonECommercePaymentTransactionsBackofficeRoutes,\n ),\n }),\n\n adminLazyRoute({\n path: 'settings',\n menuItem: 'Settings',\n icon: 'settings',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes').then(\n m => m.TaonECommerceBackofficeSettingsRoutes,\n ),\n }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceBackofficeRoutes;\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemController } from './taon-e-commerce-order-item.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderItemApiService extends TaonBaseAngularService {\n public readonly taonECommerceOrderItemController = this.injectController(TaonECommerceOrderItemController);\n\n public get allMyEntities$(): Observable<TaonECommerceOrderItemEntity[]> {\n return this.taonECommerceOrderItemController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceOrderItemController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderController } from './taon-e-commerce-order.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderApiService extends TaonBaseAngularService {\n public readonly taonECommerceOrderController = this.injectController(TaonECommerceOrderController);\n\n public get allMyEntities$(): Observable<TaonECommerceOrderEntity[]> {\n return this.taonECommerceOrderController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceOrderController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\n\nimport { TaonECommerceOrderItemApiService } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.api.service';\nimport { TaonECommerceOrderApiService } from '../taon-e-commerce-order/taon-e-commerce-order.api.service';\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommerceOrderItemEntity } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\n\ninterface DashboardSummary {\n paidOrders: number;\n productsSold: number;\n earnings: Array<{ currency: string; total: number }>;\n}\n\n@Component({\n selector: 'app-taon-e-commerce-backoffice-dashboard',\n templateUrl: './taon-e-commerce-backoffice-dashboard.component.html',\n styleUrls: ['./taon-e-commerce-backoffice-dashboard.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n providers: [TaonECommerceOrderApiService, TaonECommerceOrderItemApiService],\n})\nexport class TaonECommerceBackofficeDashboardComponent {\n private readonly orderApi = inject(TaonECommerceOrderApiService);\n\n private readonly orderItemApi = inject(TaonECommerceOrderItemApiService);\n\n readonly summary = signal<DashboardSummary | null>(null);\n\n readonly loading = signal(true);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n this.loading.set(true);\n this.error.set('');\n this.summary.set(null);\n\n try {\n const [ordersResponse, itemsResponse] = await Promise.all([\n this.orderApi.taonECommerceOrderController.getAll().request!(),\n this.orderItemApi.taonECommerceOrderItemController.getAll().request!(),\n ]);\n if (ordersResponse.statusCode >= 400 || itemsResponse.statusCode >= 400) {\n throw new Error(\n ordersResponse.responseText ||\n itemsResponse.responseText ||\n 'Unable to load e-commerce summary data.',\n );\n }\n\n const orders = ordersResponse.body?.json;\n const items = itemsResponse.body?.json;\n if (!Array.isArray(orders) || !Array.isArray(items)) {\n throw new Error('The e-commerce summary response was invalid.');\n }\n\n const paidOrders = (orders as TaonECommerceOrderEntity[]).filter(\n order => order.status === 'paid',\n );\n const paidOrderIds = new Set(paidOrders.map(order => order.id));\n const productsSold = (items as TaonECommerceOrderItemEntity[])\n .filter(item => paidOrderIds.has(item.orderId))\n .reduce((count, item) => count + item.quantity, 0);\n const earningsByCurrency = new Map<string, number>();\n\n for (const order of paidOrders) {\n const currency = order.currency.toUpperCase();\n const total = Number(order.total);\n if (!Number.isFinite(total)) {\n throw new Error(`Order ${order.id} has an invalid total.`);\n }\n earningsByCurrency.set(\n currency,\n (earningsByCurrency.get(currency) ?? 0) + total,\n );\n }\n\n this.summary.set({\n paidOrders: paidOrders.length,\n productsSold,\n earnings: [...earningsByCurrency].map(([currency, total]) => ({\n currency,\n total,\n })),\n });\n } catch (error) {\n console.error(\n '[taon-e-commerce-dashboard] Unable to load summary',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load e-commerce summary data.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n}\n","<h1>E-commerce Dashboard</h1>\n\n@if (loading()) {\n <p role=\"status\">Loading e-commerce summary...</p>\n} @else if (summary(); as stats) {\n <section\n class=\"summary-cards\"\n aria-label=\"E-commerce summary\">\n <article>\n <h2>Paid orders</h2>\n <p>{{ stats.paidOrders }}</p>\n </article>\n <article>\n <h2>Products sold</h2>\n <p>{{ stats.productsSold }}</p>\n </article>\n <article>\n <h2>Total earnings</h2>\n @for (earning of stats.earnings; track earning.currency) {\n <p>{{ earning.total.toFixed(2) }} {{ earning.currency }}</p>\n } @empty {\n <p>0.00</p>\n }\n </article>\n </section>\n}\n\n@if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n type=\"button\"\n (click)=\"load()\">\n Try again\n </button>\n}\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonECommerceBackofficeDashboardRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-backoffice-dashboard.component').then(m => m.TaonECommerceBackofficeDashboardComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceBackofficeDashboardRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceBackofficeDashboardRoutes;","import { Injectable } from '@angular/core';\nimport { TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceBackofficeSettingsController } from './taon-e-commerce-backoffice-settings.controller';\n\n@Injectable()\nexport class TaonECommerceBackofficeSettingsApiService extends TaonBaseAngularService {\n private readonly controller = this.injectController(\n TaonECommerceBackofficeSettingsController,\n );\n\n async getSellingEnabled(): Promise<boolean> {\n const response = await this.controller.getSellingEnabled().request!();\n const enabled = response.body?.json;\n\n if (response.statusCode >= 400 || typeof enabled !== 'boolean') {\n throw new Error(\n response.responseText || 'Unable to load the selling setting.',\n );\n }\n\n return enabled;\n }\n\n async setSellingEnabled(enabled: boolean): Promise<boolean> {\n const response =\n await this.controller.setSellingEnabled(enabled).request!();\n const saved = response.body?.json;\n\n if (response.statusCode >= 400 || typeof saved !== 'boolean') {\n throw new Error(\n response.responseText || 'Unable to update the selling setting.',\n );\n }\n\n return saved;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { TaonECommerceBackofficeSettingsApiService } from './taon-e-commerce-backoffice-settings.api.service';\n\n@Component({\n selector: 'app-taon-e-commerce-backoffice-settings',\n templateUrl: './taon-e-commerce-backoffice-settings.component.html',\n styleUrls: ['./taon-e-commerce-backoffice-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule],\n providers: [TaonECommerceBackofficeSettingsApiService],\n})\nexport class TaonECommerceBackofficeSettingsComponent {\n private readonly api = inject(TaonECommerceBackofficeSettingsApiService);\n\n readonly sellingEnabled = signal<boolean | null>(null);\n\n readonly loading = signal(true);\n\n readonly saving = signal(false);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n this.loading.set(true);\n this.error.set('');\n\n try {\n this.sellingEnabled.set(await this.api.getSellingEnabled());\n } catch (error) {\n console.error(\n '[taon-e-commerce-settings] Unable to load the selling setting',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load the selling setting.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n\n async toggleSelling(): Promise<void> {\n const current = this.sellingEnabled();\n if (current === null || this.saving()) {\n return;\n }\n\n this.saving.set(true);\n this.error.set('');\n try {\n this.sellingEnabled.set(await this.api.setSellingEnabled(!current));\n } catch (error) {\n console.error(\n '[taon-e-commerce-settings] Unable to update the selling setting',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to update the selling setting.',\n );\n } finally {\n this.saving.set(false);\n }\n }\n}\n","<h1>E-commerce Settings</h1>\n\n<section\n class=\"setting\"\n aria-labelledby=\"selling-setting\">\n <div>\n <h2 id=\"selling-setting\">Selling enabled</h2>\n @if (sellingEnabled() === false) {\n <p>Checkout and purchasing are paused.</p>\n } @else if (sellingEnabled() === true) {\n <p>Customers can purchase products.</p>\n }\n </div>\n\n @if (loading()) {\n <p role=\"status\">Loading setting...</p>\n } @else if (sellingEnabled() !== null) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"saving()\"\n (click)=\"toggleSelling()\">\n @if (saving()) {\n Saving...\n } @else if (sellingEnabled()) {\n Disable selling\n } @else {\n Enable selling\n }\n </button>\n }\n</section>\n\n@if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n}\n","//#region imports\nimport { Routes } from '@angular/router';\n//#endregion\n\nexport const TaonECommerceBackofficeSettingsRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-backoffice-settings.component').then(\n m => m.TaonECommerceBackofficeSettingsComponent,\n ),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceBackofficeSettingsRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceBackofficeSettingsRoutes;\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartController } from './taon-e-commerce-cart.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartApiService extends TaonBaseAngularService {\n private taonECommerceCartController = this.injectController(TaonECommerceCartController);\n\n public get allMyEntities$(): Observable<TaonECommerceCartEntity[]> {\n return this.taonECommerceCartController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceCartController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCartProvider } from './taon-e-commerce-cart.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartConfigService extends TaonBaseAngularService {\n private taonECommerceCartProvider = this.injectProvider(TaonECommerceCartProvider);\n\n get isEnableOption() {\n return this.taonECommerceCartProvider.enabledTaonECommerceCartOption;\n }\n}","import type { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-cart/taon-e-commerce-cart.constants.ts', {\"src/lib/taon-e-commerce-cart/taon-e-commerce-cart.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-cart.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-cart.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceCartDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceCartEntity>;\n\nexport enum TaonECommerceCartErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceCartTranslationErorsMap = new Map([\n [TaonECommerceCartErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartKvRepository',\n})\nexport class TaonECommerceCartKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceCartEntity[];\n}> {\n async notifyUsers(users: TaonECommerceCartEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceCartMiddleware',\n})\nexport class TaonECommerceCartMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceCartModels {\n export enum TaonECommerceCartState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartProvider } from './taon-e-commerce-cart.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceCartSubscriber>({\n className: 'TaonECommerceCartSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceCartSubscriber extends TaonBaseSubscriberForEntity {\n taonECommerceCartProvider = this.injectProvider(TaonECommerceCartProvider);\n listenTo(): typeof TaonECommerceCartEntity {\n return TaonECommerceCartEntity;\n }\n}","import { TaonECommerceCartModels } from './taon-e-commerce-cart.models';\n\nexport namespace TaonECommerceCartUtils {\n export function isActive(state: string): state is TaonECommerceCartModels.TaonECommerceCartState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceCartErrors } from './taon-e-commerce-cart.constants';\n\nexport namespace TaonECommerceCartValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceCartErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemController } from './taon-e-commerce-cart-item.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartItemApiService extends TaonBaseAngularService {\n private taonECommerceCartItemController = this.injectController(TaonECommerceCartItemController);\n\n public get allMyEntities$(): Observable<TaonECommerceCartItemEntity[]> {\n return this.taonECommerceCartItemController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceCartItemController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCartItemProvider } from './taon-e-commerce-cart-item.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartItemConfigService extends TaonBaseAngularService {\n private taonECommerceCartItemProvider = this.injectProvider(TaonECommerceCartItemProvider);\n\n get isEnableOption() {\n return this.taonECommerceCartItemProvider.enabledTaonECommerceCartItemOption;\n }\n}","import type { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.ts', {\"src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-cart-item.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-cart-item.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceCartItemDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceCartItemEntity>;\n\nexport enum TaonECommerceCartItemErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceCartItemTranslationErorsMap = new Map([\n [TaonECommerceCartItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartItemKvRepository',\n})\nexport class TaonECommerceCartItemKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceCartItemEntity[];\n}> {\n async notifyUsers(users: TaonECommerceCartItemEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceCartItemMiddleware',\n})\nexport class TaonECommerceCartItemMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceCartItemModels {\n export enum TaonECommerceCartItemState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemProvider } from './taon-e-commerce-cart-item.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceCartItemSubscriber>({\n className: 'TaonECommerceCartItemSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceCartItemSubscriber extends TaonBaseSubscriberForEntity {\n taonECommerceCartItemProvider = this.injectProvider(TaonECommerceCartItemProvider);\n listenTo(): typeof TaonECommerceCartItemEntity {\n return TaonECommerceCartItemEntity;\n }\n}","import { TaonECommerceCartItemModels } from './taon-e-commerce-cart-item.models';\n\nexport namespace TaonECommerceCartItemUtils {\n export function isActive(state: string): state is TaonECommerceCartItemModels.TaonECommerceCartItemState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceCartItemErrors } from './taon-e-commerce-cart-item.constants';\n\nexport namespace TaonECommerceCartItemValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceCartItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressController } from './taon-e-commerce-customer-address.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCustomerAddressApiService extends TaonBaseAngularService {\n public readonly taonECommerceCustomerAddressController = this.injectController(TaonECommerceCustomerAddressController);\n\n public get allMyEntities$(): Observable<TaonECommerceCustomerAddressEntity[]> {\n return this.taonECommerceCustomerAddressController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceCustomerAddressController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCustomerAddressProvider } from './taon-e-commerce-customer-address.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCustomerAddressConfigService extends TaonBaseAngularService {\n private taonECommerceCustomerAddressProvider = this.injectProvider(TaonECommerceCustomerAddressProvider);\n\n get isEnableOption() {\n return this.taonECommerceCustomerAddressProvider.enabledTaonECommerceCustomerAddressOption;\n }\n\n clone(): Partial<TaonECommerceCustomerAddressProvider> {\n const cloned = this.taonECommerceCustomerAddressProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.ts', {\"src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-customer-address.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-customer-address.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceCustomerAddressDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceCustomerAddressEntity>;\n\nexport enum TaonECommerceCustomerAddressErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceCustomerAddressTranslationErorsMap = new Map([\n [TaonECommerceCustomerAddressErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCustomerAddressKvRepository',\n})\nexport class TaonECommerceCustomerAddressKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceCustomerAddressEntity[];\n}> {\n async notifyUsers(users: TaonECommerceCustomerAddressEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceCustomerAddressMiddleware',\n})\nexport class TaonECommerceCustomerAddressMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceCustomerAddressModels {\n export enum TaonECommerceCustomerAddressState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressProvider } from './taon-e-commerce-customer-address.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceCustomerAddressSubscriber>({\n className: 'TaonECommerceCustomerAddressSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceCustomerAddressSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceCustomerAddressProvider = this.injectProvider(TaonECommerceCustomerAddressProvider);\n listenTo(): typeof TaonECommerceCustomerAddressEntity {\n return TaonECommerceCustomerAddressEntity;\n }\n}","import { TaonECommerceCustomerAddressModels } from './taon-e-commerce-customer-address.models';\n\nexport namespace TaonECommerceCustomerAddressUtils {\n export function isActive(state: string): state is TaonECommerceCustomerAddressModels.TaonECommerceCustomerAddressState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceCustomerAddressErrors } from './taon-e-commerce-customer-address.constants';\n\nexport namespace TaonECommerceCustomerAddressValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceCustomerAddressErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceOrderProvider } from './taon-e-commerce-order.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderConfigService extends TaonBaseAngularService {\n private taonECommerceOrderProvider = this.injectProvider(TaonECommerceOrderProvider);\n\n get isEnableOption() {\n return this.taonECommerceOrderProvider.enabledTaonECommerceOrderOption;\n }\n\n clone(): Partial<TaonECommerceOrderProvider> {\n const cloned = this.taonECommerceOrderProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-order/taon-e-commerce-order.constants.ts', {\"src/lib/taon-e-commerce-order/taon-e-commerce-order.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-order.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-order.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceOrderDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceOrderEntity>;\n\nexport enum TaonECommerceOrderErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceOrderTranslationErorsMap = new Map([\n [TaonECommerceOrderErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderKvRepository',\n})\nexport class TaonECommerceOrderKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceOrderEntity[];\n}> {\n async notifyUsers(users: TaonECommerceOrderEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceOrderMiddleware',\n})\nexport class TaonECommerceOrderMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceOrderModels {\n export enum TaonECommerceOrderState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderProvider } from './taon-e-commerce-order.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceOrderSubscriber>({\n className: 'TaonECommerceOrderSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceOrderSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceOrderProvider = this.injectProvider(TaonECommerceOrderProvider);\n listenTo(): typeof TaonECommerceOrderEntity {\n return TaonECommerceOrderEntity;\n }\n}","import { TaonECommerceOrderModels } from './taon-e-commerce-order.models';\n\nexport namespace TaonECommerceOrderUtils {\n export function isActive(state: string): state is TaonECommerceOrderModels.TaonECommerceOrderState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceOrderErrors } from './taon-e-commerce-order.constants';\n\nexport namespace TaonECommerceOrderValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceOrderErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceOrderItemProvider } from './taon-e-commerce-order-item.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderItemConfigService extends TaonBaseAngularService {\n private taonECommerceOrderItemProvider = this.injectProvider(TaonECommerceOrderItemProvider);\n\n get isEnableOption() {\n return this.taonECommerceOrderItemProvider.enabledTaonECommerceOrderItemOption;\n }\n\n clone(): Partial<TaonECommerceOrderItemProvider> {\n const cloned = this.taonECommerceOrderItemProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.ts', {\"src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-order-item.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-order-item.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceOrderItemDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceOrderItemEntity>;\n\nexport enum TaonECommerceOrderItemErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceOrderItemTranslationErorsMap = new Map([\n [TaonECommerceOrderItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderItemKvRepository',\n})\nexport class TaonECommerceOrderItemKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceOrderItemEntity[];\n}> {\n async notifyUsers(users: TaonECommerceOrderItemEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceOrderItemMiddleware',\n})\nexport class TaonECommerceOrderItemMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceOrderItemModels {\n export enum TaonECommerceOrderItemState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemProvider } from './taon-e-commerce-order-item.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceOrderItemSubscriber>({\n className: 'TaonECommerceOrderItemSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceOrderItemSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceOrderItemProvider = this.injectProvider(TaonECommerceOrderItemProvider);\n listenTo(): typeof TaonECommerceOrderItemEntity {\n return TaonECommerceOrderItemEntity;\n }\n}","import { TaonECommerceOrderItemModels } from './taon-e-commerce-order-item.models';\n\nexport namespace TaonECommerceOrderItemUtils {\n export function isActive(state: string): state is TaonECommerceOrderItemModels.TaonECommerceOrderItemState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceOrderItemErrors } from './taon-e-commerce-order-item.constants';\n\nexport namespace TaonECommerceOrderItemValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceOrderItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionController } from './taon-e-commerce-payment-transaction.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommercePaymentTransactionApiService extends TaonBaseAngularService {\n public readonly taonECommercePaymentTransactionController = this.injectController(TaonECommercePaymentTransactionController);\n\n public get allMyEntities$(): Observable<TaonECommercePaymentTransactionEntity[]> {\n return this.taonECommercePaymentTransactionController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommercePaymentTransactionController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommercePaymentTransactionProvider } from './taon-e-commerce-payment-transaction.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommercePaymentTransactionConfigService extends TaonBaseAngularService {\n private taonECommercePaymentTransactionProvider = this.injectProvider(TaonECommercePaymentTransactionProvider);\n\n get isEnableOption() {\n return this.taonECommercePaymentTransactionProvider.enabledTaonECommercePaymentTransactionOption;\n }\n\n clone(): Partial<TaonECommercePaymentTransactionProvider> {\n const cloned = this.taonECommercePaymentTransactionProvider.clone();\n return cloned;\n }\n}","import type { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.ts', {\"src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-payment-transaction.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-payment-transaction.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommercePaymentTransactionDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommercePaymentTransactionEntity>;\n\nexport enum TaonECommercePaymentTransactionErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommercePaymentTransactionTranslationErorsMap = new Map([\n [TaonECommercePaymentTransactionErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommercePaymentTransactionKvRepository',\n})\nexport class TaonECommercePaymentTransactionKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommercePaymentTransactionEntity[];\n}> {\n async notifyUsers(users: TaonECommercePaymentTransactionEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommercePaymentTransactionMiddleware',\n})\nexport class TaonECommercePaymentTransactionMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommercePaymentTransactionModels {\n export enum TaonECommercePaymentTransactionState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionProvider } from './taon-e-commerce-payment-transaction.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommercePaymentTransactionSubscriber>({\n className: 'TaonECommercePaymentTransactionSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommercePaymentTransactionSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommercePaymentTransactionProvider = this.injectProvider(TaonECommercePaymentTransactionProvider);\n listenTo(): typeof TaonECommercePaymentTransactionEntity {\n return TaonECommercePaymentTransactionEntity;\n }\n}","import { TaonECommercePaymentTransactionModels } from './taon-e-commerce-payment-transaction.models';\n\nexport namespace TaonECommercePaymentTransactionUtils {\n export function isActive(state: string): state is TaonECommercePaymentTransactionModels.TaonECommercePaymentTransactionState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommercePaymentTransactionErrors } from './taon-e-commerce-payment-transaction.constants';\n\nexport namespace TaonECommercePaymentTransactionValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommercePaymentTransactionErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionController } from './taon-e-commerce-product-permission.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductPermissionApiService extends TaonBaseAngularService {\n public readonly taonECommerceProductPermissionController = this.injectController(TaonECommerceProductPermissionController);\n\n public get allMyEntities$(): Observable<TaonECommerceProductPermissionEntity[]> {\n return this.taonECommerceProductPermissionController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceProductPermissionController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCartConfig } from '../index';\n\nimport { TaonECommerceProductController } from './taon-e-commerce-product.controller';\nimport type { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductApiService extends TaonBaseAngularService {\n public readonly taonECommerceProductController = this.injectController(\n TaonECommerceProductController,\n );\n\n public getAllProductForUser(): Observable<TaonCartConfig> {\n return this.taonECommerceProductController.getAll()\n .request!().observable.pipe(\n map(res => res.body.json),\n map(c => ({\n suggestedProducts: c,\n })),\n );\n }\n\n public async syncWithStripe(): Promise<void> {\n const response =\n await this.taonECommerceProductController.syncWithStripe().request!();\n\n if (response.statusCode >= 400) {\n throw new Error(\n response.responseText ||\n 'Stripe synchronization is not configured for this project.',\n );\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n MAT_DIALOG_DATA,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TaonPermissionApiService } from '@taon-dev/session/browser';\nimport type { TaonPermissionEntity } from '@taon-dev/session/browser';\n\nimport { TaonECommerceProductPermissionApiService } from '../taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service';\nimport { TaonECommerceProductPermissionEntity } from '../taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductApiService } from './taon-e-commerce-product.api.service';\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n\nexport interface TaonECommerceProductEditDialogData {\n product?: TaonECommerceProductEntity;\n}\n\ntype ProductType = TaonECommerceProductEntity['type'];\ntype ProductCurrency = 'PLN' | 'EUR' | 'USD';\n\ninterface ProductDraft {\n name: string;\n description: string;\n active: boolean;\n type: ProductType;\n price: number | null;\n currency: ProductCurrency;\n}\n\n@Component({\n selector: 'taon-e-commerce-product-edit-dialog',\n templateUrl: './taon-e-commerce-product-edit-dialog.component.html',\n styleUrls: ['./taon-e-commerce-product-edit-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FormsModule,\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n ],\n providers: [\n TaonECommerceProductApiService,\n TaonECommerceProductPermissionApiService,\n TaonPermissionApiService,\n ],\n})\nexport class TaonECommerceProductEditDialogComponent {\n readonly data = inject<TaonECommerceProductEditDialogData>(MAT_DIALOG_DATA);\n\n readonly dialogRef = inject(\n MatDialogRef<TaonECommerceProductEditDialogComponent>,\n );\n\n private readonly productApi = inject(TaonECommerceProductApiService);\n\n private readonly productPermissionApi = inject(\n TaonECommerceProductPermissionApiService,\n );\n\n private readonly permissionApi = inject(TaonPermissionApiService);\n\n readonly productTypes: ProductType[] = ['digital', 'physical', 'service'];\n readonly currencies: ProductCurrency[] = ['PLN', 'EUR', 'USD'];\n private readonly initialCurrency =\n this.currencies.find(\n currency => currency === this.data.product?.currency,\n ) ?? 'USD';\n\n readonly draft = signal<ProductDraft>({\n name: this.data.product?.name ?? '',\n description: this.data.product?.description ?? '',\n active: this.data.product?.active ?? true,\n type: this.data.product?.type ?? ('digital' as ProductType),\n price: this.data.product?.price ?? 0,\n currency: this.initialCurrency,\n });\n\n readonly permissions = signal<TaonPermissionEntity[]>([]);\n\n readonly selectedPermissionIds = signal<number[]>([]);\n\n readonly loading = signal(true);\n\n readonly permissionsLoaded = signal(false);\n\n readonly saving = signal(false);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n this.loading.set(true);\n this.error.set('');\n this.permissionsLoaded.set(false);\n\n try {\n const [permissionsResponse, linksResponse] = await Promise.all([\n this.permissionApi.taonPermissionController.getAll().request!(),\n this.productPermissionApi.taonECommerceProductPermissionController.getAll()\n .request!(),\n ]);\n\n if (\n permissionsResponse.statusCode >= 400 ||\n linksResponse.statusCode >= 400\n ) {\n throw new Error(\n permissionsResponse.responseText ||\n linksResponse.responseText ||\n 'Unable to load product permissions.',\n );\n }\n\n const permissionRows = permissionsResponse.body?.json;\n const productPermissionRows = linksResponse.body?.json;\n if (\n !Array.isArray(permissionRows) ||\n !Array.isArray(productPermissionRows)\n ) {\n throw new Error('The permissions response was invalid.');\n }\n\n this.permissions.set(permissionRows);\n this.permissionsLoaded.set(true);\n const productId = this.data.product?.id;\n this.selectedPermissionIds.set(\n typeof productId === 'number'\n ? (productPermissionRows as TaonECommerceProductPermissionEntity[])\n .filter(link => link.productId === productId)\n .map(link => link.permissionId)\n : [],\n );\n } catch (error) {\n console.error(\n '[taon-e-commerce-product-edit] Unable to load permissions',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load product permissions.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n\n updateType(type: ProductType): void {\n this.draft.update(draft => ({ ...draft, type }));\n }\n\n updatePrice(price: number | null): void {\n this.draft.update(draft => ({ ...draft, price }));\n }\n\n updateName(name: string): void {\n this.draft.update(draft => ({ ...draft, name }));\n }\n\n updateDescription(description: string): void {\n this.draft.update(draft => ({ ...draft, description }));\n }\n\n updateActive(active: boolean): void {\n this.draft.update(draft => ({ ...draft, active }));\n }\n\n updateCurrency(currency: ProductCurrency): void {\n this.draft.update(draft => ({ ...draft, currency }));\n }\n\n async save(): Promise<void> {\n if (this.saving() || this.loading() || !this.permissionsLoaded()) {\n return;\n }\n\n const draft = this.draft();\n if (\n !draft.name.trim() ||\n !this.currencies.includes(draft.currency) ||\n draft.price === null ||\n !Number.isFinite(draft.price) ||\n draft.price < 0\n ) {\n this.error.set(\n 'Enter a name, a supported currency, and a non-negative price.',\n );\n return;\n }\n\n this.saving.set(true);\n this.error.set('');\n\n try {\n const product = Object.assign(new TaonECommerceProductEntity(), {\n ...this.data.product,\n name: draft.name.trim(),\n description: draft.description.trim() || null,\n active: draft.active,\n type: draft.type,\n price: draft.price,\n currency: draft.currency,\n });\n const productResponse = this.data.product\n ? await this.productApi.taonECommerceProductController.updateById(\n this.data.product.id!,\n product,\n ).request!()\n : await this.productApi.taonECommerceProductController.save(product)\n .request!();\n\n if (productResponse.statusCode >= 400) {\n throw new Error(\n productResponse.responseText || 'Unable to save the product.',\n );\n }\n const savedProduct = productResponse.body?.json;\n if (!savedProduct || typeof savedProduct.id !== 'number') {\n throw new Error('The saved product response was invalid.');\n }\n this.data.product = savedProduct;\n\n const linksResponse =\n await this.productPermissionApi.taonECommerceProductPermissionController.getAll()\n .request!();\n if (\n linksResponse.statusCode >= 400 ||\n !Array.isArray(linksResponse.body?.json)\n ) {\n throw new Error(\n linksResponse.responseText ||\n 'Unable to update the product permissions.',\n );\n }\n\n const existingLinks = (\n linksResponse.body.json as TaonECommerceProductPermissionEntity[]\n ).filter(link => link.productId === savedProduct.id);\n const selectedIds = new Set(this.selectedPermissionIds());\n for (const link of existingLinks) {\n if (!selectedIds.has(link.permissionId)) {\n const deleteResponse =\n await this.productPermissionApi.taonECommerceProductPermissionController.deleteById(\n link.id!,\n ).request!();\n if (deleteResponse.statusCode >= 400) {\n throw new Error(\n deleteResponse.responseText ||\n 'Unable to remove a product permission.',\n );\n }\n }\n }\n\n const existingIds = new Set(existingLinks.map(link => link.permissionId));\n for (const permissionId of selectedIds) {\n if (!existingIds.has(permissionId)) {\n const link = Object.assign(\n new TaonECommerceProductPermissionEntity(),\n {\n productId: savedProduct.id,\n permissionId,\n },\n );\n const saveResponse =\n await this.productPermissionApi.taonECommerceProductPermissionController.save(\n link,\n ).request!();\n if (saveResponse.statusCode >= 400) {\n throw new Error(\n saveResponse.responseText ||\n 'Unable to attach a permission to the product.',\n );\n }\n }\n }\n\n this.dialogRef.close(savedProduct);\n } catch (error) {\n console.error(\n '[taon-e-commerce-product-edit] Unable to save product',\n error,\n );\n this.error.set(\n error instanceof Error ? error.message : 'Unable to save the product.',\n );\n } finally {\n this.saving.set(false);\n }\n }\n}\n","<h2 mat-dialog-title>{{ data.product ? 'Edit product' : 'Add product' }}</h2>\n<br>\n<mat-dialog-content>\n @if (loading()) {\n <p role=\"status\">Loading permissions...</p>\n } @else {\n <form class=\"product-form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Name</mat-label>\n <input\n matInput\n required\n [ngModel]=\"draft().name\"\n (ngModelChange)=\"updateName($event)\"\n name=\"name\" />\n </mat-form-field>\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Description</mat-label>\n <textarea\n matInput\n rows=\"4\"\n [ngModel]=\"draft().description\"\n (ngModelChange)=\"updateDescription($event)\"\n name=\"description\"></textarea>\n </mat-form-field>\n\n <mat-checkbox\n [checked]=\"draft().active\"\n (change)=\"updateActive($event.checked)\"\n >Active</mat-checkbox\n >\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Type</mat-label>\n <mat-select\n [value]=\"draft().type\"\n (selectionChange)=\"updateType($event.value)\">\n @for (type of productTypes; track type) {\n <mat-option [value]=\"type\">{{ type }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n\n <div class=\"price-fields\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Price</mat-label>\n <input\n matInput\n type=\"number\"\n min=\"0\"\n step=\"0.01\"\n [ngModel]=\"draft().price\"\n (ngModelChange)=\"updatePrice($event)\"\n name=\"price\" />\n </mat-form-field>\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Currency</mat-label>\n <mat-select\n [value]=\"draft().currency\"\n (selectionChange)=\"updateCurrency($event.value)\">\n @for (currency of currencies; track currency) {\n <mat-option [value]=\"currency\">{{ currency }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Attached permissions</mat-label>\n <mat-select\n multiple\n [value]=\"selectedPermissionIds()\"\n (selectionChange)=\"selectedPermissionIds.set($event.value)\">\n @for (permission of permissions(); track permission.id) {\n <mat-option [value]=\"permission.id\"\n >{{ permission.name }} ({{ permission.code }})</mat-option\n >\n }\n </mat-select>\n </mat-form-field>\n\n @if (data.product) {\n <section\n class=\"stripe-info\"\n aria-label=\"Stripe synchronization information\">\n <h3>Stripe synchronization</h3>\n <p>\n Stripe Product ID:\n {{ data.product.stripeProductId || 'Not synchronized' }}\n </p>\n <p>\n Stripe Price ID:\n {{ data.product.stripePriceId || 'Not synchronized' }}\n </p>\n <p>\n Last synchronized: {{ data.product.stripeLastSyncedAt || 'Never' }}\n </p>\n </section>\n }\n </form>\n }\n\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n @if (!permissionsLoaded() && !loading()) {\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n Retry loading permissions\n </button>\n }\n }\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"saving()\"\n (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || saving() || !permissionsLoaded()\"\n (click)=\"save()\">\n {{ saving() ? 'Saving...' : 'Save' }}\n </button>\n</mat-dialog-actions>\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceProductProvider } from './taon-e-commerce-product.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductConfigService extends TaonBaseAngularService {\n private taonECommerceProductProvider = this.injectProvider(TaonECommerceProductProvider);\n\n get isEnableOption() {\n return this.taonECommerceProductProvider.enabledTaonECommerceProductOption;\n }\n\n clone(): Partial<TaonECommerceProductProvider> {\n const cloned = this.taonECommerceProductProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-product/taon-e-commerce-product.constants.ts', {\"src/lib/taon-e-commerce-product/taon-e-commerce-product.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-product.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-product.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceProductDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceProductEntity>;\n\nexport enum TaonECommerceProductErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceProductTranslationErorsMap = new Map([\n [TaonECommerceProductErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductKvRepository',\n})\nexport class TaonECommerceProductKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceProductEntity[];\n}> {\n async notifyUsers(users: TaonECommerceProductEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceProductMiddleware',\n})\nexport class TaonECommerceProductMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceProductModels {\n export enum TaonECommerceProductState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { TaonECommerceProductProvider } from './taon-e-commerce-product.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceProductSubscriber>({\n className: 'TaonECommerceProductSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceProductSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceProductProvider = this.injectProvider(TaonECommerceProductProvider);\n listenTo(): typeof TaonECommerceProductEntity {\n return TaonECommerceProductEntity;\n }\n}","import { TaonECommerceProductModels } from './taon-e-commerce-product.models';\n\nexport namespace TaonECommerceProductUtils {\n export function isActive(state: string): state is TaonECommerceProductModels.TaonECommerceProductState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceProductErrors } from './taon-e-commerce-product.constants';\n\nexport namespace TaonECommerceProductValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceProductErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceProductPermissionProvider } from './taon-e-commerce-product-permission.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductPermissionConfigService extends TaonBaseAngularService {\n private taonECommerceProductPermissionProvider = this.injectProvider(TaonECommerceProductPermissionProvider);\n\n get isEnableOption() {\n return this.taonECommerceProductPermissionProvider.enabledTaonECommerceProductPermissionOption;\n }\n\n clone(): Partial<TaonECommerceProductPermissionProvider> {\n const cloned = this.taonECommerceProductPermissionProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.ts', {\"src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-product-permission.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-product-permission.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceProductPermissionDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceProductPermissionEntity>;\n\nexport enum TaonECommerceProductPermissionErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceProductPermissionTranslationErorsMap = new Map([\n [TaonECommerceProductPermissionErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductPermissionKvRepository',\n})\nexport class TaonECommerceProductPermissionKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceProductPermissionEntity[];\n}> {\n async notifyUsers(users: TaonECommerceProductPermissionEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceProductPermissionMiddleware',\n})\nexport class TaonECommerceProductPermissionMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceProductPermissionModels {\n export enum TaonECommerceProductPermissionState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionProvider } from './taon-e-commerce-product-permission.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceProductPermissionSubscriber>({\n className: 'TaonECommerceProductPermissionSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceProductPermissionSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceProductPermissionProvider = this.injectProvider(TaonECommerceProductPermissionProvider);\n listenTo(): typeof TaonECommerceProductPermissionEntity {\n return TaonECommerceProductPermissionEntity;\n }\n}","import { TaonECommerceProductPermissionModels } from './taon-e-commerce-product-permission.models';\n\nexport namespace TaonECommerceProductPermissionUtils {\n export function isActive(state: string): state is TaonECommerceProductPermissionModels.TaonECommerceProductPermissionState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceProductPermissionErrors } from './taon-e-commerce-product-permission.constants';\n\nexport namespace TaonECommerceProductPermissionValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceProductPermissionErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs } from './taon-e-commerce-cart.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs } from './taon-e-commerce-cart.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceCartOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs } from './taon-e-commerce-cart-item.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs } from './taon-e-commerce-cart-item.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceCartItemOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs } from './taon-e-commerce-customer-address.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs } from './taon-e-commerce-customer-address.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceCustomerAddressOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs } from './taon-e-commerce-order.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs } from './taon-e-commerce-order.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceOrderOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { TaonECommerceOrderItemApiService } from '../../taon-e-commerce-order-item/taon-e-commerce-order-item.api.service';\nimport { TaonECommerceOrderApiService } from '../taon-e-commerce-order.api.service';\nimport { TaonECommercePaymentTransactionApiService } from '../../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service';\nimport type { TaonECommerceOrderEntity } from '../taon-e-commerce-order.entity';\nimport type { TaonECommerceOrderItemEntity } from '../../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\nimport type { TaonECommercePaymentTransactionEntity } from '../../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\n\n@Component({\n selector: 'taon-e-commerce-order-details-backoffice',\n templateUrl: './taon-e-commerce-order-details-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-order-details-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n providers: [\n TaonECommerceOrderApiService,\n TaonECommerceOrderItemApiService,\n TaonECommercePaymentTransactionApiService,\n ],\n})\nexport class TaonECommerceOrderDetailsBackofficeComponent {\n private readonly route = inject(ActivatedRoute);\n\n private readonly orderApi = inject(TaonECommerceOrderApiService);\n\n private readonly itemApi = inject(TaonECommerceOrderItemApiService);\n\n private readonly transactionApi = inject(\n TaonECommercePaymentTransactionApiService,\n );\n\n readonly order = signal<TaonECommerceOrderEntity | null>(null);\n\n readonly items = signal<TaonECommerceOrderItemEntity[]>([]);\n\n readonly transactions = signal<TaonECommercePaymentTransactionEntity[]>([]);\n\n readonly loading = signal(true);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n const id = Number(this.route.snapshot.paramMap.get('id'));\n if (!Number.isInteger(id) || id < 1) {\n this.loading.set(false);\n this.error.set('The order ID is invalid.');\n return;\n }\n\n this.loading.set(true);\n this.error.set('');\n try {\n const [orderResponse, itemsResponse, transactionsResponse] =\n await Promise.all([\n this.orderApi.taonECommerceOrderController.getBy(id).request!(),\n this.itemApi.taonECommerceOrderItemController.getAll().request!(),\n this.transactionApi.taonECommercePaymentTransactionController.getAll()\n .request!(),\n ]);\n if (\n orderResponse.statusCode >= 400 ||\n itemsResponse.statusCode >= 400 ||\n transactionsResponse.statusCode >= 400\n ) {\n throw new Error(\n orderResponse.responseText ||\n itemsResponse.responseText ||\n transactionsResponse.responseText ||\n 'Unable to load order details.',\n );\n }\n\n const order = orderResponse.body?.json;\n const items = itemsResponse.body?.json;\n const transactions = transactionsResponse.body?.json;\n if (!order || !Array.isArray(items) || !Array.isArray(transactions)) {\n throw new Error('The order details response was invalid.');\n }\n\n this.order.set(order);\n this.items.set(\n (items as TaonECommerceOrderItemEntity[]).filter(\n item => item.orderId === id,\n ),\n );\n this.transactions.set(\n (transactions as TaonECommercePaymentTransactionEntity[]).filter(\n transaction => transaction.orderId === id,\n ),\n );\n } catch (error) {\n console.error(\n '[taon-e-commerce-order-details] Unable to load order',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load order details.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n}\n","<section class=\"order-details\">\n <h2>Order details</h2>\n\n @if (loading()) {\n <p role=\"status\">Loading order...</p>\n } @else if (order(); as currentOrder) {\n <dl class=\"order-info\">\n <dt>Order ID</dt>\n <dd>{{ currentOrder.id }}</dd>\n <dt>User</dt>\n <dd>#{{ currentOrder.userId }}</dd>\n <dt>Status</dt>\n <dd>{{ currentOrder.status }}</dd>\n <dt>Created</dt>\n <dd>{{ currentOrder.createdAt }}</dd>\n <dt>Subtotal</dt>\n <dd>{{ currentOrder.subtotal }} {{ currentOrder.currency }}</dd>\n <dt>Total</dt>\n <dd>{{ currentOrder.total }} {{ currentOrder.currency }}</dd>\n </dl>\n\n <h3>Items</h3>\n <table>\n <thead>\n <tr>\n <th>Product</th>\n <th>Quantity</th>\n <th>Unit price</th>\n <th>Total</th>\n </tr>\n </thead>\n <tbody>\n @for (item of items(); track item.id) {\n <tr>\n <td>{{ item.productName }}</td>\n <td>{{ item.quantity }}</td>\n <td>{{ item.unitPrice }} {{ currentOrder.currency }}</td>\n <td>{{ item.totalPrice }} {{ currentOrder.currency }}</td>\n </tr>\n } @empty {\n <tr>\n <td colspan=\"4\">No items in this order.</td>\n </tr>\n }\n </tbody>\n </table>\n\n <h3>Payment transactions</h3>\n <table>\n <thead>\n <tr>\n <th>ID</th>\n <th>Provider</th>\n <th>Provider transaction</th>\n <th>Status</th>\n <th>Amount</th>\n </tr>\n </thead>\n <tbody>\n @for (transaction of transactions(); track transaction.id) {\n <tr>\n <td>{{ transaction.id }}</td>\n <td>{{ transaction.provider }}</td>\n <td>{{ transaction.providerTransactionId }}</td>\n <td>{{ transaction.status }}</td>\n <td>{{ transaction.amount }} {{ transaction.currency }}</td>\n </tr>\n } @empty {\n <tr>\n <td colspan=\"5\">No payment transactions.</td>\n </tr>\n }\n </tbody>\n </table>\n }\n\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n type=\"button\"\n (click)=\"load()\">\n Try again\n </button>\n }\n</section>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\n\nimport { TaonECommerceOrderApiService } from '../taon-e-commerce-order.api.service';\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order.entity';\n\n@Component({\n selector: 'app-taon-e-commerce-orders-backoffice',\n templateUrl: './taon-e-commerce-orders-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-orders-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [RouterOutlet, TaonDatatableComponent],\n providers: [TaonECommerceOrderApiService],\n})\nexport class TaonECommerceOrdersBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly router = inject(Router);\n\n readonly api = inject(TaonECommerceOrderApiService);\n\n readonly columns: MtxGridColumn[] = [\n { header: 'Order ID', field: 'id', sortable: true },\n { header: 'User', field: 'userId', sortable: true },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Total', field: 'total', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'open_in_new',\n tooltip: 'View order',\n click: (order: TaonECommerceOrderEntity) => this.openOrder(order),\n },\n ],\n },\n ];\n\n ngAfterViewInit(): void {\n this.datatable.reload();\n }\n\n openOrder(order: TaonECommerceOrderEntity): void {\n if (typeof order.id !== 'number') {\n return;\n }\n void this.router.navigate([order.id], { relativeTo: this.route });\n }\n\n public get crud() {\n return this.api.taonECommerceOrderController;\n }\n}\n","<h1>Orders</h1>\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n [allowedColumns]=\"[\n 'id',\n 'userId',\n 'status',\n 'total',\n 'currency',\n 'createdAt',\n ]\"\n searchMode=\"advanced\">\n</taon-datatable>\n<router-outlet></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\n//#endregion\n\nexport const TaonECommerceOrdersBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-orders-backoffice.component').then(\n m => m.TaonECommerceOrdersBackofficeComponent,\n ),\n\n children: [\n {\n path: ':id',\n loadComponent: () =>\n import('./taon-e-commerce-order-details-backoffice.component').then(\n m => m.TaonECommerceOrderDetailsBackofficeComponent,\n ),\n },\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceOrdersBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceOrdersBackofficeRoutes;\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs } from './taon-e-commerce-order-item.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs } from './taon-e-commerce-order-item.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceOrderItemOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs } from './taon-e-commerce-payment-transaction.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs } from './taon-e-commerce-payment-transaction.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommercePaymentTransactionOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { TaonECommerceOrderApiService } from '../../taon-e-commerce-order/taon-e-commerce-order.api.service';\nimport type { TaonECommerceOrderEntity } from '../../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommercePaymentTransactionApiService } from '../taon-e-commerce-payment-transaction.api.service';\nimport type { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction.entity';\n\n@Component({\n selector: 'taon-e-commerce-payment-transaction-details-backoffice',\n templateUrl:\n './taon-e-commerce-payment-transaction-details-backoffice.component.html',\n styleUrls: [\n './taon-e-commerce-payment-transaction-details-backoffice.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n providers: [\n TaonECommercePaymentTransactionApiService,\n TaonECommerceOrderApiService,\n ],\n})\nexport class TaonECommercePaymentTransactionDetailsBackofficeComponent {\n private readonly route = inject(ActivatedRoute);\n\n private readonly transactionApi = inject(\n TaonECommercePaymentTransactionApiService,\n );\n\n private readonly orderApi = inject(TaonECommerceOrderApiService);\n\n readonly transaction = signal<TaonECommercePaymentTransactionEntity | null>(\n null,\n );\n\n readonly order = signal<TaonECommerceOrderEntity | null>(null);\n\n readonly loading = signal(true);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n const id = Number(this.route.snapshot.paramMap.get('id'));\n if (!Number.isInteger(id) || id < 1) {\n this.loading.set(false);\n this.error.set('The transaction ID is invalid.');\n return;\n }\n\n this.loading.set(true);\n this.error.set('');\n try {\n const transactionResponse =\n await this.transactionApi.taonECommercePaymentTransactionController.getBy(\n id,\n ).request!();\n if (transactionResponse.statusCode >= 400) {\n throw new Error(\n transactionResponse.responseText ||\n 'Unable to load transaction details.',\n );\n }\n\n const transaction = transactionResponse.body?.json;\n if (!transaction || typeof transaction.orderId !== 'number') {\n throw new Error('The transaction details response was invalid.');\n }\n\n const orderResponse =\n await this.orderApi.taonECommerceOrderController.getBy(\n transaction.orderId,\n ).request!();\n if (orderResponse.statusCode >= 400 || !orderResponse.body?.json) {\n throw new Error(\n orderResponse.responseText || 'Unable to load the related order.',\n );\n }\n\n this.transaction.set(transaction);\n this.order.set(orderResponse.body.json);\n } catch (error) {\n console.error(\n '[taon-e-commerce-transaction-details] Unable to load transaction',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load transaction details.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n}\n","<section class=\"transaction-details\">\n <h2>Transaction details</h2>\n\n @if (loading()) {\n <p role=\"status\">Loading transaction...</p>\n } @else if (transaction(); as currentTransaction) {\n <dl>\n <dt>Transaction ID</dt>\n <dd>{{ currentTransaction.id }}</dd>\n <dt>Order ID</dt>\n <dd>{{ currentTransaction.orderId }}</dd>\n <dt>Provider</dt>\n <dd>{{ currentTransaction.provider }}</dd>\n <dt>Provider transaction ID</dt>\n <dd>{{ currentTransaction.providerTransactionId }}</dd>\n <dt>Status</dt>\n <dd>{{ currentTransaction.status }}</dd>\n <dt>Amount</dt>\n <dd>{{ currentTransaction.amount }} {{ currentTransaction.currency }}</dd>\n <dt>Created</dt>\n <dd>{{ currentTransaction.createdAt }}</dd>\n </dl>\n\n @if (order(); as relatedOrder) {\n <h3>Related order</h3>\n <dl>\n <dt>Order ID</dt>\n <dd>{{ relatedOrder.id }}</dd>\n <dt>User</dt>\n <dd>#{{ relatedOrder.userId }}</dd>\n <dt>Status</dt>\n <dd>{{ relatedOrder.status }}</dd>\n <dt>Total</dt>\n <dd>{{ relatedOrder.total }} {{ relatedOrder.currency }}</dd>\n <dt>Created</dt>\n <dd>{{ relatedOrder.createdAt }}</dd>\n </dl>\n }\n }\n\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n type=\"button\"\n (click)=\"load()\">\n Try again\n </button>\n }\n</section>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\n\nimport { TaonECommercePaymentTransactionApiService } from '../taon-e-commerce-payment-transaction.api.service';\nimport { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction.entity';\n\n@Component({\n selector: 'app-taon-e-commerce-payment-transactions-backoffice',\n templateUrl:\n './taon-e-commerce-payment-transactions-backoffice.component.html',\n styleUrls: [\n './taon-e-commerce-payment-transactions-backoffice.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [RouterOutlet, TaonDatatableComponent],\n providers: [TaonECommercePaymentTransactionApiService],\n})\nexport class TaonECommercePaymentTransactionsBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly router = inject(Router);\n\n readonly api = inject(TaonECommercePaymentTransactionApiService);\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Order ID', field: 'orderId', sortable: true },\n { header: 'Provider', field: 'provider', sortable: true },\n {\n header: 'Provider transaction ID',\n field: 'providerTransactionId',\n sortable: true,\n },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Amount', field: 'amount', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'open_in_new',\n tooltip: 'View transaction',\n click: (transaction: TaonECommercePaymentTransactionEntity) =>\n this.openTransaction(transaction),\n },\n ],\n },\n ];\n\n ngAfterViewInit(): void {\n this.datatable.reload();\n }\n\n openTransaction(transaction: TaonECommercePaymentTransactionEntity): void {\n if (typeof transaction.id !== 'number') {\n return;\n }\n void this.router.navigate([transaction.id], { relativeTo: this.route });\n }\n\n public get crud() {\n return this.api.taonECommercePaymentTransactionController;\n }\n}\n","<h1>Transactions</h1>\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n [allowedColumns]=\"[\n 'id',\n 'orderId',\n 'provider',\n 'providerTransactionId',\n 'status',\n 'amount',\n 'currency',\n 'createdAt',\n ]\"\n searchMode=\"advanced\">\n</taon-datatable>\n<router-outlet></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\n//#endregion\n\nexport const TaonECommercePaymentTransactionsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-payment-transactions-backoffice.component').then(\n m => m.TaonECommercePaymentTransactionsBackofficeComponent,\n ),\n\n children: [\n {\n path: ':id',\n loadComponent: () =>\n import('./taon-e-commerce-payment-transaction-details-backoffice.component').then(\n m => m.TaonECommercePaymentTransactionDetailsBackofficeComponent,\n ),\n },\n ],\n },\n];\n\n/**\n * By default exporting TaonECommercePaymentTransactionsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommercePaymentTransactionsBackofficeRoutes;\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs } from './taon-e-commerce-product.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs } from './taon-e-commerce-product.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceProductOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\n\nimport { TaonECommerceProductApiService } from '../taon-e-commerce-product.api.service';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product.entity';\nimport { TaonECommerceProductEditDialogComponent } from '../taon-e-commerce-product-edit-dialog.component';\nimport type { TaonECommerceProductEditDialogData } from '../taon-e-commerce-product-edit-dialog.component';\n\n@Component({\n selector: 'app-taon-e-commerce-products-backoffice',\n templateUrl: './taon-e-commerce-products-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-products-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, TaonDatatableComponent],\n providers: [TaonECommerceProductApiService],\n})\nexport class TaonECommerceProductsBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n readonly api = inject(TaonECommerceProductApiService);\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Name', field: 'name', sortable: true },\n { header: 'Type', field: 'type', sortable: true },\n { header: 'Price', field: 'price', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Active', field: 'active', sortable: true },\n {\n header: 'Stripe synchronized',\n field: 'stripeLastSyncedAt',\n sortable: true,\n },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'edit',\n tooltip: 'Edit product',\n click: (product: TaonECommerceProductEntity) => this.edit(product),\n },\n ],\n },\n ];\n\n private readonly dialog = inject(MatDialog);\n\n readonly syncInProgress = signal(false);\n\n readonly syncError = signal('');\n\n ngAfterViewInit(): void {\n this.datatable.reload();\n }\n\n add(): void {\n this.openEditor({});\n }\n\n edit(product: TaonECommerceProductEntity): void {\n this.openEditor({ product });\n }\n\n async syncWithStripe(): Promise<void> {\n if (this.syncInProgress()) {\n return;\n }\n\n this.syncInProgress.set(true);\n this.syncError.set('');\n try {\n await this.api.syncWithStripe();\n this.datatable.reload();\n } catch (error) {\n console.error(\n '[taon-e-commerce-products-backoffice] Stripe sync failed',\n error,\n );\n this.syncError.set(\n error instanceof Error\n ? error.message\n : 'Stripe synchronization could not be completed.',\n );\n } finally {\n this.syncInProgress.set(false);\n }\n }\n\n private openEditor(data: TaonECommerceProductEditDialogData): void {\n const ref = this.dialog.open(TaonECommerceProductEditDialogComponent, {\n data,\n width: '44rem',\n maxWidth: '95vw',\n disableClose: true,\n });\n ref.afterClosed().subscribe(product => {\n if (product) {\n this.datatable.reload();\n }\n });\n }\n\n public get crud() {\n return this.api.taonECommerceProductController;\n }\n}\n","<header class=\"page-header pb-2\">\n <h1>Products</h1>\n <div class=\"actions\">\n <button\n mat-stroked-button\n type=\"button\"\n [disabled]=\"syncInProgress()\"\n (click)=\"syncWithStripe()\">\n {{ syncInProgress() ? 'Syncing...' : 'Sync with Stripe' }}\n </button>\n </div>\n</header>\n\n@if (syncError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ syncError() }}\n </p>\n}\n\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"[\n 'id',\n 'name',\n 'type',\n 'price',\n 'currency',\n 'active',\n 'stripeLastSyncedAt',\n ]\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonECommerceProductsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-products-backoffice.component').then(m => m.TaonECommerceProductsBackofficeComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceProductsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceProductsBackofficeRoutes;","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs } from './taon-e-commerce-product-permission.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs } from './taon-e-commerce-product-permission.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceProductPermissionOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// @ts-nocheck\n// This file is auto-generated during init process. Do not modify.\n// This disable this auto generate file.\n// set property \"shouldGenerateAutogenIndexFile: false\" \n// in taon.jsonc of your project. \nexport * from './build-info._auto-generated_'; \nexport * from './my-organization-proj'; \nexport * from './start-cli'; \nexport * from './taon-e-commerce.abstract.context'; \nexport * from './i18n/lib.translation'; \nexport * from './taon-cart/taon-cart.component'; // @browser\nexport * from './taon-cart/taon-cart.models'; \nexport * from './taon-cart-button/taon-cart-button.component'; // @browser\nexport * from './taon-cart-button/taon-cart-button.models'; \nexport * from './taon-cart-button/taon-cart-button.routes'; // @browser\nexport * from './taon-e-commerce-backoffice/taon-e-commerce-backoffice.component'; // @browser\nexport * from './taon-e-commerce-backoffice/taon-e-commerce-backoffice.models'; \nexport * from './taon-e-commerce-backoffice/taon-e-commerce-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component'; // @browser\nexport * from './taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.models'; \nexport * from './taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.api.service'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context'; \nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.controller'; \nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.models'; \nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-settings.kv.repository'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.abstract.context'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.api.service'; // @browser\nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.config.service'; // @browser\nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.constants'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.controller'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.entity'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.kv.repository'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.middleware'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.models'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.provider'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.repository'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.subscriber'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.utils'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.validators'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.api.service'; // @browser\nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.config.service'; // @browser\nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.controller'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.kv.repository'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.middleware'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.models'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.provider'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.repository'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.subscriber'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.utils'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.validators'; \nexport * from './taon-e-commerce-customer/taon-e-commerce-customer.api.service'; // @browser\nexport * from './taon-e-commerce-customer/taon-e-commerce-customer.controller'; \nexport * from './taon-e-commerce-customer/taon-e-commerce-customer.repository'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.api.service'; // @browser\nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.config.service'; // @browser\nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.controller'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.entity'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.kv.repository'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.middleware'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.models'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.provider'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.repository'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.subscriber'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.utils'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.validators'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.abstract.context'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.api.service'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-order.config.service'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-order.constants'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.controller'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.entity'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.kv.repository'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.middleware'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.models'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.provider'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.repository'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.subscriber'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.utils'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.validators'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.api.service'; // @browser\nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.config.service'; // @browser\nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.constants'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.controller'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.entity'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.kv.repository'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.middleware'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.models'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.provider'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.repository'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.subscriber'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.utils'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.validators'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.config.service'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.controller'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.kv.repository'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.middleware'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.models'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.provider'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.repository'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.subscriber'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.utils'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.validators'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-product.abstract.context'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.api.service'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-product.config.service'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-product.constants'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.controller'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.entity'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.kv.repository'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.middleware'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.models'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.provider'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.repository'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.subscriber'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.utils'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.validators'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service'; // @browser\nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.config.service'; // @browser\nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.controller'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.kv.repository'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.middleware'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.models'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.provider'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.repository'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.subscriber'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.utils'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.validators'; \nexport * from './taon-e-commerce-cart/i18n/taon-e-commerce-cart.translation'; \nexport * from './taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.translation'; \nexport * from './taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.translation'; \nexport * from './taon-e-commerce-order/i18n/taon-e-commerce-order.translation'; \nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.models'; \nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.translation'; \nexport * from './taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.translation'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.models'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-product/i18n/taon-e-commerce-product.translation'; \nexport * from './taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.models'; \nexport * from './taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.translation'; ","export * from './migrations';\nexport * from './env';\nexport * from './index._auto-generated_';\nexport * from './my-organization-proj';\n/* */ \nexport default {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["t","i1","i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"e-commerce-browser.mjs","sources":["../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/migrations/1791132517216_initial.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/migrations/migrations_index._auto-generated_.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/migrations/index.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/env/env.angular-node-app.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/env/env.docs-webapp.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/env/env.electron-app.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/env/env.mobile-app.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/env/env.npm-lib-and-cli-tool.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/env/env.vscode-plugin.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/build-info._auto-generated_.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/my-organization-proj.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/start-cli.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer/taon-e-commerce-customer.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer/taon-e-commerce-customer.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-settings.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/i18n/lib.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer/taon-e-commerce-customer.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart/taon-cart.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart/taon-cart.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart-button/taon-cart-button.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart-button/taon-cart-button.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart-button/taon-cart-button.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice/taon-e-commerce-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice/taon-e-commerce-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice/taon-e-commerce-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/i18n/taon-e-commerce-cart.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/i18n/taon-e-commerce-order.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/i18n/taon-e-commerce-product.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/index._auto-generated_.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/index.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/e-commerce-browser.ts"],"sourcesContent":["import {\n MyAppAuthorization,\n MyAppGroup,\n MyAppPermission,\n MyAppRole,\n} from '@taon-dev/cms/browser';\nimport { TaonAuthContextRepository } from '@taon-dev/session/browser';\nimport { Taon, TaonBaseMigration, TaonMigration } from 'taon/browser';\nimport { QueryRunner } from 'taon-typeorm/browser';\n\n//#region Migration class for context \"ECommerceContext\"\n@TaonMigration({\n className: 'ECommerceContext_1791132517216_initial',\n})\nexport class ECommerceContext_1791132517216_initial extends TaonBaseMigration {\n private taonAuthContextRepository = this.injectCustomRepo(\n TaonAuthContextRepository<MyAppAuthorization>,\n );\n\n //#region up\n async up(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n await this.taonAuthContextRepository.persistTree({\n enums: {\n groups: MyAppGroup,\n roles: MyAppRole,\n permissions: MyAppPermission,\n },\n tree: {\n groupAndRoles: {\n [MyAppGroup.Administrator]: '*',\n [MyAppGroup.Customers]: [MyAppRole.BlogReader],\n },\n rolesAndPermissions: {\n [MyAppRole.Customer]: [\n MyAppPermission.AccessCourseP2,\n MyAppPermission.AccessCourseP2,\n ],\n [MyAppRole.CustomerPremium]: '*',\n },\n },\n });\n\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n } finally {\n await queryRunner.release();\n }\n }\n //#endregion\n\n //#region down\n async down(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n await this.taonAuthContextRepository.clearRolesGroupPermissions();\n\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n } finally {\n await queryRunner.release();\n }\n }\n //#endregion\n}\n//#endregion\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { ECommerceContext_1791132517216_initial } from './1791132517216_initial';\n// THIS FILE IS GENERATED - DO NOT MODIFY\nexport const MIGRATIONS_CLASSES_FOR_ECommerceContext = {\n /* 04-10-2026 18:48:37 */ ECommerceContext_1791132517216_initial,\n};\n// THIS FILE IS GENERATED - DO NOT MODIFY\n","//@ts-nocheck\nexport * from './migrations_index._auto-generated_';\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser';\n// config.superUsers\nexport const ENV_ANGULAR_NODE_APP_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_ANGULAR_NODE_APP_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_ANGULAR_NODE_APP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_ANGULAR_NODE_APP_WEBSITE_DOMAIN = 'e-commerce.example.domain.com';\n// website.title\nexport const ENV_ANGULAR_NODE_APP_WEBSITE_TITLE = 'E Commerce';\n// website.useDomain\nexport const ENV_ANGULAR_NODE_APP_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_ANGULAR_NODE_APP_RELEASE_TARGET_ARTIFACT = 'angular-node-app';\n// release.envName\nexport const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_ANGULAR_NODE_APP_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_END = undefined;\n// container.start\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_ANGULAR_NODE_APP_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_ANGULAR_NODE_APP_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_ANGULAR_NODE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_ANGULAR_NODE_APP_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_ANGULAR_NODE_APP_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_ANGULAR_NODE_APP_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_ANGULAR_NODE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_ANGULAR_NODE_APP_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_ANGULAR_NODE_APP_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_ANGULAR_NODE_APP_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_ANGULAR_NODE_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_ANGULAR_NODE_APP_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_ANGULAR_NODE_APP_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_ANGULAR_NODE_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_ANGULAR_NODE_APP_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_ANGULAR_NODE_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_ANGULAR_NODE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_ANGULAR_NODE_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_ANGULAR_NODE_APP_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_ANGULAR_NODE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_ANGULAR_NODE_APP_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_ANGULAR_NODE_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_ANGULAR_NODE_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_ANGULAR_NODE_APP_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_ANGULAR_NODE_APP_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_ANGULAR_NODE_APP_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_ANGULAR_NODE_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser';\n// config.superUsers\nexport const ENV_DOCS_WEBAPP_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_DOCS_WEBAPP_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_DOCS_WEBAPP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_DOCS_WEBAPP_WEBSITE_DOMAIN = 'e-commerce.example.domain.com';\n// website.title\nexport const ENV_DOCS_WEBAPP_WEBSITE_TITLE = 'E Commerce';\n// website.useDomain\nexport const ENV_DOCS_WEBAPP_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_DOCS_WEBAPP_RELEASE_TARGET_ARTIFACT = 'docs-webapp';\n// release.envName\nexport const ENV_DOCS_WEBAPP_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_DOCS_WEBAPP_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_DOCS_WEBAPP_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_DOCS_WEBAPP_CONTAINER_END = undefined;\n// container.start\nexport const ENV_DOCS_WEBAPP_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_DOCS_WEBAPP_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_DOCS_WEBAPP_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_DOCS_WEBAPP_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_DOCS_WEBAPP_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_DOCS_WEBAPP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_DOCS_WEBAPP_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_DOCS_WEBAPP_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_DOCS_WEBAPP_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_DOCS_WEBAPP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_DOCS_WEBAPP_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_DOCS_WEBAPP_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_DOCS_WEBAPP_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_DOCS_WEBAPP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_DOCS_WEBAPP_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_DOCS_WEBAPP_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_DOCS_WEBAPP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_DOCS_WEBAPP_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_DOCS_WEBAPP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_DOCS_WEBAPP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_DOCS_WEBAPP_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_DOCS_WEBAPP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_DOCS_WEBAPP_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_DOCS_WEBAPP_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_DOCS_WEBAPP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_DOCS_WEBAPP_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_DOCS_WEBAPP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_DOCS_WEBAPP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_DOCS_WEBAPP_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_DOCS_WEBAPP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_DOCS_WEBAPP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_DOCS_WEBAPP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_DOCS_WEBAPP_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_DOCS_WEBAPP_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_DOCS_WEBAPP_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_DOCS_WEBAPP_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_DOCS_WEBAPP_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_DOCS_WEBAPP_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser';\n// config.superUsers\nexport const ENV_ELECTRON_APP_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_ELECTRON_APP_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_ELECTRON_APP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// build.ssr\nexport const ENV_ELECTRON_APP_BUILD_SSR = false;\n// loading.preAngularBootstrap.background\nexport const ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_ELECTRON_APP_WEBSITE_DOMAIN = 'e-commerce.example.domain.com';\n// website.title\nexport const ENV_ELECTRON_APP_WEBSITE_TITLE = 'E Commerce';\n// website.useDomain\nexport const ENV_ELECTRON_APP_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_ELECTRON_APP_RELEASE_TARGET_ARTIFACT = 'electron-app';\n// release.envName\nexport const ENV_ELECTRON_APP_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_ELECTRON_APP_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_ELECTRON_APP_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_ELECTRON_APP_CONTAINER_END = undefined;\n// container.start\nexport const ENV_ELECTRON_APP_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_ELECTRON_APP_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_ELECTRON_APP_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_ELECTRON_APP_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_ELECTRON_APP_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_ELECTRON_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_ELECTRON_APP_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_ELECTRON_APP_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_ELECTRON_APP_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_ELECTRON_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.websql\nexport const ENV_ELECTRON_APP_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_ELECTRON_APP_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_ELECTRON_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_ELECTRON_APP_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_ELECTRON_APP_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_ELECTRON_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_ELECTRON_APP_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_ELECTRON_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_ELECTRON_APP_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_ELECTRON_APP_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_ELECTRON_APP_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_ELECTRON_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_ELECTRON_APP_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_ELECTRON_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_ELECTRON_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_ELECTRON_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_ELECTRON_APP_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_ELECTRON_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_ELECTRON_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_ELECTRON_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_ELECTRON_APP_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_ELECTRON_APP_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_ELECTRON_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_ELECTRON_APP_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_ELECTRON_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_ELECTRON_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_ELECTRON_APP_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_ELECTRON_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_ELECTRON_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_ELECTRON_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_ELECTRON_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_ELECTRON_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_ELECTRON_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_ELECTRON_APP_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_ELECTRON_APP_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_ELECTRON_APP_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_ELECTRON_APP_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_ELECTRON_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_ELECTRON_APP_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_ELECTRON_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser';\n// config.superUsers\nexport const ENV_MOBILE_APP_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_MOBILE_APP_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_MOBILE_APP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_MOBILE_APP_WEBSITE_DOMAIN = 'e-commerce.example.domain.com';\n// website.title\nexport const ENV_MOBILE_APP_WEBSITE_TITLE = 'E Commerce';\n// website.useDomain\nexport const ENV_MOBILE_APP_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_MOBILE_APP_RELEASE_TARGET_ARTIFACT = 'mobile-app';\n// release.envName\nexport const ENV_MOBILE_APP_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_MOBILE_APP_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_MOBILE_APP_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_MOBILE_APP_CONTAINER_END = undefined;\n// container.start\nexport const ENV_MOBILE_APP_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_MOBILE_APP_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_MOBILE_APP_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_MOBILE_APP_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_MOBILE_APP_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_MOBILE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_MOBILE_APP_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_MOBILE_APP_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_MOBILE_APP_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_MOBILE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_MOBILE_APP_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_MOBILE_APP_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_MOBILE_APP_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_MOBILE_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_MOBILE_APP_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_MOBILE_APP_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_MOBILE_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_MOBILE_APP_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_MOBILE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_MOBILE_APP_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_MOBILE_APP_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_MOBILE_APP_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_MOBILE_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_MOBILE_APP_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_MOBILE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_MOBILE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_MOBILE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_MOBILE_APP_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_MOBILE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_MOBILE_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_MOBILE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_MOBILE_APP_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_MOBILE_APP_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_MOBILE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_MOBILE_APP_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_MOBILE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_MOBILE_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_MOBILE_APP_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_MOBILE_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_MOBILE_APP_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_MOBILE_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_MOBILE_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_MOBILE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_MOBILE_APP_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_MOBILE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_MOBILE_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_MOBILE_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_MOBILE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_MOBILE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_MOBILE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_MOBILE_APP_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_MOBILE_APP_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_MOBILE_APP_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_MOBILE_APP_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_MOBILE_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_MOBILE_APP_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_MOBILE_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser';\n// config.superUsers\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_DOMAIN = 'e-commerce.example.domain.com';\n// website.title\nexport const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_TITLE = 'E Commerce';\n// website.useDomain\nexport const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TARGET_ARTIFACT = 'npm-lib-and-cli-tool';\n// release.envName\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_NPM_LIB_AND_CLI_TOOL_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_END = undefined;\n// container.start\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_NPM_LIB_AND_CLI_TOOL_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_NPM_LIB_AND_CLI_TOOL_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_NPM_LIB_AND_CLI_TOOL_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_NPM_LIB_AND_CLI_TOOL_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_NPM_LIB_AND_CLI_TOOL_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { decodeEnv } from 'tnp-core/browser';\n// config.superUsers\nexport const ENV_VSCODE_PLUGIN_CONFIG_SUPER_USERS = (): Promise<string> => decodeEnv(\"dariusz@taon.dev\");\n// config.googleSecret\nexport const ENV_VSCODE_PLUGIN_CONFIG_GOOGLE_SECRET = (): Promise<string> => decodeEnv(\"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\");\n// config.googleClientId\nexport const ENV_VSCODE_PLUGIN_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';\n// loading.preAngularBootstrap.background\nexport const ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';\n// loading.preAngularBootstrap.loader.name\nexport const ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';\n// website.domain\nexport const ENV_VSCODE_PLUGIN_WEBSITE_DOMAIN = 'e-commerce.example.domain.com';\n// website.title\nexport const ENV_VSCODE_PLUGIN_WEBSITE_TITLE = 'E Commerce';\n// website.useDomain\nexport const ENV_VSCODE_PLUGIN_WEBSITE_USE_DOMAIN = true;\n// release.targetArtifact\nexport const ENV_VSCODE_PLUGIN_RELEASE_TARGET_ARTIFACT = 'vscode-plugin';\n// release.envName\nexport const ENV_VSCODE_PLUGIN_RELEASE_ENV_NAME = '__';\n// finishCallback\nexport const ENV_VSCODE_PLUGIN_FINISH_CALLBACK = (): Promise<string> => decodeEnv({ });\n// container.only\nexport const ENV_VSCODE_PLUGIN_CONTAINER_ONLY = undefined;\n// container.end\nexport const ENV_VSCODE_PLUGIN_CONTAINER_END = undefined;\n// container.start\nexport const ENV_VSCODE_PLUGIN_CONTAINER_START = undefined;\n// container.skipReleased\nexport const ENV_VSCODE_PLUGIN_CONTAINER_SKIP_RELEASED = undefined;\n// container.skip\nexport const ENV_VSCODE_PLUGIN_CONTAINER_SKIP = undefined;\n// init.branding\nexport const ENV_VSCODE_PLUGIN_INIT_BRANDING = undefined;\n// init.struct\nexport const ENV_VSCODE_PLUGIN_INIT_STRUCT = undefined;\n// build.pwa.disableServiceWorker\nexport const ENV_VSCODE_PLUGIN_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;\n// build.pwa.name\nexport const ENV_VSCODE_PLUGIN_BUILD_PWA_NAME = undefined;\n// build.pwa.short_name\nexport const ENV_VSCODE_PLUGIN_BUILD_PWA_SHORT_NAME = undefined;\n// build.pwa.start_url\nexport const ENV_VSCODE_PLUGIN_BUILD_PWA_START_URL = undefined;\n// build.electron.showDevTools\nexport const ENV_VSCODE_PLUGIN_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;\n// build.ssr\nexport const ENV_VSCODE_PLUGIN_BUILD_SSR = undefined;\n// build.websql\nexport const ENV_VSCODE_PLUGIN_BUILD_WEBSQL = undefined;\n// build.prod\nexport const ENV_VSCODE_PLUGIN_BUILD_PROD = undefined;\n// build.overrideOutputPath\nexport const ENV_VSCODE_PLUGIN_BUILD_OVERRIDE_OUTPUT_PATH = undefined;\n// build.baseHref\nexport const ENV_VSCODE_PLUGIN_BUILD_BASE_HREF = undefined;\n// build.watch\nexport const ENV_VSCODE_PLUGIN_BUILD_WATCH = undefined;\n// build.genOnlyClientCode\nexport const ENV_VSCODE_PLUGIN_BUILD_GEN_ONLY_CLIENT_CODE = undefined;\n// loading.preAngularBootstrap.loader\nexport const ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;\n// release.cli.minify\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_MINIFY = undefined;\n// release.cli.includeNodeModules\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;\n// release.cli.uglify\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_UGLIFY = undefined;\n// release.cli.obscure\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_OBSCURE = undefined;\n// release.cli.compress\nexport const ENV_VSCODE_PLUGIN_RELEASE_CLI_COMPRESS = undefined;\n// release.nodeBackendApp.minify\nexport const ENV_VSCODE_PLUGIN_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;\n// release.lib.removeDts\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_REMOVE_DTS = undefined;\n// release.lib.obscureFileByFile\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;\n// release.lib.uglifyFileByFile\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;\n// release.lib.includeSourceMaps\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;\n// release.lib.compress\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_COMPRESS = undefined;\n// release.lib.doNotIncludeLibFiles\nexport const ENV_VSCODE_PLUGIN_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;\n// release.resolvedNewVersion\nexport const ENV_VSCODE_PLUGIN_RELEASE_RESOLVED_NEW_VERSION = undefined;\n// release.releaseVersionBumpType\nexport const ENV_VSCODE_PLUGIN_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;\n// release.envNumber\nexport const ENV_VSCODE_PLUGIN_RELEASE_ENV_NUMBER = undefined;\n// release.installLocally\nexport const ENV_VSCODE_PLUGIN_RELEASE_INSTALL_LOCALLY = undefined;\n// release.removeReleaseOutputAfterLocalInstall\nexport const ENV_VSCODE_PLUGIN_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;\n// release.releaseType\nexport const ENV_VSCODE_PLUGIN_RELEASE_RELEASE_TYPE = undefined;\n// release.autoReleaseUsingConfig\nexport const ENV_VSCODE_PLUGIN_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;\n// release.autoReleaseTaskName\nexport const ENV_VSCODE_PLUGIN_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;\n// release.taonInstanceIp\nexport const ENV_VSCODE_PLUGIN_RELEASE_TAON_INSTANCE_IP = undefined;\n// release.skipNpmPublish\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_NPM_PUBLISH = undefined;\n// release.skipDeploy\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_DEPLOY = undefined;\n// release.skipTagGitPush\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_TAG_GIT_PUSH = undefined;\n// release.skipReleaseQuestion\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_RELEASE_QUESTION = undefined;\n// release.skipResolvingGitChanges\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;\n// release.skipCodeCutting\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_CODE_CUTTING = undefined;\n// release.skipBuildingArtifacts\nexport const ENV_VSCODE_PLUGIN_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;\n// release.pushToAllOriginsWhenLocalReleaseBranch\nexport const ENV_VSCODE_PLUGIN_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;\n// release.useLocalReleaseBranch\nexport const ENV_VSCODE_PLUGIN_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;\n// copyToManager.beforeCopyHook\nexport const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;\n// copyToManager.copyToLocations\nexport const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;\n// copyToManager.copyToProjects\nexport const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;\n// copyToManager.skip\nexport const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_SKIP = undefined;\n// purpose\nexport const ENV_VSCODE_PLUGIN_PURPOSE = undefined;\n// recursiveAction\nexport const ENV_VSCODE_PLUGIN_RECURSIVE_ACTION = undefined;\n// isCiProcess\nexport const ENV_VSCODE_PLUGIN_IS_CI_PROCESS = undefined;\n// docker.additionalContainer\nexport const ENV_VSCODE_PLUGIN_DOCKER_ADDITIONAL_CONTAINER = undefined;\n// docker.skipStartInOrder\nexport const ENV_VSCODE_PLUGIN_DOCKER_SKIP_START_IN_ORDER = undefined;\n// docker.skipUsingMysqlDb\nexport const ENV_VSCODE_PLUGIN_DOCKER_SKIP_USING_MYSQL_DB = undefined;\n// THIS FILE IS GENERATED - DO NOT MODIFY","// THIS FILE IS GENERATED - DO NOT MODIFY\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_FRAMEWORK_CLI_NAME = 'tnp';\n/**\n * This value can be change in taon.jsonc (appId)\n */\nexport const APP_ID = 'com.domain.example.e-commerce';\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_BASE_HREF = '';\n/**\n * This value can be change in taon.jsonc (overrideNpmName)\n */\nexport const PROJECT_NPM_NAME = '@taon-dev/e-commerce';\n/**\n * Taon version from you project taon.json\n */\nexport const CURRENT_PACKAGE_TAON_VERSION = 'v21';\n/**\n * Autogenerated by current cli tool. Use *tnp release* to bump version.\n */\nexport const CURRENT_PACKAGE_VERSION = '21.0.6';\n\n\n\n\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n ","import { Translation } from \"@taon-dev/i18n/browser\";\nimport { Taon } from \"taon/browser\";\n\nconst t = Translation.for('src/lib/my-organization-proj.ts', {\"src/lib/my-organization-proj.ts\":{\"en-US\":async () => (await import('./i18n/my-organization-proj.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/my-organization-proj.ts.pl-PL.i18n.data')).default}} as any);\n\nexport function myOrgProj() {\n t.gettext('My Translated Company Name!')\n}\n","//#region tnp-helpers cli template\nimport { UtilsJson } from 'tnp-core/browser';\nimport { Helpers, BaseCommandLineFeature } from 'tnp-helpers/browser';\n/* */ \n//#endregion\n\n//#region CLI / global scope\n/**\n * This class is for handling global arguments. *\n * Cli engine will parse: hello:world:from:global:arg to helloWorldFromGlobalArg\n * (lower case, camel case) .. so you don't need to worry about misspelling\n * arguments\n */\nclass $Global extends BaseCommandLineFeature<{}> {\n /**\n * When you execute cli without arguments:`$ cli`\n */\n public _() {\n console.log(`Hello world from cli`);\n this._exit();\n }\n\n /**\n * When you execute: `$ cli hello:world:from:global:arg`\n * (or `$ cli helloWorldFromGlobalArg`)\n */\n helloWorldFromGlobalArg() {\n console.log('hello world from global argument!');\n this._exit(0);\n }\n}\n//#endregion\n\n//#region CLI / Version Scope\n/**\n *\n */\nclass $Version extends BaseCommandLineFeature<{\n anyCLIparamsHere: string;\n}> {\n /**\n * When you execute: `$ cli version`\n */\n public _() {\n console.log(`Hello world from version argument`);\n this._exit();\n }\n\n /**\n * When you execute: `$ cli version:getFromPackageJson`\n */\n public getFromPackageJson() {\n const ver = UtilsJson.getValue(\n this.project.pathFor('package.json'),\n 'version',\n {\n defaultValue: '<not defined>',\n },\n );\n console.log(`Version from packageJson ${ver}`);\n this._exit(0);\n }\n}\n//#endregion\n\n/**\n *\n * @param argsv process.argsv\n * @param filename needed if you want ipc communicaiton\n */\nexport async function startCli(\n argsv: string[],\n filename: string,\n): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n}\n\nexport default startCli;\n","import {\n Column,\n CreateDateColumn,\n Index,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\n\n@Index(['provider', 'providerTransactionId'], { unique: true })\n@TaonEntity<TaonECommercePaymentTransactionEntity>({\n className: 'TaonECommercePaymentTransactionEntity',\n createTable: true,\n})\nexport class TaonECommercePaymentTransactionEntity extends TaonBaseAbstractEntity<TaonECommercePaymentTransactionEntity> {\n @Column({ type: 'int' })\n orderId!: number;\n\n @Column({ type: 'varchar' })\n provider!: string;\n\n @Column({ type: 'varchar' })\n providerTransactionId!: string;\n\n @Column({ type: 'varchar' })\n status!: 'pending' | 'succeeded' | 'failed' | 'cancelled';\n\n @Column({ type: 'float' })\n amount!: number;\n\n @Column({ type: 'varchar', length: 3 })\n currency!: string;\n\n @ManyToOne(() => TaonECommerceOrderEntity, order => order.transactions, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'orderId' })\n order!: TaonECommerceOrderEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import { TaonSessionUserEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n OneToMany,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderItemEntity } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\nimport { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\n\n@TaonEntity<TaonECommerceOrderEntity>({\n className: 'TaonECommerceOrderEntity',\n createTable: true,\n})\nexport class TaonECommerceOrderEntity extends TaonBaseAbstractEntity<TaonECommerceOrderEntity> {\n @Column({ type: 'int' })\n userId!: number;\n\n @Column({ type: 'varchar' })\n status!: 'pending' | 'paid' | 'cancelled' | 'failed';\n\n @Column({ type: 'varchar', length: 3 })\n currency!: string;\n\n @Column({ type: 'float' })\n subtotal!: number;\n\n @Column({ type: 'float' })\n total!: number;\n\n @ManyToOne(() => TaonSessionUserEntity, {\n onDelete: 'RESTRICT',\n })\n @JoinColumn({ name: 'userId' })\n user!: TaonSessionUserEntity;\n\n @OneToMany(() => TaonECommerceOrderItemEntity, item => item.order)\n items!: TaonECommerceOrderItemEntity[];\n\n @OneToMany(\n () => TaonECommercePaymentTransactionEntity,\n transaction => transaction.order,\n )\n transactions!: TaonECommercePaymentTransactionEntity[];\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@TaonEntity<TaonECommerceOrderItemEntity>({\n className: 'TaonECommerceOrderItemEntity',\n createTable: true,\n})\nexport class TaonECommerceOrderItemEntity extends TaonBaseAbstractEntity<TaonECommerceOrderItemEntity> {\n @Column({ type: 'int' })\n orderId!: number;\n\n @Column({ type: 'int' })\n productId!: number;\n\n @Column({ type: 'varchar' })\n productName!: string;\n\n @Column({ type: 'float' })\n unitPrice!: number;\n\n @Column({ type: 'int' })\n quantity!: number;\n\n @Column({ type: 'float' })\n totalPrice!: number;\n\n @ManyToOne(() => TaonECommerceOrderEntity, order => order.items, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'orderId' })\n order!: TaonECommerceOrderEntity;\n\n @ManyToOne(() => TaonECommerceProductEntity, product => product.orderItems, {\n onDelete: 'RESTRICT',\n })\n @JoinColumn({ name: 'productId' })\n product!: TaonECommerceProductEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import { TaonPermissionEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n Index,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n} from 'taon/browser';\n\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@Index(['productId', 'permissionId'], { unique: true })\n@TaonEntity<TaonECommerceProductPermissionEntity>({\n className: 'TaonECommerceProductPermissionEntity',\n createTable: true,\n})\nexport class TaonECommerceProductPermissionEntity extends TaonBaseAbstractEntity<TaonECommerceProductPermissionEntity> {\n @Column({ type: 'int' })\n productId!: number;\n\n @Column({ type: 'int' })\n permissionId!: number;\n\n @ManyToOne(() => TaonECommerceProductEntity, product => product.permissions, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'productId' })\n product!: TaonECommerceProductEntity;\n\n @ManyToOne(() => TaonPermissionEntity, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'permissionId' })\n permission!: TaonPermissionEntity;\n}\n","import {\n BooleanColumn,\n Column,\n CreateDateColumn,\n OneToMany,\n String500Column,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from '../taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity';\nimport { TaonECommerceOrderItemEntity } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\nimport { TaonECommerceProductPermissionEntity } from '../taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity';\n\n@TaonEntity<TaonECommerceProductEntity>({\n className: 'TaonECommerceProductEntity',\n createTable: true,\n})\nexport class TaonECommerceProductEntity extends TaonBaseAbstractEntity<TaonECommerceProductEntity> {\n @String500Column()\n name!: string;\n\n @Column({ type: 'text', nullable: true })\n description!: string | null;\n\n @BooleanColumn(true)\n active!: boolean;\n\n @Column({ type: 'varchar' })\n type!: 'digital' | 'physical' | 'service';\n\n @Column({ type: 'float' })\n price!: number;\n\n @Column({ type: 'varchar', length: 3, default: 'USD' })\n currency!: string;\n\n @Column({ type: 'varchar', nullable: true })\n stripeProductId!: string | null;\n\n @Column({ type: 'varchar', nullable: true })\n stripePriceId!: string | null;\n\n @Column({ type: 'datetime', nullable: true })\n stripeLastSyncedAt!: Date | null;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n\n @OneToMany(() => TaonECommerceProductPermissionEntity, link => link.product)\n permissions!: TaonECommerceProductPermissionEntity[];\n\n @OneToMany(() => TaonECommerceCartItemEntity, item => item.product)\n cartItems!: TaonECommerceCartItemEntity[];\n\n @OneToMany(() => TaonECommerceOrderItemEntity, item => item.product)\n orderItems!: TaonECommerceOrderItemEntity[];\n}\n","import {\n Column,\n CreateDateColumn,\n Index,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@Index(['cartId', 'productId'], { unique: true })\n@TaonEntity({\n className: 'TaonECommerceCartItemEntity',\n createTable: true,\n})\nexport class TaonECommerceCartItemEntity extends TaonBaseAbstractEntity<TaonECommerceCartItemEntity> {\n @Column({ type: 'int' })\n cartId!: number;\n\n @Column({ type: 'int' })\n productId!: number;\n\n @Column({ type: 'int', default: 1 })\n quantity!: number;\n\n @ManyToOne(() => TaonECommerceCartEntity, cart => cart.items, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'cartId' })\n cart!: TaonECommerceCartEntity;\n\n @ManyToOne(() => TaonECommerceProductEntity, product => product.cartItems, {\n onDelete: 'RESTRICT',\n })\n @JoinColumn({ name: 'productId' })\n product!: TaonECommerceProductEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import { TaonSessionUserEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n OneToMany,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from '../taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity';\n\n@TaonEntity({\n className: 'TaonECommerceCartEntity',\n createTable: true,\n})\nexport class TaonECommerceCartEntity extends TaonBaseAbstractEntity<TaonECommerceCartEntity> {\n @Column({ type: 'int' })\n userId!: number;\n\n @ManyToOne(() => TaonSessionUserEntity, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'userId' })\n user!: TaonSessionUserEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n\n @OneToMany(() => TaonECommerceCartItemEntity, item => item.cart)\n items!: TaonECommerceCartItemEntity[];\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartRepository',\n})\nexport class TaonECommerceCartRepository extends TaonBaseRepository<TaonECommerceCartEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartEntity = () => TaonECommerceCartEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartRepository } from './taon-e-commerce-cart.repository';\n//#endregion\n\n@TaonController<TaonECommerceCartController>({\n className: 'TaonECommerceCartController',\n allowedMethods: []\n})\nexport class TaonECommerceCartController extends TaonBaseCrudController<TaonECommerceCartEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartEntity = () => TaonECommerceCartEntity;\n\n taonECommerceCartRepository = this.injectCustomRepo(TaonECommerceCartRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonProvider({\n className: 'TaonECommerceCartProvider',\n})\nexport class TaonECommerceCartProvider extends TaonBaseProvider {\n enabledTaonECommerceCartOption: boolean = true;\n}","import { TaonBaseRepository, TaonRepository } from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport { TaonECommerceCartItemEntity } from '../taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity';\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@TaonRepository({\n className: 'TaonECommerceCustomerRepository',\n})\nexport class TaonECommerceCustomerRepository extends TaonBaseRepository<TaonECommerceCartEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartEntity = () =>\n TaonECommerceCartEntity;\n\n async getCart(userId: number): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async addProduct(\n userId: number,\n productId: number,\n quantity: number,\n ): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async setItemQuantity(\n userId: number,\n itemId: number,\n quantity: number,\n ): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async removeItem(\n userId: number,\n itemId: number,\n ): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getOrders(userId: number): Promise<TaonECommerceOrderEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getTransactions(\n userId: number,\n ): Promise<TaonECommercePaymentTransactionEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","import { TaonSessionRepository } from '@taon-dev/session/browser';\nimport {\n Body,\n GET,\n Models,\n POST,\n Taon,\n TaonBaseController,\n TaonController,\n} from 'taon/browser';\n\nimport { TaonECommerceCustomerRepository } from './taon-e-commerce-customer.repository';\nimport type { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport type { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport type { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\n\nexport interface TaonECommerceSubscriptionStatus {\n id: string;\n productName: string;\n status: 'active' | 'cancelled';\n validUntil: string | null;\n}\n\n@TaonController<TaonECommerceCustomerController>({\n className: 'TaonECommerceCustomerController',\n})\nexport class TaonECommerceCustomerController extends TaonBaseController<\n {},\n TaonECommerceCustomerController\n> {\n private readonly sessionRepository = this.injectCustomRepo(\n TaonSessionRepository,\n );\n\n private readonly customerRepository = this.injectCustomRepo(\n TaonECommerceCustomerRepository,\n );\n\n private readonly unsubscribedUsers = new Set<number>();\n\n protected async beforeEachRequest({\n req,\n res,\n }: Models.TaonCtrlBeforeEachRequestParams<TaonECommerceCustomerController>): Promise<void> {\n await this.sessionRepository.throwIfNotAuthenticated({ req, res });\n }\n\n @GET()\n getMyCart(): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.getCart(userId);\n };\n }\n\n @POST()\n addToMyCart(\n @Body('productId') productId: number,\n @Body('quantity') quantity: number,\n ): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.addProduct(userId, productId, quantity);\n };\n }\n\n @POST()\n updateMyCartItem(\n @Body('itemId') itemId: number,\n @Body('quantity') quantity: number,\n ): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.setItemQuantity(userId, itemId, quantity);\n };\n }\n\n @POST()\n removeFromMyCart(\n @Body('itemId') itemId: number,\n ): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.removeItem(userId, itemId);\n };\n }\n\n @GET()\n getMyOrders(): Taon.Response<TaonECommerceOrderEntity[]> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.getOrders(userId);\n };\n }\n\n @GET()\n getMyTransactions(): Taon.Response<TaonECommercePaymentTransactionEntity[]> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.getTransactions(userId);\n };\n }\n\n @GET()\n getMySubscriptionStatuses(): Taon.Response<\n TaonECommerceSubscriptionStatus[]\n > {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return [\n {\n id: `example-subscription-${userId}`,\n productName: 'Example subscription',\n status: this.unsubscribedUsers.has(userId) ? 'cancelled' : 'active',\n validUntil: null,\n },\n ];\n };\n }\n\n @POST()\n unsubscribeFromExampleSubscription(): Taon.Response<void> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n this.unsubscribedUsers.add(userId);\n };\n }\n}\n","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartController } from './taon-e-commerce-cart.controller';\nimport { TaonECommerceCartRepository } from './taon-e-commerce-cart.repository';\n// import { TaonECommerceCartKvRepository } from './taon-e-commerce-cart.kv.repository';\nimport { TaonECommerceCartProvider } from './taon-e-commerce-cart.provider';\nimport { TaonECommerceCustomerController } from '../taon-e-commerce-customer/taon-e-commerce-customer.controller';\nimport { TaonECommerceCustomerRepository } from '../taon-e-commerce-customer/taon-e-commerce-customer.repository';\n// import { TaonECommerceCartMiddleware } from './taon-e-commerce-cart.middleware';\n// import { TaonECommerceCartSubscriber } from './taon-e-commerce-cart.subscriber';\n//#endregion\n\nexport const TaonECommerceCartAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceCartAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceCartEntity },\n repositories: {\n // TaonECommerceCartKvRepository\n TaonECommerceCartRepository,\n TaonECommerceCustomerRepository,\n },\n controllers: { TaonECommerceCartController, TaonECommerceCustomerController },\n providers: { TaonECommerceCartProvider },\n // middlewares: { TaonECommerceCartMiddleware },\n // subscribers: { TaonECommerceCartSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartItemRepository',\n})\nexport class TaonECommerceCartItemRepository extends TaonBaseRepository<TaonECommerceCartItemEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartItemEntity = () => TaonECommerceCartItemEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemRepository } from './taon-e-commerce-cart-item.repository';\n//#endregion\n\n@TaonController<TaonECommerceCartItemController>({\n className: 'TaonECommerceCartItemController',\n allowedMethods: [],\n})\nexport class TaonECommerceCartItemController extends TaonBaseCrudController<TaonECommerceCartItemEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartItemEntity = () =>\n TaonECommerceCartItemEntity;\n\n taonECommerceCartItemRepository = this.injectCustomRepo(\n TaonECommerceCartItemRepository,\n );\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonProvider({\n className: 'TaonECommerceCartItemProvider',\n})\nexport class TaonECommerceCartItemProvider extends TaonBaseProvider {\n enabledTaonECommerceCartItemOption: boolean = true;\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemController } from './taon-e-commerce-cart-item.controller';\nimport { TaonECommerceCartItemRepository } from './taon-e-commerce-cart-item.repository';\n// import { TaonECommerceCartItemKvRepository } from './taon-e-commerce-cart-item.kv.repository';\nimport { TaonECommerceCartItemProvider } from './taon-e-commerce-cart-item.provider';\n// import { TaonECommerceCartItemMiddleware } from './taon-e-commerce-cart-item.middleware';\n// import { TaonECommerceCartItemSubscriber } from './taon-e-commerce-cart-item.subscriber';\n//#endregion\n\nexport const TaonECommerceCartItemAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceCartItemAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceCartItemEntity },\n controllers: { TaonECommerceCartItemController },\n repositories: {\n // TaonECommerceCartItemKvRepository\n TaonECommerceCartItemRepository,\n },\n providers: { TaonECommerceCartItemProvider },\n // middlewares: { TaonECommerceCartItemMiddleware },\n // subscribers: { TaonECommerceCartItemSubscriber },\n}));","import { TaonSessionUserEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\n@TaonEntity<TaonECommerceCustomerAddressEntity>({\n className: 'TaonECommerceCustomerAddressEntity',\n createTable: true,\n})\nexport class TaonECommerceCustomerAddressEntity extends TaonBaseAbstractEntity<TaonECommerceCustomerAddressEntity> {\n @Column({ type: 'int' })\n userId!: number;\n\n @Column({ type: 'varchar' })\n type!: 'billing' | 'shipping';\n\n @Column({ type: 'varchar' })\n firstName!: string;\n\n @Column({ type: 'varchar' })\n lastName!: string;\n\n @Column({ type: 'varchar', nullable: true })\n company!: string | null;\n\n @Column({ type: 'varchar' })\n addressLine1!: string;\n\n @Column({ type: 'varchar', nullable: true })\n addressLine2!: string | null;\n\n @Column({ type: 'varchar' })\n city!: string;\n\n @Column({ type: 'varchar' })\n postalCode!: string;\n\n @Column({ type: 'varchar' })\n country!: string;\n\n @Column({ type: 'varchar', nullable: true })\n phone!: string | null;\n\n @ManyToOne(() => TaonSessionUserEntity, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'userId' })\n user!: TaonSessionUserEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCustomerAddressRepository',\n})\nexport class TaonECommerceCustomerAddressRepository extends TaonBaseRepository<TaonECommerceCustomerAddressEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCustomerAddressEntity = () => TaonECommerceCustomerAddressEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressRepository } from './taon-e-commerce-customer-address.repository';\n//#endregion\n\n@TaonController<TaonECommerceCustomerAddressController>({\n className: 'TaonECommerceCustomerAddressController',\n // allowedMethods: []\n})\nexport class TaonECommerceCustomerAddressController extends TaonBaseCrudController<\n TaonECommerceCustomerAddressEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceCustomerAddressController\n> {\n entityClassResolveFn: () => typeof TaonECommerceCustomerAddressEntity = () => TaonECommerceCustomerAddressEntity;\n\n private readonly taonECommerceCustomerAddressRepository = this.injectCustomRepo(TaonECommerceCustomerAddressRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceCustomerAddressConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceCustomerAddressProvider',\n})\nexport class TaonECommerceCustomerAddressProvider extends TaonBaseProvider {\n enabledTaonECommerceCustomerAddressOption: boolean = true;\n config = new TaonTaonECommerceCustomerAddressConfig();\n clone() {\n return {\n enabledTaonECommerceCustomerAddressOption: this.enabledTaonECommerceCustomerAddressOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressController } from './taon-e-commerce-customer-address.controller';\nimport { TaonECommerceCustomerAddressRepository } from './taon-e-commerce-customer-address.repository';\n// import { TaonECommerceCustomerAddressKvRepository } from './taon-e-commerce-customer-address.kv.repository';\nimport { TaonECommerceCustomerAddressProvider } from './taon-e-commerce-customer-address.provider';\n// import { TaonECommerceCustomerAddressMiddleware } from './taon-e-commerce-customer-address.middleware';\n// import { TaonECommerceCustomerAddressSubscriber } from './taon-e-commerce-customer-address.subscriber';\n//#endregion\n\nexport const TaonECommerceCustomerAddressAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceCustomerAddressAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceCustomerAddressEntity },\n controllers: { TaonECommerceCustomerAddressController },\n repositories: {\n // TaonECommerceCustomerAddressKvRepository\n TaonECommerceCustomerAddressRepository,\n },\n providers: { TaonECommerceCustomerAddressProvider },\n // middlewares: { TaonECommerceCustomerAddressMiddleware },\n // subscribers: { TaonECommerceCustomerAddressSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderRepository',\n})\nexport class TaonECommerceOrderRepository extends TaonBaseRepository<TaonECommerceOrderEntity> {\n entityClassResolveFn: () => typeof TaonECommerceOrderEntity = () => TaonECommerceOrderEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderRepository } from './taon-e-commerce-order.repository';\n//#endregion\n\n@TaonController<TaonECommerceOrderController>({\n className: 'TaonECommerceOrderController',\n // allowedMethods: []\n})\nexport class TaonECommerceOrderController extends TaonBaseCrudController<\n TaonECommerceOrderEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceOrderController\n> {\n entityClassResolveFn: () => typeof TaonECommerceOrderEntity = () => TaonECommerceOrderEntity;\n\n private readonly taonECommerceOrderRepository = this.injectCustomRepo(TaonECommerceOrderRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceOrderConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceOrderProvider',\n})\nexport class TaonECommerceOrderProvider extends TaonBaseProvider {\n enabledTaonECommerceOrderOption: boolean = true;\n config = new TaonTaonECommerceOrderConfig();\n clone() {\n return {\n enabledTaonECommerceOrderOption: this.enabledTaonECommerceOrderOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderController } from './taon-e-commerce-order.controller';\nimport { TaonECommerceOrderRepository } from './taon-e-commerce-order.repository';\n// import { TaonECommerceOrderKvRepository } from './taon-e-commerce-order.kv.repository';\nimport { TaonECommerceOrderProvider } from './taon-e-commerce-order.provider';\n// import { TaonECommerceOrderMiddleware } from './taon-e-commerce-order.middleware';\n// import { TaonECommerceOrderSubscriber } from './taon-e-commerce-order.subscriber';\n//#endregion\n\nexport const TaonECommerceOrderAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceOrderAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceOrderEntity },\n controllers: { TaonECommerceOrderController },\n repositories: {\n // TaonECommerceOrderKvRepository\n TaonECommerceOrderRepository,\n },\n providers: { TaonECommerceOrderProvider },\n // middlewares: { TaonECommerceOrderMiddleware },\n // subscribers: { TaonECommerceOrderSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderItemRepository',\n})\nexport class TaonECommerceOrderItemRepository extends TaonBaseRepository<TaonECommerceOrderItemEntity> {\n entityClassResolveFn: () => typeof TaonECommerceOrderItemEntity = () => TaonECommerceOrderItemEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemRepository } from './taon-e-commerce-order-item.repository';\n//#endregion\n\n@TaonController<TaonECommerceOrderItemController>({\n className: 'TaonECommerceOrderItemController',\n // allowedMethods: []\n})\nexport class TaonECommerceOrderItemController extends TaonBaseCrudController<\n TaonECommerceOrderItemEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceOrderItemController\n> {\n entityClassResolveFn: () => typeof TaonECommerceOrderItemEntity = () => TaonECommerceOrderItemEntity;\n\n private readonly taonECommerceOrderItemRepository = this.injectCustomRepo(TaonECommerceOrderItemRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceOrderItemConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceOrderItemProvider',\n})\nexport class TaonECommerceOrderItemProvider extends TaonBaseProvider {\n enabledTaonECommerceOrderItemOption: boolean = true;\n config = new TaonTaonECommerceOrderItemConfig();\n clone() {\n return {\n enabledTaonECommerceOrderItemOption: this.enabledTaonECommerceOrderItemOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemController } from './taon-e-commerce-order-item.controller';\nimport { TaonECommerceOrderItemRepository } from './taon-e-commerce-order-item.repository';\n// import { TaonECommerceOrderItemKvRepository } from './taon-e-commerce-order-item.kv.repository';\nimport { TaonECommerceOrderItemProvider } from './taon-e-commerce-order-item.provider';\n// import { TaonECommerceOrderItemMiddleware } from './taon-e-commerce-order-item.middleware';\n// import { TaonECommerceOrderItemSubscriber } from './taon-e-commerce-order-item.subscriber';\n//#endregion\n\nexport const TaonECommerceOrderItemAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceOrderItemAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceOrderItemEntity },\n controllers: { TaonECommerceOrderItemController },\n repositories: {\n // TaonECommerceOrderItemKvRepository\n TaonECommerceOrderItemRepository,\n },\n providers: { TaonECommerceOrderItemProvider },\n // middlewares: { TaonECommerceOrderItemMiddleware },\n // subscribers: { TaonECommerceOrderItemSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommercePaymentTransactionRepository',\n})\nexport class TaonECommercePaymentTransactionRepository extends TaonBaseRepository<TaonECommercePaymentTransactionEntity> {\n entityClassResolveFn: () => typeof TaonECommercePaymentTransactionEntity = () => TaonECommercePaymentTransactionEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionRepository } from './taon-e-commerce-payment-transaction.repository';\n//#endregion\n\n@TaonController<TaonECommercePaymentTransactionController>({\n className: 'TaonECommercePaymentTransactionController',\n // allowedMethods: []\n})\nexport class TaonECommercePaymentTransactionController extends TaonBaseCrudController<\n TaonECommercePaymentTransactionEntity,\n {\n /* file upload query params type */\n },\n TaonECommercePaymentTransactionController\n> {\n entityClassResolveFn: () => typeof TaonECommercePaymentTransactionEntity = () => TaonECommercePaymentTransactionEntity;\n\n private readonly taonECommercePaymentTransactionRepository = this.injectCustomRepo(TaonECommercePaymentTransactionRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommercePaymentTransactionConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommercePaymentTransactionProvider',\n})\nexport class TaonECommercePaymentTransactionProvider extends TaonBaseProvider {\n enabledTaonECommercePaymentTransactionOption: boolean = true;\n config = new TaonTaonECommercePaymentTransactionConfig();\n clone() {\n return {\n enabledTaonECommercePaymentTransactionOption: this.enabledTaonECommercePaymentTransactionOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionController } from './taon-e-commerce-payment-transaction.controller';\nimport { TaonECommercePaymentTransactionRepository } from './taon-e-commerce-payment-transaction.repository';\n// import { TaonECommercePaymentTransactionKvRepository } from './taon-e-commerce-payment-transaction.kv.repository';\nimport { TaonECommercePaymentTransactionProvider } from './taon-e-commerce-payment-transaction.provider';\n// import { TaonECommercePaymentTransactionMiddleware } from './taon-e-commerce-payment-transaction.middleware';\n// import { TaonECommercePaymentTransactionSubscriber } from './taon-e-commerce-payment-transaction.subscriber';\n//#endregion\n\nexport const TaonECommercePaymentTransactionAbstractContext = createContext(() => ({\n contextName: 'TaonECommercePaymentTransactionAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommercePaymentTransactionEntity },\n controllers: { TaonECommercePaymentTransactionController },\n repositories: {\n // TaonECommercePaymentTransactionKvRepository\n TaonECommercePaymentTransactionRepository,\n },\n providers: { TaonECommercePaymentTransactionProvider },\n // middlewares: { TaonECommercePaymentTransactionMiddleware },\n // subscribers: { TaonECommercePaymentTransactionSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductRepository',\n})\nexport class TaonECommerceProductRepository extends TaonBaseRepository<TaonECommerceProductEntity> {\n entityClassResolveFn: () => typeof TaonECommerceProductEntity = () => TaonECommerceProductEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n POST,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { TaonECommerceProductRepository } from './taon-e-commerce-product.repository';\n//#endregion\n\n@TaonController<TaonECommerceProductController>({\n className: 'TaonECommerceProductController',\n allowedMethods: ['getAll', 'paginationQuery', 'save', 'updateById'],\n})\nexport class TaonECommerceProductController extends TaonBaseCrudController<\n TaonECommerceProductEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceProductController\n> {\n entityClassResolveFn: () => typeof TaonECommerceProductEntity = () =>\n TaonECommerceProductEntity;\n\n private readonly taonECommerceProductRepository = this.injectCustomRepo(\n TaonECommerceProductRepository,\n );\n\n @POST()\n syncWithStripe(): Taon.Response<void> {\n return async () => {\n throw new Error(\n 'Stripe synchronization is not configured for this project.',\n );\n };\n }\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceProductConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceProductProvider',\n})\nexport class TaonECommerceProductProvider extends TaonBaseProvider {\n enabledTaonECommerceProductOption: boolean = true;\n config = new TaonTaonECommerceProductConfig();\n clone() {\n return {\n enabledTaonECommerceProductOption: this.enabledTaonECommerceProductOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { TaonECommerceProductController } from './taon-e-commerce-product.controller';\nimport { TaonECommerceProductRepository } from './taon-e-commerce-product.repository';\n// import { TaonECommerceProductKvRepository } from './taon-e-commerce-product.kv.repository';\nimport { TaonECommerceProductProvider } from './taon-e-commerce-product.provider';\n// import { TaonECommerceProductMiddleware } from './taon-e-commerce-product.middleware';\n// import { TaonECommerceProductSubscriber } from './taon-e-commerce-product.subscriber';\n//#endregion\n\nexport const TaonECommerceProductAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceProductAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceProductEntity },\n controllers: { TaonECommerceProductController },\n repositories: {\n // TaonECommerceProductKvRepository\n TaonECommerceProductRepository,\n },\n providers: { TaonECommerceProductProvider },\n // middlewares: { TaonECommerceProductMiddleware },\n // subscribers: { TaonECommerceProductSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductPermissionRepository',\n})\nexport class TaonECommerceProductPermissionRepository extends TaonBaseRepository<TaonECommerceProductPermissionEntity> {\n entityClassResolveFn: () => typeof TaonECommerceProductPermissionEntity = () => TaonECommerceProductPermissionEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionRepository } from './taon-e-commerce-product-permission.repository';\n//#endregion\n\n@TaonController<TaonECommerceProductPermissionController>({\n className: 'TaonECommerceProductPermissionController',\n // allowedMethods: []\n})\nexport class TaonECommerceProductPermissionController extends TaonBaseCrudController<\n TaonECommerceProductPermissionEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceProductPermissionController\n> {\n entityClassResolveFn: () => typeof TaonECommerceProductPermissionEntity = () => TaonECommerceProductPermissionEntity;\n\n private readonly taonECommerceProductPermissionRepository = this.injectCustomRepo(TaonECommerceProductPermissionRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceProductPermissionConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceProductPermissionProvider',\n})\nexport class TaonECommerceProductPermissionProvider extends TaonBaseProvider {\n enabledTaonECommerceProductPermissionOption: boolean = true;\n config = new TaonTaonECommerceProductPermissionConfig();\n clone() {\n return {\n enabledTaonECommerceProductPermissionOption: this.enabledTaonECommerceProductPermissionOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionController } from './taon-e-commerce-product-permission.controller';\nimport { TaonECommerceProductPermissionRepository } from './taon-e-commerce-product-permission.repository';\n// import { TaonECommerceProductPermissionKvRepository } from './taon-e-commerce-product-permission.kv.repository';\nimport { TaonECommerceProductPermissionProvider } from './taon-e-commerce-product-permission.provider';\n// import { TaonECommerceProductPermissionMiddleware } from './taon-e-commerce-product-permission.middleware';\n// import { TaonECommerceProductPermissionSubscriber } from './taon-e-commerce-product-permission.subscriber';\n//#endregion\n\nexport const TaonECommerceProductPermissionAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceProductPermissionAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceProductPermissionEntity },\n controllers: { TaonECommerceProductPermissionController },\n repositories: {\n // TaonECommerceProductPermissionKvRepository\n TaonECommerceProductPermissionRepository,\n },\n providers: { TaonECommerceProductPermissionProvider },\n // middlewares: { TaonECommerceProductPermissionMiddleware },\n // subscribers: { TaonECommerceProductPermissionSubscriber },\n}));","import { TaonBaseKvRepository, TaonRepository } from 'taon/browser';\n\n@TaonRepository({\n className: 'TaonECommerceSettingsKvRepository',\n})\nexport class TaonECommerceSettingsKvRepository extends TaonBaseKvRepository<\n Record<string, boolean>\n> {}\n","import {\n Body,\n GET,\n PUT,\n Taon,\n TaonBaseController,\n TaonController,\n} from 'taon/browser';\n\nimport { TaonECommerceSettingsKvRepository } from './taon-e-commerce-settings.kv.repository';\n\n@TaonController({\n className: 'TaonECommerceBackofficeSettingsController',\n})\nexport class TaonECommerceBackofficeSettingsController extends TaonBaseController {\n private readonly settings = this.injectCustomRepo(\n TaonECommerceSettingsKvRepository,\n );\n\n @GET()\n getSellingEnabled(): Taon.Response<boolean> {\n return async () => {\n return (await this.settings.get('sellingEnabled')) ?? true;\n };\n }\n\n @PUT()\n setSellingEnabled(@Body('enabled') enabled: boolean): Taon.Response<boolean> {\n return async () => {\n if (typeof enabled !== 'boolean') {\n throw new Error('Selling enabled must be a boolean.');\n }\n\n await this.settings.set('sellingEnabled', enabled);\n return enabled;\n };\n }\n}\n","import { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceBackofficeSettingsController } from './taon-e-commerce-backoffice-settings.controller';\nimport { TaonECommerceSettingsKvRepository } from './taon-e-commerce-settings.kv.repository';\n\nexport const TaonECommerceBackofficeSettingsContext = createContext(() => ({\n contextName: 'TaonECommerceBackofficeSettingsContext',\n abstract: true,\n contexts: { TaonBaseContext },\n controllers: { TaonECommerceBackofficeSettingsController },\n repositories: { TaonECommerceSettingsKvRepository },\n}));\n","import { TaonCmsAbstractContext } from '@taon-dev/cms/browser';\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCartAbstractContext } from './taon-e-commerce-cart/taon-e-commerce-cart.abstract.context';\nimport { TaonECommerceCartItemAbstractContext } from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context';\nimport { TaonECommerceCustomerAddressAbstractContext } from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context';\nimport { TaonECommerceOrderAbstractContext } from './taon-e-commerce-order/taon-e-commerce-order.abstract.context';\nimport { TaonECommerceOrderItemAbstractContext } from './taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context';\nimport { TaonECommercePaymentTransactionAbstractContext } from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context';\nimport { TaonECommerceProductAbstractContext } from './taon-e-commerce-product/taon-e-commerce-product.abstract.context';\nimport { TaonECommerceProductPermissionAbstractContext } from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context';\nimport { TaonECommerceBackofficeSettingsContext } from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context';\n\nexport const TaonECommerceAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceAbstractContext',\n abstract: true,\n contexts: {\n TaonCmsAbstractContext,\n TaonECommerceCartAbstractContext,\n TaonECommerceCartItemAbstractContext,\n TaonECommerceCustomerAddressAbstractContext,\n TaonECommerceOrderAbstractContext,\n TaonECommerceOrderItemAbstractContext,\n TaonECommercePaymentTransactionAbstractContext,\n TaonECommerceProductAbstractContext,\n TaonECommerceProductPermissionAbstractContext,\n TaonECommerceBackofficeSettingsContext,\n },\n}));\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibMyOrganizationProjTs } from './my-organization-proj.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibMyOrganizationProjTs } from './my-organization-proj.ts.pl-PL.i18n.data';;\nexport type LibOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibMyOrganizationProjTs \n| PlPlTraslationOverrideSrcLibMyOrganizationProjTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import { Injectable } from '@angular/core';\nimport { TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCustomerController } from './taon-e-commerce-customer.controller';\n\n@Injectable()\nexport class TaonECommerceCustomerApiService extends TaonBaseAngularService {\n readonly controller = this.injectController(TaonECommerceCustomerController);\n}\n","import { CurrencyPipe, DatePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\n\nimport type { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport type { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport type { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\nimport { TaonECommerceCustomerApiService } from '../taon-e-commerce-customer/taon-e-commerce-customer.api.service';\nimport type { TaonECommerceSubscriptionStatus } from '../taon-e-commerce-customer/taon-e-commerce-customer.controller';\nimport type { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\nimport type { TaonCartConfig } from './taon-cart.models';\n\n@Component({\n selector: 'taon-cart',\n templateUrl: './taon-cart.component.html',\n styleUrls: ['./taon-cart.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CurrencyPipe,\n DatePipe,\n MatButtonModule,\n MatIconModule,\n MatTabsModule,\n TaonDatatableComponent,\n ],\n providers: [TaonECommerceCustomerApiService],\n})\nexport class TaonCartComponent {\n @Input() config: TaonCartConfig = {};\n\n private readonly api = inject(TaonECommerceCustomerApiService);\n private readonly dialogRef = inject(MatDialogRef, { optional: true });\n\n readonly cart = signal<TaonECommerceCartEntity | null>(null);\n readonly orders = signal<TaonECommerceOrderEntity[]>([]);\n readonly transactions = signal<TaonECommercePaymentTransactionEntity[]>([]);\n readonly subscriptions = signal<TaonECommerceSubscriptionStatus[]>([]);\n readonly loadingCart = signal(false);\n readonly loadingOrders = signal(false);\n readonly loadingTransactions = signal(false);\n readonly loadingSubscriptions = signal(false);\n readonly error = signal('');\n\n readonly orderColumns: MtxGridColumn[] = [\n { header: 'Order ID', field: 'id', sortable: true },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Total', field: 'total', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n ];\n\n readonly transactionColumns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Order ID', field: 'orderId', sortable: true },\n { header: 'Provider', field: 'provider', sortable: true },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Amount', field: 'amount', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n ];\n\n constructor() {\n void this.loadCart();\n }\n\n close(): void {\n this.dialogRef?.close();\n }\n\n onMainTabChange(index: number): void {\n if (index === (this.hasSuggestedProducts ? 2 : 1)) {\n void this.loadSubscriptions();\n }\n }\n\n onSettingsTabChange(index: number): void {\n if (index === 0) {\n void this.loadSubscriptions();\n } else if (index === 1) {\n void this.loadOrders();\n } else if (index === 2) {\n void this.loadTransactions();\n }\n }\n\n get suggestedProducts(): TaonECommerceProductEntity[] {\n return this.config?.suggestedProducts ?? [];\n }\n\n get hasSuggestedProducts(): boolean {\n return this.suggestedProducts.length > 0;\n }\n\n async loadCart(): Promise<void> {\n this.loadingCart.set(true);\n this.error.set('');\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.getMyCart().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load your cart.', error);\n } finally {\n this.loadingCart.set(false);\n }\n }\n\n async addProduct(product: TaonECommerceProductEntity): Promise<void> {\n if (typeof product.id !== 'number') {\n this.error.set('This suggested product does not have a saved product ID.');\n return;\n }\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.addToMyCart(product.id, 1).request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to add this product to your cart.', error);\n }\n }\n\n async updateQuantity(itemId: number, quantity: number): Promise<void> {\n if (quantity < 1) {\n await this.removeItem(itemId);\n return;\n }\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.updateMyCartItem(itemId, quantity).request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to update the cart item.', error);\n }\n }\n\n async removeItem(itemId: number): Promise<void> {\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.removeFromMyCart(itemId).request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to remove the cart item.', error);\n }\n }\n\n async loadOrders(): Promise<void> {\n this.loadingOrders.set(true);\n this.error.set('');\n try {\n this.orders.set(\n await this.request<TaonECommerceOrderEntity[]>(\n this.api.controller.getMyOrders().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load your orders.', error);\n } finally {\n this.loadingOrders.set(false);\n }\n }\n\n async loadTransactions(): Promise<void> {\n this.loadingTransactions.set(true);\n this.error.set('');\n try {\n this.transactions.set(\n await this.request<TaonECommercePaymentTransactionEntity[]>(\n this.api.controller.getMyTransactions().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load your transactions.', error);\n } finally {\n this.loadingTransactions.set(false);\n }\n }\n\n async loadSubscriptions(): Promise<void> {\n this.loadingSubscriptions.set(true);\n this.error.set('');\n try {\n this.subscriptions.set(\n await this.request<TaonECommerceSubscriptionStatus[]>(\n this.api.controller.getMySubscriptionStatuses().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load subscription statuses.', error);\n } finally {\n this.loadingSubscriptions.set(false);\n }\n }\n\n async unsubscribe(): Promise<void> {\n this.error.set('');\n try {\n const response = await this.api.controller\n .unsubscribeFromExampleSubscription()\n .request!();\n if (response.statusCode >= 400) {\n throw new Error(response.responseText || 'The request failed.');\n }\n await this.loadSubscriptions();\n } catch (error) {\n this.reportError('Unable to unsubscribe.', error);\n }\n }\n\n private async request<T>(\n endpoint: Promise<{\n statusCode: number;\n responseText: string;\n body?: { json?: T };\n }>,\n ): Promise<T> {\n const response = await endpoint;\n if (response.statusCode >= 400) {\n throw new Error(response.responseText || 'The request failed.');\n }\n const result = response.body?.json;\n if (result === undefined || result === null) {\n throw new Error('The server returned an empty response.');\n }\n return result;\n }\n\n private reportError(message: string, error: unknown): void {\n console.error('[taon-cart]', message, error);\n this.error.set(error instanceof Error ? error.message : message);\n }\n}\n","<section class=\"cart-shell\">\n <header class=\"cart-header\">\n <h2>Shopping</h2>\n <button\n mat-icon-button\n type=\"button\"\n aria-label=\"Close cart\"\n (click)=\"close()\">\n <mat-icon>close</mat-icon>\n </button>\n </header>\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n }\n <mat-tab-group\n (selectedIndexChange)=\"onMainTabChange($event)\"\n [selectedIndex]=\"hasSuggestedProducts ? 0 : 1\">\n @if (hasSuggestedProducts) {\n <mat-tab label=\"Buy\">\n <div class=\"products\">\n @for (product of suggestedProducts; track product.id) {\n <article class=\"product\">\n <h3>{{ product.name }}</h3>\n @if (product.description) {\n <p>{{ product.description }}</p>\n }\n <p>{{ product.price | currency: product.currency }}</p>\n <button\n mat-flat-button\n type=\"button\"\n (click)=\"addProduct(product)\">\n Add to cart\n </button>\n </article>\n }\n </div>\n </mat-tab>\n } @else {\n <mat-tab\n label=\"Buy\"\n [disabled]=\"true\"></mat-tab>\n }\n <mat-tab label=\"Cart\">\n @if (loadingCart()) {\n <p role=\"status\">Loading cart...</p>\n } @else if (!cart()?.items?.length) {\n <p>Your cart is empty.</p>\n } @else {\n <div class=\"cart-items\">\n @for (item of cart()!.items; track item.id) {\n <article class=\"cart-item\">\n <div class=\"item-product\">\n <strong>{{ item.product.name }}</strong>\n <span\n >{{\n item.product.price | currency: item.product.currency\n }}\n each</span\n >\n </div>\n <div class=\"quantity\">\n <button\n mat-icon-button\n type=\"button\"\n aria-label=\"Decrease quantity\"\n (click)=\"updateQuantity(item.id!, item.quantity - 1)\">\n <mat-icon>remove</mat-icon>\n </button>\n <span>{{ item.quantity }}</span>\n <button\n mat-icon-button\n type=\"button\"\n aria-label=\"Increase quantity\"\n (click)=\"updateQuantity(item.id!, item.quantity + 1)\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n <strong>{{\n item.product.price * item.quantity\n | currency: item.product.currency\n }}</strong>\n <button\n mat-button\n type=\"button\"\n (click)=\"removeItem(item.id!)\">\n Remove\n </button>\n </article>\n }\n </div>\n }\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <mat-icon aria-hidden=\"true\">settings</mat-icon>\n <span>Settings</span>\n </ng-template>\n <mat-tab-group (selectedIndexChange)=\"onSettingsTabChange($event)\">\n <mat-tab label=\"Settings\">\n @if (loadingSubscriptions()) {\n <p role=\"status\">Loading subscription statuses...</p>\n } @else if (!subscriptions().length) {\n <p>No subscriptions.</p>\n } @else {\n <div class=\"table-scroll\">\n <table>\n <thead>\n <tr>\n <th>Subscription</th>\n <th>Status</th>\n <th>Valid until</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (\n subscription of subscriptions();\n track subscription.id\n ) {\n <tr>\n <td>{{ subscription.productName }}</td>\n <td>{{ subscription.status }}</td>\n <td>\n {{\n subscription.validUntil\n ? (subscription.validUntil | date)\n : '—'\n }}\n </td>\n <td>\n @if (subscription.status === 'active') {\n <button\n mat-button\n type=\"button\"\n (click)=\"unsubscribe()\">\n Unsubscribe\n </button>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n </mat-tab>\n <mat-tab label=\"Orders\">\n @if (loadingOrders()) {\n <p role=\"status\">Loading orders...</p>\n } @else {\n <taon-datatable\n [data]=\"orders()\"\n [columns]=\"orderColumns\"\n [hideAddButton]=\"true\"\n [hideSearch]=\"true\" />\n }\n </mat-tab>\n <mat-tab label=\"Transactions\">\n @if (loadingTransactions()) {\n <p role=\"status\">Loading transactions...</p>\n } @else {\n <taon-datatable\n [data]=\"transactions()\"\n [columns]=\"transactionColumns\"\n [hideAddButton]=\"true\"\n [hideSearch]=\"true\" />\n }\n </mat-tab>\n </mat-tab-group>\n </mat-tab>\n </mat-tab-group>\n</section>\n","import { ChangeDetectionStrategy, Component, Input, inject, signal } from '@angular/core';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TaonECommerceCustomerApiService } from '../taon-e-commerce-customer/taon-e-commerce-customer.api.service';\nimport { TaonCartComponent } from '../taon-cart/taon-cart.component';\nimport type { TaonCartConfig } from '../taon-cart/taon-cart.models';\n\n@Component({\n selector: 'taon-cart-button',\n templateUrl: './taon-cart-button.component.html',\n styleUrls: ['./taon-cart-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatBadgeModule, MatButtonModule, MatIconModule],\n providers: [TaonECommerceCustomerApiService],\n})\nexport class TaonCartButtonComponent {\n @Input() config: TaonCartConfig = {};\n\n private readonly dialog = inject(MatDialog);\n private readonly api = inject(TaonECommerceCustomerApiService);\n readonly cartItemCount = signal(0);\n readonly error = signal('');\n\n constructor() {\n void this.loadCartCount();\n }\n\n get badgeText(): string {\n return this.config?.iconShortText ?? String(this.cartItemCount());\n }\n\n openCart(): void {\n const dialog = this.dialog.open(TaonCartComponent, {\n width: '100vw',\n height: '100dvh',\n maxWidth: '100vw',\n maxHeight: '100dvh',\n panelClass: 'taon-cart-fullscreen-dialog',\n });\n dialog.componentRef?.setInput('config', this.config);\n dialog.afterClosed().subscribe(() => void this.loadCartCount());\n }\n\n private async loadCartCount(): Promise<void> {\n try {\n const response = await this.api.controller.getMyCart().request!();\n if (response.statusCode >= 400) {\n throw new Error(response.responseText || 'Unable to load your cart.');\n }\n const cart = response.body?.json;\n if (!cart || !Array.isArray(cart.items)) {\n throw new Error('The cart response was invalid.');\n }\n this.cartItemCount.set(\n cart.items.reduce(\n (count: number, item: { quantity: number }) =>\n count + item.quantity,\n 0,\n ),\n );\n } catch (error) {\n console.error('[taon-cart-button] Unable to load cart count', error);\n this.error.set(\n error instanceof Error ? error.message : 'Unable to load your cart.',\n );\n }\n }\n}\n","<button\n mat-icon-button\n type=\"button\"\n aria-label=\"Open shopping cart\"\n [matBadge]=\"badgeText\"\n [matBadgeHidden]=\"false\"\n (click)=\"openCart()\">\n <mat-icon>shopping_cart</mat-icon>\n</button>\n@if (error()) {\n <span class=\"cart-button-error\" role=\"alert\" [title]=\"error()\">!</span>\n}","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonCartButtonRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-cart-button.component').then(m => m.TaonCartButtonComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonCartButtonRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonCartButtonRoutes;","//#region imports\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n//#endregion\n\n@Component({\n selector: 'app-taon-e-commerce-backoffice',\n templateUrl: './taon-e-commerce-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, RouterOutlet],\n})\nexport class TaonECommerceBackofficeComponent {\n componentLoaded = false;\n\n onRouteActivate(component: any): void {\n this.componentLoaded = !!component;\n }\n\n onRouteDeactivate(component: any): void {\n this.componentLoaded = false;\n }\n}\n","@if (!componentLoaded) {\n <code>\n In E-commerce section you can manager everything about your e-business.\n </code>\n}\n\n<router-outlet\n (activate)=\"onRouteActivate($event)\"\n (deactivate)=\"onRouteDeactivate($event)\"></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonECommerceBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-backoffice.component').then(\n m => m.TaonECommerceBackofficeComponent,\n ),\n\n children: [\n adminLazyRoute({\n path: 'dashboard',\n menuItem: 'Dashboard',\n icon: 'dashboard',\n loader: () =>\n import('../taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes').then(\n m => m.TaonECommerceBackofficeDashboardRoutes,\n ),\n }),\n adminLazyRoute({\n path: 'products',\n menuItem: 'Products',\n icon: 'inventory',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes').then(\n m => m.TaonECommerceProductsBackofficeRoutes,\n ),\n }),\n\n adminLazyRoute({\n path: 'orders',\n menuItem: 'Orders',\n icon: 'receipt_long',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes').then(\n m => m.TaonECommerceOrdersBackofficeRoutes,\n ),\n }),\n\n adminLazyRoute({\n path: 'payment-transactions',\n menuItem: 'Transactions',\n icon: 'payments',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes').then(\n m => m.TaonECommercePaymentTransactionsBackofficeRoutes,\n ),\n }),\n\n adminLazyRoute({\n path: 'settings',\n menuItem: 'Settings',\n icon: 'settings',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes').then(\n m => m.TaonECommerceBackofficeSettingsRoutes,\n ),\n }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceBackofficeRoutes;\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemController } from './taon-e-commerce-order-item.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderItemApiService extends TaonBaseAngularService {\n public readonly taonECommerceOrderItemController = this.injectController(TaonECommerceOrderItemController);\n\n public get allMyEntities$(): Observable<TaonECommerceOrderItemEntity[]> {\n return this.taonECommerceOrderItemController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceOrderItemController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderController } from './taon-e-commerce-order.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderApiService extends TaonBaseAngularService {\n public readonly taonECommerceOrderController = this.injectController(TaonECommerceOrderController);\n\n public get allMyEntities$(): Observable<TaonECommerceOrderEntity[]> {\n return this.taonECommerceOrderController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceOrderController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\n\nimport { TaonECommerceOrderItemApiService } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.api.service';\nimport { TaonECommerceOrderApiService } from '../taon-e-commerce-order/taon-e-commerce-order.api.service';\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommerceOrderItemEntity } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\n\ninterface DashboardSummary {\n paidOrders: number;\n productsSold: number;\n earnings: Array<{ currency: string; total: number }>;\n}\n\n@Component({\n selector: 'app-taon-e-commerce-backoffice-dashboard',\n templateUrl: './taon-e-commerce-backoffice-dashboard.component.html',\n styleUrls: ['./taon-e-commerce-backoffice-dashboard.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n providers: [TaonECommerceOrderApiService, TaonECommerceOrderItemApiService],\n})\nexport class TaonECommerceBackofficeDashboardComponent {\n private readonly orderApi = inject(TaonECommerceOrderApiService);\n\n private readonly orderItemApi = inject(TaonECommerceOrderItemApiService);\n\n readonly summary = signal<DashboardSummary | null>(null);\n\n readonly loading = signal(true);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n this.loading.set(true);\n this.error.set('');\n this.summary.set(null);\n\n try {\n const [ordersResponse, itemsResponse] = await Promise.all([\n this.orderApi.taonECommerceOrderController.getAll().request!(),\n this.orderItemApi.taonECommerceOrderItemController.getAll().request!(),\n ]);\n if (ordersResponse.statusCode >= 400 || itemsResponse.statusCode >= 400) {\n throw new Error(\n ordersResponse.responseText ||\n itemsResponse.responseText ||\n 'Unable to load e-commerce summary data.',\n );\n }\n\n const orders = ordersResponse.body?.json;\n const items = itemsResponse.body?.json;\n if (!Array.isArray(orders) || !Array.isArray(items)) {\n throw new Error('The e-commerce summary response was invalid.');\n }\n\n const paidOrders = (orders as TaonECommerceOrderEntity[]).filter(\n order => order.status === 'paid',\n );\n const paidOrderIds = new Set(paidOrders.map(order => order.id));\n const productsSold = (items as TaonECommerceOrderItemEntity[])\n .filter(item => paidOrderIds.has(item.orderId))\n .reduce((count, item) => count + item.quantity, 0);\n const earningsByCurrency = new Map<string, number>();\n\n for (const order of paidOrders) {\n const currency = order.currency.toUpperCase();\n const total = Number(order.total);\n if (!Number.isFinite(total)) {\n throw new Error(`Order ${order.id} has an invalid total.`);\n }\n earningsByCurrency.set(\n currency,\n (earningsByCurrency.get(currency) ?? 0) + total,\n );\n }\n\n this.summary.set({\n paidOrders: paidOrders.length,\n productsSold,\n earnings: [...earningsByCurrency].map(([currency, total]) => ({\n currency,\n total,\n })),\n });\n } catch (error) {\n console.error(\n '[taon-e-commerce-dashboard] Unable to load summary',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load e-commerce summary data.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n}\n","<h1>E-commerce Dashboard</h1>\n\n@if (loading()) {\n <p role=\"status\">Loading e-commerce summary...</p>\n} @else if (summary(); as stats) {\n <section\n class=\"summary-cards\"\n aria-label=\"E-commerce summary\">\n <article>\n <h2>Paid orders</h2>\n <p>{{ stats.paidOrders }}</p>\n </article>\n <article>\n <h2>Products sold</h2>\n <p>{{ stats.productsSold }}</p>\n </article>\n <article>\n <h2>Total earnings</h2>\n @for (earning of stats.earnings; track earning.currency) {\n <p>{{ earning.total.toFixed(2) }} {{ earning.currency }}</p>\n } @empty {\n <p>0.00</p>\n }\n </article>\n </section>\n}\n\n@if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n type=\"button\"\n (click)=\"load()\">\n Try again\n </button>\n}\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonECommerceBackofficeDashboardRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-backoffice-dashboard.component').then(m => m.TaonECommerceBackofficeDashboardComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceBackofficeDashboardRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceBackofficeDashboardRoutes;","import { Injectable } from '@angular/core';\nimport { TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceBackofficeSettingsController } from './taon-e-commerce-backoffice-settings.controller';\n\n@Injectable()\nexport class TaonECommerceBackofficeSettingsApiService extends TaonBaseAngularService {\n private readonly controller = this.injectController(\n TaonECommerceBackofficeSettingsController,\n );\n\n async getSellingEnabled(): Promise<boolean> {\n const response = await this.controller.getSellingEnabled().request!();\n const enabled = response.body?.json;\n\n if (response.statusCode >= 400 || typeof enabled !== 'boolean') {\n throw new Error(\n response.responseText || 'Unable to load the selling setting.',\n );\n }\n\n return enabled;\n }\n\n async setSellingEnabled(enabled: boolean): Promise<boolean> {\n const response =\n await this.controller.setSellingEnabled(enabled).request!();\n const saved = response.body?.json;\n\n if (response.statusCode >= 400 || typeof saved !== 'boolean') {\n throw new Error(\n response.responseText || 'Unable to update the selling setting.',\n );\n }\n\n return saved;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { TaonECommerceBackofficeSettingsApiService } from './taon-e-commerce-backoffice-settings.api.service';\n\n@Component({\n selector: 'app-taon-e-commerce-backoffice-settings',\n templateUrl: './taon-e-commerce-backoffice-settings.component.html',\n styleUrls: ['./taon-e-commerce-backoffice-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule],\n providers: [TaonECommerceBackofficeSettingsApiService],\n})\nexport class TaonECommerceBackofficeSettingsComponent {\n private readonly api = inject(TaonECommerceBackofficeSettingsApiService);\n\n readonly sellingEnabled = signal<boolean | null>(null);\n\n readonly loading = signal(true);\n\n readonly saving = signal(false);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n this.loading.set(true);\n this.error.set('');\n\n try {\n this.sellingEnabled.set(await this.api.getSellingEnabled());\n } catch (error) {\n console.error(\n '[taon-e-commerce-settings] Unable to load the selling setting',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load the selling setting.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n\n async toggleSelling(): Promise<void> {\n const current = this.sellingEnabled();\n if (current === null || this.saving()) {\n return;\n }\n\n this.saving.set(true);\n this.error.set('');\n try {\n this.sellingEnabled.set(await this.api.setSellingEnabled(!current));\n } catch (error) {\n console.error(\n '[taon-e-commerce-settings] Unable to update the selling setting',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to update the selling setting.',\n );\n } finally {\n this.saving.set(false);\n }\n }\n}\n","<h1>E-commerce Settings</h1>\n\n<section\n class=\"setting\"\n aria-labelledby=\"selling-setting\">\n <div>\n <h2 id=\"selling-setting\">Selling enabled</h2>\n @if (sellingEnabled() === false) {\n <p>Checkout and purchasing are paused.</p>\n } @else if (sellingEnabled() === true) {\n <p>Customers can purchase products.</p>\n }\n </div>\n\n @if (loading()) {\n <p role=\"status\">Loading setting...</p>\n } @else if (sellingEnabled() !== null) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"saving()\"\n (click)=\"toggleSelling()\">\n @if (saving()) {\n Saving...\n } @else if (sellingEnabled()) {\n Disable selling\n } @else {\n Enable selling\n }\n </button>\n }\n</section>\n\n@if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n}\n","//#region imports\nimport { Routes } from '@angular/router';\n//#endregion\n\nexport const TaonECommerceBackofficeSettingsRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-backoffice-settings.component').then(\n m => m.TaonECommerceBackofficeSettingsComponent,\n ),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceBackofficeSettingsRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceBackofficeSettingsRoutes;\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartController } from './taon-e-commerce-cart.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartApiService extends TaonBaseAngularService {\n private taonECommerceCartController = this.injectController(TaonECommerceCartController);\n\n public get allMyEntities$(): Observable<TaonECommerceCartEntity[]> {\n return this.taonECommerceCartController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceCartController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCartProvider } from './taon-e-commerce-cart.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartConfigService extends TaonBaseAngularService {\n private taonECommerceCartProvider = this.injectProvider(TaonECommerceCartProvider);\n\n get isEnableOption() {\n return this.taonECommerceCartProvider.enabledTaonECommerceCartOption;\n }\n}","import type { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-cart/taon-e-commerce-cart.constants.ts', {\"src/lib/taon-e-commerce-cart/taon-e-commerce-cart.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-cart.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-cart.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceCartDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceCartEntity>;\n\nexport enum TaonECommerceCartErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceCartTranslationErorsMap = new Map([\n [TaonECommerceCartErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartKvRepository',\n})\nexport class TaonECommerceCartKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceCartEntity[];\n}> {\n async notifyUsers(users: TaonECommerceCartEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceCartMiddleware',\n})\nexport class TaonECommerceCartMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceCartModels {\n export enum TaonECommerceCartState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartProvider } from './taon-e-commerce-cart.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceCartSubscriber>({\n className: 'TaonECommerceCartSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceCartSubscriber extends TaonBaseSubscriberForEntity {\n taonECommerceCartProvider = this.injectProvider(TaonECommerceCartProvider);\n listenTo(): typeof TaonECommerceCartEntity {\n return TaonECommerceCartEntity;\n }\n}","import { TaonECommerceCartModels } from './taon-e-commerce-cart.models';\n\nexport namespace TaonECommerceCartUtils {\n export function isActive(state: string): state is TaonECommerceCartModels.TaonECommerceCartState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceCartErrors } from './taon-e-commerce-cart.constants';\n\nexport namespace TaonECommerceCartValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceCartErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemController } from './taon-e-commerce-cart-item.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartItemApiService extends TaonBaseAngularService {\n private taonECommerceCartItemController = this.injectController(TaonECommerceCartItemController);\n\n public get allMyEntities$(): Observable<TaonECommerceCartItemEntity[]> {\n return this.taonECommerceCartItemController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceCartItemController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCartItemProvider } from './taon-e-commerce-cart-item.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartItemConfigService extends TaonBaseAngularService {\n private taonECommerceCartItemProvider = this.injectProvider(TaonECommerceCartItemProvider);\n\n get isEnableOption() {\n return this.taonECommerceCartItemProvider.enabledTaonECommerceCartItemOption;\n }\n}","import type { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.ts', {\"src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-cart-item.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-cart-item.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceCartItemDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceCartItemEntity>;\n\nexport enum TaonECommerceCartItemErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceCartItemTranslationErorsMap = new Map([\n [TaonECommerceCartItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartItemKvRepository',\n})\nexport class TaonECommerceCartItemKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceCartItemEntity[];\n}> {\n async notifyUsers(users: TaonECommerceCartItemEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceCartItemMiddleware',\n})\nexport class TaonECommerceCartItemMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceCartItemModels {\n export enum TaonECommerceCartItemState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemProvider } from './taon-e-commerce-cart-item.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceCartItemSubscriber>({\n className: 'TaonECommerceCartItemSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceCartItemSubscriber extends TaonBaseSubscriberForEntity {\n taonECommerceCartItemProvider = this.injectProvider(TaonECommerceCartItemProvider);\n listenTo(): typeof TaonECommerceCartItemEntity {\n return TaonECommerceCartItemEntity;\n }\n}","import { TaonECommerceCartItemModels } from './taon-e-commerce-cart-item.models';\n\nexport namespace TaonECommerceCartItemUtils {\n export function isActive(state: string): state is TaonECommerceCartItemModels.TaonECommerceCartItemState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceCartItemErrors } from './taon-e-commerce-cart-item.constants';\n\nexport namespace TaonECommerceCartItemValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceCartItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressController } from './taon-e-commerce-customer-address.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCustomerAddressApiService extends TaonBaseAngularService {\n public readonly taonECommerceCustomerAddressController = this.injectController(TaonECommerceCustomerAddressController);\n\n public get allMyEntities$(): Observable<TaonECommerceCustomerAddressEntity[]> {\n return this.taonECommerceCustomerAddressController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceCustomerAddressController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCustomerAddressProvider } from './taon-e-commerce-customer-address.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCustomerAddressConfigService extends TaonBaseAngularService {\n private taonECommerceCustomerAddressProvider = this.injectProvider(TaonECommerceCustomerAddressProvider);\n\n get isEnableOption() {\n return this.taonECommerceCustomerAddressProvider.enabledTaonECommerceCustomerAddressOption;\n }\n\n clone(): Partial<TaonECommerceCustomerAddressProvider> {\n const cloned = this.taonECommerceCustomerAddressProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.ts', {\"src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-customer-address.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-customer-address.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceCustomerAddressDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceCustomerAddressEntity>;\n\nexport enum TaonECommerceCustomerAddressErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceCustomerAddressTranslationErorsMap = new Map([\n [TaonECommerceCustomerAddressErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCustomerAddressKvRepository',\n})\nexport class TaonECommerceCustomerAddressKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceCustomerAddressEntity[];\n}> {\n async notifyUsers(users: TaonECommerceCustomerAddressEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceCustomerAddressMiddleware',\n})\nexport class TaonECommerceCustomerAddressMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceCustomerAddressModels {\n export enum TaonECommerceCustomerAddressState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressProvider } from './taon-e-commerce-customer-address.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceCustomerAddressSubscriber>({\n className: 'TaonECommerceCustomerAddressSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceCustomerAddressSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceCustomerAddressProvider = this.injectProvider(TaonECommerceCustomerAddressProvider);\n listenTo(): typeof TaonECommerceCustomerAddressEntity {\n return TaonECommerceCustomerAddressEntity;\n }\n}","import { TaonECommerceCustomerAddressModels } from './taon-e-commerce-customer-address.models';\n\nexport namespace TaonECommerceCustomerAddressUtils {\n export function isActive(state: string): state is TaonECommerceCustomerAddressModels.TaonECommerceCustomerAddressState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceCustomerAddressErrors } from './taon-e-commerce-customer-address.constants';\n\nexport namespace TaonECommerceCustomerAddressValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceCustomerAddressErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceOrderProvider } from './taon-e-commerce-order.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderConfigService extends TaonBaseAngularService {\n private taonECommerceOrderProvider = this.injectProvider(TaonECommerceOrderProvider);\n\n get isEnableOption() {\n return this.taonECommerceOrderProvider.enabledTaonECommerceOrderOption;\n }\n\n clone(): Partial<TaonECommerceOrderProvider> {\n const cloned = this.taonECommerceOrderProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-order/taon-e-commerce-order.constants.ts', {\"src/lib/taon-e-commerce-order/taon-e-commerce-order.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-order.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-order.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceOrderDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceOrderEntity>;\n\nexport enum TaonECommerceOrderErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceOrderTranslationErorsMap = new Map([\n [TaonECommerceOrderErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderKvRepository',\n})\nexport class TaonECommerceOrderKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceOrderEntity[];\n}> {\n async notifyUsers(users: TaonECommerceOrderEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceOrderMiddleware',\n})\nexport class TaonECommerceOrderMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceOrderModels {\n export enum TaonECommerceOrderState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderProvider } from './taon-e-commerce-order.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceOrderSubscriber>({\n className: 'TaonECommerceOrderSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceOrderSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceOrderProvider = this.injectProvider(TaonECommerceOrderProvider);\n listenTo(): typeof TaonECommerceOrderEntity {\n return TaonECommerceOrderEntity;\n }\n}","import { TaonECommerceOrderModels } from './taon-e-commerce-order.models';\n\nexport namespace TaonECommerceOrderUtils {\n export function isActive(state: string): state is TaonECommerceOrderModels.TaonECommerceOrderState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceOrderErrors } from './taon-e-commerce-order.constants';\n\nexport namespace TaonECommerceOrderValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceOrderErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceOrderItemProvider } from './taon-e-commerce-order-item.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderItemConfigService extends TaonBaseAngularService {\n private taonECommerceOrderItemProvider = this.injectProvider(TaonECommerceOrderItemProvider);\n\n get isEnableOption() {\n return this.taonECommerceOrderItemProvider.enabledTaonECommerceOrderItemOption;\n }\n\n clone(): Partial<TaonECommerceOrderItemProvider> {\n const cloned = this.taonECommerceOrderItemProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.ts', {\"src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-order-item.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-order-item.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceOrderItemDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceOrderItemEntity>;\n\nexport enum TaonECommerceOrderItemErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceOrderItemTranslationErorsMap = new Map([\n [TaonECommerceOrderItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderItemKvRepository',\n})\nexport class TaonECommerceOrderItemKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceOrderItemEntity[];\n}> {\n async notifyUsers(users: TaonECommerceOrderItemEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceOrderItemMiddleware',\n})\nexport class TaonECommerceOrderItemMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceOrderItemModels {\n export enum TaonECommerceOrderItemState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemProvider } from './taon-e-commerce-order-item.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceOrderItemSubscriber>({\n className: 'TaonECommerceOrderItemSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceOrderItemSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceOrderItemProvider = this.injectProvider(TaonECommerceOrderItemProvider);\n listenTo(): typeof TaonECommerceOrderItemEntity {\n return TaonECommerceOrderItemEntity;\n }\n}","import { TaonECommerceOrderItemModels } from './taon-e-commerce-order-item.models';\n\nexport namespace TaonECommerceOrderItemUtils {\n export function isActive(state: string): state is TaonECommerceOrderItemModels.TaonECommerceOrderItemState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceOrderItemErrors } from './taon-e-commerce-order-item.constants';\n\nexport namespace TaonECommerceOrderItemValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceOrderItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionController } from './taon-e-commerce-payment-transaction.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommercePaymentTransactionApiService extends TaonBaseAngularService {\n public readonly taonECommercePaymentTransactionController = this.injectController(TaonECommercePaymentTransactionController);\n\n public get allMyEntities$(): Observable<TaonECommercePaymentTransactionEntity[]> {\n return this.taonECommercePaymentTransactionController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommercePaymentTransactionController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommercePaymentTransactionProvider } from './taon-e-commerce-payment-transaction.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommercePaymentTransactionConfigService extends TaonBaseAngularService {\n private taonECommercePaymentTransactionProvider = this.injectProvider(TaonECommercePaymentTransactionProvider);\n\n get isEnableOption() {\n return this.taonECommercePaymentTransactionProvider.enabledTaonECommercePaymentTransactionOption;\n }\n\n clone(): Partial<TaonECommercePaymentTransactionProvider> {\n const cloned = this.taonECommercePaymentTransactionProvider.clone();\n return cloned;\n }\n}","import type { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.ts', {\"src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-payment-transaction.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-payment-transaction.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommercePaymentTransactionDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommercePaymentTransactionEntity>;\n\nexport enum TaonECommercePaymentTransactionErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommercePaymentTransactionTranslationErorsMap = new Map([\n [TaonECommercePaymentTransactionErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommercePaymentTransactionKvRepository',\n})\nexport class TaonECommercePaymentTransactionKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommercePaymentTransactionEntity[];\n}> {\n async notifyUsers(users: TaonECommercePaymentTransactionEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommercePaymentTransactionMiddleware',\n})\nexport class TaonECommercePaymentTransactionMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommercePaymentTransactionModels {\n export enum TaonECommercePaymentTransactionState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionProvider } from './taon-e-commerce-payment-transaction.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommercePaymentTransactionSubscriber>({\n className: 'TaonECommercePaymentTransactionSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommercePaymentTransactionSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommercePaymentTransactionProvider = this.injectProvider(TaonECommercePaymentTransactionProvider);\n listenTo(): typeof TaonECommercePaymentTransactionEntity {\n return TaonECommercePaymentTransactionEntity;\n }\n}","import { TaonECommercePaymentTransactionModels } from './taon-e-commerce-payment-transaction.models';\n\nexport namespace TaonECommercePaymentTransactionUtils {\n export function isActive(state: string): state is TaonECommercePaymentTransactionModels.TaonECommercePaymentTransactionState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommercePaymentTransactionErrors } from './taon-e-commerce-payment-transaction.constants';\n\nexport namespace TaonECommercePaymentTransactionValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommercePaymentTransactionErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionController } from './taon-e-commerce-product-permission.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductPermissionApiService extends TaonBaseAngularService {\n public readonly taonECommerceProductPermissionController = this.injectController(TaonECommerceProductPermissionController);\n\n public get allMyEntities$(): Observable<TaonECommerceProductPermissionEntity[]> {\n return this.taonECommerceProductPermissionController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceProductPermissionController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCartConfig } from '../index';\n\nimport { TaonECommerceProductController } from './taon-e-commerce-product.controller';\nimport type { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductApiService extends TaonBaseAngularService {\n public readonly taonECommerceProductController = this.injectController(\n TaonECommerceProductController,\n );\n\n public getAllProductForUser(): Observable<TaonCartConfig> {\n return this.taonECommerceProductController.getAll()\n .request!().observable.pipe(\n map(res => res.body.json),\n map(c => ({\n suggestedProducts: c,\n })),\n );\n }\n\n public async syncWithStripe(): Promise<void> {\n const response =\n await this.taonECommerceProductController.syncWithStripe().request!();\n\n if (response.statusCode >= 400) {\n throw new Error(\n response.responseText ||\n 'Stripe synchronization is not configured for this project.',\n );\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n MAT_DIALOG_DATA,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TaonPermissionApiService } from '@taon-dev/session/browser';\nimport type { TaonPermissionEntity } from '@taon-dev/session/browser';\n\nimport { TaonECommerceProductPermissionApiService } from '../taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service';\nimport { TaonECommerceProductPermissionEntity } from '../taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductApiService } from './taon-e-commerce-product.api.service';\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n\nexport interface TaonECommerceProductEditDialogData {\n product?: TaonECommerceProductEntity;\n}\n\ntype ProductType = TaonECommerceProductEntity['type'];\ntype ProductCurrency = 'PLN' | 'EUR' | 'USD';\n\ninterface ProductDraft {\n name: string;\n description: string;\n active: boolean;\n type: ProductType;\n price: number | null;\n currency: ProductCurrency;\n}\n\n@Component({\n selector: 'taon-e-commerce-product-edit-dialog',\n templateUrl: './taon-e-commerce-product-edit-dialog.component.html',\n styleUrls: ['./taon-e-commerce-product-edit-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FormsModule,\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n ],\n providers: [\n TaonECommerceProductApiService,\n TaonECommerceProductPermissionApiService,\n TaonPermissionApiService,\n ],\n})\nexport class TaonECommerceProductEditDialogComponent {\n readonly data = inject<TaonECommerceProductEditDialogData>(MAT_DIALOG_DATA);\n\n readonly dialogRef = inject(\n MatDialogRef<TaonECommerceProductEditDialogComponent>,\n );\n\n private readonly productApi = inject(TaonECommerceProductApiService);\n\n private readonly productPermissionApi = inject(\n TaonECommerceProductPermissionApiService,\n );\n\n private readonly permissionApi = inject(TaonPermissionApiService);\n\n readonly productTypes: ProductType[] = ['digital', 'physical', 'service'];\n readonly currencies: ProductCurrency[] = ['PLN', 'EUR', 'USD'];\n private readonly initialCurrency =\n this.currencies.find(\n currency => currency === this.data.product?.currency,\n ) ?? 'USD';\n\n readonly draft = signal<ProductDraft>({\n name: this.data.product?.name ?? '',\n description: this.data.product?.description ?? '',\n active: this.data.product?.active ?? true,\n type: this.data.product?.type ?? ('digital' as ProductType),\n price: this.data.product?.price ?? 0,\n currency: this.initialCurrency,\n });\n\n readonly permissions = signal<TaonPermissionEntity[]>([]);\n\n readonly selectedPermissionIds = signal<number[]>([]);\n\n readonly loading = signal(true);\n\n readonly permissionsLoaded = signal(false);\n\n readonly saving = signal(false);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n this.loading.set(true);\n this.error.set('');\n this.permissionsLoaded.set(false);\n\n try {\n const [permissionsResponse, linksResponse] = await Promise.all([\n this.permissionApi.taonPermissionController.getAll().request!(),\n this.productPermissionApi.taonECommerceProductPermissionController.getAll()\n .request!(),\n ]);\n\n if (\n permissionsResponse.statusCode >= 400 ||\n linksResponse.statusCode >= 400\n ) {\n throw new Error(\n permissionsResponse.responseText ||\n linksResponse.responseText ||\n 'Unable to load product permissions.',\n );\n }\n\n const permissionRows = permissionsResponse.body?.json;\n const productPermissionRows = linksResponse.body?.json;\n if (\n !Array.isArray(permissionRows) ||\n !Array.isArray(productPermissionRows)\n ) {\n throw new Error('The permissions response was invalid.');\n }\n\n this.permissions.set(permissionRows);\n this.permissionsLoaded.set(true);\n const productId = this.data.product?.id;\n this.selectedPermissionIds.set(\n typeof productId === 'number'\n ? (productPermissionRows as TaonECommerceProductPermissionEntity[])\n .filter(link => link.productId === productId)\n .map(link => link.permissionId)\n : [],\n );\n } catch (error) {\n console.error(\n '[taon-e-commerce-product-edit] Unable to load permissions',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load product permissions.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n\n updateType(type: ProductType): void {\n this.draft.update(draft => ({ ...draft, type }));\n }\n\n updatePrice(price: number | null): void {\n this.draft.update(draft => ({ ...draft, price }));\n }\n\n updateName(name: string): void {\n this.draft.update(draft => ({ ...draft, name }));\n }\n\n updateDescription(description: string): void {\n this.draft.update(draft => ({ ...draft, description }));\n }\n\n updateActive(active: boolean): void {\n this.draft.update(draft => ({ ...draft, active }));\n }\n\n updateCurrency(currency: ProductCurrency): void {\n this.draft.update(draft => ({ ...draft, currency }));\n }\n\n async save(): Promise<void> {\n if (this.saving() || this.loading() || !this.permissionsLoaded()) {\n return;\n }\n\n const draft = this.draft();\n if (\n !draft.name.trim() ||\n !this.currencies.includes(draft.currency) ||\n draft.price === null ||\n !Number.isFinite(draft.price) ||\n draft.price < 0\n ) {\n this.error.set(\n 'Enter a name, a supported currency, and a non-negative price.',\n );\n return;\n }\n\n this.saving.set(true);\n this.error.set('');\n\n try {\n const product = Object.assign(new TaonECommerceProductEntity(), {\n ...this.data.product,\n name: draft.name.trim(),\n description: draft.description.trim() || null,\n active: draft.active,\n type: draft.type,\n price: draft.price,\n currency: draft.currency,\n });\n const productResponse = this.data.product\n ? await this.productApi.taonECommerceProductController.updateById(\n this.data.product.id!,\n product,\n ).request!()\n : await this.productApi.taonECommerceProductController.save(product)\n .request!();\n\n if (productResponse.statusCode >= 400) {\n throw new Error(\n productResponse.responseText || 'Unable to save the product.',\n );\n }\n const savedProduct = productResponse.body?.json;\n if (!savedProduct || typeof savedProduct.id !== 'number') {\n throw new Error('The saved product response was invalid.');\n }\n this.data.product = savedProduct;\n\n const linksResponse =\n await this.productPermissionApi.taonECommerceProductPermissionController.getAll()\n .request!();\n if (\n linksResponse.statusCode >= 400 ||\n !Array.isArray(linksResponse.body?.json)\n ) {\n throw new Error(\n linksResponse.responseText ||\n 'Unable to update the product permissions.',\n );\n }\n\n const existingLinks = (\n linksResponse.body.json as TaonECommerceProductPermissionEntity[]\n ).filter(link => link.productId === savedProduct.id);\n const selectedIds = new Set(this.selectedPermissionIds());\n for (const link of existingLinks) {\n if (!selectedIds.has(link.permissionId)) {\n const deleteResponse =\n await this.productPermissionApi.taonECommerceProductPermissionController.deleteById(\n link.id!,\n ).request!();\n if (deleteResponse.statusCode >= 400) {\n throw new Error(\n deleteResponse.responseText ||\n 'Unable to remove a product permission.',\n );\n }\n }\n }\n\n const existingIds = new Set(existingLinks.map(link => link.permissionId));\n for (const permissionId of selectedIds) {\n if (!existingIds.has(permissionId)) {\n const link = Object.assign(\n new TaonECommerceProductPermissionEntity(),\n {\n productId: savedProduct.id,\n permissionId,\n },\n );\n const saveResponse =\n await this.productPermissionApi.taonECommerceProductPermissionController.save(\n link,\n ).request!();\n if (saveResponse.statusCode >= 400) {\n throw new Error(\n saveResponse.responseText ||\n 'Unable to attach a permission to the product.',\n );\n }\n }\n }\n\n this.dialogRef.close(savedProduct);\n } catch (error) {\n console.error(\n '[taon-e-commerce-product-edit] Unable to save product',\n error,\n );\n this.error.set(\n error instanceof Error ? error.message : 'Unable to save the product.',\n );\n } finally {\n this.saving.set(false);\n }\n }\n}\n","<h2 mat-dialog-title>{{ data.product ? 'Edit product' : 'Add product' }}</h2>\n<br>\n<mat-dialog-content>\n @if (loading()) {\n <p role=\"status\">Loading permissions...</p>\n } @else {\n <form class=\"product-form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Name</mat-label>\n <input\n matInput\n required\n [ngModel]=\"draft().name\"\n (ngModelChange)=\"updateName($event)\"\n name=\"name\" />\n </mat-form-field>\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Description</mat-label>\n <textarea\n matInput\n rows=\"4\"\n [ngModel]=\"draft().description\"\n (ngModelChange)=\"updateDescription($event)\"\n name=\"description\"></textarea>\n </mat-form-field>\n\n <mat-checkbox\n [checked]=\"draft().active\"\n (change)=\"updateActive($event.checked)\"\n >Active</mat-checkbox\n >\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Type</mat-label>\n <mat-select\n [value]=\"draft().type\"\n (selectionChange)=\"updateType($event.value)\">\n @for (type of productTypes; track type) {\n <mat-option [value]=\"type\">{{ type }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n\n <div class=\"price-fields\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Price</mat-label>\n <input\n matInput\n type=\"number\"\n min=\"0\"\n step=\"0.01\"\n [ngModel]=\"draft().price\"\n (ngModelChange)=\"updatePrice($event)\"\n name=\"price\" />\n </mat-form-field>\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Currency</mat-label>\n <mat-select\n [value]=\"draft().currency\"\n (selectionChange)=\"updateCurrency($event.value)\">\n @for (currency of currencies; track currency) {\n <mat-option [value]=\"currency\">{{ currency }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Attached permissions</mat-label>\n <mat-select\n multiple\n [value]=\"selectedPermissionIds()\"\n (selectionChange)=\"selectedPermissionIds.set($event.value)\">\n @for (permission of permissions(); track permission.id) {\n <mat-option [value]=\"permission.id\"\n >{{ permission.name }} ({{ permission.code }})</mat-option\n >\n }\n </mat-select>\n </mat-form-field>\n\n @if (data.product) {\n <section\n class=\"stripe-info\"\n aria-label=\"Stripe synchronization information\">\n <h3>Stripe synchronization</h3>\n <p>\n Stripe Product ID:\n {{ data.product.stripeProductId || 'Not synchronized' }}\n </p>\n <p>\n Stripe Price ID:\n {{ data.product.stripePriceId || 'Not synchronized' }}\n </p>\n <p>\n Last synchronized: {{ data.product.stripeLastSyncedAt || 'Never' }}\n </p>\n </section>\n }\n </form>\n }\n\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n @if (!permissionsLoaded() && !loading()) {\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n Retry loading permissions\n </button>\n }\n }\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"saving()\"\n (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || saving() || !permissionsLoaded()\"\n (click)=\"save()\">\n {{ saving() ? 'Saving...' : 'Save' }}\n </button>\n</mat-dialog-actions>\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceProductProvider } from './taon-e-commerce-product.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductConfigService extends TaonBaseAngularService {\n private taonECommerceProductProvider = this.injectProvider(TaonECommerceProductProvider);\n\n get isEnableOption() {\n return this.taonECommerceProductProvider.enabledTaonECommerceProductOption;\n }\n\n clone(): Partial<TaonECommerceProductProvider> {\n const cloned = this.taonECommerceProductProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-product/taon-e-commerce-product.constants.ts', {\"src/lib/taon-e-commerce-product/taon-e-commerce-product.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-product.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-product.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceProductDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceProductEntity>;\n\nexport enum TaonECommerceProductErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceProductTranslationErorsMap = new Map([\n [TaonECommerceProductErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductKvRepository',\n})\nexport class TaonECommerceProductKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceProductEntity[];\n}> {\n async notifyUsers(users: TaonECommerceProductEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceProductMiddleware',\n})\nexport class TaonECommerceProductMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceProductModels {\n export enum TaonECommerceProductState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { TaonECommerceProductProvider } from './taon-e-commerce-product.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceProductSubscriber>({\n className: 'TaonECommerceProductSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceProductSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceProductProvider = this.injectProvider(TaonECommerceProductProvider);\n listenTo(): typeof TaonECommerceProductEntity {\n return TaonECommerceProductEntity;\n }\n}","import { TaonECommerceProductModels } from './taon-e-commerce-product.models';\n\nexport namespace TaonECommerceProductUtils {\n export function isActive(state: string): state is TaonECommerceProductModels.TaonECommerceProductState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceProductErrors } from './taon-e-commerce-product.constants';\n\nexport namespace TaonECommerceProductValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceProductErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceProductPermissionProvider } from './taon-e-commerce-product-permission.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductPermissionConfigService extends TaonBaseAngularService {\n private taonECommerceProductPermissionProvider = this.injectProvider(TaonECommerceProductPermissionProvider);\n\n get isEnableOption() {\n return this.taonECommerceProductPermissionProvider.enabledTaonECommerceProductPermissionOption;\n }\n\n clone(): Partial<TaonECommerceProductPermissionProvider> {\n const cloned = this.taonECommerceProductPermissionProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.ts', {\"src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-product-permission.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-product-permission.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceProductPermissionDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceProductPermissionEntity>;\n\nexport enum TaonECommerceProductPermissionErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceProductPermissionTranslationErorsMap = new Map([\n [TaonECommerceProductPermissionErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductPermissionKvRepository',\n})\nexport class TaonECommerceProductPermissionKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceProductPermissionEntity[];\n}> {\n async notifyUsers(users: TaonECommerceProductPermissionEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceProductPermissionMiddleware',\n})\nexport class TaonECommerceProductPermissionMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceProductPermissionModels {\n export enum TaonECommerceProductPermissionState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionProvider } from './taon-e-commerce-product-permission.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceProductPermissionSubscriber>({\n className: 'TaonECommerceProductPermissionSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceProductPermissionSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceProductPermissionProvider = this.injectProvider(TaonECommerceProductPermissionProvider);\n listenTo(): typeof TaonECommerceProductPermissionEntity {\n return TaonECommerceProductPermissionEntity;\n }\n}","import { TaonECommerceProductPermissionModels } from './taon-e-commerce-product-permission.models';\n\nexport namespace TaonECommerceProductPermissionUtils {\n export function isActive(state: string): state is TaonECommerceProductPermissionModels.TaonECommerceProductPermissionState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceProductPermissionErrors } from './taon-e-commerce-product-permission.constants';\n\nexport namespace TaonECommerceProductPermissionValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceProductPermissionErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs } from './taon-e-commerce-cart.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs } from './taon-e-commerce-cart.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceCartOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs } from './taon-e-commerce-cart-item.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs } from './taon-e-commerce-cart-item.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceCartItemOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs } from './taon-e-commerce-customer-address.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs } from './taon-e-commerce-customer-address.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceCustomerAddressOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs } from './taon-e-commerce-order.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs } from './taon-e-commerce-order.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceOrderOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { TaonECommerceOrderItemApiService } from '../../taon-e-commerce-order-item/taon-e-commerce-order-item.api.service';\nimport { TaonECommerceOrderApiService } from '../taon-e-commerce-order.api.service';\nimport { TaonECommercePaymentTransactionApiService } from '../../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service';\nimport type { TaonECommerceOrderEntity } from '../taon-e-commerce-order.entity';\nimport type { TaonECommerceOrderItemEntity } from '../../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\nimport type { TaonECommercePaymentTransactionEntity } from '../../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\n\n@Component({\n selector: 'taon-e-commerce-order-details-backoffice',\n templateUrl: './taon-e-commerce-order-details-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-order-details-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n providers: [\n TaonECommerceOrderApiService,\n TaonECommerceOrderItemApiService,\n TaonECommercePaymentTransactionApiService,\n ],\n})\nexport class TaonECommerceOrderDetailsBackofficeComponent {\n private readonly route = inject(ActivatedRoute);\n\n private readonly orderApi = inject(TaonECommerceOrderApiService);\n\n private readonly itemApi = inject(TaonECommerceOrderItemApiService);\n\n private readonly transactionApi = inject(\n TaonECommercePaymentTransactionApiService,\n );\n\n readonly order = signal<TaonECommerceOrderEntity | null>(null);\n\n readonly items = signal<TaonECommerceOrderItemEntity[]>([]);\n\n readonly transactions = signal<TaonECommercePaymentTransactionEntity[]>([]);\n\n readonly loading = signal(true);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n const id = Number(this.route.snapshot.paramMap.get('id'));\n if (!Number.isInteger(id) || id < 1) {\n this.loading.set(false);\n this.error.set('The order ID is invalid.');\n return;\n }\n\n this.loading.set(true);\n this.error.set('');\n try {\n const [orderResponse, itemsResponse, transactionsResponse] =\n await Promise.all([\n this.orderApi.taonECommerceOrderController.getBy(id).request!(),\n this.itemApi.taonECommerceOrderItemController.getAll().request!(),\n this.transactionApi.taonECommercePaymentTransactionController.getAll()\n .request!(),\n ]);\n if (\n orderResponse.statusCode >= 400 ||\n itemsResponse.statusCode >= 400 ||\n transactionsResponse.statusCode >= 400\n ) {\n throw new Error(\n orderResponse.responseText ||\n itemsResponse.responseText ||\n transactionsResponse.responseText ||\n 'Unable to load order details.',\n );\n }\n\n const order = orderResponse.body?.json;\n const items = itemsResponse.body?.json;\n const transactions = transactionsResponse.body?.json;\n if (!order || !Array.isArray(items) || !Array.isArray(transactions)) {\n throw new Error('The order details response was invalid.');\n }\n\n this.order.set(order);\n this.items.set(\n (items as TaonECommerceOrderItemEntity[]).filter(\n item => item.orderId === id,\n ),\n );\n this.transactions.set(\n (transactions as TaonECommercePaymentTransactionEntity[]).filter(\n transaction => transaction.orderId === id,\n ),\n );\n } catch (error) {\n console.error(\n '[taon-e-commerce-order-details] Unable to load order',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load order details.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n}\n","<section class=\"order-details\">\n <h2>Order details</h2>\n\n @if (loading()) {\n <p role=\"status\">Loading order...</p>\n } @else if (order(); as currentOrder) {\n <dl class=\"order-info\">\n <dt>Order ID</dt>\n <dd>{{ currentOrder.id }}</dd>\n <dt>User</dt>\n <dd>#{{ currentOrder.userId }}</dd>\n <dt>Status</dt>\n <dd>{{ currentOrder.status }}</dd>\n <dt>Created</dt>\n <dd>{{ currentOrder.createdAt }}</dd>\n <dt>Subtotal</dt>\n <dd>{{ currentOrder.subtotal }} {{ currentOrder.currency }}</dd>\n <dt>Total</dt>\n <dd>{{ currentOrder.total }} {{ currentOrder.currency }}</dd>\n </dl>\n\n <h3>Items</h3>\n <table>\n <thead>\n <tr>\n <th>Product</th>\n <th>Quantity</th>\n <th>Unit price</th>\n <th>Total</th>\n </tr>\n </thead>\n <tbody>\n @for (item of items(); track item.id) {\n <tr>\n <td>{{ item.productName }}</td>\n <td>{{ item.quantity }}</td>\n <td>{{ item.unitPrice }} {{ currentOrder.currency }}</td>\n <td>{{ item.totalPrice }} {{ currentOrder.currency }}</td>\n </tr>\n } @empty {\n <tr>\n <td colspan=\"4\">No items in this order.</td>\n </tr>\n }\n </tbody>\n </table>\n\n <h3>Payment transactions</h3>\n <table>\n <thead>\n <tr>\n <th>ID</th>\n <th>Provider</th>\n <th>Provider transaction</th>\n <th>Status</th>\n <th>Amount</th>\n </tr>\n </thead>\n <tbody>\n @for (transaction of transactions(); track transaction.id) {\n <tr>\n <td>{{ transaction.id }}</td>\n <td>{{ transaction.provider }}</td>\n <td>{{ transaction.providerTransactionId }}</td>\n <td>{{ transaction.status }}</td>\n <td>{{ transaction.amount }} {{ transaction.currency }}</td>\n </tr>\n } @empty {\n <tr>\n <td colspan=\"5\">No payment transactions.</td>\n </tr>\n }\n </tbody>\n </table>\n }\n\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n type=\"button\"\n (click)=\"load()\">\n Try again\n </button>\n }\n</section>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\n\nimport { TaonECommerceOrderApiService } from '../taon-e-commerce-order.api.service';\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order.entity';\n\n@Component({\n selector: 'app-taon-e-commerce-orders-backoffice',\n templateUrl: './taon-e-commerce-orders-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-orders-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [RouterOutlet, TaonDatatableComponent],\n providers: [TaonECommerceOrderApiService],\n})\nexport class TaonECommerceOrdersBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly router = inject(Router);\n\n readonly api = inject(TaonECommerceOrderApiService);\n\n readonly columns: MtxGridColumn[] = [\n { header: 'Order ID', field: 'id', sortable: true },\n { header: 'User', field: 'userId', sortable: true },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Total', field: 'total', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'open_in_new',\n tooltip: 'View order',\n click: (order: TaonECommerceOrderEntity) => this.openOrder(order),\n },\n ],\n },\n ];\n\n ngAfterViewInit(): void {\n this.datatable.reload();\n }\n\n openOrder(order: TaonECommerceOrderEntity): void {\n if (typeof order.id !== 'number') {\n return;\n }\n void this.router.navigate([order.id], { relativeTo: this.route });\n }\n\n public get crud() {\n return this.api.taonECommerceOrderController;\n }\n}\n","<h1>Orders</h1>\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n [allowedColumns]=\"[\n 'id',\n 'userId',\n 'status',\n 'total',\n 'currency',\n 'createdAt',\n ]\"\n searchMode=\"advanced\">\n</taon-datatable>\n<router-outlet></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\n//#endregion\n\nexport const TaonECommerceOrdersBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-orders-backoffice.component').then(\n m => m.TaonECommerceOrdersBackofficeComponent,\n ),\n\n children: [\n {\n path: ':id',\n loadComponent: () =>\n import('./taon-e-commerce-order-details-backoffice.component').then(\n m => m.TaonECommerceOrderDetailsBackofficeComponent,\n ),\n },\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceOrdersBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceOrdersBackofficeRoutes;\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs } from './taon-e-commerce-order-item.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs } from './taon-e-commerce-order-item.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceOrderItemOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs } from './taon-e-commerce-payment-transaction.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs } from './taon-e-commerce-payment-transaction.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommercePaymentTransactionOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { TaonECommerceOrderApiService } from '../../taon-e-commerce-order/taon-e-commerce-order.api.service';\nimport type { TaonECommerceOrderEntity } from '../../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommercePaymentTransactionApiService } from '../taon-e-commerce-payment-transaction.api.service';\nimport type { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction.entity';\n\n@Component({\n selector: 'taon-e-commerce-payment-transaction-details-backoffice',\n templateUrl:\n './taon-e-commerce-payment-transaction-details-backoffice.component.html',\n styleUrls: [\n './taon-e-commerce-payment-transaction-details-backoffice.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n providers: [\n TaonECommercePaymentTransactionApiService,\n TaonECommerceOrderApiService,\n ],\n})\nexport class TaonECommercePaymentTransactionDetailsBackofficeComponent {\n private readonly route = inject(ActivatedRoute);\n\n private readonly transactionApi = inject(\n TaonECommercePaymentTransactionApiService,\n );\n\n private readonly orderApi = inject(TaonECommerceOrderApiService);\n\n readonly transaction = signal<TaonECommercePaymentTransactionEntity | null>(\n null,\n );\n\n readonly order = signal<TaonECommerceOrderEntity | null>(null);\n\n readonly loading = signal(true);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n const id = Number(this.route.snapshot.paramMap.get('id'));\n if (!Number.isInteger(id) || id < 1) {\n this.loading.set(false);\n this.error.set('The transaction ID is invalid.');\n return;\n }\n\n this.loading.set(true);\n this.error.set('');\n try {\n const transactionResponse =\n await this.transactionApi.taonECommercePaymentTransactionController.getBy(\n id,\n ).request!();\n if (transactionResponse.statusCode >= 400) {\n throw new Error(\n transactionResponse.responseText ||\n 'Unable to load transaction details.',\n );\n }\n\n const transaction = transactionResponse.body?.json;\n if (!transaction || typeof transaction.orderId !== 'number') {\n throw new Error('The transaction details response was invalid.');\n }\n\n const orderResponse =\n await this.orderApi.taonECommerceOrderController.getBy(\n transaction.orderId,\n ).request!();\n if (orderResponse.statusCode >= 400 || !orderResponse.body?.json) {\n throw new Error(\n orderResponse.responseText || 'Unable to load the related order.',\n );\n }\n\n this.transaction.set(transaction);\n this.order.set(orderResponse.body.json);\n } catch (error) {\n console.error(\n '[taon-e-commerce-transaction-details] Unable to load transaction',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load transaction details.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n}\n","<section class=\"transaction-details\">\n <h2>Transaction details</h2>\n\n @if (loading()) {\n <p role=\"status\">Loading transaction...</p>\n } @else if (transaction(); as currentTransaction) {\n <dl>\n <dt>Transaction ID</dt>\n <dd>{{ currentTransaction.id }}</dd>\n <dt>Order ID</dt>\n <dd>{{ currentTransaction.orderId }}</dd>\n <dt>Provider</dt>\n <dd>{{ currentTransaction.provider }}</dd>\n <dt>Provider transaction ID</dt>\n <dd>{{ currentTransaction.providerTransactionId }}</dd>\n <dt>Status</dt>\n <dd>{{ currentTransaction.status }}</dd>\n <dt>Amount</dt>\n <dd>{{ currentTransaction.amount }} {{ currentTransaction.currency }}</dd>\n <dt>Created</dt>\n <dd>{{ currentTransaction.createdAt }}</dd>\n </dl>\n\n @if (order(); as relatedOrder) {\n <h3>Related order</h3>\n <dl>\n <dt>Order ID</dt>\n <dd>{{ relatedOrder.id }}</dd>\n <dt>User</dt>\n <dd>#{{ relatedOrder.userId }}</dd>\n <dt>Status</dt>\n <dd>{{ relatedOrder.status }}</dd>\n <dt>Total</dt>\n <dd>{{ relatedOrder.total }} {{ relatedOrder.currency }}</dd>\n <dt>Created</dt>\n <dd>{{ relatedOrder.createdAt }}</dd>\n </dl>\n }\n }\n\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n type=\"button\"\n (click)=\"load()\">\n Try again\n </button>\n }\n</section>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\n\nimport { TaonECommercePaymentTransactionApiService } from '../taon-e-commerce-payment-transaction.api.service';\nimport { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction.entity';\n\n@Component({\n selector: 'app-taon-e-commerce-payment-transactions-backoffice',\n templateUrl:\n './taon-e-commerce-payment-transactions-backoffice.component.html',\n styleUrls: [\n './taon-e-commerce-payment-transactions-backoffice.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [RouterOutlet, TaonDatatableComponent],\n providers: [TaonECommercePaymentTransactionApiService],\n})\nexport class TaonECommercePaymentTransactionsBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly router = inject(Router);\n\n readonly api = inject(TaonECommercePaymentTransactionApiService);\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Order ID', field: 'orderId', sortable: true },\n { header: 'Provider', field: 'provider', sortable: true },\n {\n header: 'Provider transaction ID',\n field: 'providerTransactionId',\n sortable: true,\n },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Amount', field: 'amount', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'open_in_new',\n tooltip: 'View transaction',\n click: (transaction: TaonECommercePaymentTransactionEntity) =>\n this.openTransaction(transaction),\n },\n ],\n },\n ];\n\n ngAfterViewInit(): void {\n this.datatable.reload();\n }\n\n openTransaction(transaction: TaonECommercePaymentTransactionEntity): void {\n if (typeof transaction.id !== 'number') {\n return;\n }\n void this.router.navigate([transaction.id], { relativeTo: this.route });\n }\n\n public get crud() {\n return this.api.taonECommercePaymentTransactionController;\n }\n}\n","<h1>Transactions</h1>\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n [allowedColumns]=\"[\n 'id',\n 'orderId',\n 'provider',\n 'providerTransactionId',\n 'status',\n 'amount',\n 'currency',\n 'createdAt',\n ]\"\n searchMode=\"advanced\">\n</taon-datatable>\n<router-outlet></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\n//#endregion\n\nexport const TaonECommercePaymentTransactionsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-payment-transactions-backoffice.component').then(\n m => m.TaonECommercePaymentTransactionsBackofficeComponent,\n ),\n\n children: [\n {\n path: ':id',\n loadComponent: () =>\n import('./taon-e-commerce-payment-transaction-details-backoffice.component').then(\n m => m.TaonECommercePaymentTransactionDetailsBackofficeComponent,\n ),\n },\n ],\n },\n];\n\n/**\n * By default exporting TaonECommercePaymentTransactionsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommercePaymentTransactionsBackofficeRoutes;\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs } from './taon-e-commerce-product.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs } from './taon-e-commerce-product.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceProductOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\n\nimport { TaonECommerceProductApiService } from '../taon-e-commerce-product.api.service';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product.entity';\nimport { TaonECommerceProductEditDialogComponent } from '../taon-e-commerce-product-edit-dialog.component';\nimport type { TaonECommerceProductEditDialogData } from '../taon-e-commerce-product-edit-dialog.component';\n\n@Component({\n selector: 'app-taon-e-commerce-products-backoffice',\n templateUrl: './taon-e-commerce-products-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-products-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, TaonDatatableComponent],\n providers: [TaonECommerceProductApiService],\n})\nexport class TaonECommerceProductsBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n readonly api = inject(TaonECommerceProductApiService);\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Name', field: 'name', sortable: true },\n { header: 'Type', field: 'type', sortable: true },\n { header: 'Price', field: 'price', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Active', field: 'active', sortable: true },\n {\n header: 'Stripe synchronized',\n field: 'stripeLastSyncedAt',\n sortable: true,\n },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'edit',\n tooltip: 'Edit product',\n click: (product: TaonECommerceProductEntity) => this.edit(product),\n },\n ],\n },\n ];\n\n private readonly dialog = inject(MatDialog);\n\n readonly syncInProgress = signal(false);\n\n readonly syncError = signal('');\n\n ngAfterViewInit(): void {\n this.datatable.reload();\n }\n\n add(): void {\n this.openEditor({});\n }\n\n edit(product: TaonECommerceProductEntity): void {\n this.openEditor({ product });\n }\n\n async syncWithStripe(): Promise<void> {\n if (this.syncInProgress()) {\n return;\n }\n\n this.syncInProgress.set(true);\n this.syncError.set('');\n try {\n await this.api.syncWithStripe();\n this.datatable.reload();\n } catch (error) {\n console.error(\n '[taon-e-commerce-products-backoffice] Stripe sync failed',\n error,\n );\n this.syncError.set(\n error instanceof Error\n ? error.message\n : 'Stripe synchronization could not be completed.',\n );\n } finally {\n this.syncInProgress.set(false);\n }\n }\n\n private openEditor(data: TaonECommerceProductEditDialogData): void {\n const ref = this.dialog.open(TaonECommerceProductEditDialogComponent, {\n data,\n width: '44rem',\n maxWidth: '95vw',\n disableClose: true,\n });\n ref.afterClosed().subscribe(product => {\n if (product) {\n this.datatable.reload();\n }\n });\n }\n\n public get crud() {\n return this.api.taonECommerceProductController;\n }\n}\n","<header class=\"page-header pb-2\">\n <h1>Products</h1>\n <div class=\"actions\">\n <button\n mat-stroked-button\n type=\"button\"\n [disabled]=\"syncInProgress()\"\n (click)=\"syncWithStripe()\">\n {{ syncInProgress() ? 'Syncing...' : 'Sync with Stripe' }}\n </button>\n </div>\n</header>\n\n@if (syncError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ syncError() }}\n </p>\n}\n\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"[\n 'id',\n 'name',\n 'type',\n 'price',\n 'currency',\n 'active',\n 'stripeLastSyncedAt',\n ]\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonECommerceProductsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-products-backoffice.component').then(m => m.TaonECommerceProductsBackofficeComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceProductsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceProductsBackofficeRoutes;","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs } from './taon-e-commerce-product-permission.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs } from './taon-e-commerce-product-permission.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceProductPermissionOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// @ts-nocheck\n// This file is auto-generated during init process. Do not modify.\n// This disable this auto generate file.\n// set property \"shouldGenerateAutogenIndexFile: false\" \n// in taon.jsonc of your project. \nexport * from './build-info._auto-generated_'; \nexport * from './my-organization-proj'; \nexport * from './start-cli'; \nexport * from './taon-e-commerce.abstract.context'; \nexport * from './i18n/lib.translation'; \nexport * from './taon-cart/taon-cart.component'; // @browser\nexport * from './taon-cart/taon-cart.models'; \nexport * from './taon-cart-button/taon-cart-button.component'; // @browser\nexport * from './taon-cart-button/taon-cart-button.models'; \nexport * from './taon-cart-button/taon-cart-button.routes'; // @browser\nexport * from './taon-e-commerce-backoffice/taon-e-commerce-backoffice.component'; // @browser\nexport * from './taon-e-commerce-backoffice/taon-e-commerce-backoffice.models'; \nexport * from './taon-e-commerce-backoffice/taon-e-commerce-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component'; // @browser\nexport * from './taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.models'; \nexport * from './taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.api.service'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context'; \nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.controller'; \nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.models'; \nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-settings.kv.repository'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.abstract.context'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.api.service'; // @browser\nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.config.service'; // @browser\nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.constants'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.controller'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.entity'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.kv.repository'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.middleware'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.models'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.provider'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.repository'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.subscriber'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.utils'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.validators'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.api.service'; // @browser\nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.config.service'; // @browser\nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.controller'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.kv.repository'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.middleware'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.models'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.provider'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.repository'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.subscriber'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.utils'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.validators'; \nexport * from './taon-e-commerce-customer/taon-e-commerce-customer.api.service'; // @browser\nexport * from './taon-e-commerce-customer/taon-e-commerce-customer.controller'; \nexport * from './taon-e-commerce-customer/taon-e-commerce-customer.repository'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.api.service'; // @browser\nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.config.service'; // @browser\nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.controller'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.entity'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.kv.repository'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.middleware'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.models'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.provider'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.repository'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.subscriber'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.utils'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.validators'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.abstract.context'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.api.service'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-order.config.service'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-order.constants'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.controller'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.entity'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.kv.repository'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.middleware'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.models'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.provider'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.repository'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.subscriber'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.utils'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.validators'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.api.service'; // @browser\nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.config.service'; // @browser\nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.constants'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.controller'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.entity'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.kv.repository'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.middleware'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.models'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.provider'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.repository'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.subscriber'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.utils'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.validators'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.config.service'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.controller'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.kv.repository'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.middleware'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.models'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.provider'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.repository'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.subscriber'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.utils'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.validators'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-product.abstract.context'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.api.service'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-product.config.service'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-product.constants'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.controller'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.entity'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.kv.repository'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.middleware'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.models'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.provider'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.repository'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.subscriber'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.utils'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.validators'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service'; // @browser\nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.config.service'; // @browser\nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.controller'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.kv.repository'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.middleware'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.models'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.provider'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.repository'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.subscriber'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.utils'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.validators'; \nexport * from './taon-e-commerce-cart/i18n/taon-e-commerce-cart.translation'; \nexport * from './taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.translation'; \nexport * from './taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.translation'; \nexport * from './taon-e-commerce-order/i18n/taon-e-commerce-order.translation'; \nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.models'; \nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.translation'; \nexport * from './taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.translation'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.models'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-product/i18n/taon-e-commerce-product.translation'; \nexport * from './taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.models'; \nexport * from './taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.translation'; ","export * from './migrations';\nexport * from './env';\nexport * from './index._auto-generated_';\nexport * from './my-organization-proj';\n/* */ \nexport default {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["t","i1","i2","i3"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;AAIO,IAAM,sCAAsC,GAA5C,MAAM,sCAAuC,SAAQ,iBAAiB,CAAA;AAAtE,IAAA,WAAA,GAAA;;QACG,IAAA,CAAA,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,EACvD,yBAA6C,EAC9C;;IAoDH;;IAjDE,MAAM,EAAE,CAAC,WAAwB,EAAA;AAC/B,QAAA,MAAM,WAAW,CAAC,gBAAgB,EAAE;AACpC,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC;AAC/C,gBAAA,KAAK,EAAE;AACL,oBAAA,MAAM,EAAE,UAAU;AAClB,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,WAAW,EAAE,eAAe;AAC7B,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA,aAAa,EAAE;AACb,wBAAA,CAAC,UAAU,CAAC,aAAa,GAAG,GAAG;wBAC/B,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC;AAC/C,qBAAA;AACD,oBAAA,mBAAmB,EAAE;AACnB,wBAAA,CAAC,SAAS,CAAC,QAAQ,GAAG;AACpB,4BAAA,eAAe,CAAC,cAAc;AAC9B,4BAAA,eAAe,CAAC,cAAc;AAC/B,yBAAA;AACD,wBAAA,CAAC,SAAS,CAAC,eAAe,GAAG,GAAG;AACjC,qBAAA;AACF,iBAAA;AACF,aAAA,CAAC;AAEF,YAAA,MAAM,WAAW,CAAC,iBAAiB,EAAE;QACvC;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC;AAC3C,YAAA,MAAM,WAAW,CAAC,mBAAmB,EAAE;QACzC;gBAAU;AACR,YAAA,MAAM,WAAW,CAAC,OAAO,EAAE;QAC7B;IACF;;;IAIA,MAAM,IAAI,CAAC,WAAwB,EAAA;AACjC,QAAA,MAAM,WAAW,CAAC,gBAAgB,EAAE;AACpC,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,yBAAyB,CAAC,0BAA0B,EAAE;AAEjE,YAAA,MAAM,WAAW,CAAC,iBAAiB,EAAE;QACvC;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC;AAC3C,YAAA,MAAM,WAAW,CAAC,mBAAmB,EAAE;QACzC;gBAAU;AACR,YAAA,MAAM,WAAW,CAAC,OAAO,EAAE;QAC7B;IACF;CAED;AAvDY,sCAAsC,GAAA,UAAA,CAAA;AAHlD,IAAA,aAAa,CAAC;AACb,QAAA,SAAS,EAAE,wCAAwC;KACpD;AACY,CAAA,EAAA,sCAAsC,CAuDlD;AACD;;ACtEA;AAEA;AACO,MAAM,uCAAuC,GAAG;AACrD,8BAA0B,sCAAsC;;AAElE;;ACNA;;ACAA;AAEA;AACO,MAAM,uCAAuC,GAAG,MAAuB,SAAS,CAAC,kBAAkB;AAC1G;AACO,MAAM,yCAAyC,GAAG,MAAuB,SAAS,CAAC,qCAAqC;AAC/H;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,6DAA6D,GAAG;AAC7E;AACO,MAAM,8DAA8D,GAAG;AAC9E;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,qCAAqC,GAAG;AACrD;AACO,MAAM,oCAAoC,GAAG,MAAuB,SAAS,CAAC,EAAG;AACxF;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,gCAAgC,GAAG;AAChD;AACO,MAAM,qDAAqD,GAAG;AACrE;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,8BAA8B,GAAG;AAC9C;AACO,MAAM,iCAAiC,GAAG;AACjD;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,gCAAgC,GAAG;AAChD;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,yDAAyD,GAAG;AACzE;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,qDAAqD,GAAG;AACrE;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,oDAAoD,GAAG;AACpE;AACO,MAAM,2CAA2C,GAAG;AAC3D;AACO,MAAM,qDAAqD,GAAG;AACrE;AACO,MAAM,oDAAoD,GAAG;AACpE;AACO,MAAM,oDAAoD,GAAG;AACpE;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,yDAAyD,GAAG;AACzE;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,sDAAsD,GAAG;AACtE;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,sEAAsE,GAAG;AACtF;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,sDAAsD,GAAG;AACtE;AACO,MAAM,mDAAmD,GAAG;AACnE;AACO,MAAM,6CAA6C,GAAG;AAC7D;AACO,MAAM,6CAA6C,GAAG;AAC7D;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,8CAA8C,GAAG;AAC9D;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,uDAAuD,GAAG;AACvE;AACO,MAAM,8CAA8C,GAAG;AAC9D;AACO,MAAM,oDAAoD,GAAG;AACpE;AACO,MAAM,0EAA0E,GAAG;AAC1F;AACO,MAAM,qDAAqD,GAAG;AACrE;AACO,MAAM,qDAAqD,GAAG;AACrE;AACO,MAAM,sDAAsD,GAAG;AACtE;AACO,MAAM,qDAAqD,GAAG;AACrE;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,4BAA4B,GAAG;AAC5C;AACO,MAAM,qCAAqC,GAAG;AACrD;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,+CAA+C,GAAG;AAC/D;;AChJA;AAEA;AACO,MAAM,kCAAkC,GAAG,MAAuB,SAAS,CAAC,kBAAkB;AACrG;AACO,MAAM,oCAAoC,GAAG,MAAuB,SAAS,CAAC,qCAAqC;AAC1H;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,wDAAwD,GAAG;AACxE;AACO,MAAM,yDAAyD,GAAG;AACzE;AACO,MAAM,8BAA8B,GAAG;AAC9C;AACO,MAAM,6BAA6B,GAAG;AAC7C;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,gCAAgC,GAAG;AAChD;AACO,MAAM,+BAA+B,GAAG,MAAuB,SAAS,CAAC,EAAG;AACnF;AACO,MAAM,8BAA8B,GAAG;AAC9C;AACO,MAAM,6BAA6B,GAAG;AAC7C;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,8BAA8B,GAAG;AAC9C;AACO,MAAM,6BAA6B,GAAG;AAC7C;AACO,MAAM,2BAA2B,GAAG;AAC3C;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,8BAA8B,GAAG;AAC9C;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,6CAA6C,GAAG;AAC7D;AACO,MAAM,yBAAyB,GAAG;AACzC;AACO,MAAM,4BAA4B,GAAG;AAC5C;AACO,MAAM,0BAA0B,GAAG;AAC1C;AACO,MAAM,0CAA0C,GAAG;AAC1D;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,2BAA2B,GAAG;AAC3C;AACO,MAAM,0CAA0C,GAAG;AAC1D;AACO,MAAM,oDAAoD,GAAG;AACpE;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,oDAAoD,GAAG;AACpE;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,iEAAiE,GAAG;AACjF;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,8CAA8C,GAAG;AAC9D;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,6CAA6C,GAAG;AAC7D;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,qEAAqE,GAAG;AACrF;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,uBAAuB,GAAG;AACvC;AACO,MAAM,gCAAgC,GAAG;AAChD;AACO,MAAM,6BAA6B,GAAG;AAC7C;AACO,MAAM,2CAA2C,GAAG;AAC3D;AACO,MAAM,0CAA0C,GAAG;AAC1D;AACO,MAAM,0CAA0C,GAAG;AAC1D;;AChJA;AAEA;AACO,MAAM,mCAAmC,GAAG,MAAuB,SAAS,CAAC,kBAAkB;AACtG;AACO,MAAM,qCAAqC,GAAG,MAAuB,SAAS,CAAC,qCAAqC;AAC3H;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,0BAA0B,GAAG;AAC1C;AACO,MAAM,yDAAyD,GAAG;AACzE;AACO,MAAM,0DAA0D,GAAG;AAC1E;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,8BAA8B,GAAG;AAC9C;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,iCAAiC,GAAG;AACjD;AACO,MAAM,gCAAgC,GAAG,MAAuB,SAAS,CAAC,EAAG;AACpF;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,8BAA8B,GAAG;AAC9C;AACO,MAAM,gCAAgC,GAAG;AAChD;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,8BAA8B,GAAG;AAC9C;AACO,MAAM,4BAA4B,GAAG;AAC5C;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,qCAAqC,GAAG;AACrD;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,8CAA8C,GAAG;AAC9D;AACO,MAAM,6BAA6B,GAAG;AAC7C;AACO,MAAM,2BAA2B,GAAG;AAC3C;AACO,MAAM,2CAA2C,GAAG;AAC3D;AACO,MAAM,gCAAgC,GAAG;AAChD;AACO,MAAM,4BAA4B,GAAG;AAC5C;AACO,MAAM,2CAA2C,GAAG;AAC3D;AACO,MAAM,qDAAqD,GAAG;AACrE;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,qCAAqC,GAAG;AACrD;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,qCAAqC,GAAG;AACrD;AACO,MAAM,qDAAqD,GAAG;AACrE;AACO,MAAM,6CAA6C,GAAG;AAC7D;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,kEAAkE,GAAG;AAClF;AACO,MAAM,qCAAqC,GAAG;AACrD;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,0CAA0C,GAAG;AAC1D;AACO,MAAM,8CAA8C,GAAG;AAC9D;AACO,MAAM,mDAAmD,GAAG;AACnE;AACO,MAAM,0CAA0C,GAAG;AAC1D;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,sEAAsE,GAAG;AACtF;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,qCAAqC,GAAG;AACrD;AACO,MAAM,wBAAwB,GAAG;AACxC;AACO,MAAM,iCAAiC,GAAG;AACjD;AACO,MAAM,8BAA8B,GAAG;AAC9C;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,2CAA2C,GAAG;AAC3D;AACO,MAAM,2CAA2C,GAAG;AAC3D;;AChJA;AAEA;AACO,MAAM,iCAAiC,GAAG,MAAuB,SAAS,CAAC,kBAAkB;AACpG;AACO,MAAM,mCAAmC,GAAG,MAAuB,SAAS,CAAC,qCAAqC;AACzH;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,uDAAuD,GAAG;AACvE;AACO,MAAM,wDAAwD,GAAG;AACxE;AACO,MAAM,6BAA6B,GAAG;AAC7C;AACO,MAAM,4BAA4B,GAAG;AAC5C;AACO,MAAM,iCAAiC,GAAG;AACjD;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,8BAA8B,GAAG,MAAuB,SAAS,CAAC,EAAG;AAClF;AACO,MAAM,6BAA6B,GAAG;AAC7C;AACO,MAAM,4BAA4B,GAAG;AAC5C;AACO,MAAM,8BAA8B,GAAG;AAC9C;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,6BAA6B,GAAG;AAC7C;AACO,MAAM,4BAA4B,GAAG;AAC5C;AACO,MAAM,0BAA0B,GAAG;AAC1C;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,6BAA6B,GAAG;AAC7C;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,wBAAwB,GAAG;AACxC;AACO,MAAM,2BAA2B,GAAG;AAC3C;AACO,MAAM,yBAAyB,GAAG;AACzC;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,8BAA8B,GAAG;AAC9C;AACO,MAAM,0BAA0B,GAAG;AAC1C;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,mDAAmD,GAAG;AACnE;AACO,MAAM,iCAAiC,GAAG;AACjD;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,iCAAiC,GAAG;AACjD;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,8CAA8C,GAAG;AAC9D;AACO,MAAM,qCAAqC,GAAG;AACrD;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,8CAA8C,GAAG;AAC9D;AACO,MAAM,8CAA8C,GAAG;AAC9D;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,mDAAmD,GAAG;AACnE;AACO,MAAM,2CAA2C,GAAG;AAC3D;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,iCAAiC,GAAG;AACjD;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,gEAAgE,GAAG;AAChF;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,6CAA6C,GAAG;AAC7D;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,8CAA8C,GAAG;AAC9D;AACO,MAAM,oEAAoE,GAAG;AACpF;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,sBAAsB,GAAG;AACtC;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,4BAA4B,GAAG;AAC5C;AACO,MAAM,0CAA0C,GAAG;AAC1D;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,yCAAyC,GAAG;AACzD;;AChJA;AAEA;AACO,MAAM,2CAA2C,GAAG,MAAuB,SAAS,CAAC,kBAAkB;AAC9G;AACO,MAAM,6CAA6C,GAAG,MAAuB,SAAS,CAAC,qCAAqC;AACnI;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,iEAAiE,GAAG;AACjF;AACO,MAAM,kEAAkE,GAAG;AAClF;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,2CAA2C,GAAG;AAC3D;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,wCAAwC,GAAG,MAAuB,SAAS,CAAC,EAAG;AAC5F;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,yDAAyD,GAAG;AACzE;AACO,MAAM,uCAAuC,GAAG;AACvD;AACO,MAAM,6CAA6C,GAAG;AAC7D;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,sDAAsD,GAAG;AACtE;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,qCAAqC,GAAG;AACrD;AACO,MAAM,mCAAmC,GAAG;AACnD;AACO,MAAM,mDAAmD,GAAG;AACnE;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,mDAAmD,GAAG;AACnE;AACO,MAAM,6DAA6D,GAAG;AAC7E;AACO,MAAM,2CAA2C,GAAG;AAC3D;AACO,MAAM,yDAAyD,GAAG;AACzE;AACO,MAAM,2CAA2C,GAAG;AAC3D;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,6CAA6C,GAAG;AAC7D;AACO,MAAM,wDAAwD,GAAG;AACxE;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,yDAAyD,GAAG;AACzE;AACO,MAAM,wDAAwD,GAAG;AACxE;AACO,MAAM,wDAAwD,GAAG;AACxE;AACO,MAAM,6CAA6C,GAAG;AAC7D;AACO,MAAM,6DAA6D,GAAG;AAC7E;AACO,MAAM,qDAAqD,GAAG;AACrE;AACO,MAAM,0DAA0D,GAAG;AAC1E;AACO,MAAM,2CAA2C,GAAG;AAC3D;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,0EAA0E,GAAG;AAC1F;AACO,MAAM,6CAA6C,GAAG;AAC7D;AACO,MAAM,0DAA0D,GAAG;AAC1E;AACO,MAAM,uDAAuD,GAAG;AACvE;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,sDAAsD,GAAG;AACtE;AACO,MAAM,2DAA2D,GAAG;AAC3E;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,wDAAwD,GAAG;AACxE;AACO,MAAM,8EAA8E,GAAG;AAC9F;AACO,MAAM,yDAAyD,GAAG;AACzE;AACO,MAAM,yDAAyD,GAAG;AACzE;AACO,MAAM,0DAA0D,GAAG;AAC1E;AACO,MAAM,yDAAyD,GAAG;AACzE;AACO,MAAM,6CAA6C,GAAG;AAC7D;AACO,MAAM,gCAAgC,GAAG;AAChD;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,oDAAoD,GAAG;AACpE;AACO,MAAM,mDAAmD,GAAG;AACnE;AACO,MAAM,mDAAmD,GAAG;AACnE;;AChJA;AAEA;AACO,MAAM,oCAAoC,GAAG,MAAuB,SAAS,CAAC,kBAAkB;AACvG;AACO,MAAM,sCAAsC,GAAG,MAAuB,SAAS,CAAC,qCAAqC;AAC5H;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,0DAA0D,GAAG;AAC1E;AACO,MAAM,2DAA2D,GAAG;AAC3E;AACO,MAAM,gCAAgC,GAAG;AAChD;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,iCAAiC,GAAG,MAAuB,SAAS,CAAC,EAAG;AACrF;AACO,MAAM,gCAAgC,GAAG;AAChD;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,iCAAiC,GAAG;AACjD;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,gCAAgC,GAAG;AAChD;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,6BAA6B,GAAG;AAC7C;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,gCAAgC,GAAG;AAChD;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,qCAAqC,GAAG;AACrD;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,2BAA2B,GAAG;AAC3C;AACO,MAAM,8BAA8B,GAAG;AAC9C;AACO,MAAM,4BAA4B,GAAG;AAC5C;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,iCAAiC,GAAG;AACjD;AACO,MAAM,6BAA6B,GAAG;AAC7C;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,sDAAsD,GAAG;AACtE;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,qCAAqC,GAAG;AACrD;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,wCAAwC,GAAG;AACxD;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,sDAAsD,GAAG;AACtE;AACO,MAAM,8CAA8C,GAAG;AAC9D;AACO,MAAM,mDAAmD,GAAG;AACnE;AACO,MAAM,oCAAoC,GAAG;AACpD;AACO,MAAM,yCAAyC,GAAG;AACzD;AACO,MAAM,mEAAmE,GAAG;AACnF;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,mDAAmD,GAAG;AACnE;AACO,MAAM,gDAAgD,GAAG;AAChE;AACO,MAAM,0CAA0C,GAAG;AAC1D;AACO,MAAM,0CAA0C,GAAG;AAC1D;AACO,MAAM,qCAAqC,GAAG;AACrD;AACO,MAAM,2CAA2C,GAAG;AAC3D;AACO,MAAM,+CAA+C,GAAG;AAC/D;AACO,MAAM,oDAAoD,GAAG;AACpE;AACO,MAAM,2CAA2C,GAAG;AAC3D;AACO,MAAM,iDAAiD,GAAG;AACjE;AACO,MAAM,uEAAuE,GAAG;AACvF;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,mDAAmD,GAAG;AACnE;AACO,MAAM,kDAAkD,GAAG;AAClE;AACO,MAAM,sCAAsC,GAAG;AACtD;AACO,MAAM,yBAAyB,GAAG;AACzC;AACO,MAAM,kCAAkC,GAAG;AAClD;AACO,MAAM,+BAA+B,GAAG;AAC/C;AACO,MAAM,6CAA6C,GAAG;AAC7D;AACO,MAAM,4CAA4C,GAAG;AAC5D;AACO,MAAM,4CAA4C,GAAG;AAC5D;;AChJA;AACA;;AAEG;AACI,MAAM,wBAAwB,GAAG;AACxC;;AAEG;AACI,MAAM,MAAM,GAAG;AACtB;;AAEG;AACI,MAAM,eAAe,GAAG;AAC/B;;AAEG;AACI,MAAM,gBAAgB,GAAG;AAChC;;AAEG;AACI,MAAM,4BAA4B,GAAG;AAC5C;;AAEG;AACI,MAAM,uBAAuB,GAAG;AAMvC;;AC3BA,MAAMA,GAAC,GAAG,WAAW,CAAC,GAAG,CAAC,iCAAiC,EAAE,EAAC,iCAAiC,EAAC,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,2EAAgD,CAAC,EAAE,OAAO,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,2EAAgD,CAAC,EAAE,OAAO,EAAC,EAAQ,CAAC;SAEpR,SAAS,GAAA;AACvB,IAAAA,GAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC;AAC1C;;ACPA;AAGA;AACA;AAEA;AACA;;;;;AAKG;AACH,MAAM,OAAQ,SAAQ,sBAA0B,CAAA;AAC9C;;AAEG;IACI,CAAC,GAAA;AACN,QAAA,OAAO,CAAC,GAAG,CAAC,CAAA,oBAAA,CAAsB,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE;IACd;AAEA;;;AAGG;IACH,uBAAuB,GAAA;AACrB,QAAA,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC;AAChD,QAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACf;AACD;AACD;AAEA;AACA;;AAEG;AACH,MAAM,QAAS,SAAQ,sBAErB,CAAA;AACA;;AAEG;IACI,CAAC,GAAA;AACN,QAAA,OAAO,CAAC,GAAG,CAAC,CAAA,iCAAA,CAAmC,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE;IACd;AAEA;;AAEG;IACI,kBAAkB,GAAA;AACvB,QAAA,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EACpC,SAAS,EACT;AACE,YAAA,YAAY,EAAE,eAAe;AAC9B,SAAA,CACF;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,CAAA,CAAE,CAAC;AAC9C,QAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACf;AACD;AACD;AAEA;;;;AAIG;AACI,eAAe,QAAQ,CAC5B,KAAe,EACf,QAAgB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BhB,IAAA,QAAQ,KAAK,CAAC;AAChB;;ACrFO,IAAM,qCAAqC,GAA3C,MAAM,qCAAsC,SAAQ,sBAA6D,CAAA;;AAEtH,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;AACP,CAAA,EAAA,qCAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AACV,CAAA,EAAA,qCAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAGlB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AACG,CAAA,EAAA,qCAAA,CAAA,SAAA,EAAA,uBAAA,EAAA,KAAA,CAAA,CAAA;AAG/B,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AAC8B,CAAA,EAAA,qCAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;AAG1D,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;AACV,CAAA,EAAA,qCAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;AAGhB,UAAA,CAAA;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;;AACrB,CAAA,EAAA,qCAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAMlB,UAAA,CAAA;AAJC,IAAA,SAAS,CAAC,MAAM,wBAAwB,EAAE,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE;AACtE,QAAA,QAAQ,EAAE,SAAS;KACpB,CAAC;AACD,IAAA,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8BACxB,wBAAwB;AAAC,CAAA,EAAA,qCAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAGjC,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,qCAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,qCAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AA7BN,qCAAqC,GAAA,UAAA,CAAA;AALjD,IAAA,KAAK,CAAC,CAAC,UAAU,EAAE,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC9D,IAAA,UAAU,CAAwC;AACjD,QAAA,SAAS,EAAE,uCAAuC;AAClD,QAAA,WAAW,EAAE,IAAI;KAClB;AACY,CAAA,EAAA,qCAAqC,CA8BjD;;AC7BM,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,sBAAgD,CAAA;;AAE5F,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;AACR,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;AAGhB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AACyB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;AAGrD,UAAA,CAAA;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;;AACrB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAGlB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;AACR,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAGlB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;AACX,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAMf,UAAA,CAAA;AAJC,IAAA,SAAS,CAAC,MAAM,qBAAqB,EAAE;AACtC,QAAA,QAAQ,EAAE,UAAU;KACrB,CAAC;AACD,IAAA,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8BACxB,qBAAqB;AAAC,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAG7B,UAAA,CAAA;AADC,IAAA,SAAS,CAAC,MAAM,4BAA4B,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;;AAC3B,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAMvC,UAAA,CAAA;AAJC,IAAA,SAAS,CACR,MAAM,qCAAqC,EAC3C,WAAW,IAAI,WAAW,CAAC,KAAK,CACjC;;AACsD,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;AAGvD,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAnCN,wBAAwB,GAAA,UAAA,CAAA;AAJpC,IAAA,UAAU,CAA2B;AACpC,QAAA,SAAS,EAAE,0BAA0B;AACrC,QAAA,WAAW,EAAE,IAAI;KAClB;AACY,CAAA,EAAA,wBAAwB,CAoCpC;;ACtCM,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,sBAAoD,CAAA;;AAEpG,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;AACP,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;AACL,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGnB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AACP,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;AAGrB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;AACP,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGnB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;AACN,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAGlB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;AACN,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;AAMpB,UAAA,CAAA;AAJC,IAAA,SAAS,CAAC,MAAM,wBAAwB,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;AAC/D,QAAA,QAAQ,EAAE,SAAS;KACpB,CAAC;AACD,IAAA,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8BACxB,wBAAwB;AAAC,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAMjC,UAAA,CAAA;AAJC,IAAA,SAAS,CAAC,MAAM,0BAA0B,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE;AAC1E,QAAA,QAAQ,EAAE,UAAU;KACrB,CAAC;AACD,IAAA,UAAU,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BACxB,0BAA0B;AAAC,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAGrC,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAnCN,4BAA4B,GAAA,UAAA,CAAA;AAJxC,IAAA,UAAU,CAA+B;AACxC,QAAA,SAAS,EAAE,8BAA8B;AACzC,QAAA,WAAW,EAAE,IAAI;KAClB;AACY,CAAA,EAAA,4BAA4B,CAoCxC;;ACpCM,IAAM,oCAAoC,GAA1C,MAAM,oCAAqC,SAAQ,sBAA4D,CAAA;;AAEpH,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;AACL,CAAA,EAAA,oCAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGnB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;AACF,CAAA,EAAA,oCAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;AAMtB,UAAA,CAAA;AAJC,IAAA,SAAS,CAAC,MAAM,0BAA0B,EAAE,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE;AAC3E,QAAA,QAAQ,EAAE,SAAS;KACpB,CAAC;AACD,IAAA,UAAU,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BACxB,0BAA0B;AAAC,CAAA,EAAA,oCAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAMrC,UAAA,CAAA;AAJC,IAAA,SAAS,CAAC,MAAM,oBAAoB,EAAE;AACrC,QAAA,QAAQ,EAAE,SAAS;KACpB,CAAC;AACD,IAAA,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;8BACxB,oBAAoB;AAAC,CAAA,EAAA,oCAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;AAjBvB,oCAAoC,GAAA,UAAA,CAAA;AALhD,IAAA,KAAK,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACtD,IAAA,UAAU,CAAuC;AAChD,QAAA,SAAS,EAAE,sCAAsC;AACjD,QAAA,WAAW,EAAE,IAAI;KAClB;AACY,CAAA,EAAA,oCAAoC,CAkBhD;;AChBM,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,sBAAkD,CAAA;;AAEhG,UAAA,CAAA;AADC,IAAA,eAAe,EAAE;;AACJ,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAGd,UAAA,CAAA;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;AACb,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;AAG5B,UAAA,CAAA;IADC,aAAa,CAAC,IAAI,CAAC;;AACH,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AACc,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAG1C,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;AACX,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAGf,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;AACrC,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAGlB,UAAA,CAAA;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;AACZ,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA;AAGhC,UAAA,CAAA;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;AACd,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA;AAG9B,UAAA,CAAA;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACxB,IAAI;AAAQ,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA;AAGjC,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;AADC,IAAA,SAAS,CAAC,MAAM,oCAAoC,EAAE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC;;AACvB,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;AAGrD,UAAA,CAAA;AADC,IAAA,SAAS,CAAC,MAAM,2BAA2B,EAAE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC;;AACzB,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAG1C,UAAA,CAAA;AADC,IAAA,SAAS,CAAC,MAAM,4BAA4B,EAAE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC;;AACxB,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;AAzCjC,0BAA0B,GAAA,UAAA,CAAA;AAJtC,IAAA,UAAU,CAA6B;AACtC,QAAA,SAAS,EAAE,4BAA4B;AACvC,QAAA,WAAW,EAAE,IAAI;KAClB;AACY,CAAA,EAAA,0BAA0B,CA0CtC;;AC1CM,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,sBAAmD,CAAA;;AAElG,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;AACR,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;AAGhB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;AACL,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGnB,UAAA,CAAA;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;AAClB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAMlB,UAAA,CAAA;AAJC,IAAA,SAAS,CAAC,MAAM,uBAAuB,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;AAC5D,QAAA,QAAQ,EAAE,SAAS;KACpB,CAAC;AACD,IAAA,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8BACxB,uBAAuB;AAAC,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAM/B,UAAA,CAAA;AAJC,IAAA,SAAS,CAAC,MAAM,0BAA0B,EAAE,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;AACzE,QAAA,QAAQ,EAAE,UAAU;KACrB,CAAC;AACD,IAAA,UAAU,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BACxB,0BAA0B;AAAC,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAGrC,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AA1BN,2BAA2B,GAAA,UAAA,CAAA;AALvC,IAAA,KAAK,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChD,IAAA,UAAU,CAAC;AACV,QAAA,SAAS,EAAE,6BAA6B;AACxC,QAAA,WAAW,EAAE,IAAI;KAClB;AACY,CAAA,EAAA,2BAA2B,CA2BvC;;AC5BM,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,sBAA+C,CAAA;;AAE1F,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;AACR,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;AAMhB,UAAA,CAAA;AAJC,IAAA,SAAS,CAAC,MAAM,qBAAqB,EAAE;AACtC,QAAA,QAAQ,EAAE,SAAS;KACpB,CAAC;AACD,IAAA,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8BACxB,qBAAqB;AAAC,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAG7B,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;AADC,IAAA,SAAS,CAAC,MAAM,2BAA2B,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;;AAC1B,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAjB3B,uBAAuB,GAAA,UAAA,CAAA;AAJnC,IAAA,UAAU,CAAC;AACV,QAAA,SAAS,EAAE,yBAAyB;AACpC,QAAA,WAAW,EAAE,IAAI;KAClB;AACY,CAAA,EAAA,uBAAuB,CAkBnC;;AC/BD;AAKO,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,kBAA2C,CAAA;AAArF,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,oBAAoB,GAAyC,MAAM,uBAAuB;IAe5F;AAbE;;AAEG;AACH,IAAA,MAAM,sBAAsB,GAAA;;;;;;;;AAQ1B,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAfW,2BAA2B,GAAA,UAAA,CAAA;AAHvC,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,6BAA6B;KACzC;AACY,CAAA,EAAA,2BAA2B,CAgBvC;;ACbD;AAMO,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,sBAA+C,CAAA;AAAzF,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,oBAAoB,GAAyC,MAAM,uBAAuB;AAE1F,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,CAAC;;IAqBlF;;AAlBE;;AAEG;AAEH,IAAA,SAAS,CAAoB,QAAgB,EAAA;;;;;;;;;;;AAW3C,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAZA,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;AACK,IAAA,OAAA,CAAA,CAAA,EAAA,KAAK,CAAC,UAAU,CAAC,CAAA;;;;AAY3B,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,IAAA,CAAA;AAtBU,2BAA2B,GAAA,UAAA,CAAA;AAJvC,IAAA,cAAc,CAA8B;AAC3C,QAAA,SAAS,EAAE,6BAA6B;AACxC,QAAA,cAAc,EAAE;KACjB;AACY,CAAA,EAAA,2BAA2B,CAwBvC;;ACxCD;AAKO,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,gBAAgB,CAAA;AAAxD,IAAA,WAAA,GAAA;;QACL,IAAA,CAAA,8BAA8B,GAAY,IAAI;IAChD;;AAFa,yBAAyB,GAAA,UAAA,CAAA;AAHrC,IAAA,YAAY,CAAC;AACZ,QAAA,SAAS,EAAE,2BAA2B;KACvC;AACY,CAAA,EAAA,yBAAyB,CAErC;;ACCM,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,kBAA2C,CAAA;AAAzF,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,oBAAoB,GAAyC,MAC3D,uBAAuB;IAkI3B;IAhIE,MAAM,OAAO,CAAC,MAAc,EAAA;;;;;;;;;;;;;;;;;AAiB1B,QAAA,QAAQ,KAAK,CAAC;IAChB;AAEA,IAAA,MAAM,UAAU,CACd,MAAc,EACd,SAAiB,EACjB,QAAgB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BhB,QAAA,QAAQ,KAAK,CAAC;IAChB;AAEA,IAAA,MAAM,eAAe,CACnB,MAAc,EACd,MAAc,EACd,QAAgB,EAAA;;;;;;;;;;;;;;;;;;;;;AAsBhB,QAAA,QAAQ,KAAK,CAAC;IAChB;AAEA,IAAA,MAAM,UAAU,CACd,MAAc,EACd,MAAc,EAAA;;;;;;;;;;;;;;;AAgBd,QAAA,QAAQ,KAAK,CAAC;IAChB;IAEA,MAAM,SAAS,CAAC,MAAc,EAAA;;;;;;AAM5B,QAAA,QAAQ,KAAK,CAAC;IAChB;IAEA,MAAM,eAAe,CACnB,MAAc,EAAA;;;;;;;;;AAUd,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAnIW,+BAA+B,GAAA,UAAA,CAAA;AAH3C,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,iCAAiC;KAC7C;AACY,CAAA,EAAA,+BAA+B,CAoI3C;;ACrHM,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,kBAGpD,CAAA;AAHM,IAAA,WAAA,GAAA;;AAIY,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CACxD,qBAAqB,CACtB;AAEgB,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CACzD,+BAA+B,CAChC;AAEgB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,GAAG,EAAU;IAyFxD;AAvFY,IAAA,MAAM,iBAAiB,CAAC,EAChC,GAAG,EACH,GAAG,GACqE,EAAA;AACxE,QAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACpE;IAGA,SAAS,GAAA;AACP,QAAA,OAAO,OAAM,GAAG,KAAG;AACjB,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;YAC/D,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;AAChD,QAAA,CAAC;IACH;IAGA,WAAW,CACU,SAAiB,EAClB,QAAgB,EAAA;AAElC,QAAA,OAAO,OAAM,GAAG,KAAG;AACjB,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;AAC/D,YAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;AACxE,QAAA,CAAC;IACH;IAGA,gBAAgB,CACE,MAAc,EACZ,QAAgB,EAAA;AAElC,QAAA,OAAO,OAAM,GAAG,KAAG;AACjB,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;AAC/D,YAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;AAC1E,QAAA,CAAC;IACH;AAGA,IAAA,gBAAgB,CACE,MAAc,EAAA;AAE9B,QAAA,OAAO,OAAM,GAAG,KAAG;AACjB,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;YAC/D,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;AAC3D,QAAA,CAAC;IACH;IAGA,WAAW,GAAA;AACT,QAAA,OAAO,OAAM,GAAG,KAAG;AACjB,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;YAC/D,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC;AAClD,QAAA,CAAC;IACH;IAGA,iBAAiB,GAAA;AACf,QAAA,OAAO,OAAM,GAAG,KAAG;AACjB,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;YAC/D,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,MAAM,CAAC;AACxD,QAAA,CAAC;IACH;IAGA,yBAAyB,GAAA;AAGvB,QAAA,OAAO,OAAM,GAAG,KAAG;AACjB,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;YAC/D,OAAO;AACL,gBAAA;oBACE,EAAE,EAAE,CAAA,qBAAA,EAAwB,MAAM,CAAA,CAAE;AACpC,oBAAA,WAAW,EAAE,sBAAsB;AACnC,oBAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,GAAG,QAAQ;AACnE,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;aACF;AACH,QAAA,CAAC;IACH;IAGA,kCAAkC,GAAA;AAChC,QAAA,OAAO,OAAM,GAAG,KAAG;AACjB,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;AAC/D,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;AACpC,QAAA,CAAC;IACH;;AA9EA,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;;;;AAML,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;AADC,IAAA,IAAI,EAAE;AAEJ,IAAA,OAAA,CAAA,CAAA,EAAA,IAAI,CAAC,WAAW,CAAC,CAAA;AACjB,IAAA,OAAA,CAAA,CAAA,EAAA,IAAI,CAAC,UAAU,CAAC,CAAA;;;;AAMlB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,aAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;AADC,IAAA,IAAI,EAAE;AAEJ,IAAA,OAAA,CAAA,CAAA,EAAA,IAAI,CAAC,QAAQ,CAAC,CAAA;AACd,IAAA,OAAA,CAAA,CAAA,EAAA,IAAI,CAAC,UAAU,CAAC,CAAA;;;;AAMlB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;AADC,IAAA,IAAI,EAAE;AAEJ,IAAA,OAAA,CAAA,CAAA,EAAA,IAAI,CAAC,QAAQ,CAAC,CAAA;;;;AAMhB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;;;;AAML,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,aAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;;;;AAML,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;;;;AAeL,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,2BAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;AADC,IAAA,IAAI,EAAE;;;;AAMN,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,oCAAA,EAAA,IAAA,CAAA;AApGU,+BAA+B,GAAA,UAAA,CAAA;AAH3C,IAAA,cAAc,CAAkC;AAC/C,QAAA,SAAS,EAAE,iCAAiC;KAC7C;AACY,CAAA,EAAA,+BAA+B,CAqG3C;;AC/HD;AAUA;AACA;AACA;MAEa,gCAAgC,GAAG,aAAa,CAAC,OAAO;AACnE,IAAA,WAAW,EAAE,kCAAkC;AAC/C,IAAA,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,eAAe,EAAE;IAC7B,QAAQ,EAAE,EAAE,uBAAuB,EAAE;AACrC,IAAA,YAAY,EAAE;;QAEZ,2BAA2B;QAC3B,+BAA+B;AAChC,KAAA;AACD,IAAA,WAAW,EAAE,EAAE,2BAA2B,EAAE,+BAA+B,EAAE;IAC7E,SAAS,EAAE,EAAE,yBAAyB,EAAE;;;AAGzC,CAAA,CAAC;;ACvBF;AAKO,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,kBAA+C,CAAA;AAA7F,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,oBAAoB,GAA6C,MAAM,2BAA2B;IAepG;AAbE;;AAEG;AACH,IAAA,MAAM,sBAAsB,GAAA;;;;;;;;AAQ1B,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAfW,+BAA+B,GAAA,UAAA,CAAA;AAH3C,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,iCAAiC;KAC7C;AACY,CAAA,EAAA,+BAA+B,CAgB3C;;ACbD;AAMO,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,sBAAmD,CAAA;AAAjG,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,oBAAoB,GAA6C,MAC/D,2BAA2B;AAE7B,QAAA,IAAA,CAAA,+BAA+B,GAAG,IAAI,CAAC,gBAAgB,CACrD,+BAA+B,CAChC;;IAqBH;;AAlBE;;AAEG;AAEH,IAAA,SAAS,CAAoB,QAAgB,EAAA;;;;;;;;;;;AAW3C,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAZA,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;AACK,IAAA,OAAA,CAAA,CAAA,EAAA,KAAK,CAAC,UAAU,CAAC,CAAA;;;;AAY3B,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,IAAA,CAAA;AAzBU,+BAA+B,GAAA,UAAA,CAAA;AAJ3C,IAAA,cAAc,CAAkC;AAC/C,QAAA,SAAS,EAAE,iCAAiC;AAC5C,QAAA,cAAc,EAAE,EAAE;KACnB;AACY,CAAA,EAAA,+BAA+B,CA2B3C;;AC3CD;AAKO,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,gBAAgB,CAAA;AAA5D,IAAA,WAAA,GAAA;;QACL,IAAA,CAAA,kCAAkC,GAAY,IAAI;IACpD;;AAFa,6BAA6B,GAAA,UAAA,CAAA;AAHzC,IAAA,YAAY,CAAC;AACZ,QAAA,SAAS,EAAE,+BAA+B;KAC3C;AACY,CAAA,EAAA,6BAA6B,CAEzC;;ACVD;AAQA;AACA;AACA;MAEa,oCAAoC,GAAG,aAAa,CAAC,OAAO;AACvE,IAAA,WAAW,EAAE,sCAAsC;AACnD,IAAA,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,eAAe,EAAE;IAC7B,QAAQ,EAAE,EAAE,2BAA2B,EAAE;IACzC,WAAW,EAAE,EAAE,+BAA+B,EAAE;AAChD,IAAA,YAAY,EAAE;;QAEZ,+BAA+B;AAChC,KAAA;IACD,SAAS,EAAE,EAAE,6BAA6B,EAAE;;;AAG7C,CAAA,CAAC;;ACVK,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,sBAA0D,CAAA;;AAEhH,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;AACR,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;AAGhB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AACE,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAG9B,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AACT,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGnB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AACV,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAGlB,UAAA,CAAA;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;AACpB,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAGxB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AACN,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;AAGtB,UAAA,CAAA;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;AACf,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;AAG7B,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AACd,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAGd,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AACR,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;AAGpB,UAAA,CAAA;AADC,IAAA,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;AACX,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;AACtB,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAMtB,UAAA,CAAA;AAJC,IAAA,SAAS,CAAC,MAAM,qBAAqB,EAAE;AACtC,QAAA,QAAQ,EAAE,SAAS;KACpB,CAAC;AACD,IAAA,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8BACxB,qBAAqB;AAAC,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAG7B,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAGjB,UAAA,CAAA;AADC,IAAA,gBAAgB,EAAE;8BACP,IAAI;AAAC,CAAA,EAAA,kCAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AA5CN,kCAAkC,GAAA,UAAA,CAAA;AAJ9C,IAAA,UAAU,CAAqC;AAC9C,QAAA,SAAS,EAAE,oCAAoC;AAC/C,QAAA,WAAW,EAAE,IAAI;KAClB;AACY,CAAA,EAAA,kCAAkC,CA6C9C;;ACvDD;AAKO,IAAM,sCAAsC,GAA5C,MAAM,sCAAuC,SAAQ,kBAAsD,CAAA;AAA3G,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,oBAAoB,GAAoD,MAAM,kCAAkC;IAelH;AAbE;;AAEG;AACH,IAAA,MAAM,sBAAsB,GAAA;;;;;;;;AAQ1B,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAfW,sCAAsC,GAAA,UAAA,CAAA;AAHlD,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,wCAAwC;KACpD;AACY,CAAA,EAAA,sCAAsC,CAgBlD;;ACbD;AAMO,IAAM,sCAAsC,GAA5C,MAAM,sCAAuC,SAAQ,sBAM3D,CAAA;AANM,IAAA,WAAA,GAAA;;AAOL,QAAA,IAAA,CAAA,oBAAoB,GAAoD,MAAM,kCAAkC;AAE/F,QAAA,IAAA,CAAA,sCAAsC,GAAG,IAAI,CAAC,gBAAgB,CAAC,sCAAsC,CAAC;;IAqBzH;;AAlBE;;AAEG;AAEH,IAAA,SAAS,CAAoB,QAAgB,EAAA;;;;;;;;;;;AAW3C,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAZA,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;AACK,IAAA,OAAA,CAAA,CAAA,EAAA,KAAK,CAAC,UAAU,CAAC,CAAA;;;;AAY3B,CAAA,EAAA,sCAAA,CAAA,SAAA,EAAA,WAAA,EAAA,IAAA,CAAA;AA5BU,sCAAsC,GAAA,UAAA,CAAA;AAJlD,IAAA,cAAc,CAAyC;AACtD,QAAA,SAAS,EAAE,wCAAwC;;KAEpD;AACY,CAAA,EAAA,sCAAsC,CA8BlD;;AC9CD;AAEM,MAAO,sCAAuC,SAAQ,aAAa,CAAA;AAExE;AAKM,IAAM,oCAAoC,GAA1C,MAAM,oCAAqC,SAAQ,gBAAgB,CAAA;AAAnE,IAAA,WAAA,GAAA;;QACL,IAAA,CAAA,yCAAyC,GAAY,IAAI;AACzD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,sCAAsC,EAAE;IAOvD;IANE,KAAK,GAAA;QACH,OAAO;YACL,yCAAyC,EAAE,IAAI,CAAC,yCAAyC;AACzF,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;SAC5B;IACH;;AARW,oCAAoC,GAAA,UAAA,CAAA;AAHhD,IAAA,YAAY,CAAC;AACZ,QAAA,SAAS,EAAE,sCAAsC;KAClD;AACY,CAAA,EAAA,oCAAoC,CAShD;;ACrBD;AAQA;AACA;AACA;MAEa,2CAA2C,GAAG,aAAa,CAAC,OAAO;AAC9E,IAAA,WAAW,EAAE,6CAA6C;AAC1D,IAAA,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,eAAe,EAAE;IAC7B,QAAQ,EAAE,EAAE,kCAAkC,EAAE;IAChD,WAAW,EAAE,EAAE,sCAAsC,EAAE;AACvD,IAAA,YAAY,EAAE;;QAEZ,sCAAsC;AACvC,KAAA;IACD,SAAS,EAAE,EAAE,oCAAoC,EAAE;;;AAGpD,CAAA,CAAC;;ACpBF;AAKO,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,kBAA4C,CAAA;AAAvF,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,oBAAoB,GAA0C,MAAM,wBAAwB;IAe9F;AAbE;;AAEG;AACH,IAAA,MAAM,sBAAsB,GAAA;;;;;;;;AAQ1B,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAfW,4BAA4B,GAAA,UAAA,CAAA;AAHxC,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,8BAA8B;KAC1C;AACY,CAAA,EAAA,4BAA4B,CAgBxC;;ACbD;AAMO,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,sBAMjD,CAAA;AANM,IAAA,WAAA,GAAA;;AAOL,QAAA,IAAA,CAAA,oBAAoB,GAA0C,MAAM,wBAAwB;AAE3E,QAAA,IAAA,CAAA,4BAA4B,GAAG,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC;;IAqBrG;;AAlBE;;AAEG;AAEH,IAAA,SAAS,CAAoB,QAAgB,EAAA;;;;;;;;;;;AAW3C,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAZA,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;AACK,IAAA,OAAA,CAAA,CAAA,EAAA,KAAK,CAAC,UAAU,CAAC,CAAA;;;;AAY3B,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,IAAA,CAAA;AA5BU,4BAA4B,GAAA,UAAA,CAAA;AAJxC,IAAA,cAAc,CAA+B;AAC5C,QAAA,SAAS,EAAE,8BAA8B;;KAE1C;AACY,CAAA,EAAA,4BAA4B,CA8BxC;;AC9CD;AAEM,MAAO,4BAA6B,SAAQ,aAAa,CAAA;AAE9D;AAKM,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,gBAAgB,CAAA;AAAzD,IAAA,WAAA,GAAA;;QACL,IAAA,CAAA,+BAA+B,GAAY,IAAI;AAC/C,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,4BAA4B,EAAE;IAO7C;IANE,KAAK,GAAA;QACH,OAAO;YACL,+BAA+B,EAAE,IAAI,CAAC,+BAA+B;AACrE,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;SAC5B;IACH;;AARW,0BAA0B,GAAA,UAAA,CAAA;AAHtC,IAAA,YAAY,CAAC;AACZ,QAAA,SAAS,EAAE,4BAA4B;KACxC;AACY,CAAA,EAAA,0BAA0B,CAStC;;ACrBD;AAQA;AACA;AACA;MAEa,iCAAiC,GAAG,aAAa,CAAC,OAAO;AACpE,IAAA,WAAW,EAAE,mCAAmC;AAChD,IAAA,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,eAAe,EAAE;IAC7B,QAAQ,EAAE,EAAE,wBAAwB,EAAE;IACtC,WAAW,EAAE,EAAE,4BAA4B,EAAE;AAC7C,IAAA,YAAY,EAAE;;QAEZ,4BAA4B;AAC7B,KAAA;IACD,SAAS,EAAE,EAAE,0BAA0B,EAAE;;;AAG1C,CAAA,CAAC;;ACpBF;AAKO,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,kBAAgD,CAAA;AAA/F,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,oBAAoB,GAA8C,MAAM,4BAA4B;IAetG;AAbE;;AAEG;AACH,IAAA,MAAM,sBAAsB,GAAA;;;;;;;;AAQ1B,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAfW,gCAAgC,GAAA,UAAA,CAAA;AAH5C,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,kCAAkC;KAC9C;AACY,CAAA,EAAA,gCAAgC,CAgB5C;;ACbD;AAMO,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,sBAMrD,CAAA;AANM,IAAA,WAAA,GAAA;;AAOL,QAAA,IAAA,CAAA,oBAAoB,GAA8C,MAAM,4BAA4B;AAEnF,QAAA,IAAA,CAAA,gCAAgC,GAAG,IAAI,CAAC,gBAAgB,CAAC,gCAAgC,CAAC;;IAqB7G;;AAlBE;;AAEG;AAEH,IAAA,SAAS,CAAoB,QAAgB,EAAA;;;;;;;;;;;AAW3C,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAZA,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;AACK,IAAA,OAAA,CAAA,CAAA,EAAA,KAAK,CAAC,UAAU,CAAC,CAAA;;;;AAY3B,CAAA,EAAA,gCAAA,CAAA,SAAA,EAAA,WAAA,EAAA,IAAA,CAAA;AA5BU,gCAAgC,GAAA,UAAA,CAAA;AAJ5C,IAAA,cAAc,CAAmC;AAChD,QAAA,SAAS,EAAE,kCAAkC;;KAE9C;AACY,CAAA,EAAA,gCAAgC,CA8B5C;;AC9CD;AAEM,MAAO,gCAAiC,SAAQ,aAAa,CAAA;AAElE;AAKM,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,gBAAgB,CAAA;AAA7D,IAAA,WAAA,GAAA;;QACL,IAAA,CAAA,mCAAmC,GAAY,IAAI;AACnD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,gCAAgC,EAAE;IAOjD;IANE,KAAK,GAAA;QACH,OAAO;YACL,mCAAmC,EAAE,IAAI,CAAC,mCAAmC;AAC7E,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;SAC5B;IACH;;AARW,8BAA8B,GAAA,UAAA,CAAA;AAH1C,IAAA,YAAY,CAAC;AACZ,QAAA,SAAS,EAAE,gCAAgC;KAC5C;AACY,CAAA,EAAA,8BAA8B,CAS1C;;ACrBD;AAQA;AACA;AACA;MAEa,qCAAqC,GAAG,aAAa,CAAC,OAAO;AACxE,IAAA,WAAW,EAAE,uCAAuC;AACpD,IAAA,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,eAAe,EAAE;IAC7B,QAAQ,EAAE,EAAE,4BAA4B,EAAE;IAC1C,WAAW,EAAE,EAAE,gCAAgC,EAAE;AACjD,IAAA,YAAY,EAAE;;QAEZ,gCAAgC;AACjC,KAAA;IACD,SAAS,EAAE,EAAE,8BAA8B,EAAE;;;AAG9C,CAAA,CAAC;;ACpBF;AAKO,IAAM,yCAAyC,GAA/C,MAAM,yCAA0C,SAAQ,kBAAyD,CAAA;AAAjH,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,oBAAoB,GAAuD,MAAM,qCAAqC;IAexH;AAbE;;AAEG;AACH,IAAA,MAAM,sBAAsB,GAAA;;;;;;;;AAQ1B,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAfW,yCAAyC,GAAA,UAAA,CAAA;AAHrD,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,2CAA2C;KACvD;AACY,CAAA,EAAA,yCAAyC,CAgBrD;;ACbD;AAMO,IAAM,yCAAyC,GAA/C,MAAM,yCAA0C,SAAQ,sBAM9D,CAAA;AANM,IAAA,WAAA,GAAA;;AAOL,QAAA,IAAA,CAAA,oBAAoB,GAAuD,MAAM,qCAAqC;AAErG,QAAA,IAAA,CAAA,yCAAyC,GAAG,IAAI,CAAC,gBAAgB,CAAC,yCAAyC,CAAC;;IAqB/H;;AAlBE;;AAEG;AAEH,IAAA,SAAS,CAAoB,QAAgB,EAAA;;;;;;;;;;;AAW3C,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAZA,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;AACK,IAAA,OAAA,CAAA,CAAA,EAAA,KAAK,CAAC,UAAU,CAAC,CAAA;;;;AAY3B,CAAA,EAAA,yCAAA,CAAA,SAAA,EAAA,WAAA,EAAA,IAAA,CAAA;AA5BU,yCAAyC,GAAA,UAAA,CAAA;AAJrD,IAAA,cAAc,CAA4C;AACzD,QAAA,SAAS,EAAE,2CAA2C;;KAEvD;AACY,CAAA,EAAA,yCAAyC,CA8BrD;;AC9CD;AAEM,MAAO,yCAA0C,SAAQ,aAAa,CAAA;AAE3E;AAKM,IAAM,uCAAuC,GAA7C,MAAM,uCAAwC,SAAQ,gBAAgB,CAAA;AAAtE,IAAA,WAAA,GAAA;;QACL,IAAA,CAAA,4CAA4C,GAAY,IAAI;AAC5D,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,yCAAyC,EAAE;IAO1D;IANE,KAAK,GAAA;QACH,OAAO;YACL,4CAA4C,EAAE,IAAI,CAAC,4CAA4C;AAC/F,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;SAC5B;IACH;;AARW,uCAAuC,GAAA,UAAA,CAAA;AAHnD,IAAA,YAAY,CAAC;AACZ,QAAA,SAAS,EAAE,yCAAyC;KACrD;AACY,CAAA,EAAA,uCAAuC,CASnD;;ACrBD;AAQA;AACA;AACA;MAEa,8CAA8C,GAAG,aAAa,CAAC,OAAO;AACjF,IAAA,WAAW,EAAE,gDAAgD;AAC7D,IAAA,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,eAAe,EAAE;IAC7B,QAAQ,EAAE,EAAE,qCAAqC,EAAE;IACnD,WAAW,EAAE,EAAE,yCAAyC,EAAE;AAC1D,IAAA,YAAY,EAAE;;QAEZ,yCAAyC;AAC1C,KAAA;IACD,SAAS,EAAE,EAAE,uCAAuC,EAAE;;;AAGvD,CAAA,CAAC;;ACpBF;AAKO,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,kBAA8C,CAAA;AAA3F,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,oBAAoB,GAA4C,MAAM,0BAA0B;IAelG;AAbE;;AAEG;AACH,IAAA,MAAM,sBAAsB,GAAA;;;;;;;;AAQ1B,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAfW,8BAA8B,GAAA,UAAA,CAAA;AAH1C,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,gCAAgC;KAC5C;AACY,CAAA,EAAA,8BAA8B,CAgB1C;;ACZD;AAMO,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,sBAMnD,CAAA;AANM,IAAA,WAAA,GAAA;;AAOL,QAAA,IAAA,CAAA,oBAAoB,GAA4C,MAC9D,0BAA0B;AAEX,QAAA,IAAA,CAAA,8BAA8B,GAAG,IAAI,CAAC,gBAAgB,CACrE,8BAA8B,CAC/B;;IA8BH;IA3BE,cAAc,GAAA;QACZ,OAAO,YAAW;AAChB,YAAA,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D;AACH,QAAA,CAAC;IACH;;AAGA;;AAEG;AAEH,IAAA,SAAS,CAAoB,QAAgB,EAAA;;;;;;;;;;;AAW3C,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAzBA,UAAA,CAAA;AADC,IAAA,IAAI,EAAE;;;;AAON,CAAA,EAAA,8BAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,IAAA,CAAA;AAOD,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;AACK,IAAA,OAAA,CAAA,CAAA,EAAA,KAAK,CAAC,UAAU,CAAC,CAAA;;;;AAY3B,CAAA,EAAA,8BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,IAAA,CAAA;AAxCU,8BAA8B,GAAA,UAAA,CAAA;AAJ1C,IAAA,cAAc,CAAiC;AAC9C,QAAA,SAAS,EAAE,gCAAgC;QAC3C,cAAc,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC;KACpE;AACY,CAAA,EAAA,8BAA8B,CA0C1C;;AC3DD;AAEM,MAAO,8BAA+B,SAAQ,aAAa,CAAA;AAEhE;AAKM,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,gBAAgB,CAAA;AAA3D,IAAA,WAAA,GAAA;;QACL,IAAA,CAAA,iCAAiC,GAAY,IAAI;AACjD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,8BAA8B,EAAE;IAO/C;IANE,KAAK,GAAA;QACH,OAAO;YACL,iCAAiC,EAAE,IAAI,CAAC,iCAAiC;AACzE,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;SAC5B;IACH;;AARW,4BAA4B,GAAA,UAAA,CAAA;AAHxC,IAAA,YAAY,CAAC;AACZ,QAAA,SAAS,EAAE,8BAA8B;KAC1C;AACY,CAAA,EAAA,4BAA4B,CASxC;;ACrBD;AAQA;AACA;AACA;MAEa,mCAAmC,GAAG,aAAa,CAAC,OAAO;AACtE,IAAA,WAAW,EAAE,qCAAqC;AAClD,IAAA,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,eAAe,EAAE;IAC7B,QAAQ,EAAE,EAAE,0BAA0B,EAAE;IACxC,WAAW,EAAE,EAAE,8BAA8B,EAAE;AAC/C,IAAA,YAAY,EAAE;;QAEZ,8BAA8B;AAC/B,KAAA;IACD,SAAS,EAAE,EAAE,4BAA4B,EAAE;;;AAG5C,CAAA,CAAC;;ACpBF;AAKO,IAAM,wCAAwC,GAA9C,MAAM,wCAAyC,SAAQ,kBAAwD,CAAA;AAA/G,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,oBAAoB,GAAsD,MAAM,oCAAoC;IAetH;AAbE;;AAEG;AACH,IAAA,MAAM,sBAAsB,GAAA;;;;;;;;AAQ1B,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAfW,wCAAwC,GAAA,UAAA,CAAA;AAHpD,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,0CAA0C;KACtD;AACY,CAAA,EAAA,wCAAwC,CAgBpD;;ACbD;AAMO,IAAM,wCAAwC,GAA9C,MAAM,wCAAyC,SAAQ,sBAM7D,CAAA;AANM,IAAA,WAAA,GAAA;;AAOL,QAAA,IAAA,CAAA,oBAAoB,GAAsD,MAAM,oCAAoC;AAEnG,QAAA,IAAA,CAAA,wCAAwC,GAAG,IAAI,CAAC,gBAAgB,CAAC,wCAAwC,CAAC;;IAqB7H;;AAlBE;;AAEG;AAEH,IAAA,SAAS,CAAoB,QAAgB,EAAA;;;;;;;;;;;AAW3C,QAAA,QAAQ,KAAK,CAAC;IAChB;;AAZA,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;AACK,IAAA,OAAA,CAAA,CAAA,EAAA,KAAK,CAAC,UAAU,CAAC,CAAA;;;;AAY3B,CAAA,EAAA,wCAAA,CAAA,SAAA,EAAA,WAAA,EAAA,IAAA,CAAA;AA5BU,wCAAwC,GAAA,UAAA,CAAA;AAJpD,IAAA,cAAc,CAA2C;AACxD,QAAA,SAAS,EAAE,0CAA0C;;KAEtD;AACY,CAAA,EAAA,wCAAwC,CA8BpD;;AC9CD;AAEM,MAAO,wCAAyC,SAAQ,aAAa,CAAA;AAE1E;AAKM,IAAM,sCAAsC,GAA5C,MAAM,sCAAuC,SAAQ,gBAAgB,CAAA;AAArE,IAAA,WAAA,GAAA;;QACL,IAAA,CAAA,2CAA2C,GAAY,IAAI;AAC3D,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,wCAAwC,EAAE;IAOzD;IANE,KAAK,GAAA;QACH,OAAO;YACL,2CAA2C,EAAE,IAAI,CAAC,2CAA2C;AAC7F,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;SAC5B;IACH;;AARW,sCAAsC,GAAA,UAAA,CAAA;AAHlD,IAAA,YAAY,CAAC;AACZ,QAAA,SAAS,EAAE,wCAAwC;KACpD;AACY,CAAA,EAAA,sCAAsC,CASlD;;ACrBD;AAQA;AACA;AACA;MAEa,6CAA6C,GAAG,aAAa,CAAC,OAAO;AAChF,IAAA,WAAW,EAAE,+CAA+C;AAC5D,IAAA,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,eAAe,EAAE;IAC7B,QAAQ,EAAE,EAAE,oCAAoC,EAAE;IAClD,WAAW,EAAE,EAAE,wCAAwC,EAAE;AACzD,IAAA,YAAY,EAAE;;QAEZ,wCAAwC;AACzC,KAAA;IACD,SAAS,EAAE,EAAE,sCAAsC,EAAE;;;AAGtD,CAAA,CAAC;;ACpBK,IAAM,iCAAiC,GAAvC,MAAM,iCAAkC,SAAQ,oBAEtD,CAAA;;AAFY,iCAAiC,GAAA,UAAA,CAAA;AAH7C,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,mCAAmC;KAC/C;AACY,CAAA,EAAA,iCAAiC,CAE1C;;ACOG,IAAM,yCAAyC,GAA/C,MAAM,yCAA0C,SAAQ,kBAAkB,CAAA;AAA1E,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAC/C,iCAAiC,CAClC;IAoBH;IAjBE,iBAAiB,GAAA;QACf,OAAO,YAAW;AAChB,YAAA,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,IAAI;AAC5D,QAAA,CAAC;IACH;AAGA,IAAA,iBAAiB,CAAkB,OAAgB,EAAA;QACjD,OAAO,YAAW;AAChB,YAAA,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE;AAChC,gBAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;YACvD;YAEA,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC;AAClD,YAAA,OAAO,OAAO;AAChB,QAAA,CAAC;IACH;;AAhBA,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;;;;AAKL,CAAA,EAAA,yCAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;AADC,IAAA,GAAG,EAAE;AACa,IAAA,OAAA,CAAA,CAAA,EAAA,IAAI,CAAC,SAAS,CAAC,CAAA;;;;AASjC,CAAA,EAAA,yCAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA;AAtBU,yCAAyC,GAAA,UAAA,CAAA;AAHrD,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,2CAA2C;KACvD;AACY,CAAA,EAAA,yCAAyC,CAuBrD;;MChCY,sCAAsC,GAAG,aAAa,CAAC,OAAO;AACzE,IAAA,WAAW,EAAE,wCAAwC;AACrD,IAAA,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,EAAE,eAAe,EAAE;IAC7B,WAAW,EAAE,EAAE,yCAAyC,EAAE;IAC1D,YAAY,EAAE,EAAE,iCAAiC,EAAE;AACpD,CAAA,CAAC;;MCEW,4BAA4B,GAAG,aAAa,CAAC,OAAO;AAC/D,IAAA,WAAW,EAAE,8BAA8B;AAC3C,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,QAAQ,EAAE;QACR,sBAAsB;QACtB,gCAAgC;QAChC,oCAAoC;QACpC,2CAA2C;QAC3C,iCAAiC;QACjC,qCAAqC;QACrC,8CAA8C;QAC9C,mCAAmC;QACnC,6CAA6C;QAC7C,sCAAsC;AACvC,KAAA;AACF,CAAA,CAAC;;ACvB2G;AAI5G;;ACHK,MAAO,+BAAgC,SAAQ,sBAAsB,CAAA;AAD3E,IAAA,WAAA,GAAA;;AAEW,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,+BAA+B,CAAC;AAC7E,IAAA;8GAFY,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA/B,+BAA+B,EAAA,CAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C;;;MCiCY,iBAAiB,CAAA;AAkC5B,IAAA,WAAA,GAAA;QAjCS,IAAA,CAAA,MAAM,GAAmB,EAAE;AAEnB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,+BAA+B,CAAC;QAC7C,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAE5D,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAiC,IAAI,gDAAC;AACnD,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAA6B,EAAE,kDAAC;AAC/C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAA0C,EAAE,wDAAC;AAClE,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAoC,EAAE,yDAAC;AAC7D,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,KAAK,uDAAC;AAC3B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,KAAK,yDAAC;AAC7B,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,KAAK,+DAAC;AACnC,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,KAAK,gEAAC;AACpC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,EAAE,iDAAC;AAElB,QAAA,IAAA,CAAA,YAAY,GAAoB;YACvC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrD,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzD,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC1D;AAEQ,QAAA,IAAA,CAAA,kBAAkB,GAAoB;YAC7C,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC7C,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxD,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzD,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrD,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrD,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzD,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC1D;AAGC,QAAA,KAAK,IAAI,CAAC,QAAQ,EAAE;IACtB;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE;IACzB;AAEA,IAAA,eAAe,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,KAAK,MAAM,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;AACjD,YAAA,KAAK,IAAI,CAAC,iBAAiB,EAAE;QAC/B;IACF;AAEA,IAAA,mBAAmB,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,iBAAiB,EAAE;QAC/B;AAAO,aAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACtB,YAAA,KAAK,IAAI,CAAC,UAAU,EAAE;QACxB;AAAO,aAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACtB,YAAA,KAAK,IAAI,CAAC,gBAAgB,EAAE;QAC9B;IACF;AAEA,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,iBAAiB,IAAI,EAAE;IAC7C;AAEA,IAAA,IAAI,oBAAoB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;IAC1C;AAEA,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAClB,QAAA,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,MAAM,IAAI,CAAC,OAAO,CAChB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,OAAQ,EAAE,CAC3C,CACF;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,KAAK,CAAC;QACtD;gBAAU;AACR,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7B;IACF;IAEA,MAAM,UAAU,CAAC,OAAmC,EAAA;AAClD,QAAA,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE;AAClC,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC;YAC1E;QACF;AACA,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,MAAM,IAAI,CAAC,OAAO,CAChB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAQ,EAAE,CAC1D,CACF;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,WAAW,CAAC,0CAA0C,EAAE,KAAK,CAAC;QACrE;IACF;AAEA,IAAA,MAAM,cAAc,CAAC,MAAc,EAAE,QAAgB,EAAA;AACnD,QAAA,IAAI,QAAQ,GAAG,CAAC,EAAE;AAChB,YAAA,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC7B;QACF;AACA,QAAA,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,MAAM,IAAI,CAAC,OAAO,CAChB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAQ,EAAE,CAClE,CACF;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,WAAW,CAAC,iCAAiC,EAAE,KAAK,CAAC;QAC5D;IACF;IAEA,MAAM,UAAU,CAAC,MAAc,EAAA;AAC7B,QAAA,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,MAAM,IAAI,CAAC,OAAO,CAChB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,OAAQ,EAAE,CACxD,CACF;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,WAAW,CAAC,iCAAiC,EAAE,KAAK,CAAC;QAC5D;IACF;AAEA,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAClB,QAAA,IAAI;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,MAAM,IAAI,CAAC,OAAO,CAChB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAQ,EAAE,CAC7C,CACF;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,WAAW,CAAC,6BAA6B,EAAE,KAAK,CAAC;QACxD;gBAAU;AACR,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;QAC/B;IACF;AAEA,IAAA,MAAM,gBAAgB,GAAA;AACpB,QAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;AAClC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAClB,QAAA,IAAI;YACF,IAAI,CAAC,YAAY,CAAC,GAAG,CACnB,MAAM,IAAI,CAAC,OAAO,CAChB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,OAAQ,EAAE,CACnD,CACF;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,WAAW,CAAC,mCAAmC,EAAE,KAAK,CAAC;QAC9D;gBAAU;AACR,YAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;QACrC;IACF;AAEA,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC;AACnC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAClB,QAAA,IAAI;YACF,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,MAAM,IAAI,CAAC,OAAO,CAChB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,OAAQ,EAAE,CAC3D,CACF;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,WAAW,CAAC,uCAAuC,EAAE,KAAK,CAAC;QAClE;gBAAU;AACR,YAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;QACtC;IACF;AAEA,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAClB,QAAA,IAAI;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC;AAC7B,iBAAA,kCAAkC;AAClC,iBAAA,OAAQ,EAAE;AACb,YAAA,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,qBAAqB,CAAC;YACjE;AACA,YAAA,MAAM,IAAI,CAAC,iBAAiB,EAAE;QAChC;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,KAAK,CAAC;QACnD;IACF;IAEQ,MAAM,OAAO,CACnB,QAIE,EAAA;AAEF,QAAA,MAAM,QAAQ,GAAG,MAAM,QAAQ;AAC/B,QAAA,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,qBAAqB,CAAC;QACjE;AACA,QAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI;QAClC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE;AAC3C,YAAA,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC;QAC3D;AACA,QAAA,OAAO,MAAM;IACf;IAEQ,WAAW,CAAC,OAAe,EAAE,KAAc,EAAA;QACjD,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC;AAC5C,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAClE;8GAlNW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,sFAFjB,CAAC,+BAA+B,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpC9C,kvLAgLA,EAAA,MAAA,EAAA,CAAA,qwBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjJI,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,aAAa,mLACb,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,WAAA,EAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,sBAAsB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,eAAA,EAAA,MAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EALtB,YAAY,4CACZ,QAAQ,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAQC,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAf7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,eAAA,EAGJ,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACP,YAAY;wBACZ,QAAQ;wBACR,eAAe;wBACf,aAAa;wBACb,aAAa;wBACb,sBAAsB;qBACvB,EAAA,SAAA,EACU,CAAC,+BAA+B,CAAC,EAAA,QAAA,EAAA,kvLAAA,EAAA,MAAA,EAAA,CAAA,qwBAAA,CAAA,EAAA;;sBAG3C;;;MErBU,uBAAuB,CAAA;AAQlC,IAAA,WAAA,GAAA;QAPS,IAAA,CAAA,MAAM,GAAmB,EAAE;AAEnB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;AAC1B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,+BAA+B,CAAC;AACrD,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,CAAC,yDAAC;AACzB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,EAAE,iDAAC;AAGzB,QAAA,KAAK,IAAI,CAAC,aAAa,EAAE;IAC3B;AAEA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IACnE;IAEA,QAAQ,GAAA;QACN,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;AACjD,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,SAAS,EAAE,QAAQ;AACnB,YAAA,UAAU,EAAE,6BAA6B;AAC1C,SAAA,CAAC;QACF,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;AACpD,QAAA,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;IACjE;AAEQ,IAAA,MAAM,aAAa,GAAA;AACzB,QAAA,IAAI;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,OAAQ,EAAE;AACjE,YAAA,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,2BAA2B,CAAC;YACvE;AACA,YAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI;AAChC,YAAA,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACvC,gBAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC;YACnD;YACA,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CACf,CAAC,KAAa,EAAE,IAA0B,KACxC,KAAK,GAAG,IAAI,CAAC,QAAQ,EACvB,CAAC,CACF,CACF;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC;AACpE,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,2BAA2B,CACrE;QACH;IACF;8GAnDW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAFvB,CAAC,+BAA+B,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChB9C,+TAWC,EAAA,MAAA,EAAA,CAAA,yDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIW,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAG7C,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,WACtC,CAAC,cAAc,EAAE,eAAe,EAAE,aAAa,CAAC,EAAA,SAAA,EAC9C,CAAC,+BAA+B,CAAC,EAAA,QAAA,EAAA,+TAAA,EAAA,MAAA,EAAA,CAAA,yDAAA,CAAA,EAAA;;sBAG3C;;;;;;;;AEhBH;AAEO,MAAM,oBAAoB,GAAW;AAC1C,IAAA;AACE,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,aAAa,EAAE,MACb,wEAAsC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC;AAE7E,QAAA,QAAQ,EAAE;;;;;;;;;AAST,SAAA;AACF,KAAA;;AAGH;;;;AAIG;AACH;;AC7BA;AAIA;MASa,gCAAgC,CAAA;AAP7C,IAAA,WAAA,GAAA;QAQE,IAAA,CAAA,eAAe,GAAG,KAAK;AASxB,IAAA;AAPC,IAAA,eAAe,CAAC,SAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,SAAS;IACpC;AAEA,IAAA,iBAAiB,CAAC,SAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;IAC9B;8GATW,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECb7C,4PASA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDEuB,YAAY,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAEtB,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAP5C,SAAS;+BACE,gCAAgC,EAAA,eAAA,EAGzB,uBAAuB,CAAC,MAAM,WACtC,CAAC,SAAS,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,4PAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;;;;;;;;AERpC;AAEO,MAAM,6BAA6B,GAAW;AACnD,IAAA;AACE,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,aAAa,EAAE,MACb,iFAAgD,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,gCAAgC,CACxC;AAEH,QAAA,QAAQ,EAAE;AACR,YAAA,cAAc,CAAC;AACb,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,QAAQ,EAAE,WAAW;AACrB,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,MAAM,EAAE,MACN,uFAA6F,CAAC,IAAI,CAChG,CAAC,IAAI,CAAC,CAAC,sCAAsC,CAC9C;aACJ,CAAC;AACF,YAAA,cAAc,CAAC;AACb,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,MAAM,EAAE,MACN,sFAAmH,CAAC,IAAI,CACtH,CAAC,IAAI,CAAC,CAAC,qCAAqC,CAC7C;aACJ,CAAC;AAEF,YAAA,cAAc,CAAC;AACb,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,IAAI,EAAE,cAAc;AACpB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,MAAM,EAAE,MACN,oFAA6G,CAAC,IAAI,CAChH,CAAC,IAAI,CAAC,CAAC,mCAAmC,CAC3C;aACJ,CAAC;AAEF,YAAA,cAAc,CAAC;AACb,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,QAAQ,EAAE,cAAc;AACxB,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,MAAM,EAAE,MACN,iGAAuJ,CAAC,IAAI,CAC1J,CAAC,IAAI,CAAC,CAAC,gDAAgD,CACxD;aACJ,CAAC;AAEF,YAAA,cAAc,CAAC;AACb,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,MAAM,EAAE,MACN,sFAA2F,CAAC,IAAI,CAC9F,CAAC,IAAI,CAAC,CAAC,qCAAqC,CAC7C;aACJ,CAAC;AACH,SAAA;AACF,KAAA;;AAGH;;;;AAIG;AACH;;AC3EA;AAQA;AAGM,MAAO,gCAAiC,SAAQ,sBAAsB,CAAA;AAD5E,IAAA,WAAA,GAAA;;AAEkB,QAAA,IAAA,CAAA,gCAAgC,GAAG,IAAI,CAAC,gBAAgB,CAAC,gCAAgC,CAAC;AAa3G,IAAA;AAXC,IAAA,IAAW,cAAc,GAAA;QACvB,OAAO,IAAI,CAAC,gCAAgC,CAAC,MAAM,EAAE,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAC9E,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAC3B;IACH;AAEO,IAAA,UAAU,CAAC,IAAY,EAAA;QAC5B,OAAO,IAAI,CAAC,gCAAgC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CACrF,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAsB,CAAC,CACvC;IACH;8GAbW,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAhC,gCAAgC,EAAA,CAAA,CAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAD5C;;;ACVD;AAQA;AAGM,MAAO,4BAA6B,SAAQ,sBAAsB,CAAA;AADxE,IAAA,WAAA,GAAA;;AAEkB,QAAA,IAAA,CAAA,4BAA4B,GAAG,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC;AAanG,IAAA;AAXC,IAAA,IAAW,cAAc,GAAA;QACvB,OAAO,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAC1E,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAC3B;IACH;AAEO,IAAA,UAAU,CAAC,IAAY,EAAA;QAC5B,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CACjF,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAsB,CAAC,CACvC;IACH;8GAbW,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA5B,4BAA4B,EAAA,CAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC;;;MCgBY,yCAAyC,CAAA;AAWpD,IAAA,WAAA,GAAA;AAViB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAE/C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,gCAAgC,CAAC;AAE/D,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA0B,IAAI,mDAAC;AAE/C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,IAAI,mDAAC;AAEtB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,EAAE,iDAAC;AAGzB,QAAA,KAAK,IAAI,CAAC,IAAI,EAAE;IAClB;AAEA,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AAEtB,QAAA,IAAI;YACF,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,MAAM,EAAE,CAAC,OAAQ,EAAE;gBAC9D,IAAI,CAAC,YAAY,CAAC,gCAAgC,CAAC,MAAM,EAAE,CAAC,OAAQ,EAAE;AACvE,aAAA,CAAC;AACF,YAAA,IAAI,cAAc,CAAC,UAAU,IAAI,GAAG,IAAI,aAAa,CAAC,UAAU,IAAI,GAAG,EAAE;AACvE,gBAAA,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,YAAY;AACzB,oBAAA,aAAa,CAAC,YAAY;AAC1B,oBAAA,yCAAyC,CAC5C;YACH;AAEA,YAAA,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI;AACxC,YAAA,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI;AACtC,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACnD,gBAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC;YACjE;AAEA,YAAA,MAAM,UAAU,GAAI,MAAqC,CAAC,MAAM,CAC9D,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CACjC;AACD,YAAA,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAI;AACnB,iBAAA,MAAM,CAAC,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7C,iBAAA,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACpD,YAAA,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB;AAEpD,YAAA,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;gBAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE;gBAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC3B,MAAM,IAAI,KAAK,CAAC,CAAA,MAAA,EAAS,KAAK,CAAC,EAAE,CAAA,sBAAA,CAAwB,CAAC;gBAC5D;AACA,gBAAA,kBAAkB,CAAC,GAAG,CACpB,QAAQ,EACR,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAChD;YACH;AAEA,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBACf,UAAU,EAAE,UAAU,CAAC,MAAM;gBAC7B,YAAY;AACZ,gBAAA,QAAQ,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM;oBAC5D,QAAQ;oBACR,KAAK;AACN,iBAAA,CAAC,CAAC;AACJ,aAAA,CAAC;QACJ;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CACX,oDAAoD,EACpD,KAAK,CACN;AACD,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,KAAK,YAAY;kBACb,KAAK,CAAC;kBACN,yCAAyC,CAC9C;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACzB;IACF;8GAjFW,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yCAAyC,uFAFzC,CAAC,4BAA4B,EAAE,gCAAgC,CAAC,0BCxB7E,o2BAuCA,EAAA,MAAA,EAAA,CAAA,4TAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDba,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBARrD,SAAS;+BACE,0CAA0C,EAAA,eAAA,EAGnC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,EAAE,EAAA,SAAA,EACA,CAAC,4BAA4B,EAAE,gCAAgC,CAAC,EAAA,QAAA,EAAA,o2BAAA,EAAA,MAAA,EAAA,CAAA,4TAAA,CAAA,EAAA;;;;;;;;AErB7E;AAEO,MAAM,sCAAsC,GAAW;AAC5D,IAAA;AACE,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,aAAa,EAAE,MACb,0FAA0D,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,yCAAyC,CAAC;AAEnH,QAAA,QAAQ,EAAE;;;;;;;;;AAST,SAAA;AACF,KAAA;;AAGH;;;;AAIG;AACH;;;;;;;ACvBM,MAAO,yCAA0C,SAAQ,sBAAsB,CAAA;AADrF,IAAA,WAAA,GAAA;;AAEmB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,gBAAgB,CACjD,yCAAyC,CAC1C;AA4BF,IAAA;AA1BC,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,OAAQ,EAAE;AACrE,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI;QAEnC,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE;YAC9D,MAAM,IAAI,KAAK,CACb,QAAQ,CAAC,YAAY,IAAI,qCAAqC,CAC/D;QACH;AAEA,QAAA,OAAO,OAAO;IAChB;IAEA,MAAM,iBAAiB,CAAC,OAAgB,EAAA;AACtC,QAAA,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAQ,EAAE;AAC7D,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI;QAEjC,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;YAC5D,MAAM,IAAI,KAAK,CACb,QAAQ,CAAC,YAAY,IAAI,uCAAuC,CACjE;QACH;AAEA,QAAA,OAAO,KAAK;IACd;8GA9BW,yCAAyC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAzC,yCAAyC,EAAA,CAAA,CAAA;;2FAAzC,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBADrD;;;MCaY,wCAAwC,CAAA;AAWnD,IAAA,WAAA,GAAA;AAViB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,yCAAyC,CAAC;AAE/D,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAiB,IAAI,0DAAC;AAE7C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,IAAI,mDAAC;AAEtB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,KAAK,kDAAC;AAEtB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,EAAE,iDAAC;AAGzB,QAAA,KAAK,IAAI,CAAC,IAAI,EAAE;IAClB;AAEA,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAElB,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC7D;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CACX,+DAA+D,EAC/D,KAAK,CACN;AACD,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,KAAK,YAAY;kBACb,KAAK,CAAC;kBACN,qCAAqC,CAC1C;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACzB;IACF;AAEA,IAAA,MAAM,aAAa,GAAA;AACjB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE;QACrC,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACrC;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAClB,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;QACrE;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CACX,iEAAiE,EACjE,KAAK,CACN;AACD,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,KAAK,YAAY;kBACb,KAAK,CAAC;kBACN,uCAAuC,CAC5C;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB;IACF;8GA3DW,wCAAwC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wCAAwC,sFAFxC,CAAC,yCAAyC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBxD,63BAwCA,oXDzBY,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGd,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBARpD,SAAS;+BACE,yCAAyC,EAAA,eAAA,EAGlC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,eAAe,CAAC,EAAA,SAAA,EACf,CAAC,yCAAyC,CAAC,EAAA,QAAA,EAAA,63BAAA,EAAA,MAAA,EAAA,CAAA,6TAAA,CAAA,EAAA;;;;;;;;AEdxD;AAEO,MAAM,qCAAqC,GAAW;AAC3D,IAAA;AACE,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,aAAa,EAAE,MACb,yFAAyD,CAAC,IAAI,CAC5D,CAAC,IAAI,CAAC,CAAC,wCAAwC,CAChD;AAEH,QAAA,QAAQ,EAAE;;;;;;;;;AAST,SAAA;AACF,KAAA;;AAGH;;;;AAIG;AACH;;;;;;;AC9BA;AAQA;AAGM,MAAO,2BAA4B,SAAQ,sBAAsB,CAAA;AADvE,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,CAAC;AAazF,IAAA;AAXC,IAAA,IAAW,cAAc,GAAA;QACvB,OAAO,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CACzE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAC3B;IACH;AAEO,IAAA,UAAU,CAAC,IAAY,EAAA;QAC5B,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAChF,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAsB,CAAC,CACvC;IACH;8GAbW,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA3B,2BAA2B,EAAA,CAAA,CAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC;;;ACVD;AAOA;AAGM,MAAO,8BAA+B,SAAQ,sBAAsB,CAAA;AAD1E,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC;AAKnF,IAAA;AAHC,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,8BAA8B;IACtE;8GALW,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA9B,8BAA8B,EAAA,CAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C;;;ACLD,MAAMH,GAAC,GAAG,WAAW,CAAC,GAAG,CAAC,gEAAgE,EAAE,EAAC,gEAAgE,EAAC,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,qFAA0D,CAAC,EAAE,OAAO,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,qFAA0D,CAAC,EAAE,OAAO,EAAC,EAAQ,CAAC;AAE/W,MAAM,+BAA+B,GAAG;AAC7C,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,OAAO,EAAE,CAAC;IACV,EAAE,EAAE,KAAK,CAAC;;IAGA;AAAZ,CAAA,UAAY,uBAAuB,EAAA;AACjC,IAAA,uBAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE;AACnE,CAAC,EAFW,uBAAuB,KAAvB,uBAAuB,GAAA,EAAA,CAAA,CAAA;AAI5B,MAAM,oCAAoC,GAAG,IAAI,GAAG,CAAC;IAC1D,CAAC,uBAAuB,CAAC,8BAA8B,EAAEA,GAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACxF,CAAA;;ACVD;AAKO,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,oBAEjD,CAAA;IACA,MAAM,WAAW,CAAC,KAAgC,EAAA;AAChD,QAAA,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC;IAClC;;AALW,6BAA6B,GAAA,UAAA,CAAA;AAHzC,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,+BAA+B;KAC3C;AACY,CAAA,EAAA,6BAA6B,CAMzC;;AChBD;AAKO,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,kBAAkB,CAAA;;AAAtD,2BAA2B,GAAA,UAAA,CAAA;AAHvC,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,6BAA6B;KACzC;AACY,CAAA,EAAA,2BAA2B,CAA8B;;ACRhE,IAAW;AAAjB,CAAA,UAAiB,uBAAuB,EAAA;AACtC,IAAA,IAAY,sBAGX;AAHD,IAAA,CAAA,UAAY,sBAAsB,EAAA;AAChC,QAAA,sBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,QAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,IAAA,CAAC,EAHW,sBAAsB,GAAtB,uBAAA,CAAA,sBAAsB,KAAtB,8CAAsB,GAAA,EAAA,CAAA,CAAA;AAIpC,CAAC,EALgB,uBAAuB,KAAvB,uBAAuB,GAAA,EAAA,CAAA,CAAA;;ACIxC;AAMO,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,2BAA2B,CAAA;AAArE,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC;IAI5E;IAHE,QAAQ,GAAA;AACN,QAAA,OAAO,uBAAuB;IAChC;;AAJW,2BAA2B,GAAA,UAAA,CAAA;AAJvC,IAAA,cAAc,CAA8B;AAC3C,QAAA,SAAS,EAAE,6BAA6B;;KAEzC;AACY,CAAA,EAAA,2BAA2B,CAKvC;;ACbK,IAAW;AAAjB,CAAA,UAAiB,sBAAsB,EAAA;IACrC,SAAgB,QAAQ,CAAC,KAAa,EAAA;QACpC,OAAO,KAAK,KAAK,QAAQ;IAC3B;AAFgB,IAAA,sBAAA,CAAA,QAAQ,WAEvB;AACH,CAAC,EAJgB,sBAAsB,KAAtB,sBAAsB,GAAA,EAAA,CAAA,CAAA;;ACCjC,IAAW;AAAjB,CAAA,UAAiB,2BAA2B,EAAA;;AAE1C;;AAEG;AACU,IAAA,2BAAA,CAAA,sBAAsB,GAAgB,CACjD,OAAwB,KACG;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAEpD,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE;AAChC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,QAAQ,CAAC,KAAK,KAAK,cAAc,CAAC;AACvC,cAAE;cACA,EAAE,CAAC,uBAAuB,CAAC,8BAA8B,GAAG,IAAI,EAAE;AACxE,IAAA,CAAC;;AAGH,CAAC,EArBgB,2BAA2B,KAA3B,2BAA2B,GAAA,EAAA,CAAA,CAAA;;ACH5C;AAQA;AAGM,MAAO,+BAAgC,SAAQ,sBAAsB,CAAA;AAD3E,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,+BAA+B,GAAG,IAAI,CAAC,gBAAgB,CAAC,+BAA+B,CAAC;AAajG,IAAA;AAXC,IAAA,IAAW,cAAc,GAAA;QACvB,OAAO,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAC7E,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAC3B;IACH;AAEO,IAAA,UAAU,CAAC,IAAY,EAAA;QAC5B,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CACpF,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAsB,CAAC,CACvC;IACH;8GAbW,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA/B,+BAA+B,EAAA,CAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C;;;ACVD;AAOA;AAGM,MAAO,kCAAmC,SAAQ,sBAAsB,CAAA;AAD9E,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,6BAA6B,GAAG,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC;AAK3F,IAAA;AAHC,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,6BAA6B,CAAC,kCAAkC;IAC9E;8GALW,kCAAkC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAlC,kCAAkC,EAAA,CAAA,CAAA;;2FAAlC,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAD9C;;;ACLD,MAAMA,GAAC,GAAG,WAAW,CAAC,GAAG,CAAC,0EAA0E,EAAE,EAAC,0EAA0E,EAAC,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,0FAA+D,CAAC,EAAE,OAAO,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,0FAA+D,CAAC,EAAE,OAAO,EAAC,EAAQ,CAAC;AAE7Y,MAAM,mCAAmC,GAAG;AACjD,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,OAAO,EAAE,CAAC;IACV,EAAE,EAAE,KAAK,CAAC;;IAGA;AAAZ,CAAA,UAAY,2BAA2B,EAAA;AACrC,IAAA,2BAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE;AACnE,CAAC,EAFW,2BAA2B,KAA3B,2BAA2B,GAAA,EAAA,CAAA,CAAA;AAIhC,MAAM,wCAAwC,GAAG,IAAI,GAAG,CAAC;IAC9D,CAAC,2BAA2B,CAAC,8BAA8B,EAAEA,GAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC5F,CAAA;;ACVD;AAKO,IAAM,iCAAiC,GAAvC,MAAM,iCAAkC,SAAQ,oBAErD,CAAA;IACA,MAAM,WAAW,CAAC,KAAoC,EAAA;AACpD,QAAA,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC;IAClC;;AALW,iCAAiC,GAAA,UAAA,CAAA;AAH7C,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,mCAAmC;KAC/C;AACY,CAAA,EAAA,iCAAiC,CAM7C;;AChBD;AAKO,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,kBAAkB,CAAA;;AAA1D,+BAA+B,GAAA,UAAA,CAAA;AAH3C,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,iCAAiC;KAC7C;AACY,CAAA,EAAA,+BAA+B,CAA8B;;ACRpE,IAAW;AAAjB,CAAA,UAAiB,2BAA2B,EAAA;AAC1C,IAAA,IAAY,0BAGX;AAHD,IAAA,CAAA,UAAY,0BAA0B,EAAA;AACpC,QAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,QAAA,0BAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,IAAA,CAAC,EAHW,0BAA0B,GAA1B,2BAAA,CAAA,0BAA0B,KAA1B,sDAA0B,GAAA,EAAA,CAAA,CAAA;AAIxC,CAAC,EALgB,2BAA2B,KAA3B,2BAA2B,GAAA,EAAA,CAAA,CAAA;;ACI5C;AAMO,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,2BAA2B,CAAA;AAAzE,IAAA,WAAA,GAAA;;AACL,QAAA,IAAA,CAAA,6BAA6B,GAAG,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC;IAIpF;IAHE,QAAQ,GAAA;AACN,QAAA,OAAO,2BAA2B;IACpC;;AAJW,+BAA+B,GAAA,UAAA,CAAA;AAJ3C,IAAA,cAAc,CAAkC;AAC/C,QAAA,SAAS,EAAE,iCAAiC;;KAE7C;AACY,CAAA,EAAA,+BAA+B,CAK3C;;ACbK,IAAW;AAAjB,CAAA,UAAiB,0BAA0B,EAAA;IACzC,SAAgB,QAAQ,CAAC,KAAa,EAAA;QACpC,OAAO,KAAK,KAAK,QAAQ;IAC3B;AAFgB,IAAA,0BAAA,CAAA,QAAQ,WAEvB;AACH,CAAC,EAJgB,0BAA0B,KAA1B,0BAA0B,GAAA,EAAA,CAAA,CAAA;;ACCrC,IAAW;AAAjB,CAAA,UAAiB,+BAA+B,EAAA;;AAE9C;;AAEG;AACU,IAAA,+BAAA,CAAA,sBAAsB,GAAgB,CACjD,OAAwB,KACG;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAEpD,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE;AAChC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,QAAQ,CAAC,KAAK,KAAK,cAAc,CAAC;AACvC,cAAE;cACA,EAAE,CAAC,2BAA2B,CAAC,8BAA8B,GAAG,IAAI,EAAE;AAC5E,IAAA,CAAC;;AAGH,CAAC,EArBgB,+BAA+B,KAA/B,+BAA+B,GAAA,EAAA,CAAA,CAAA;;ACHhD;AAQA;AAGM,MAAO,sCAAuC,SAAQ,sBAAsB,CAAA;AADlF,IAAA,WAAA,GAAA;;AAEkB,QAAA,IAAA,CAAA,sCAAsC,GAAG,IAAI,CAAC,gBAAgB,CAAC,sCAAsC,CAAC;AAavH,IAAA;AAXC,IAAA,IAAW,cAAc,GAAA;QACvB,OAAO,IAAI,CAAC,sCAAsC,CAAC,MAAM,EAAE,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CACpF,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAC3B;IACH;AAEO,IAAA,UAAU,CAAC,IAAY,EAAA;QAC5B,OAAO,IAAI,CAAC,sCAAsC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAC3F,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAsB,CAAC,CACvC;IACH;8GAbW,sCAAsC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAtC,sCAAsC,EAAA,CAAA,CAAA;;2FAAtC,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBADlD;;;ACVD;AAOA;AAGM,MAAO,yCAA0C,SAAQ,sBAAsB,CAAA;AADrF,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,oCAAoC,GAAG,IAAI,CAAC,cAAc,CAAC,oCAAoC,CAAC;AAUzG,IAAA;AARC,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,oCAAoC,CAAC,yCAAyC;IAC5F;IAEA,KAAK,GAAA;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,oCAAoC,CAAC,KAAK,EAAE;AAChE,QAAA,OAAO,MAAM;IACf;8GAVW,yCAAyC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAzC,yCAAyC,EAAA,CAAA,CAAA;;2FAAzC,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBADrD;;;ACLD,MAAMA,GAAC,GAAG,WAAW,CAAC,GAAG,CAAC,wFAAwF,EAAE,EAAC,wFAAwF,EAAC,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,iGAAsE,CAAC,EAAE,OAAO,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,iGAAsE,CAAC,EAAE,OAAO,EAAC,EAAQ,CAAC;AAEvb,MAAM,0CAA0C,GAAG;AACxD,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,OAAO,EAAE,CAAC;IACV,EAAE,EAAE,KAAK,CAAC;;IAGA;AAAZ,CAAA,UAAY,kCAAkC,EAAA;AAC5C,IAAA,kCAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE;AACnE,CAAC,EAFW,kCAAkC,KAAlC,kCAAkC,GAAA,EAAA,CAAA,CAAA;AAIvC,MAAM,+CAA+C,GAAG,IAAI,GAAG,CAAC;IACrE,CAAC,kCAAkC,CAAC,8BAA8B,EAAEA,GAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACnG,CAAA;;ACVD;AAKO,IAAM,wCAAwC,GAA9C,MAAM,wCAAyC,SAAQ,oBAE5D,CAAA;IACA,MAAM,WAAW,CAAC,KAA2C,EAAA;AAC3D,QAAA,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC;IAClC;;AALW,wCAAwC,GAAA,UAAA,CAAA;AAHpD,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,0CAA0C;KACtD;AACY,CAAA,EAAA,wCAAwC,CAMpD;;AChBD;AAKO,IAAM,sCAAsC,GAA5C,MAAM,sCAAuC,SAAQ,kBAAkB,CAAA;;AAAjE,sCAAsC,GAAA,UAAA,CAAA;AAHlD,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,wCAAwC;KACpD;AACY,CAAA,EAAA,sCAAsC,CAA8B;;ACR3E,IAAW;AAAjB,CAAA,UAAiB,kCAAkC,EAAA;AACjD,IAAA,IAAY,iCAGX;AAHD,IAAA,CAAA,UAAY,iCAAiC,EAAA;AAC3C,QAAA,iCAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,QAAA,iCAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,IAAA,CAAC,EAHW,iCAAiC,GAAjC,kCAAA,CAAA,iCAAiC,KAAjC,oEAAiC,GAAA,EAAA,CAAA,CAAA;AAI/C,CAAC,EALgB,kCAAkC,KAAlC,kCAAkC,GAAA,EAAA,CAAA,CAAA;;ACInD;AAMO,IAAM,sCAAsC,GAA5C,MAAM,sCAAuC,SAAQ,2BAA2B,CAAA;AAAhF,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,oCAAoC,GAAG,IAAI,CAAC,cAAc,CAAC,oCAAoC,CAAC;IAInH;IAHE,QAAQ,GAAA;AACN,QAAA,OAAO,kCAAkC;IAC3C;;AAJW,sCAAsC,GAAA,UAAA,CAAA;AAJlD,IAAA,cAAc,CAAyC;AACtD,QAAA,SAAS,EAAE,wCAAwC;;KAEpD;AACY,CAAA,EAAA,sCAAsC,CAKlD;;ACbK,IAAW;AAAjB,CAAA,UAAiB,iCAAiC,EAAA;IAChD,SAAgB,QAAQ,CAAC,KAAa,EAAA;QACpC,OAAO,KAAK,KAAK,QAAQ;IAC3B;AAFgB,IAAA,iCAAA,CAAA,QAAQ,WAEvB;AACH,CAAC,EAJgB,iCAAiC,KAAjC,iCAAiC,GAAA,EAAA,CAAA,CAAA;;ACC5C,IAAW;AAAjB,CAAA,UAAiB,sCAAsC,EAAA;;AAErD;;AAEG;AACU,IAAA,sCAAA,CAAA,sBAAsB,GAAgB,CACjD,OAAwB,KACG;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAEpD,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE;AAChC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,QAAQ,CAAC,KAAK,KAAK,cAAc,CAAC;AACvC,cAAE;cACA,EAAE,CAAC,kCAAkC,CAAC,8BAA8B,GAAG,IAAI,EAAE;AACnF,IAAA,CAAC;;AAGH,CAAC,EArBgB,sCAAsC,KAAtC,sCAAsC,GAAA,EAAA,CAAA,CAAA;;ACHvD;AAOA;AAGM,MAAO,+BAAgC,SAAQ,sBAAsB,CAAA;AAD3E,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC;AAUrF,IAAA;AARC,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,0BAA0B,CAAC,+BAA+B;IACxE;IAEA,KAAK,GAAA;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE;AACtD,QAAA,OAAO,MAAM;IACf;8GAVW,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA/B,+BAA+B,EAAA,CAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C;;;ACLD,MAAMA,GAAC,GAAG,WAAW,CAAC,GAAG,CAAC,kEAAkE,EAAE,EAAC,kEAAkE,EAAC,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,sFAA2D,CAAC,EAAE,OAAO,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,sFAA2D,CAAC,EAAE,OAAO,EAAC,EAAQ,CAAC;AAErX,MAAM,gCAAgC,GAAG;AAC9C,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,OAAO,EAAE,CAAC;IACV,EAAE,EAAE,KAAK,CAAC;;IAGA;AAAZ,CAAA,UAAY,wBAAwB,EAAA;AAClC,IAAA,wBAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE;AACnE,CAAC,EAFW,wBAAwB,KAAxB,wBAAwB,GAAA,EAAA,CAAA,CAAA;AAI7B,MAAM,qCAAqC,GAAG,IAAI,GAAG,CAAC;IAC3D,CAAC,wBAAwB,CAAC,8BAA8B,EAAEA,GAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACzF,CAAA;;ACVD;AAKO,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,oBAElD,CAAA;IACA,MAAM,WAAW,CAAC,KAAiC,EAAA;AACjD,QAAA,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC;IAClC;;AALW,8BAA8B,GAAA,UAAA,CAAA;AAH1C,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,gCAAgC;KAC5C;AACY,CAAA,EAAA,8BAA8B,CAM1C;;AChBD;AAKO,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,kBAAkB,CAAA;;AAAvD,4BAA4B,GAAA,UAAA,CAAA;AAHxC,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,8BAA8B;KAC1C;AACY,CAAA,EAAA,4BAA4B,CAA8B;;ACRjE,IAAW;AAAjB,CAAA,UAAiB,wBAAwB,EAAA;AACvC,IAAA,IAAY,uBAGX;AAHD,IAAA,CAAA,UAAY,uBAAuB,EAAA;AACjC,QAAA,uBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,QAAA,uBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,IAAA,CAAC,EAHW,uBAAuB,GAAvB,wBAAA,CAAA,uBAAuB,KAAvB,gDAAuB,GAAA,EAAA,CAAA,CAAA;AAIrC,CAAC,EALgB,wBAAwB,KAAxB,wBAAwB,GAAA,EAAA,CAAA,CAAA;;ACIzC;AAMO,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,2BAA2B,CAAA;AAAtE,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC;IAI/F;IAHE,QAAQ,GAAA;AACN,QAAA,OAAO,wBAAwB;IACjC;;AAJW,4BAA4B,GAAA,UAAA,CAAA;AAJxC,IAAA,cAAc,CAA+B;AAC5C,QAAA,SAAS,EAAE,8BAA8B;;KAE1C;AACY,CAAA,EAAA,4BAA4B,CAKxC;;ACbK,IAAW;AAAjB,CAAA,UAAiB,uBAAuB,EAAA;IACtC,SAAgB,QAAQ,CAAC,KAAa,EAAA;QACpC,OAAO,KAAK,KAAK,QAAQ;IAC3B;AAFgB,IAAA,uBAAA,CAAA,QAAQ,WAEvB;AACH,CAAC,EAJgB,uBAAuB,KAAvB,uBAAuB,GAAA,EAAA,CAAA,CAAA;;ACClC,IAAW;AAAjB,CAAA,UAAiB,4BAA4B,EAAA;;AAE3C;;AAEG;AACU,IAAA,4BAAA,CAAA,sBAAsB,GAAgB,CACjD,OAAwB,KACG;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAEpD,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE;AAChC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,QAAQ,CAAC,KAAK,KAAK,cAAc,CAAC;AACvC,cAAE;cACA,EAAE,CAAC,wBAAwB,CAAC,8BAA8B,GAAG,IAAI,EAAE;AACzE,IAAA,CAAC;;AAGH,CAAC,EArBgB,4BAA4B,KAA5B,4BAA4B,GAAA,EAAA,CAAA,CAAA;;ACH7C;AAOA;AAGM,MAAO,mCAAoC,SAAQ,sBAAsB,CAAA;AAD/E,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,8BAA8B,GAAG,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC;AAU7F,IAAA;AARC,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,8BAA8B,CAAC,mCAAmC;IAChF;IAEA,KAAK,GAAA;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE;AAC1D,QAAA,OAAO,MAAM;IACf;8GAVW,mCAAmC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAnC,mCAAmC,EAAA,CAAA,CAAA;;2FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAD/C;;;ACLD,MAAMA,GAAC,GAAG,WAAW,CAAC,GAAG,CAAC,4EAA4E,EAAE,EAAC,4EAA4E,EAAC,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,2FAAgE,CAAC,EAAE,OAAO,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,2FAAgE,CAAC,EAAE,OAAO,EAAC,EAAQ,CAAC;AAEnZ,MAAM,oCAAoC,GAAG;AAClD,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,OAAO,EAAE,CAAC;IACV,EAAE,EAAE,KAAK,CAAC;;IAGA;AAAZ,CAAA,UAAY,4BAA4B,EAAA;AACtC,IAAA,4BAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE;AACnE,CAAC,EAFW,4BAA4B,KAA5B,4BAA4B,GAAA,EAAA,CAAA,CAAA;AAIjC,MAAM,yCAAyC,GAAG,IAAI,GAAG,CAAC;IAC/D,CAAC,4BAA4B,CAAC,8BAA8B,EAAEA,GAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC7F,CAAA;;ACVD;AAKO,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,oBAEtD,CAAA;IACA,MAAM,WAAW,CAAC,KAAqC,EAAA;AACrD,QAAA,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC;IAClC;;AALW,kCAAkC,GAAA,UAAA,CAAA;AAH9C,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,oCAAoC;KAChD;AACY,CAAA,EAAA,kCAAkC,CAM9C;;AChBD;AAKO,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,kBAAkB,CAAA;;AAA3D,gCAAgC,GAAA,UAAA,CAAA;AAH5C,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,kCAAkC;KAC9C;AACY,CAAA,EAAA,gCAAgC,CAA8B;;ACRrE,IAAW;AAAjB,CAAA,UAAiB,4BAA4B,EAAA;AAC3C,IAAA,IAAY,2BAGX;AAHD,IAAA,CAAA,UAAY,2BAA2B,EAAA;AACrC,QAAA,2BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,QAAA,2BAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,IAAA,CAAC,EAHW,2BAA2B,GAA3B,4BAAA,CAAA,2BAA2B,KAA3B,wDAA2B,GAAA,EAAA,CAAA,CAAA;AAIzC,CAAC,EALgB,4BAA4B,KAA5B,4BAA4B,GAAA,EAAA,CAAA,CAAA;;ACI7C;AAMO,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,2BAA2B,CAAA;AAA1E,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,8BAA8B,GAAG,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC;IAIvG;IAHE,QAAQ,GAAA;AACN,QAAA,OAAO,4BAA4B;IACrC;;AAJW,gCAAgC,GAAA,UAAA,CAAA;AAJ5C,IAAA,cAAc,CAAmC;AAChD,QAAA,SAAS,EAAE,kCAAkC;;KAE9C;AACY,CAAA,EAAA,gCAAgC,CAK5C;;ACbK,IAAW;AAAjB,CAAA,UAAiB,2BAA2B,EAAA;IAC1C,SAAgB,QAAQ,CAAC,KAAa,EAAA;QACpC,OAAO,KAAK,KAAK,QAAQ;IAC3B;AAFgB,IAAA,2BAAA,CAAA,QAAQ,WAEvB;AACH,CAAC,EAJgB,2BAA2B,KAA3B,2BAA2B,GAAA,EAAA,CAAA,CAAA;;ACCtC,IAAW;AAAjB,CAAA,UAAiB,gCAAgC,EAAA;;AAE/C;;AAEG;AACU,IAAA,gCAAA,CAAA,sBAAsB,GAAgB,CACjD,OAAwB,KACG;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAEpD,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE;AAChC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,QAAQ,CAAC,KAAK,KAAK,cAAc,CAAC;AACvC,cAAE;cACA,EAAE,CAAC,4BAA4B,CAAC,8BAA8B,GAAG,IAAI,EAAE;AAC7E,IAAA,CAAC;;AAGH,CAAC,EArBgB,gCAAgC,KAAhC,gCAAgC,GAAA,EAAA,CAAA,CAAA;;ACHjD;AAQA;AAGM,MAAO,yCAA0C,SAAQ,sBAAsB,CAAA;AADrF,IAAA,WAAA,GAAA;;AAEkB,QAAA,IAAA,CAAA,yCAAyC,GAAG,IAAI,CAAC,gBAAgB,CAAC,yCAAyC,CAAC;AAa7H,IAAA;AAXC,IAAA,IAAW,cAAc,GAAA;QACvB,OAAO,IAAI,CAAC,yCAAyC,CAAC,MAAM,EAAE,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CACvF,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAC3B;IACH;AAEO,IAAA,UAAU,CAAC,IAAY,EAAA;QAC5B,OAAO,IAAI,CAAC,yCAAyC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAC9F,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAsB,CAAC,CACvC;IACH;8GAbW,yCAAyC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAzC,yCAAyC,EAAA,CAAA,CAAA;;2FAAzC,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBADrD;;;ACVD;AAOA;AAGM,MAAO,4CAA6C,SAAQ,sBAAsB,CAAA;AADxF,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,uCAAuC,GAAG,IAAI,CAAC,cAAc,CAAC,uCAAuC,CAAC;AAU/G,IAAA;AARC,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,uCAAuC,CAAC,4CAA4C;IAClG;IAEA,KAAK,GAAA;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,uCAAuC,CAAC,KAAK,EAAE;AACnE,QAAA,OAAO,MAAM;IACf;8GAVW,4CAA4C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA5C,4CAA4C,EAAA,CAAA,CAAA;;2FAA5C,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBADxD;;;ACLD,MAAMA,GAAC,GAAG,WAAW,CAAC,GAAG,CAAC,8FAA8F,EAAE,EAAC,8FAA8F,EAAC,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,oGAAyE,CAAC,EAAE,OAAO,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,oGAAyE,CAAC,EAAE,OAAO,EAAC,EAAQ,CAAC;AAEzc,MAAM,6CAA6C,GAAG;AAC3D,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,OAAO,EAAE,CAAC;IACV,EAAE,EAAE,KAAK,CAAC;;IAGA;AAAZ,CAAA,UAAY,qCAAqC,EAAA;AAC/C,IAAA,qCAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE;AACnE,CAAC,EAFW,qCAAqC,KAArC,qCAAqC,GAAA,EAAA,CAAA,CAAA;AAI1C,MAAM,kDAAkD,GAAG,IAAI,GAAG,CAAC;IACxE,CAAC,qCAAqC,CAAC,8BAA8B,EAAEA,GAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACtG,CAAA;;ACVD;AAKO,IAAM,2CAA2C,GAAjD,MAAM,2CAA4C,SAAQ,oBAE/D,CAAA;IACA,MAAM,WAAW,CAAC,KAA8C,EAAA;AAC9D,QAAA,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC;IAClC;;AALW,2CAA2C,GAAA,UAAA,CAAA;AAHvD,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,6CAA6C;KACzD;AACY,CAAA,EAAA,2CAA2C,CAMvD;;AChBD;AAKO,IAAM,yCAAyC,GAA/C,MAAM,yCAA0C,SAAQ,kBAAkB,CAAA;;AAApE,yCAAyC,GAAA,UAAA,CAAA;AAHrD,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,2CAA2C;KACvD;AACY,CAAA,EAAA,yCAAyC,CAA8B;;ACR9E,IAAW;AAAjB,CAAA,UAAiB,qCAAqC,EAAA;AACpD,IAAA,IAAY,oCAGX;AAHD,IAAA,CAAA,UAAY,oCAAoC,EAAA;AAC9C,QAAA,oCAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,QAAA,oCAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,IAAA,CAAC,EAHW,oCAAoC,GAApC,qCAAA,CAAA,oCAAoC,KAApC,0EAAoC,GAAA,EAAA,CAAA,CAAA;AAIlD,CAAC,EALgB,qCAAqC,KAArC,qCAAqC,GAAA,EAAA,CAAA,CAAA;;ACItD;AAMO,IAAM,yCAAyC,GAA/C,MAAM,yCAA0C,SAAQ,2BAA2B,CAAA;AAAnF,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,uCAAuC,GAAG,IAAI,CAAC,cAAc,CAAC,uCAAuC,CAAC;IAIzH;IAHE,QAAQ,GAAA;AACN,QAAA,OAAO,qCAAqC;IAC9C;;AAJW,yCAAyC,GAAA,UAAA,CAAA;AAJrD,IAAA,cAAc,CAA4C;AACzD,QAAA,SAAS,EAAE,2CAA2C;;KAEvD;AACY,CAAA,EAAA,yCAAyC,CAKrD;;ACbK,IAAW;AAAjB,CAAA,UAAiB,oCAAoC,EAAA;IACnD,SAAgB,QAAQ,CAAC,KAAa,EAAA;QACpC,OAAO,KAAK,KAAK,QAAQ;IAC3B;AAFgB,IAAA,oCAAA,CAAA,QAAQ,WAEvB;AACH,CAAC,EAJgB,oCAAoC,KAApC,oCAAoC,GAAA,EAAA,CAAA,CAAA;;ACC/C,IAAW;AAAjB,CAAA,UAAiB,yCAAyC,EAAA;;AAExD;;AAEG;AACU,IAAA,yCAAA,CAAA,sBAAsB,GAAgB,CACjD,OAAwB,KACG;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAEpD,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE;AAChC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,QAAQ,CAAC,KAAK,KAAK,cAAc,CAAC;AACvC,cAAE;cACA,EAAE,CAAC,qCAAqC,CAAC,8BAA8B,GAAG,IAAI,EAAE;AACtF,IAAA,CAAC;;AAGH,CAAC,EArBgB,yCAAyC,KAAzC,yCAAyC,GAAA,EAAA,CAAA,CAAA;;ACH1D;AAQA;AAGM,MAAO,wCAAyC,SAAQ,sBAAsB,CAAA;AADpF,IAAA,WAAA,GAAA;;AAEkB,QAAA,IAAA,CAAA,wCAAwC,GAAG,IAAI,CAAC,gBAAgB,CAAC,wCAAwC,CAAC;AAa3H,IAAA;AAXC,IAAA,IAAW,cAAc,GAAA;QACvB,OAAO,IAAI,CAAC,wCAAwC,CAAC,MAAM,EAAE,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CACtF,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAC3B;IACH;AAEO,IAAA,UAAU,CAAC,IAAY,EAAA;QAC5B,OAAO,IAAI,CAAC,wCAAwC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAC7F,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAsB,CAAC,CACvC;IACH;8GAbW,wCAAwC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAxC,wCAAwC,EAAA,CAAA,CAAA;;2FAAxC,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBADpD;;;ACVD;AAUA;AAGM,MAAO,8BAA+B,SAAQ,sBAAsB,CAAA;AAD1E,IAAA,WAAA,GAAA;;AAEkB,QAAA,IAAA,CAAA,8BAA8B,GAAG,IAAI,CAAC,gBAAgB,CACpE,8BAA8B,CAC/B;AAuBF,IAAA;IArBQ,oBAAoB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,8BAA8B,CAAC,MAAM;aAC9C,OAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,CAC3B,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EACzB,GAAG,CAAC,CAAC,KAAK;AACR,YAAA,iBAAiB,EAAE,CAAC;SACrB,CAAC,CAAC,CACJ;IACH;AAEO,IAAA,MAAM,cAAc,GAAA;AACzB,QAAA,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,8BAA8B,CAAC,cAAc,EAAE,CAAC,OAAQ,EAAE;AAEvE,QAAA,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AAC9B,YAAA,MAAM,IAAI,KAAK,CACb,QAAQ,CAAC,YAAY;AACnB,gBAAA,4DAA4D,CAC/D;QACH;IACF;8GAzBW,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA9B,8BAA8B,EAAA,CAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C;;;MCiDY,uCAAuC,CAAA;AA2ClD,IAAA,WAAA,GAAA;AA1CS,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAqC,eAAe,CAAC;AAElE,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,EACzB,YAAqD,EACtD;AAEgB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,8BAA8B,CAAC;AAEnD,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAC5C,wCAAwC,CACzC;AAEgB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,wBAAwB,CAAC;QAExD,IAAA,CAAA,YAAY,GAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC;QAChE,IAAA,CAAA,UAAU,GAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;QAC7C,IAAA,CAAA,eAAe,GAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CACrD,IAAI,KAAK;QAEH,IAAA,CAAA,KAAK,GAAG,MAAM,CAAe;YACpC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE;YACnC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE;YACjD,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAK,SAAyB;YAC3D,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC;YACpC,QAAQ,EAAE,IAAI,CAAC,eAAe;AAC/B,SAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAEO,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAyB,EAAE,uDAAC;AAEhD,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAW,EAAE,iEAAC;AAE5C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,IAAI,mDAAC;AAEtB,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,KAAK,6DAAC;AAEjC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,KAAK,kDAAC;AAEtB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,EAAE,iDAAC;AAGzB,QAAA,KAAK,IAAI,CAAC,IAAI,EAAE;IAClB;AAEA,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;AAEjC,QAAA,IAAI;YACF,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC7D,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,OAAQ,EAAE;AAC/D,gBAAA,IAAI,CAAC,oBAAoB,CAAC,wCAAwC,CAAC,MAAM;AACtE,qBAAA,OAAQ,EAAE;AACd,aAAA,CAAC;AAEF,YAAA,IACE,mBAAmB,CAAC,UAAU,IAAI,GAAG;AACrC,gBAAA,aAAa,CAAC,UAAU,IAAI,GAAG,EAC/B;AACA,gBAAA,MAAM,IAAI,KAAK,CACb,mBAAmB,CAAC,YAAY;AAC9B,oBAAA,aAAa,CAAC,YAAY;AAC1B,oBAAA,qCAAqC,CACxC;YACH;AAEA,YAAA,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI;AACrD,YAAA,MAAM,qBAAqB,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI;AACtD,YAAA,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;AAC9B,gBAAA,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EACrC;AACA,gBAAA,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC;YAC1D;AAEA,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC;AACpC,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACvC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC5B,OAAO,SAAS,KAAK;AACnB,kBAAG;qBACE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;qBAC3C,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY;kBAChC,EAAE,CACP;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CACX,2DAA2D,EAC3D,KAAK,CACN;AACD,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,KAAK,YAAY;kBACb,KAAK,CAAC;kBACN,qCAAqC,CAC1C;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACzB;IACF;AAEA,IAAA,UAAU,CAAC,IAAiB,EAAA;AAC1B,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD;AAEA,IAAA,WAAW,CAAC,KAAoB,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD;AAEA,IAAA,UAAU,CAAC,IAAY,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD;AAEA,IAAA,iBAAiB,CAAC,WAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IACzD;AAEA,IAAA,YAAY,CAAC,MAAe,EAAA;AAC1B,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD;AAEA,IAAA,cAAc,CAAC,QAAyB,EAAA;AACtC,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD;AAEA,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAChE;QACF;AAEA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,QAAA,IACE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YAClB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YACzC,KAAK,CAAC,KAAK,KAAK,IAAI;AACpB,YAAA,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;AAC7B,YAAA,KAAK,CAAC,KAAK,GAAG,CAAC,EACf;AACA,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,+DAA+D,CAChE;YACD;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAElB,QAAA,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,0BAA0B,EAAE,EAAE;AAC9D,gBAAA,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO;AACpB,gBAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;gBACvB,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,IAAI;gBAC7C,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;AACzB,aAAA,CAAC;AACF,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;kBAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,UAAU,CAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAG,EACrB,OAAO,CACR,CAAC,OAAQ;kBACV,MAAM,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,IAAI,CAAC,OAAO;AAC9D,qBAAA,OAAQ,EAAE;AAEjB,YAAA,IAAI,eAAe,CAAC,UAAU,IAAI,GAAG,EAAE;gBACrC,MAAM,IAAI,KAAK,CACb,eAAe,CAAC,YAAY,IAAI,6BAA6B,CAC9D;YACH;AACA,YAAA,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI;YAC/C,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,CAAC,EAAE,KAAK,QAAQ,EAAE;AACxD,gBAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC;YAC5D;AACA,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,YAAY;YAEhC,MAAM,aAAa,GACjB,MAAM,IAAI,CAAC,oBAAoB,CAAC,wCAAwC,CAAC,MAAM;AAC5E,iBAAA,OAAQ,EAAE;AACf,YAAA,IACE,aAAa,CAAC,UAAU,IAAI,GAAG;gBAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EACxC;AACA,gBAAA,MAAM,IAAI,KAAK,CACb,aAAa,CAAC,YAAY;AACxB,oBAAA,2CAA2C,CAC9C;YACH;YAEA,MAAM,aAAa,GACjB,aAAa,CAAC,IAAI,CAAC,IACpB,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,CAAC,EAAE,CAAC;YACpD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;AACzD,YAAA,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;gBAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACvC,oBAAA,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,oBAAoB,CAAC,wCAAwC,CAAC,UAAU,CACjF,IAAI,CAAC,EAAG,CACT,CAAC,OAAQ,EAAE;AACd,oBAAA,IAAI,cAAc,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,wBAAA,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,YAAY;AACzB,4BAAA,wCAAwC,CAC3C;oBACH;gBACF;YACF;AAEA,YAAA,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;AACzE,YAAA,KAAK,MAAM,YAAY,IAAI,WAAW,EAAE;gBACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;oBAClC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CACxB,IAAI,oCAAoC,EAAE,EAC1C;wBACE,SAAS,EAAE,YAAY,CAAC,EAAE;wBAC1B,YAAY;AACb,qBAAA,CACF;AACD,oBAAA,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,oBAAoB,CAAC,wCAAwC,CAAC,IAAI,CAC3E,IAAI,CACL,CAAC,OAAQ,EAAE;AACd,oBAAA,IAAI,YAAY,CAAC,UAAU,IAAI,GAAG,EAAE;AAClC,wBAAA,MAAM,IAAI,KAAK,CACb,YAAY,CAAC,YAAY;AACvB,4BAAA,+CAA+C,CAClD;oBACH;gBACF;YACF;AAEA,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;QACpC;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CACX,uDAAuD,EACvD,KAAK,CACN;AACD,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,6BAA6B,CACvE;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB;IACF;8GAtPW,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uCAAuC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qCAAA,EAAA,SAAA,EANvC;YACT,8BAA8B;YAC9B,wCAAwC;YACxC,wBAAwB;AACzB,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3DH,++HAyIA,EAAA,MAAA,EAAA,CAAA,6VAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1FI,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,sGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gHAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,QAAA,EAAA,yEAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,WAAA,EAAA,IAAA,EAAA,UAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,cAAc,iYACd,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,YAAA,EAAA,0BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAQN,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBApBnD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qCAAqC,EAAA,eAAA,EAG9B,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACP,WAAW;wBACX,eAAe;wBACf,iBAAiB;wBACjB,eAAe;wBACf,kBAAkB;wBAClB,cAAc;wBACd,eAAe;qBAChB,EAAA,SAAA,EACU;wBACT,8BAA8B;wBAC9B,wCAAwC;wBACxC,wBAAwB;AACzB,qBAAA,EAAA,QAAA,EAAA,++HAAA,EAAA,MAAA,EAAA,CAAA,6VAAA,CAAA,EAAA;;;AE3DH;AAOA;AAGM,MAAO,iCAAkC,SAAQ,sBAAsB,CAAA;AAD7E,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,4BAA4B,GAAG,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC;AAUzF,IAAA;AARC,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,4BAA4B,CAAC,iCAAiC;IAC5E;IAEA,KAAK,GAAA;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE;AACxD,QAAA,OAAO,MAAM;IACf;8GAVW,iCAAiC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjC,iCAAiC,EAAA,CAAA,CAAA;;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAD7C;;;ACLD,MAAMH,GAAC,GAAG,WAAW,CAAC,GAAG,CAAC,sEAAsE,EAAE,EAAC,sEAAsE,EAAC,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,wFAA6D,CAAC,EAAE,OAAO,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,wFAA6D,CAAC,EAAE,OAAO,EAAC,EAAQ,CAAC;AAEjY,MAAM,kCAAkC,GAAG;AAChD,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,OAAO,EAAE,CAAC;IACV,EAAE,EAAE,KAAK,CAAC;;IAGA;AAAZ,CAAA,UAAY,0BAA0B,EAAA;AACpC,IAAA,0BAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE;AACnE,CAAC,EAFW,0BAA0B,KAA1B,0BAA0B,GAAA,EAAA,CAAA,CAAA;AAI/B,MAAM,uCAAuC,GAAG,IAAI,GAAG,CAAC;IAC7D,CAAC,0BAA0B,CAAC,8BAA8B,EAAEA,GAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC3F,CAAA;;ACVD;AAKO,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,oBAEpD,CAAA;IACA,MAAM,WAAW,CAAC,KAAmC,EAAA;AACnD,QAAA,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC;IAClC;;AALW,gCAAgC,GAAA,UAAA,CAAA;AAH5C,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,kCAAkC;KAC9C;AACY,CAAA,EAAA,gCAAgC,CAM5C;;AChBD;AAKO,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,kBAAkB,CAAA;;AAAzD,8BAA8B,GAAA,UAAA,CAAA;AAH1C,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,gCAAgC;KAC5C;AACY,CAAA,EAAA,8BAA8B,CAA8B;;ACRnE,IAAW;AAAjB,CAAA,UAAiB,0BAA0B,EAAA;AACzC,IAAA,IAAY,yBAGX;AAHD,IAAA,CAAA,UAAY,yBAAyB,EAAA;AACnC,QAAA,yBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,QAAA,yBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,IAAA,CAAC,EAHW,yBAAyB,GAAzB,0BAAA,CAAA,yBAAyB,KAAzB,oDAAyB,GAAA,EAAA,CAAA,CAAA;AAIvC,CAAC,EALgB,0BAA0B,KAA1B,0BAA0B,GAAA,EAAA,CAAA,CAAA;;ACI3C;AAMO,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,2BAA2B,CAAA;AAAxE,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,4BAA4B,GAAG,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC;IAInG;IAHE,QAAQ,GAAA;AACN,QAAA,OAAO,0BAA0B;IACnC;;AAJW,8BAA8B,GAAA,UAAA,CAAA;AAJ1C,IAAA,cAAc,CAAiC;AAC9C,QAAA,SAAS,EAAE,gCAAgC;;KAE5C;AACY,CAAA,EAAA,8BAA8B,CAK1C;;ACbK,IAAW;AAAjB,CAAA,UAAiB,yBAAyB,EAAA;IACxC,SAAgB,QAAQ,CAAC,KAAa,EAAA;QACpC,OAAO,KAAK,KAAK,QAAQ;IAC3B;AAFgB,IAAA,yBAAA,CAAA,QAAQ,WAEvB;AACH,CAAC,EAJgB,yBAAyB,KAAzB,yBAAyB,GAAA,EAAA,CAAA,CAAA;;ACCpC,IAAW;AAAjB,CAAA,UAAiB,8BAA8B,EAAA;;AAE7C;;AAEG;AACU,IAAA,8BAAA,CAAA,sBAAsB,GAAgB,CACjD,OAAwB,KACG;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAEpD,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE;AAChC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,QAAQ,CAAC,KAAK,KAAK,cAAc,CAAC;AACvC,cAAE;cACA,EAAE,CAAC,0BAA0B,CAAC,8BAA8B,GAAG,IAAI,EAAE;AAC3E,IAAA,CAAC;;AAGH,CAAC,EArBgB,8BAA8B,KAA9B,8BAA8B,GAAA,EAAA,CAAA,CAAA;;ACH/C;AAOA;AAGM,MAAO,2CAA4C,SAAQ,sBAAsB,CAAA;AADvF,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,sCAAsC,GAAG,IAAI,CAAC,cAAc,CAAC,sCAAsC,CAAC;AAU7G,IAAA;AARC,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,sCAAsC,CAAC,2CAA2C;IAChG;IAEA,KAAK,GAAA;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,sCAAsC,CAAC,KAAK,EAAE;AAClE,QAAA,OAAO,MAAM;IACf;8GAVW,2CAA2C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA3C,2CAA2C,EAAA,CAAA,CAAA;;2FAA3C,2CAA2C,EAAA,UAAA,EAAA,CAAA;kBADvD;;;ACLD,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,4FAA4F,EAAE,EAAC,4FAA4F,EAAC,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,mGAAwE,CAAC,EAAE,OAAO,EAAC,OAAO,EAAC,YAAY,CAAC,MAAM,OAAO,mGAAwE,CAAC,EAAE,OAAO,EAAC,EAAQ,CAAC;AAEnc,MAAM,4CAA4C,GAAG;AAC1D,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,OAAO,EAAE,CAAC;IACV,EAAE,EAAE,KAAK,CAAC;;IAGA;AAAZ,CAAA,UAAY,oCAAoC,EAAA;AAC9C,IAAA,oCAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE;AACnE,CAAC,EAFW,oCAAoC,KAApC,oCAAoC,GAAA,EAAA,CAAA,CAAA;AAIzC,MAAM,iDAAiD,GAAG,IAAI,GAAG,CAAC;IACvE,CAAC,oCAAoC,CAAC,8BAA8B,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACrG,CAAA;;ACVD;AAKO,IAAM,0CAA0C,GAAhD,MAAM,0CAA2C,SAAQ,oBAE9D,CAAA;IACA,MAAM,WAAW,CAAC,KAA6C,EAAA;AAC7D,QAAA,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC;IAClC;;AALW,0CAA0C,GAAA,UAAA,CAAA;AAHtD,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,4CAA4C;KACxD;AACY,CAAA,EAAA,0CAA0C,CAMtD;;AChBD;AAKO,IAAM,wCAAwC,GAA9C,MAAM,wCAAyC,SAAQ,kBAAkB,CAAA;;AAAnE,wCAAwC,GAAA,UAAA,CAAA;AAHpD,IAAA,cAAc,CAAC;AACd,QAAA,SAAS,EAAE,0CAA0C;KACtD;AACY,CAAA,EAAA,wCAAwC,CAA8B;;ACR7E,IAAW;AAAjB,CAAA,UAAiB,oCAAoC,EAAA;AACnD,IAAA,IAAY,mCAGX;AAHD,IAAA,CAAA,UAAY,mCAAmC,EAAA;AAC7C,QAAA,mCAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,QAAA,mCAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACvB,IAAA,CAAC,EAHW,mCAAmC,GAAnC,oCAAA,CAAA,mCAAmC,KAAnC,wEAAmC,GAAA,EAAA,CAAA,CAAA;AAIjD,CAAC,EALgB,oCAAoC,KAApC,oCAAoC,GAAA,EAAA,CAAA,CAAA;;ACIrD;AAMO,IAAM,wCAAwC,GAA9C,MAAM,wCAAyC,SAAQ,2BAA2B,CAAA;AAAlF,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,sCAAsC,GAAG,IAAI,CAAC,cAAc,CAAC,sCAAsC,CAAC;IAIvH;IAHE,QAAQ,GAAA;AACN,QAAA,OAAO,oCAAoC;IAC7C;;AAJW,wCAAwC,GAAA,UAAA,CAAA;AAJpD,IAAA,cAAc,CAA2C;AACxD,QAAA,SAAS,EAAE,0CAA0C;;KAEtD;AACY,CAAA,EAAA,wCAAwC,CAKpD;;ACbK,IAAW;AAAjB,CAAA,UAAiB,mCAAmC,EAAA;IAClD,SAAgB,QAAQ,CAAC,KAAa,EAAA;QACpC,OAAO,KAAK,KAAK,QAAQ;IAC3B;AAFgB,IAAA,mCAAA,CAAA,QAAQ,WAEvB;AACH,CAAC,EAJgB,mCAAmC,KAAnC,mCAAmC,GAAA,EAAA,CAAA,CAAA;;ACC9C,IAAW;AAAjB,CAAA,UAAiB,wCAAwC,EAAA;;AAEvD;;AAEG;AACU,IAAA,wCAAA,CAAA,sBAAsB,GAAgB,CACjD,OAAwB,KACG;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAEpD,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE;AAChC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,QAAQ,CAAC,KAAK,KAAK,cAAc,CAAC;AACvC,cAAE;cACA,EAAE,CAAC,oCAAoC,CAAC,8BAA8B,GAAG,IAAI,EAAE;AACrF,IAAA,CAAC;;AAGH,CAAC,EArBgB,wCAAwC,KAAxC,wCAAwC,GAAA,EAAA,CAAA,CAAA;;ACEuF;AAI/I;;ACJ4J;AAI5J;;ACJiL;AAIjL;;ACJkJ;AAIlJ;;MCkBY,4CAA4C,CAAA;AAqBvD,IAAA,WAAA,GAAA;AApBiB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAE9B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAE/C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gCAAgC,CAAC;AAElD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CACtC,yCAAyC,CAC1C;AAEQ,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAkC,IAAI,iDAAC;AAErD,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAiC,EAAE,iDAAC;AAElD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAA0C,EAAE,wDAAC;AAElE,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,IAAI,mDAAC;AAEtB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,EAAE,iDAAC;AAGzB,QAAA,KAAK,IAAI,CAAC,IAAI,EAAE;IAClB;AAEA,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;AACnC,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC;YAC1C;QACF;AAEA,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAClB,QAAA,IAAI;AACF,YAAA,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,oBAAoB,CAAC,GACxD,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAQ,EAAE;gBAC/D,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,MAAM,EAAE,CAAC,OAAQ,EAAE;AACjE,gBAAA,IAAI,CAAC,cAAc,CAAC,yCAAyC,CAAC,MAAM;AACjE,qBAAA,OAAQ,EAAE;AACd,aAAA,CAAC;AACJ,YAAA,IACE,aAAa,CAAC,UAAU,IAAI,GAAG;gBAC/B,aAAa,CAAC,UAAU,IAAI,GAAG;AAC/B,gBAAA,oBAAoB,CAAC,UAAU,IAAI,GAAG,EACtC;AACA,gBAAA,MAAM,IAAI,KAAK,CACb,aAAa,CAAC,YAAY;AACxB,oBAAA,aAAa,CAAC,YAAY;AAC1B,oBAAA,oBAAoB,CAAC,YAAY;AACjC,oBAAA,+BAA+B,CAClC;YACH;AAEA,YAAA,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI;AACtC,YAAA,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI;AACtC,YAAA,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI;AACpD,YAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACnE,gBAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC;YAC5D;AAEA,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CACX,KAAwC,CAAC,MAAM,CAC9C,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,CAC5B,CACF;YACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAClB,YAAwD,CAAC,MAAM,CAC9D,WAAW,IAAI,WAAW,CAAC,OAAO,KAAK,EAAE,CAC1C,CACF;QACH;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CACX,sDAAsD,EACtD,KAAK,CACN;AACD,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,KAAK,YAAY;kBACb,KAAK,CAAC;kBACN,+BAA+B,CACpC;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACzB;IACF;8GAvFW,4CAA4C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4CAA4C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0CAAA,EAAA,SAAA,EAN5C;YACT,4BAA4B;YAC5B,gCAAgC;YAChC,yCAAyC;AAC1C,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBH,+0EAyFA,EAAA,MAAA,EAAA,CAAA,4VAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FD9Da,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBAZxD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0CAA0C,mBAGnC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,EAAE,EAAA,SAAA,EACA;wBACT,4BAA4B;wBAC5B,gCAAgC;wBAChC,yCAAyC;AAC1C,qBAAA,EAAA,QAAA,EAAA,+0EAAA,EAAA,MAAA,EAAA,CAAA,4VAAA,CAAA,EAAA;;;;;;;;MEJU,sCAAsC,CAAA;AARnD,IAAA,WAAA,GAAA;AAYmB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAE9B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAE/B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAE1C,QAAA,IAAA,CAAA,OAAO,GAAoB;YAClC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrD,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzD,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;AACzD,YAAA;AACE,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,OAAO,EAAE,YAAY;wBACrB,KAAK,EAAE,CAAC,KAA+B,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAClE,qBAAA;AACF,iBAAA;AACF,aAAA;SACF;AAgBF,IAAA;IAdC,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;IACzB;AAEA,IAAA,SAAS,CAAC,KAA+B,EAAA;AACvC,QAAA,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE;YAChC;QACF;QACA,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACnE;AAEA,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,4BAA4B;IAC9C;8GA7CW,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtC,sCAAsC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,SAAA,EAFtC,CAAC,4BAA4B,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAG9B,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBnC,qUAgBA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDEY,YAAY,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,sBAAsB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,eAAA,EAAA,MAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGnC,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBARlD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uCAAuC,EAAA,eAAA,EAGhC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,YAAY,EAAE,sBAAsB,CAAC,EAAA,SAAA,EACpC,CAAC,4BAA4B,CAAC,EAAA,QAAA,EAAA,qUAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;;sBAGxC,SAAS;uBAAC,sBAAsB;;;;;;;;AEpBnC;AAEO,MAAM,mCAAmC,GAAW;AACzD,IAAA;AACE,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,aAAa,EAAE,MACb,uFAAuD,CAAC,IAAI,CAC1D,CAAC,IAAI,CAAC,CAAC,sCAAsC,CAC9C;AAEH,QAAA,QAAQ,EAAE;AACR,YAAA;AACE,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,aAAa,EAAE,MACb,6FAA8D,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,4CAA4C,CACpD;AACJ,aAAA;AACF,SAAA;AACF,KAAA;;AAGH;;;;AAIG;AACH;;;;;;;ACxBgK;AAI/J;;ACJ0L;AAI1L;;MCkBY,yDAAyD,CAAA;AAmBpE,IAAA,WAAA,GAAA;AAlBiB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAE9B,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CACtC,yCAAyC,CAC1C;AAEgB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAEvD,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAC3B,IAAI,uDACL;AAEQ,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAkC,IAAI,iDAAC;AAErD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,IAAI,mDAAC;AAEtB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,EAAE,iDAAC;AAGzB,QAAA,KAAK,IAAI,CAAC,IAAI,EAAE;IAClB;AAEA,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;AACnC,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC;YAChD;QACF;AAEA,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAClB,QAAA,IAAI;AACF,YAAA,MAAM,mBAAmB,GACvB,MAAM,IAAI,CAAC,cAAc,CAAC,yCAAyC,CAAC,KAAK,CACvE,EAAE,CACH,CAAC,OAAQ,EAAE;AACd,YAAA,IAAI,mBAAmB,CAAC,UAAU,IAAI,GAAG,EAAE;AACzC,gBAAA,MAAM,IAAI,KAAK,CACb,mBAAmB,CAAC,YAAY;AAC9B,oBAAA,qCAAqC,CACxC;YACH;AAEA,YAAA,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI;YAClD,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,EAAE;AAC3D,gBAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;YAClE;AAEA,YAAA,MAAM,aAAa,GACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,KAAK,CACpD,WAAW,CAAC,OAAO,CACpB,CAAC,OAAQ,EAAE;AACd,YAAA,IAAI,aAAa,CAAC,UAAU,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE;gBAChE,MAAM,IAAI,KAAK,CACb,aAAa,CAAC,YAAY,IAAI,mCAAmC,CAClE;YACH;AAEA,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CACX,kEAAkE,EAClE,KAAK,CACN;AACD,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,KAAK,YAAY;kBACb,KAAK,CAAC;kBACN,qCAAqC,CAC1C;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACzB;IACF;8GA3EW,yDAAyD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yDAAyD,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,SAAA,EALzD;YACT,yCAAyC;YACzC,4BAA4B;AAC7B,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBH,49CAqDA,EAAA,MAAA,EAAA,CAAA,yOAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FD1Ba,yDAAyD,EAAA,UAAA,EAAA,CAAA;kBAdrE,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wDAAwD,mBAMjD,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,EAAE,EAAA,SAAA,EACA;wBACT,yCAAyC;wBACzC,4BAA4B;AAC7B,qBAAA,EAAA,QAAA,EAAA,49CAAA,EAAA,MAAA,EAAA,CAAA,yOAAA,CAAA,EAAA;;;;;;;;MEDU,mDAAmD,CAAA;AAXhE,IAAA,WAAA,GAAA;AAemB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAE9B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAE/B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,yCAAyC,CAAC;AAEvD,QAAA,IAAA,CAAA,OAAO,GAAoB;YAClC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC7C,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxD,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;AACzD,YAAA;AACE,gBAAA,MAAM,EAAE,yBAAyB;AACjC,gBAAA,KAAK,EAAE,uBAAuB;AAC9B,gBAAA,QAAQ,EAAE,IAAI;AACf,aAAA;YACD,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrD,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrD,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzD,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;AACzD,YAAA;AACE,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,OAAO,EAAE,kBAAkB;wBAC3B,KAAK,EAAE,CAAC,WAAkD,KACxD,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;AACpC,qBAAA;AACF,iBAAA;AACF,aAAA;SACF;AAgBF,IAAA;IAdC,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;IACzB;AAEA,IAAA,eAAe,CAAC,WAAkD,EAAA;AAChE,QAAA,IAAI,OAAO,WAAW,CAAC,EAAE,KAAK,QAAQ,EAAE;YACtC;QACF;QACA,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACzE;AAEA,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,yCAAyC;IAC3D;8GApDW,mDAAmD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnD,mDAAmD,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,SAAA,EAFnD,CAAC,yCAAyC,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAG3C,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBnC,4XAkBA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDGY,YAAY,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,sBAAsB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,eAAA,EAAA,MAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGnC,mDAAmD,EAAA,UAAA,EAAA,CAAA;kBAX/D,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qDAAqD,EAAA,eAAA,EAM9C,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,YAAY,EAAE,sBAAsB,CAAC,EAAA,SAAA,EACpC,CAAC,yCAAyC,CAAC,EAAA,QAAA,EAAA,4XAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;;sBAGrD,SAAS;uBAAC,sBAAsB;;;;;;;;AEvBnC;AAEO,MAAM,gDAAgD,GAAW;AACtE,IAAA;AACE,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,aAAa,EAAE,MACb,oGAAqE,CAAC,IAAI,CACxE,CAAC,IAAI,CAAC,CAAC,mDAAmD,CAC3D;AAEH,QAAA,QAAQ,EAAE;AACR,YAAA;AACE,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,aAAa,EAAE,MACb,0GAA4E,CAAC,IAAI,CAC/E,CAAC,IAAI,CAAC,CAAC,yDAAyD,CACjE;AACJ,aAAA;AACF,SAAA;AACF,KAAA;;AAGH;;;;AAIG;AACH;;;;;;;ACxByJ;AAIxJ;;MCgBY,wCAAwC,CAAA;AARrD,IAAA,WAAA,GAAA;AAYW,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,8BAA8B,CAAC;AAE5C,QAAA,IAAA,CAAA,OAAO,GAAoB;YAClC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC7C,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;YACjD,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;YACjD,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzD,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;AACrD,YAAA;AACE,gBAAA,MAAM,EAAE,qBAAqB;AAC7B,gBAAA,KAAK,EAAE,oBAAoB;AAC3B,gBAAA,QAAQ,EAAE,IAAI;AACf,aAAA;AACD,YAAA;AACE,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,OAAO,EAAE,cAAc;wBACvB,KAAK,EAAE,CAAC,OAAmC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACnE,qBAAA;AACF,iBAAA;AACF,aAAA;SACF;AAEgB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;AAElC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,KAAK,0DAAC;AAE9B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,EAAE,qDAAC;AAwDhC,IAAA;IAtDC,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;IACzB;IAEA,GAAG,GAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IACrB;AAEA,IAAA,IAAI,CAAC,OAAmC,EAAA;AACtC,QAAA,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;IAC9B;AAEA,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB;QACF;AAEA,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;AACtB,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;AAC/B,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;QACzB;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CACX,0DAA0D,EAC1D,KAAK,CACN;AACD,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAChB,KAAK,YAAY;kBACb,KAAK,CAAC;kBACN,gDAAgD,CACrD;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QAChC;IACF;AAEQ,IAAA,UAAU,CAAC,IAAwC,EAAA;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;YACpE,IAAI;AACJ,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC;QACF,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,IAAG;YACpC,IAAI,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACzB;AACF,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,8BAA8B;IAChD;8GA5FW,wCAAwC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxC,wCAAwC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,SAAA,EAFxC,CAAC,8BAA8B,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAGhC,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1BnC,qtBAoCA,EAAA,MAAA,EAAA,CAAA,qPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDdY,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,sBAAsB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,eAAA,EAAA,MAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGtC,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBARpD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yCAAyC,EAAA,eAAA,EAGlC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,eAAe,EAAE,sBAAsB,CAAC,EAAA,SAAA,EACvC,CAAC,8BAA8B,CAAC,EAAA,QAAA,EAAA,qtBAAA,EAAA,MAAA,EAAA,CAAA,qPAAA,CAAA,EAAA;;sBAG1C,SAAS;uBAAC,sBAAsB;;;;;;;;AEvBnC;AAEO,MAAM,qCAAqC,GAAW;AAC3D,IAAA;AACE,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,aAAa,EAAE,MACb,yFAAyD,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,wCAAwC,CAAC;AAEjH,QAAA,QAAQ,EAAE;;;;;;;;;AAST,SAAA;AACF,KAAA;;AAGH;;;;AAIG;AACH;;;;;;;ACxBwL;AAIvL;;ACTD;AACA;AACA;AACA;AACA;;ACAA;AACA,YAAe,EAAE;;ACLjB;;AAEG;;"}