@genesis-tech/genesispay-seller 0.13.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +206 -0
  2. package/README.md +670 -91
  3. package/dist/checkout-documents.d.ts +99 -0
  4. package/dist/checkout-documents.d.ts.map +1 -0
  5. package/dist/checkout-documents.js +155 -0
  6. package/dist/checkout-documents.js.map +1 -0
  7. package/dist/checkout-return.d.ts +41 -0
  8. package/dist/checkout-return.d.ts.map +1 -0
  9. package/dist/checkout-return.js +68 -0
  10. package/dist/checkout-return.js.map +1 -0
  11. package/dist/client.d.ts +318 -0
  12. package/dist/client.d.ts.map +1 -0
  13. package/dist/client.js +718 -0
  14. package/dist/client.js.map +1 -0
  15. package/dist/contract-mandates.d.ts +39 -0
  16. package/dist/contract-mandates.d.ts.map +1 -0
  17. package/dist/contract-mandates.js +98 -0
  18. package/dist/contract-mandates.js.map +1 -0
  19. package/dist/contract-usage.d.ts +29 -0
  20. package/dist/contract-usage.d.ts.map +1 -0
  21. package/dist/contract-usage.js +92 -0
  22. package/dist/contract-usage.js.map +1 -0
  23. package/dist/customers.d.ts +41 -0
  24. package/dist/customers.d.ts.map +1 -0
  25. package/dist/customers.js +76 -0
  26. package/dist/customers.js.map +1 -0
  27. package/dist/entitlements.d.ts +19 -0
  28. package/dist/entitlements.d.ts.map +1 -0
  29. package/dist/entitlements.js +30 -0
  30. package/dist/entitlements.js.map +1 -0
  31. package/dist/errors.d.ts +129 -0
  32. package/dist/errors.d.ts.map +1 -0
  33. package/dist/errors.js +273 -0
  34. package/dist/errors.js.map +1 -0
  35. package/dist/fulfillment-attempts.d.ts +29 -0
  36. package/dist/fulfillment-attempts.d.ts.map +1 -0
  37. package/dist/fulfillment-attempts.js +71 -0
  38. package/dist/fulfillment-attempts.js.map +1 -0
  39. package/dist/fulfillment.d.ts +152 -0
  40. package/dist/fulfillment.d.ts.map +1 -0
  41. package/dist/fulfillment.js +810 -0
  42. package/dist/fulfillment.js.map +1 -0
  43. package/dist/genesispay-settlement.d.ts +32 -0
  44. package/dist/genesispay-settlement.d.ts.map +1 -0
  45. package/dist/genesispay-settlement.js +500 -0
  46. package/dist/genesispay-settlement.js.map +1 -0
  47. package/dist/index.d.ts +22 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +21 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/invoices.d.ts +111 -0
  52. package/dist/invoices.d.ts.map +1 -0
  53. package/dist/invoices.js +192 -0
  54. package/dist/invoices.js.map +1 -0
  55. package/dist/item-tax.d.ts +15 -0
  56. package/dist/item-tax.d.ts.map +1 -0
  57. package/dist/item-tax.js +19 -0
  58. package/dist/item-tax.js.map +1 -0
  59. package/dist/mandate-gate.d.ts +54 -0
  60. package/dist/mandate-gate.d.ts.map +1 -0
  61. package/dist/mandate-gate.js +183 -0
  62. package/dist/mandate-gate.js.map +1 -0
  63. package/dist/mandates.d.ts +189 -0
  64. package/dist/mandates.d.ts.map +1 -0
  65. package/dist/mandates.js +234 -0
  66. package/dist/mandates.js.map +1 -0
  67. package/dist/networks.d.ts +10 -0
  68. package/dist/networks.d.ts.map +1 -0
  69. package/dist/networks.js +23 -0
  70. package/dist/networks.js.map +1 -0
  71. package/dist/payment-gate.d.ts +98 -0
  72. package/dist/payment-gate.d.ts.map +1 -0
  73. package/dist/payment-gate.js +370 -0
  74. package/dist/payment-gate.js.map +1 -0
  75. package/dist/plans.d.ts +68 -0
  76. package/dist/plans.d.ts.map +1 -0
  77. package/dist/plans.js +127 -0
  78. package/dist/plans.js.map +1 -0
  79. package/dist/products.d.ts +170 -0
  80. package/dist/products.d.ts.map +1 -0
  81. package/dist/products.js +1317 -0
  82. package/dist/products.js.map +1 -0
  83. package/dist/resource.d.ts +47 -0
  84. package/dist/resource.d.ts.map +1 -0
  85. package/dist/resource.js +71 -0
  86. package/dist/resource.js.map +1 -0
  87. package/dist/strict-response.d.ts +21 -0
  88. package/dist/strict-response.d.ts.map +1 -0
  89. package/dist/strict-response.js +68 -0
  90. package/dist/strict-response.js.map +1 -0
  91. package/dist/usdc-amount.d.ts +7 -0
  92. package/dist/usdc-amount.d.ts.map +1 -0
  93. package/dist/usdc-amount.js +21 -0
  94. package/dist/usdc-amount.js.map +1 -0
  95. package/dist/webhooks.d.ts +352 -0
  96. package/dist/webhooks.d.ts.map +1 -0
  97. package/dist/webhooks.js +244 -0
  98. package/dist/webhooks.js.map +1 -0
  99. package/package.json +4 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"products.js","sourceRoot":"","sources":["../src/products.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,gDAAgD;AAEhD,OAAO,EAAE,YAAY,EAAoC,MAAM,eAAe,CAAC;AAC/E,OAAO,EACL,+BAA+B,EAC/B,qBAAqB,EACrB,+BAA+B,EAC/B,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,cAAc,EACd,cAAc,EACd,KAAK,GAEN,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oCAAoC,EACpC,2CAA2C,EAC3C,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,mCAAmC,EACnC,8BAA8B,GAE/B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,sBAAsB,EACtB,oCAAoC,EACpC,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,GAKhC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,6BAA6B,GAAG,OAAO,CAAC;AAwJ9C,MAAM,UAAU,sBAAsB,CACpC,OAA0B;AAC1B;;;;GAIG;AACH,uBAAgE;AAChE,mFAAmF;AACnF,MAAsD;AACtD,2EAA2E;AAC3E,OAAe,EACf,iBAAgD,EAChD,cAAuF,EACvF,aAKuB;IAEvB,MAAM,SAAS,GAAqB;QAClC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;gBACzB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,kBAAkB;gBACxB,SAAS,EAAE,uBAAuB;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzE;aACF,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACnB,MAAM,KAAK,GAAG,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;gBACzB,IAAI,EAAE,mBAAmB,KAAK,EAAE;gBAChC,SAAS,EAAE,sBAAsB;gBACjC,MAAM,EAAE,eAAe;aACxB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,8DAA8D;gBAC9D,kEAAkE;gBAClE,iBAAiB;gBACjB,MAAM,IAAI,qBAAqB,CAC7B,+DAA+D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;YACJ,CAAC;YACD,6EAA6E;YAC7E,OAAO,QAAQ;iBACZ,GAAG,CAAC,QAAQ,CAAC;iBACb,MAAM,CAAC,CAAC,GAAG,EAAkC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC;iBAC7D,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC5E,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC3B,MAAM,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;gBACzB,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,EAAE,CAAC,EAAE;gBAClD,SAAS,EAAE,wBAAwB,EAAE,EAAE;gBACvC,MAAM,EAAE,qBAAqB,EAAE,GAAG;gBAClC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;aACrC,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,IAAI,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;gBACzB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,EAAE,CAAC,EAAE;gBAClD,SAAS,EAAE,0BAA0B,EAAE,EAAE;gBACzC,MAAM,EAAE,mBAAmB,EAAE,GAAG;gBAChC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;gBACpC,IAAI,EAAE,WAAW,IAAI,KAAK;oBACxB,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;oBACxG,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;aAChG,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,IAAI,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC1B,MAAM,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;gBACzB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,EAAE,CAAC,UAAU;gBAC1D,SAAS,EAAE,yBAAyB,EAAE,UAAU;gBAChD,MAAM,EAAE,oBAAoB,EAAE,GAAG;gBACjC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;aACrC,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,IAAI,EAAE,yBAAyB,EAAE,UAAU,CAAC,CAAC;QACrE,CAAC;QAED,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACpC,MAAM,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;gBACzB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,EAAE,CAAC,eAAe;gBAC/D,SAAS,EAAE,yBAAyB,EAAE,eAAe;gBACrD,MAAM,EAAE,sCAAsC,EAAE,GAAG;gBACnD,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;gBACpC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CACf,MAAM,KAAK,GAAG;oBACZ,CAAC,CAAC,8FAA8F;oBAChG,CAAC,CAAC,SAAS;aAChB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC1E,MAAM,IAAI,qBAAqB,CAC7B,oCAAoC,EAAE,mCAAmC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAChG,CAAC;YACJ,CAAC;YACD,uBAAuB,CAAC,OAAO,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;YAC3E,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;gBACrB,sEAAsE;gBACtE,4CAA4C;gBAC5C,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI;aAClC,CAAC;QACJ,CAAC;QAED,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YACtC,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,qBAAqB,CAAC,yDAAyD,CAAC,CAAC;YAC/G,MAAM,QAAQ,GAAG,+BAA+B,CAAC,aAAa,CAAC,CAAC;YAChE,uBAAuB,CAAC,QAAQ,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;gBACnC,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW;aAC5E,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAY,CAAC;YACxE,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1D,6BAA6B,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAED,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACvC,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,qBAAqB,CAAC,8DAA8D,CAAC,CAAC;YACpH,MAAM,QAAQ,GAAG,+BAA+B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAClE,uBAAuB,CAAC,QAAQ,CAAC,qBAAqB,EAAE,2BAA2B,CAAC,CAAC;YACrF,MAAM,cAAc,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;gBACnC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY;gBAC5E,OAAO,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE;gBAC9C,IAAI,EAAE;oBACJ,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE;oBACjF,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,IAAI;oBAClD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;oBAChC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;oBAClC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;iBACnC;aACF,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAY,CAAC;YACxE,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1D,OAAO,4BAA4B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CACtB,GAAG,OAAO,UAAU,kBAAkB,CAAC,eAAe,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,EAAE;QAE3F,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACpC,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC;YACpD,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;oBACzB,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,QAAQ,CAAC,EAAE;oBACxD,SAAS,EAAE,wBAAwB,QAAQ,EAAE;oBAC7C,MAAM,EAAE,qBAAqB,QAAQ,GAAG;oBACxC,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC;iBAC3C,CAAC,CAAC;gBACH,OAAO,cAAc,CAAC,IAAI,EAAE,wBAAwB,QAAQ,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,iBAAiB,EAAE,KAAK,IAAI,EAAE;gBAC5B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;oBACzB,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,QAAQ,CAAC,eAAe;oBACrE,SAAS,EAAE,yBAAyB,QAAQ,eAAe,EAAE,MAAM,EAAE,sCAAsC,QAAQ,GAAG;oBACtH,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC;iBAC3C,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACtE,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ;oBAAE,MAAM,IAAI,qBAAqB,CAAC,2CAA2C,CAAC,CAAC;gBACxJ,uBAAuB,CAAC,OAAO,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;gBAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YACtE,CAAC;YACD,aAAa,EAAE,aAAa;gBAC1B,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC;oBACxB,IAAI,EAAE,uBAAuB,kBAAkB,CAAC,MAAM,CAAC,EAAE;iBAC1D,CAAC;gBACJ,CAAC,CAAC,SAAS;YACb,iBAAiB;YACjB,uBAAuB;YACvB,OAAO,EAAE,cAAc;SACxB,CAAC;KACH,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,OAAO,CACL,wCAAwC,EAAE,8BAA8B;QACxE,oDAAoD,CACrD,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,MAAc;IACvD,MAAM,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,qBAAqB,CAC7B,GAAG,MAAM,iEAAiE,CAC3E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,cAAc,CAAC,IAAa,EAAE,SAAiB;IACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,qBAAqB,CAC7B,cAAc,SAAS,yBAAyB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAA4B;IACpD,OAAO;QACL,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;QACtC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QACtC,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;QAC9B,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;QAC5C,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QACtC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAU,EAAE,MAAM,CAAC;QAC1D,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QAChC,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;QAC1C,QAAQ,EAAE,GAAG,CAAC,QAAQ,KAAK,IAAI;QAC/B,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;QAChD,oBAAoB,EAAE,cAAc,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC9D,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC;QAChC,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAA4B;IACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,QAAQ,EAAE,IAAI,KAAK,UAAU,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IAClG,CAAC;IACD,IAAI,QAAQ,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAU,EAAE,MAAM,CAAC,EAAE,CAAC;IACzJ,CAAC;IACD,qEAAqE;IACrE,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9C,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAClH,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAmD;IACtF,MAAM,KAAK,GAAG,OAAO,EAAE,cAAc,CAAC;IACtC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,MAAM,GAAG,GAAG;QAClB,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,EACtB,CAAC;QACD,MAAM,IAAI,yBAAyB,CACjC,yGAAyG,EACzG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAkB,EAClB,IAAa;IAEb,OAAO,6BAA6B,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,6BAA6B,CACpC,QAAkB,EAClB,IAAa,EACb,QAAiC;IAEjC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;QACxD,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,EACpB,gEAAgE,EAChE,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC;IACzC,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;QACjC,MAAM,CAAC,MAAM,GAAG,EAAE;QAClB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,cAAkB,EACnC,CAAC;QACD,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,EACpB,mEAAmE,EACnE,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACrC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IAC7D,MAAM,OAAO,GAAG,2BAA2B,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,4BAA4B,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3E,IACE,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,qBAAqB,KAAK,QAAQ;QACzC,CAAC,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAClD,CAAC;QACD,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,EACpB,8EAA8E,EAC9E,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,uBAAuB,CAAC,oBAAoB,EAAE,qCAAqC,EAAE,QAAQ,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,KAAc,EAAE,EAAE;QAC/C,IAAI,CAAC,KAAK;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,OAAO,CAAC,WAAW,EAAE,SAAS,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO,CAAC,KAAK,EAAE,SAAS,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3C,OAAO,CAAC,kBAAkB,EAAE,MAAM,KAAK,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACtG,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO,CAAC,sBAAsB,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACnG,OAAO,CAAC,wBAAwB,EAAE,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9F,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,sBAAsB,EAAE,UAAU,EAAE,MAAM,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvF,OAAO,CACL,2BAA2B,EAC3B,UAAU,EAAE,WAAW,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAChE,CAAC;QACF,2EAA2E;QAC3E,0EAA0E;QAC1E,uEAAuE;QACvE,iEAAiE;IACnE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,+BAA+B,CACvC,+DAA+D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EACxF,UAAU,EACV,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAClC,KAAc,EACd,QAA0E;IAE1E,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,IACE,CAAC,OAAO;QACR,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;QACpD,OAAO,CAAC,OAAO,KAAK,MAAM;QAC1B,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;QACvD,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC;QACtD,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ;QACxC,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACjD,OAAO,CAAC,cAAc,KAAK,CAAC,EAC5B,CAAC;QACD,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,EACpB,uEAAuE,EACvE,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,4BAA4B,CACnC,KAAc,EACd,QAA0E;IAE1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,EACpB,oDAAoD,EACpD,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7B,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,IAAI,uBAAuB,CAC/B,uBAAuB,EACvB,qEAAqE,EACrE,QAAQ,CACT,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,IAAI,gCAAgC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YAChG,MAAM,IAAI,uBAAuB,CAC/B,uBAAuB,EACvB,6EAA6E,EAC7E,QAAQ,CACT,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,uBAAuB,CAC/B,uBAAuB,EACvB,gEAAgE,EAChE,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,IACE,CAAC,IAAI;QACL,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,gCAAgC,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,IAAI,EACrE,CAAC;QACD,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,EACpB,uFAAuF,EACvF,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,gCAAgC,CACvC,KAAc,EACd,QAA0E;IAE1E,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAChG,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,EACpB,yEAAyE,EACzE,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAkB,EAAE,IAAa;IACrE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,IACE,IAAI,EAAE,MAAM,KAAK,uBAAuB;QACxC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAC/B,CAAC,IAAI,CAAC,MAAM;QACZ,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAC/B,CAAC,IAAI,CAAC,MAAM;QACZ,IAAI,CAAC,sBAAsB,KAAK,sBAAsB;QACtD,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EACjC,CAAC;QACD,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,EACpB,8DAA8D,EAC9D,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,sBAAsB,EAAE,sBAAsB;QAC9C,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAe,EAAE,QAAgB;IACrD,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ;QAC1B,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAkB,EAAE,IAAa;IAChE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,MAAM,OAAO,GACX,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ;QAC7B,CAAC,CAAC,IAAI,CAAC,KAAK;QACZ,CAAC,CAAC,+CAA+C,QAAQ,CAAC,MAAM,GAAG,CAAC;IACxE,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;QACvC,MAAM,IAAI,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YAC/E,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,+BAA+B,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,KAAK,WAAW;QAAE,MAAM,IAAI,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC9B,OAAO,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ;oBACvC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;oBACtF,CAAC,CAAC,EAAE,CAAC;YACT,CAAC,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,IAAI,wBAAwB,CAChC,OAAO,EACP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EACnD,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAQ1B;IACC,OAAO;QACL,KAAK,CAAC,KAAK;YACT,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM;gBAAE,MAAM,IAAI,qBAAqB,CAAC,YAAY,KAAK,CAAC,QAAQ,yCAAyC,CAAC,CAAC;YAC3I,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACnE,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO;YAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAChE,MAAM,kBAAkB,GAAG,SAAS;gBAClC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,6BAA6B;gBAC5C,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,sBAAsB,GAAG,SAAS;gBACtC,CAAC,CAAC,oCAAoC,CAAC,SAAS,CAAC;gBACjD,CAAC,CAAC,IAAI,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,sBAAsB,EAAE,CAAC;oBAC3B,OAAO,sCAAsC,CAAC;wBAC5C,kBAAkB,EAAE,sBAAsB;wBAC1C,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,IAAI,qBAAqB,CAAC,mDAAmD,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,QAAiC,CAAC;YACtC,IAAI,eAAe,GAAkB,IAAI,CAAC;YAC1C,IAAI,CAAC;gBACH,QAAQ,GAAG,+BAA+B,CAAC,aAAa,CAAC,CAAC;gBAC1D,uEAAuE;gBACvE,uEAAuE;gBACvE,KAAK,CAAC,uBAAuB,CAAC,QAAQ,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;gBACvF,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC1C,MAAM,IAAI,+BAA+B,CACvC,wDAAwD,EACxD,CAAC,mBAAmB,CAAC,CACtB,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACjE,MAAM,IAAI,qBAAqB,CAAC,sDAAsD,CAAC,CAAC;gBAC1F,CAAC;gBACD,eAAe,GAAG,SAAS;oBACzB,CAAC,CAAC,6BAA6B,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC;oBACvD,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,sBAAsB;oBAAE,MAAM,KAAK,CAAC;gBACzC,OAAO,sCAAsC,CAAC;oBAC5C,kBAAkB,EAAE,sBAAsB;oBAC1C,SAAS,EAAE,eAAe;iBAC3B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,oBAAoB,GACxB,CAAC,SAAS;gBACV,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,KAAK,GAAG,CAAC;YACpE,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAE5C,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CACtC,2CAA2C,CAC5C,CAAC;gBACF,MAAM,QAAQ,GACZ,YAAY,KAAK,IAAI;oBACnB,CAAC,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC;oBACtC,CAAC,CAAC,MAAM,8BAA8B,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;gBAChF,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC;gBAC3C,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;gBAC1E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACnD,MAAM,EAAE,SAAS;oBACjB,WAAW,EAAE,YAAY,CAAC,WAAW;oBACrC,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,kBAAkB,EAAE,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;oBACpE,SAAS;oBACT,KAAK;oBACL,cAAc;oBACd,OAAO;oBACP,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnC,QAAQ,EAAE,6BAA6B,CAAC,QAAQ,CAAC;iBAClD,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACjE,OAAO,+BAA+B,CAAC,QAAQ,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YACjE,IAAI,GAAW,CAAC;YAChB,IAAI,aAAqB,CAAC;YAC1B,IAAI,kBAA0B,CAAC;YAC/B,mEAAmE;YACnE,qEAAqE;YACrE,qEAAqE;YACrE,qEAAqE;YACrE,IAAI,CAAC;gBACH,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACvC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC7C,kBAAkB,GAAG,MAAM,4BAA4B,CAAC,OAAO,CAAC,CAAC;gBACjE,MAAM,cAAc,GAAG;oBACrB,GAAG,CAAC,GAAG,KAAK,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC;oBAClF,GAAG,CAAC,aAAa,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;oBAClF,GAAG,CAAC,kBAAkB,KAAK,YAAY,CAAC,WAAW;wBACjD,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC;iBAC3C,CAAC;gBACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,+BAA+B,CACvC,wDAAwD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EACrF,cAAc,CACf,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,sBAAsB;oBAAE,MAAM,KAAK,CAAC;gBACzC,OAAO,sCAAsC,CAAC;oBAC5C,kBAAkB,EAAE,sBAAsB;oBAC1C,SAAS,EAAE,eAAe;iBAC3B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,eAAe,GAAG,GAAG,CAAC;YAC5B,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG;gBACf,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;gBAC1C,WAAW,EAAE,eAAe;gBAC5B,MAAM,EAAE,aAAkC;gBAC1C,kBAAkB,EAAE,oBAAoB;gBACxC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,GAAG,CAAC,SAAS;oBACX,CAAC,CAAC;wBACE,gBAAgB,EAAE,SAAS;wBAC3B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC9B;oBACH,CAAC,CAAC,EAAE,CAAC;aACC,CAAC;YACX,IAAI,QAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,kBAAkB,KAAK,IAAI;oBACpC,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBAC/C,CAAC,CAAC,MAAM,6BAA6B,CACjC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC9C,kBAAkB,CACnB,CAAC;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,eAAe,IAAI,CAAC,sBAAsB;oBAAE,MAAM,KAAK,CAAC;gBAC7D,sEAAsE;gBACtE,sEAAsE;gBACtE,8BAA8B;gBAC9B,OAAO,8BAA8B,CAAC;oBACpC,kBAAkB,EAAE,sBAAsB,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;oBAChE,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;YACD,IACE,SAAS;gBACT,MAAM;gBACN,QAAQ,CAAC,MAAM,KAAK,GAAG;gBACvB,kBAAkB,KAAK,IAAI,EAC3B,CAAC;gBACD,IAAI,OAA0D,CAAC;gBAC/D,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,qBAAqB,CAAC;wBACpC,kBAAkB,EAAE,QAAQ;wBAC5B,MAAM;wBACN,aAAa,EAAE,KAAK,CAAC,aAAa;wBAClC,0BAA0B,EAAE,sBAAsB;wBAClD,eAAe,EAAE,kBAAkB;qBACpC,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,8BAA8B,CAAC;wBACpC,kBAAkB,EAAE,sBAAsB,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;wBAChE,SAAS,EAAE,eAAe;wBAC1B,SAAS,EAAE,IAAI;wBACf,OAAO,EAAE,SAAS;wBAClB,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,OAAO;oBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;gBAC9C,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,6BAA6B,CAC5C,GAAG,EAAE,CAAC,KAAK,CAAC,OAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC9C,kBAAkB,CACnB,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,8BAA8B,CAAC;wBACpC,kBAAkB,EAChB,oCAAoC,CAClC,SAAS,EACT,OAAO,CAAC,eAAe,CACxB,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;wBACzB,SAAS,EAAE,eAAe;wBAC1B,SAAS,EAAE,IAAI;wBACf,OAAO,EAAE,SAAS;wBAClB,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,wEAAwE;YACxE,wEAAwE;YACxE,yEAAyE;YACzE,2EAA2E;YAC3E,oEAAoE;YACpE,sEAAsE;YACtE,2EAA2E;YAC3E,0EAA0E;YAC1E,WAAW;YACX,MAAM,gBAAgB,GAAG,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;YAChF,IAAI,gBAAgB,IAAI,CAAC,CAAC,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACtE,OAAO,+BAA+B,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IACE,sBAAsB;oBACtB,QAAQ,CAAC,MAAM,GAAG,GAAG,EACrB,CAAC;oBACD,OAAO,8BAA8B,CAAC;wBACpC,kBAAkB,EAAE,sBAAsB;wBAC1C,SAAS,EAAE,eAAe;wBAC1B,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;wBAC7D,OAAO,EAAE,SAAS;wBAClB,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;gBACL,CAAC;gBACD,IACE,QAAQ,CAAC,MAAM,IAAI,GAAG;oBACtB,CAAC,eAAe,IAAI,sBAAsB,CAAC,EAC3C,CAAC;oBACD,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,OAAO,8BAA8B,CAAC;4BACpC,kBAAkB,EAAE,sBAAsB,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;4BAChE,SAAS,EAAE,IAAI;4BACf,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;4BAC7D,OAAO,EAAE,SAAS;4BAClB,SAAS,EAAE,IAAI;yBAChB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,QAAQ,GAAG,MAAM,8BAA8B,CACnD,QAAQ,EACR,eAAe,CAChB,CAAC;oBACF,IAAI,QAAQ,KAAK,MAAM;wBAAE,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACvD,sEAAsE;oBACtE,mEAAmE;oBACnE,+DAA+D;oBAC/D,kEAAkE;oBAClE,mDAAmD;oBACnD,MAAM,iBAAiB,GAAG,QAAQ,KAAK,uBAAuB,CAAC;oBAC/D,OAAO,8BAA8B,CAAC;wBACpC,kBAAkB,EAChB,QAAQ,KAAK,sBAAsB;4BACjC,CAAC,CAAC,sBAAsB,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;4BAC9C,CAAC,CAAC,sBAAsB,IAAI,QAAQ;wBACxC,SAAS,EAAE,eAAe;wBAC1B,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;wBAC7D,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;wBACpD,SAAS,EAAE,CAAC,iBAAiB;qBAC9B,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1E,MAAM,eAAe,GAAG,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtE,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;gBACxB,oEAAoE;gBACpE,sEAAsE;gBACtE,uEAAuE;gBACvE,uEAAuE;gBACvE,kEAAkE;gBAClE,2CAA2C;gBAC3C,OAAO,8BAA8B,CAAC;oBACpC,kBAAkB,EAAE,6BAA6B,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC;wBACnF,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;wBACpB,CAAC,CAAC,QAAQ;oBACZ,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;oBAC7D,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;YACtC,IAAI,eAAe,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBACrD,mEAAmE;gBACnE,qEAAqE;gBACrE,qEAAqE;gBACrE,yEAAyE;gBACzE,OAAO,8BAA8B,CAAC;oBACpC,kBAAkB,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC;oBACtC,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;oBAC7D,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,wEAAwE;YACxE,wEAAwE;YACxE,2EAA2E;YAC3E,MAAM,mBAAmB,GACvB,OAAO,EAAE,OAAO,KAAK,IAAI,IAAI,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5E,IAAI,YAAqC,CAAC;YAC1C,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC;oBAC3C,OAAO,EAAE,EAAE,SAAS,EAAE;oBACtB,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,8BAA8B,CAAC;oBACpC,kBAAkB,EAAE,QAAQ;oBAC5B,SAAS;oBACT,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;oBAC1F,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;oBACtD,SAAS,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC;iBAC7C,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC3B,OAAO,8BAA8B,CAAC;oBACpC,kBAAkB,EAAE,QAAQ;oBAC5B,SAAS;oBACT,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,gEAAgE;oBAChE,oEAAoE;oBACpE,OAAO,EAAE,SAAS;oBAClB,SAAS,EACP,YAAY,CAAC,MAAM,KAAK,WAAW,IAAI,YAAY,CAAC,MAAM,KAAK,eAAe;iBACjF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;YACrD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,8BAA8B,CAAC;oBACpC,kBAAkB,EAAE,QAAQ;oBAC5B,SAAS;oBACT,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,OAAO,EAAE,WAAW;oBACpB,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE;gBAC7C,OAAO,EAAE,EAAE,GAAG,eAAe,EAAE,QAAQ,EAAE,CAAC,EAAE;gBAC5C,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,kBAAkB;aACnB,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACtE,IAAI,eAAe;gBAAE,GAAG,CAAC,GAAG,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;YACvE,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACtI,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,KAMpC;IAIC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,MAAM,6BAA6B,CAC3C,KAAK,CAAC,kBAAkB,EACxB,KAAK,CAAC,0BAA0B,CACjC;SACF,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,2BAA2B,CAC3D,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAC/D,KAAK,CAAC,eAAe,CACtB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,OAAO,UAAU,EAAE,SAAS,KAAK,QAAQ;QAC3D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAClC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACf,IACE,UAAU,EAAE,OAAO,KAAK,CAAC;QACzB,UAAU,CAAC,KAAK,KAAK,QAAQ;QAC7B,UAAU,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAClC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7B,CAAC;QACD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,MAAM,6BAA6B,CAC3C,KAAK,CAAC,kBAAkB,EACxB,KAAK,CAAC,0BAA0B,CACjC;SACF,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;QAC5D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC;QACpE,CAAC,CAAC,GAAG,CAAC;IACR,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACtD,IAAI,eAAe,GAAyB,IAAI,CAAC;IACjD,IAAI,mBAAmB,GAAG,MAAM,6BAA6B,CAC3D,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAChC,KAAK,CAAC,0BAA0B,CACjC,CAAC;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,mEAAmE;IACnE,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,OAAO,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,SAAS,CAAC;QAC7B,SAAS,GAAG,KAAK,CAAC;QAClB,IAAI,cAAwB,CAAC;QAC7B,IAAI,MAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,2BAA2B,CACvE,KAAK,IAAI,EAAE;gBACT,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,aAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE;oBACnC,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;oBAClC,OAAO,EAAE,WAAW,CAAC,OAAO;iBAC7B,CAAC,CAAC;gBACH,OAAO;oBACL,QAAQ;oBACR,MAAM,EAAE,QAAQ,CACd,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAChD;iBACF,CAAC;YACJ,CAAC,EACD,UAAU,IAAI,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAClE,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;QAC3D,CAAC;QACD,IACE,cAAc,CAAC,EAAE;YACjB,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,EACzD,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;QAC3D,CAAC;QACD,IACE,cAAc,CAAC,EAAE;YACjB,MAAM,EAAE,KAAK,KAAK,SAAS;YAC3B,MAAM,CAAC,sBAAsB,KAAK,IAAI;YACtC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YACjC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EACzC,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,eAAe,EAAE,MAAM,CAAC,MAAuB;aAChD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,eAAe;oBACvB,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC;aACvC,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,EAAE,KAAK,KAAK,QAAQ,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;YAC3D,CAAC;YACD,IAAI,cAAc,CAAC,EAAE,IAAI,MAAM,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACpD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,MAAM,8BAA8B,CAAC,cAAc,EAAE,GAAG,CAAC;iBACpE,CAAC;YACJ,CAAC;YACD,IAAI,cAAc,CAAC,EAAE,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;gBACrD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,MAAM,8BAA8B,CAAC,cAAc,EAAE,GAAG,CAAC;iBACpE,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,MAAM,EAAE,KAAK,KAAK,QAAQ,IAAI,MAAM,EAAE,KAAK,KAAK,WAAW,EAAE,CAAC;YAChE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;QAC3D,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACjC,IACE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;gBACjC,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAC1C,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;YAC3D,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAuB,CAAC;YACjD,IACE,eAAe;gBACf,eAAe,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,EACzD,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;YAC3D,CAAC;YACD,eAAe,GAAG,SAAS,CAAC;YAC5B,QAAQ,GAAG,eAAe,CAAC;QAC7B,CAAC;QACD,mBAAmB,GAAG,MAAM,6BAA6B,CACvD,cAAc,CAAC,KAAK,EAAE,EACtB,KAAK,CAAC,0BAA0B,CACjC,CAAC;QACF,MAAM,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1C,IAAI,WAAW,IAAI,CAAC;YAAE,MAAM;QAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5B,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CACxD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,OAAyB,EACzB,UAAkB;IAElB,MAAM,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5C,IAAI,WAAW,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC9E,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,OAAO,EAAE;YACT,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;gBACtC,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,EAC/D,WAAW,CACZ,CAAC;YACJ,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,OAAgC,EAChC,UAAkB;IAElB,OAAO,2BAA2B,CAAC,KAAK,IAAI,EAAE;QAC5C,MAAM,WAAW,GAAG,MAAM,OAAO,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE;YACzB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,OAAO,EAAE,WAAW,CAAC,OAAO;SAC7B,CAAC,CAAC;IACL,CAAC,EAAE,UAAU,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAkB,EAClB,OAAuC;IAEvC,MAAM,SAAS,GAAG,OAAO,EAAE,gBAAgB,CAAC;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAG,CAAC,KAAc,EAAmB,EAAE,CAChD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC;IAE1E,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvE,IAAI,WAAW,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACtE,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7D,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AACpE,CAAC;AAaD,SAAS,qBAAqB;IAC5B,OAAO;QACL,EAAE,EAAE,KAAK;QACT,QAAQ,EAAE,QAAQ,CAAC,IAAI,CACrB,EAAE,KAAK,EAAE,yCAAyC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAC7E,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAAC,OAAgB;IACnD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,YAAY,EAAE,KAAK,CAAC;IAClC,MAAM,cAAc,GAAG,YAAY,EAAE,cAAc,CAAC;IACpD,MAAM,OAAO,GAAG,YAAY,EAAE,OAAO,CAAC;IACtC,MAAM,SAAS,GAAG,YAAY,EAAE,SAAS,CAAC;IAC1C,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,CAAC,cAAc,KAAK,IAAI,IAAI,OAAO,cAAc,KAAK,QAAQ,CAAC;QAC/D,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,aAAa,CAAC;QACpD,CAAC,SAAS,EACV,CAAC;QACD,OAAO,qBAAqB,EAAE,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,8BAA8B,CAC3C,OAAgB,EAChB,YAAoB,EACpB,YAA0E;IAE1E,MAAM,MAAM,GAAG,mCAAmC,CAAC,YAAY,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;QAAE,OAAO,qBAAqB,EAAE,CAAC;IAC1D,IAAI,UAAkB,CAAC;IACvB,IAAI,kBAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,kBAAkB,GAAG,MAAM,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,qBAAqB,EAAE,CAAC;IACjC,CAAC;IACD,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,UAAU,KAAK,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC;QACzF,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,MAAM;YACtD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;QACrC,GAAG,CAAC,kBAAkB,KAAK,YAAY,CAAC,WAAW;YACjD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC;KAC3C,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,QAAQ,CAAC,IAAI,CACrB;gBACE,KAAK,EAAE,oEAAoE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACpG,IAAI,EAAE,mBAAmB;gBACzB,UAAU;aACX,EACD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChE,OAAO,SAAS;YACd,4EAA4E,CAAC,IAAI,CAC/E,SAAS,CACV;YACD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,SAAS,6BAA6B,CACpC,QAAkB,EAClB,IAAoC,EACpC,eAA8B;IAE9B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IACnF,MAAM,aAAa,GAAG,IAAI,EAAE,gBAAgB,CAAC;IAC7C,OAAO,CACL,CAAC,eAAe,KAAK,IAAI;QACvB,CAAC,CAAC,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,eAAe,CAAC;YAChE,CAAC,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,eAAe,CAAC,CAAC,CAAC;QACxE,CAAC,eAAe,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,IAAI,eAAe,KAAK,aAAa,CAAC,CAC/F,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,8BAA8B,CAC3C,QAAkB,EAClB,eAAuB;IAIvB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAC1C,oCAAoC,CACrC,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,EAAE,gBAAgB,CAAC;IAC7C,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,EAAE,UAAU,CAAC;IACrC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,IAAI,EAAE,SAAS,CAAC;IAEtC,IACE,6BAA6B,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC;QAC9D,CAAC,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,sBAAsB,CAAC;QACpE,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,sBAAsB,CAAC;QACrE,CAAC,eAAe,KAAK,IAAI;YACvB,aAAa,KAAK,SAAS;YAC3B,eAAe,KAAK,aAAa,CAAC,EACpC,CAAC;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,6EAA6E;IAC7E,0EAA0E;IAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,cAAc,CAAC;IAEnD,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC;IACzB,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IACjE,MAAM,UAAU,GAAG,YAAY;SAC5B,KAAK,CAAC,GAAG,CAAC;SACV,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;IACtE,MAAM,gBAAgB,GACpB,OAAO,aAAa,KAAK,QAAQ;QACjC,aAAa,CAAC,MAAM,GAAG,CAAC;QACxB,aAAa,KAAK,eAAe,CAAC;IACpC,MAAM,YAAY,GAChB,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ;QAClC,CAAC,CAAC,CAAC,IAAI,KAAK,kCAAkC;YAC5C,IAAI,KAAK,4BAA4B,CAAC;YACtC,SAAS,KAAK,IAAI;YAClB,WAAW,KAAK,GAAG,CAAC;YACpB,CAAC,IAAI,KAAK,mCAAmC;gBAC3C,SAAS,KAAK,KAAK;gBACnB,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC;IAE7B,MAAM,sBAAsB,GAC1B,eAAe,KAAK,eAAe;QACnC,aAAa,KAAK,eAAe;QACjC,aAAa,KAAK,sBAAsB;QACxC,WAAW,KAAK,sBAAsB;QACtC,gBAAgB;QAChB,UAAU;QACV,YAAY,CAAC;IACf,IAAI,sBAAsB;QAAE,OAAO,MAAM,CAAC;IAE1C,iEAAiE;IACjE,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,IAAI,KAAK,mCAAmC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxE,OAAO,uBAAuB,CAAC;IACjC,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,6BAA6B,CAAC,UAAkB,EAAE,SAAiB;IAC1E,MAAM,gBAAgB,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC;QACzE,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;QAC3E,yEAAyE;QACzE,0CAA0C;IAC5C,CAAC;IACD,IAAI,gBAAgB,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;QAClF,MAAM,IAAI,+BAA+B,CACvC,mFAAmF,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,gBAAgB,IAAI,gBAAgB,CAAC;AAC9C,CAAC;AAED,SAAS,oCAAoC,CAC3C,SAAiB,EACjB,oBAAoC;IAEpC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,IAAI,eAAe,GAAG,oBAAoB,IAAI,IAAI,CAAC;QACnD,IAAI,CAAC,eAAe,IAAI,UAAU,EAAE,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,iBAAiB,CAAU,EAAE,CAAC;gBACxE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnE,eAAe,GAAG,KAAsB,CAAC;oBACzC,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,UAAU,GAA8B;YAC5C,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;YACjC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC/B,WAAW,EACT,8GAA8G;YAChH,UAAU,EAAE;gBACV,qBAAqB,EAAE,KAAK;gBAC5B,kBAAkB,EAAE,KAAK;gBACzB,mBAAmB,EAAE,KAAK;aAC3B;SACF,CAAC;QACF,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;YACxB,OAAO,EAAE;gBACP,CAAC,uBAAuB,CAAC,EAAE,8BAA8B,CAAC,UAAU,CAAC;aACtE;SACF,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,sCAAsC,CAAC,KAG/C;IACC,OAAO,8BAA8B,CAAC;QACpC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChE,OAAO,SAAS,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,SAAS;YAC3E,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,OAAgB;IACjE,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,MAAM,MAAM,CAC9B,IAAI,WAAW,EAAE,CAAC,MAAM,CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CACpF,CACF,CAAC;IACF,OAAO,UAAU,WAAW,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,OAAO,CACL,KAAK,YAAY,+BAA+B;QAChD,KAAK,YAAY,+BAA+B;QAChD,KAAK,YAAY,uBAAuB;QACxC,KAAK,YAAY,sBAAsB,CACxC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChF,OAAO,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,8BAA8B,CAAC,KAMvC;IACC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS;QAC3B,CAAC,CAAC,mCAAmC;QACrC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;YAC3B,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,kCAAkC,CAAC;IACzC,MAAM,OAAO,GACX,CAAC,KAAK,CAAC,SAAS;QACd,CAAC,CAAC,uGAAuG;QACzG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;YAC3B,CAAC,CAAC,uJAAuJ;YACzJ,CAAC,CAAC,4EAA4E,CAAC;IACrF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,UAAU;QAC3B,CAAC,yBAAyB,CAAC,EAAE,sBAAsB;KACpD,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACrD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACtF,IAAI,eAAe;QAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;IAE3E,OAAO,QAAQ,CAAC,IAAI,CAClB;QACE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;QACpD,gBAAgB,EAAE,KAAK,CAAC,SAAS;QACjC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,sBAAsB;KACnC,EACD,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CACzB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,0BAA0B,CAAC,QAAkB;IAC1D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,+BAA+B,CAAC,QAAkB;IACzD,OAAO,QAAQ,CAAC,IAAI,CAClB;QACE,KAAK,EAAE;YACL,IAAI,EAAE,4BAA4B;YAClC,OAAO,EACL,0CAA0C,sBAAsB,IAAI;gBACpE,yEAAyE;gBACzE,2BAA2B;YAC7B,SAAS,EAAE,KAAK;SACjB;QACD,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;QAC7D,UAAU,EAAE,sBAAsB;KACnC,EACD;QACE,MAAM,EAAE,GAAG;QACX,OAAO,EAAE;YACP,eAAe,EAAE,UAAU;YAC3B,CAAC,yBAAyB,CAAC,EAAE,sBAAsB;SACpD;KACF,CACF,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,QAAiC;IAEjC,OAAO;QACL,GAAG,QAAQ;QACX,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACtC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,KAAiB;IACrC,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAkB;IAC5C,OAAO,IAAI,QAAQ,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7I,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,QAAkB,EAClB,0BAA4C;IAE5C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,eAAe,GACnB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACpC,0BAA0B,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACnE,IAAI,eAAe;QAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;IAC3E,OAAO,IAAI,QAAQ,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,EAAE;QAChD,MAAM,EAAE,GAAG;QACX,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,QAAkB,EAClB,MAAiB;IAEjB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,0EAA0E;IAC1E,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACxC,OAAO,IAAI,QAAQ,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AACzE,CAAC"}
@@ -0,0 +1,47 @@
1
+ export type GenesisPayRequestOptions = {
2
+ /** Defaults to GET. */
3
+ method?: "GET" | "POST" | "PATCH";
4
+ /** Path starting with "/", already percent-encoded. */
5
+ path: string;
6
+ /** JSON request body. Omit entirely for a GET (no content-type is sent). */
7
+ body?: unknown;
8
+ /** Additional non-secret request headers, e.g. Idempotency-Key. */
9
+ headers?: Record<string, string>;
10
+ /** Label used in error messages, e.g. `POST /api/v1/plans`. */
11
+ operation: string;
12
+ /** Replaces the generic 404 text — a 404 usually needs case-specific wording. */
13
+ notFoundMessage?: string;
14
+ /**
15
+ * Next step for the caller, appended to the message. A function receives the
16
+ * HTTP status so one call site can give, say, a 403 its own guidance without
17
+ * hand-rolling an error class next to the shared mapper.
18
+ */
19
+ hint?: string | ((status: number) => string | undefined);
20
+ /**
21
+ * Filled into "Failed to reach GenesisPay to <action>" when the transport itself
22
+ * fails (DNS, connection refused, abort) — there is no response to map then.
23
+ */
24
+ action: string;
25
+ };
26
+ /** The client's bound request function, as a resource module sees it. */
27
+ export type GenesisPayRequest = (options: GenesisPayRequestOptions) => Promise<unknown>;
28
+ /** A non-null, non-array object, or null — the shape a mapper can read fields off. */
29
+ export declare function asRecord(value: unknown): Record<string, unknown> | null;
30
+ export declare function optionalString(value: unknown): string | null;
31
+ export declare function requiredString(value: unknown): string;
32
+ /** Flat `Record<string, string>`; anything else (array, nested object) → null. */
33
+ export declare function optionalMetadata(value: unknown): Record<string, string> | null;
34
+ export declare function oneOf<T extends string>(value: unknown, allowed: readonly T[], fallback: T): T;
35
+ export declare function toCount(value: unknown): number;
36
+ /** Like `toCount`, but a missing/unusable value stays `null` rather than 0. */
37
+ export declare function optionalCount(value: unknown): number | null;
38
+ /**
39
+ * Money crosses the wire as a decimal or minor-unit *string* so no precision is
40
+ * lost. A number is accepted and stringified anyway (a hand-rolled proxy or an
41
+ * older serializer may send one); anything else becomes "" rather than a
42
+ * plausible-looking wrong amount.
43
+ */
44
+ export declare function toAmountString(value: unknown): string;
45
+ /** Same as `toAmountString`, but keeps "not set" distinguishable from "zero". */
46
+ export declare function optionalAmountString(value: unknown): string | null;
47
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,wBAAwB,GAAG;IACrC,uBAAuB;IACvB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAClC,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,CAAC;IACzD;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAExF,sFAAsF;AACtF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAGvE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE5D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAM9E;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,QAAQ,EAAE,CAAC,GACV,CAAC,CAIH;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAG9C;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAIrD;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAIlE"}
@@ -0,0 +1,71 @@
1
+ // What every GenesisPay resource module (checkout, plans, mandates) is built on:
2
+ // one HTTP seam and one set of tolerant wire mappers.
3
+ //
4
+ // The seam exists so a resource module never touches `fetch`, the API key or
5
+ // the base URL — the client owns those and hands down a bound `GenesisPayRequest`.
6
+ // That keeps the error mapping in exactly one place (`throwForErrorResponse`,
7
+ // see ./errors.ts): a resource that built its own request could quietly grow a
8
+ // second, divergent notion of what a 422 means.
9
+ //
10
+ // The mappers are deliberately forgiving. Every field arrives as `unknown`
11
+ // because an older backend — one that predates a column this SDK version knows
12
+ // about — must never be able to crash a caller's poll loop or webhook handler.
13
+ // Missing or wrong-typed values degrade to null/0/"" or a named default; they
14
+ // never throw.
15
+ /** A non-null, non-array object, or null — the shape a mapper can read fields off. */
16
+ export function asRecord(value) {
17
+ if (!value || typeof value !== "object" || Array.isArray(value))
18
+ return null;
19
+ return value;
20
+ }
21
+ export function optionalString(value) {
22
+ return typeof value === "string" && value.length > 0 ? value : null;
23
+ }
24
+ export function requiredString(value) {
25
+ return typeof value === "string" ? value : "";
26
+ }
27
+ /** Flat `Record<string, string>`; anything else (array, nested object) → null. */
28
+ export function optionalMetadata(value) {
29
+ if (!value || typeof value !== "object" || Array.isArray(value))
30
+ return null;
31
+ const entries = Object.entries(value).filter((entry) => typeof entry[1] === "string");
32
+ return entries.length > 0 ? Object.fromEntries(entries) : null;
33
+ }
34
+ export function oneOf(value, allowed, fallback) {
35
+ return typeof value === "string" && allowed.includes(value)
36
+ ? value
37
+ : fallback;
38
+ }
39
+ export function toCount(value) {
40
+ const parsed = typeof value === "number" ? value : Number(value);
41
+ return Number.isFinite(parsed) ? parsed : 0;
42
+ }
43
+ /** Like `toCount`, but a missing/unusable value stays `null` rather than 0. */
44
+ export function optionalCount(value) {
45
+ if (value === null || value === undefined || value === "")
46
+ return null;
47
+ const parsed = typeof value === "number" ? value : Number(value);
48
+ return Number.isFinite(parsed) ? parsed : null;
49
+ }
50
+ /**
51
+ * Money crosses the wire as a decimal or minor-unit *string* so no precision is
52
+ * lost. A number is accepted and stringified anyway (a hand-rolled proxy or an
53
+ * older serializer may send one); anything else becomes "" rather than a
54
+ * plausible-looking wrong amount.
55
+ */
56
+ export function toAmountString(value) {
57
+ if (typeof value === "string")
58
+ return value;
59
+ if (typeof value === "number" && Number.isFinite(value))
60
+ return String(value);
61
+ return "";
62
+ }
63
+ /** Same as `toAmountString`, but keeps "not set" distinguishable from "zero". */
64
+ export function optionalAmountString(value) {
65
+ if (typeof value === "string")
66
+ return value.length > 0 ? value : null;
67
+ if (typeof value === "number" && Number.isFinite(value))
68
+ return String(value);
69
+ return null;
70
+ }
71
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type GenesisPayResponseMetadata } from "./errors.js";
2
+ import { type ApiVersion } from "./fulfillment.js";
3
+ export type StrictResponseMetadata = {
4
+ requestId: string;
5
+ apiVersion: ApiVersion;
6
+ };
7
+ /** Best-effort metadata for an error's context — never throws. */
8
+ export declare function strictResponseContext(response: Response, body: unknown): GenesisPayResponseMetadata;
9
+ /**
10
+ * True when the response is provably an answer from a backend speaking THIS
11
+ * strict API version. Non-throwing, for the paths that must degrade to a
12
+ * compatibility failure rather than raise.
13
+ */
14
+ export declare function isStrictVersionedResponse(response: Response, body: unknown): boolean;
15
+ /**
16
+ * The throwing form: the response must carry this API version and one agreed
17
+ * request ID, or it is not a strict response and the caller must not act on it.
18
+ * `subject` names the surface in the error message ("product", "checkout link").
19
+ */
20
+ export declare function requireStrictResponseMetadata(response: Response, body: unknown, subject: string): StrictResponseMetadata;
21
+ //# sourceMappingURL=strict-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict-response.d.ts","sourceRoot":"","sources":["../src/strict-response.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAmBF,kEAAkE;AAClE,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,OAAO,GACZ,0BAA0B,CAM5B;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,OAAO,GACZ,OAAO,CAST;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,GACd,sBAAsB,CA+BxB"}
@@ -0,0 +1,68 @@
1
+ // Version negotiation for the strict, versioned seller surface.
2
+ //
3
+ // Sending `GENESISPAY-Version` is a REQUEST. It is not negotiation: a backend
4
+ // that predates the strict surface — or one that was rolled back — ignores the
5
+ // header, answers in its tolerant 0.x dialect, and looks successful. Everything
6
+ // that follows from such a response (a payable link, a 402 challenge) is money
7
+ // this SDK can never establish strict evidence for, so every strict path checks
8
+ // the RESPONSE before it acts on it.
9
+ //
10
+ // The check is deliberately symmetric: both the header and the JSON body carry
11
+ // the version and the request ID, and they must agree. An intermediary that
12
+ // strips one of them leaves a response this SDK cannot vouch for, and a
13
+ // response it cannot vouch for is never treated as strict.
14
+ import { GenesisPayEvidenceError, GenesisPayVersionError, } from "./errors.js";
15
+ import { GENESISPAY_API_VERSION, GENESISPAY_REQUEST_ID_HEADER, GENESISPAY_VERSION_HEADER, } from "./fulfillment.js";
16
+ import { asRecord } from "./resource.js";
17
+ function readRawMetadata(response, body) {
18
+ const root = asRecord(body);
19
+ return {
20
+ headerRequestId: response.headers.get(GENESISPAY_REQUEST_ID_HEADER),
21
+ headerVersion: response.headers.get(GENESISPAY_VERSION_HEADER),
22
+ bodyRequestId: typeof root?.requestId === "string" ? root.requestId : null,
23
+ bodyVersion: typeof root?.apiVersion === "string" ? root.apiVersion : null,
24
+ };
25
+ }
26
+ /** Best-effort metadata for an error's context — never throws. */
27
+ export function strictResponseContext(response, body) {
28
+ const raw = readRawMetadata(response, body);
29
+ return {
30
+ requestId: raw.headerRequestId ?? raw.bodyRequestId,
31
+ apiVersion: raw.headerVersion ?? raw.bodyVersion,
32
+ };
33
+ }
34
+ /**
35
+ * True when the response is provably an answer from a backend speaking THIS
36
+ * strict API version. Non-throwing, for the paths that must degrade to a
37
+ * compatibility failure rather than raise.
38
+ */
39
+ export function isStrictVersionedResponse(response, body) {
40
+ const raw = readRawMetadata(response, body);
41
+ return (raw.headerVersion === GENESISPAY_API_VERSION &&
42
+ raw.bodyVersion === GENESISPAY_API_VERSION &&
43
+ raw.headerRequestId !== null &&
44
+ raw.headerRequestId.length > 0 &&
45
+ raw.headerRequestId === raw.bodyRequestId);
46
+ }
47
+ /**
48
+ * The throwing form: the response must carry this API version and one agreed
49
+ * request ID, or it is not a strict response and the caller must not act on it.
50
+ * `subject` names the surface in the error message ("product", "checkout link").
51
+ */
52
+ export function requireStrictResponseMetadata(response, body, subject) {
53
+ const raw = readRawMetadata(response, body);
54
+ const metadata = strictResponseContext(response, body);
55
+ if (raw.headerVersion !== GENESISPAY_API_VERSION ||
56
+ raw.bodyVersion !== GENESISPAY_API_VERSION) {
57
+ throw new GenesisPayVersionError("unsupported_api_version", `Unsupported GenesisPay API version "${raw.headerVersion ?? raw.bodyVersion ?? "missing"}" ` +
58
+ `on the ${subject} response. This GenesisPay backend does not speak ${GENESISPAY_API_VERSION}.`, metadata);
59
+ }
60
+ if (!raw.headerRequestId || !raw.bodyRequestId) {
61
+ throw new GenesisPayEvidenceError("malformed_evidence", `Versioned ${subject} response omitted requestId metadata.`, metadata);
62
+ }
63
+ if (raw.headerRequestId !== raw.bodyRequestId) {
64
+ throw new GenesisPayEvidenceError("inconsistent_evidence", `The ${subject} response headers and body carry different request IDs.`, metadata);
65
+ }
66
+ return { requestId: raw.headerRequestId, apiVersion: GENESISPAY_API_VERSION };
67
+ }
68
+ //# sourceMappingURL=strict-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict-response.js","sourceRoot":"","sources":["../src/strict-response.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Parses a human-readable decimal USDC amount ("0.10") into integer minor
3
+ * units (6 decimals) as a bigint. Rejects anything that is not a positive
4
+ * amount with at most 6 decimal places.
5
+ */
6
+ export declare function parseUsdcAmountToMinorUnits(amount: string): bigint;
7
+ //# sourceMappingURL=usdc-amount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usdc-amount.d.ts","sourceRoot":"","sources":["../src/usdc-amount.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAmBlE"}
@@ -0,0 +1,21 @@
1
+ const USDC_DECIMALS = 6;
2
+ const USDC_AMOUNT_PATTERN = /^\d+(?:\.\d{1,6})?$/;
3
+ /**
4
+ * Parses a human-readable decimal USDC amount ("0.10") into integer minor
5
+ * units (6 decimals) as a bigint. Rejects anything that is not a positive
6
+ * amount with at most 6 decimal places.
7
+ */
8
+ export function parseUsdcAmountToMinorUnits(amount) {
9
+ const normalizedAmount = amount.trim();
10
+ if (!USDC_AMOUNT_PATTERN.test(normalizedAmount)) {
11
+ throw new Error(`Invalid USDC amount "${amount}": use a positive decimal with up to 6 decimals, e.g. "0.10".`);
12
+ }
13
+ const [wholePart, fractionalPart = ""] = normalizedAmount.split(".");
14
+ const minorUnits = BigInt(wholePart) * BigInt(10 ** USDC_DECIMALS) +
15
+ BigInt(fractionalPart.padEnd(USDC_DECIMALS, "0"));
16
+ if (minorUnits <= 0n) {
17
+ throw new Error("USDC amount must be greater than zero.");
18
+ }
19
+ return minorUnits;
20
+ }
21
+ //# sourceMappingURL=usdc-amount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usdc-amount.js","sourceRoot":"","sources":["../src/usdc-amount.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAc;IACxD,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAEvC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,wBAAwB,MAAM,+DAA+D,CAC9F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,cAAc,GAAG,EAAE,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,UAAU,GACd,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,aAAa,CAAC;QAC/C,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC;IAEpD,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}