@flowselections/floriday-klanten-module 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/_core-safelist.d.ts +2 -0
- package/dist-lib/_core-safelist.d.ts.map +1 -0
- package/dist-lib/_core-safelist.js +15 -0
- package/dist-lib/components/CustomerAvatar.d.ts +7 -0
- package/dist-lib/components/CustomerAvatar.d.ts.map +1 -0
- package/dist-lib/components/CustomerAvatar.js +18 -0
- package/dist-lib/components/TemplatePage.d.ts +2 -0
- package/dist-lib/components/TemplatePage.d.ts.map +1 -0
- package/dist-lib/components/TemplatePage.js +4 -0
- package/dist-lib/components/settings/CustomerFieldsCard.d.ts +2 -0
- package/dist-lib/components/settings/CustomerFieldsCard.d.ts.map +1 -0
- package/dist-lib/components/settings/CustomerFieldsCard.js +59 -0
- package/dist-lib/index.d.ts +5 -0
- package/dist-lib/index.d.ts.map +1 -0
- package/dist-lib/index.js +32 -0
- package/dist-lib/integrations/supabase/auth-attacher.d.ts +2 -0
- package/dist-lib/integrations/supabase/auth-attacher.d.ts.map +1 -0
- package/dist-lib/integrations/supabase/auth-attacher.js +12 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +1560 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -0
- package/dist-lib/integrations/supabase/auth-middleware.js +52 -0
- package/dist-lib/integrations/supabase/client.d.ts +1556 -0
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -0
- package/dist-lib/integrations/supabase/client.js +28 -0
- package/dist-lib/integrations/supabase/client.server.d.ts +1556 -0
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -0
- package/dist-lib/integrations/supabase/client.server.js +50 -0
- package/dist-lib/integrations/supabase/types.d.ts +1656 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -0
- package/dist-lib/integrations/supabase/types.js +8 -0
- package/dist-lib/lib/accounting/exact/client.server.d.ts +37 -0
- package/dist-lib/lib/accounting/exact/client.server.d.ts.map +1 -0
- package/dist-lib/lib/accounting/exact/client.server.js +160 -0
- package/dist-lib/lib/accounting/exact/mapping.d.ts +39 -0
- package/dist-lib/lib/accounting/exact/mapping.d.ts.map +1 -0
- package/dist-lib/lib/accounting/exact/mapping.js +45 -0
- package/dist-lib/lib/accounting/exact/sync.server.d.ts +4 -0
- package/dist-lib/lib/accounting/exact/sync.server.d.ts.map +1 -0
- package/dist-lib/lib/accounting/exact/sync.server.js +181 -0
- package/dist-lib/lib/accounting/floriday/sync.server.d.ts +3 -0
- package/dist-lib/lib/accounting/floriday/sync.server.d.ts.map +1 -0
- package/dist-lib/lib/accounting/floriday/sync.server.js +17 -0
- package/dist-lib/lib/accounting/registry.server.d.ts +4 -0
- package/dist-lib/lib/accounting/registry.server.d.ts.map +1 -0
- package/dist-lib/lib/accounting/registry.server.js +9 -0
- package/dist-lib/lib/accounting/types.d.ts +24 -0
- package/dist-lib/lib/accounting/types.d.ts.map +1 -0
- package/dist-lib/lib/accounting/types.js +4 -0
- package/dist-lib/lib/accounting.functions.d.ts +4682 -0
- package/dist-lib/lib/accounting.functions.d.ts.map +1 -0
- package/dist-lib/lib/accounting.functions.js +50 -0
- package/dist-lib/lib/crypto.server.d.ts +10 -0
- package/dist-lib/lib/crypto.server.d.ts.map +1 -0
- package/dist-lib/lib/crypto.server.js +61 -0
- package/dist-lib/lib/customer-schemas.d.ts +53 -0
- package/dist-lib/lib/customer-schemas.d.ts.map +1 -0
- package/dist-lib/lib/customer-schemas.js +31 -0
- package/dist-lib/lib/customers.functions.d.ts +15904 -0
- package/dist-lib/lib/customers.functions.d.ts.map +1 -0
- package/dist-lib/lib/customers.functions.js +251 -0
- package/dist-lib/lib/floriday.server.d.ts +55 -0
- package/dist-lib/lib/floriday.server.d.ts.map +1 -0
- package/dist-lib/lib/floriday.server.js +765 -0
- package/dist-lib/lib/utils.d.ts +3 -0
- package/dist-lib/lib/utils.d.ts.map +1 -0
- package/dist-lib/lib/utils.js +5 -0
- package/dist-lib/lib/validationSchemas.d.ts +15 -0
- package/dist-lib/lib/validationSchemas.d.ts.map +1 -0
- package/dist-lib/lib/validationSchemas.js +25 -0
- package/dist-lib/styles.css +1 -0
- package/package.json +74 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/integrations/supabase/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GACZ,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GACnC,IAAI,EAAE,CAAA;AAEV,MAAM,MAAM,QAAQ,GAAG;IAGrB,kBAAkB,EAAE;QAClB,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,MAAM,EAAE;QACN,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,GAAG,EAAE;oBACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,UAAU,EAAE,MAAM,CAAA;oBAClB,WAAW,EAAE,MAAM,CAAA;oBACnB,EAAE,EAAE,MAAM,CAAA;oBACV,QAAQ,EAAE,MAAM,CAAA;oBAChB,MAAM,EAAE,MAAM,CAAA;oBACd,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,EAAE,MAAM,CAAA;oBAClB,OAAO,EAAE,MAAM,CAAA;iBAChB,CAAA;gBACD,MAAM,EAAE;oBACN,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,OAAO,EAAE,MAAM,CAAA;iBAChB,CAAA;gBACD,MAAM,EAAE;oBACN,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,OAAO,CAAC,EAAE,MAAM,CAAA;iBACjB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,WAAW,EAAE;gBACX,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,EAAE,EAAE,MAAM,CAAA;oBACV,IAAI,EAAE,MAAM,CAAA;oBACZ,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,IAAI,EAAE,MAAM,CAAA;oBACZ,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,kBAAkB,EAAE;gBAClB,GAAG,EAAE;oBACH,MAAM,EAAE,MAAM,CAAA;oBACd,OAAO,EAAE,IAAI,CAAA;oBACb,UAAU,EAAE,MAAM,CAAA;oBAClB,WAAW,EAAE,MAAM,CAAA;oBACnB,EAAE,EAAE,MAAM,CAAA;oBACV,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;iBACvB,CAAA;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM,CAAA;oBACd,OAAO,CAAC,EAAE,IAAI,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;iBACxB,CAAA;gBACD,MAAM,EAAE;oBACN,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,OAAO,CAAC,EAAE,IAAI,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;iBACxB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,qCAAqC,CAAA;wBACrD,OAAO,EAAE,CAAC,aAAa,CAAC,CAAA;wBACxB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,WAAW,CAAA;wBAC/B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,iBAAiB,EAAE;gBACjB,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,WAAW,EAAE,MAAM,CAAA;oBACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;oBAClC,SAAS,EAAE,MAAM,CAAA;oBACjB,EAAE,EAAE,MAAM,CAAA;oBACV,SAAS,EAAE,OAAO,CAAA;oBAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAA;oBAChB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,EAAE,MAAM,CAAA;oBACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnC,SAAS,EAAE,MAAM,CAAA;oBACjB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACjB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnC,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACjB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,oCAAoC,CAAA;wBACpD,OAAO,EAAE,CAAC,aAAa,CAAC,CAAA;wBACxB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,WAAW,CAAA;wBAC/B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,2BAA2B,EAAE;gBAC3B,GAAG,EAAE;oBACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtB,UAAU,EAAE,MAAM,CAAA;oBAClB,WAAW,EAAE,MAAM,CAAA;oBACnB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,UAAU,EAAE,OAAO,CAAA;oBACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,GAAG,EAAE,IAAI,GAAG,IAAI,CAAA;oBAChB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,EAAE,MAAM,CAAA;oBACnB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,UAAU,CAAC,EAAE,OAAO,CAAA;oBACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACjB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,UAAU,CAAC,EAAE,OAAO,CAAA;oBACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACjB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,8CAA8C,CAAA;wBAC9D,OAAO,EAAE,CAAC,aAAa,CAAC,CAAA;wBACxB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,WAAW,CAAA;wBAC/B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,sBAAsB,EAAE;gBACtB,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,gBAAgB,EAAE,MAAM,CAAA;oBACxB,EAAE,EAAE,MAAM,CAAA;oBACV,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,gBAAgB,EAAE,MAAM,CAAA;oBACxB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;oBACzB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,8CAA8C,CAAA;wBAC9D,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAA;wBAC7B,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,yBAAyB,CAAA;wBAC7C,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,uBAAuB,EAAE;gBACvB,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,SAAS,EAAE,MAAM,CAAA;oBACjB,WAAW,EAAE,MAAM,CAAA;oBACnB,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,SAAS,EAAE,OAAO,CAAA;oBAClB,UAAU,EAAE,MAAM,CAAA;oBAClB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,EAAE,MAAM,CAAA;oBACjB,WAAW,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,4BAA4B,EAAE;gBAC5B,GAAG,EAAE;oBACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,UAAU,EAAE,MAAM,CAAA;oBAClB,WAAW,EAAE,MAAM,CAAA;oBACnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC/B,EAAE,EAAE,MAAM,CAAA;oBACV,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,YAAY,EAAE,MAAM,CAAA;oBACpB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAA;oBAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,EAAE,MAAM,CAAA;oBACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAChC,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,YAAY,EAAE,MAAM,CAAA;oBACpB,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAChC,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,+CAA+C,CAAA;wBAC/D,OAAO,EAAE,CAAC,aAAa,CAAC,CAAA;wBACxB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,WAAW,CAAA;wBAC/B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,uBAAuB,EAAE;gBACvB,GAAG,EAAE;oBACH,QAAQ,EAAE,MAAM,CAAA;oBAChB,UAAU,EAAE,MAAM,CAAA;oBAClB,WAAW,EAAE,MAAM,CAAA;oBACnB,EAAE,EAAE,MAAM,CAAA;oBACV,SAAS,EAAE,OAAO,CAAA;oBAClB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAA;oBAChB,WAAW,EAAE,MAAM,CAAA;oBACnB,aAAa,EAAE,MAAM,CAAA;oBACrB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACjB,WAAW,EAAE,MAAM,CAAA;oBACnB,aAAa,EAAE,MAAM,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACjB,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,aAAa,CAAC,EAAE,MAAM,CAAA;oBACtB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,0CAA0C,CAAA;wBAC1D,OAAO,EAAE,CAAC,aAAa,CAAC,CAAA;wBACxB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,WAAW,CAAA;wBAC/B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,SAAS,EAAE;gBACT,GAAG,EAAE;oBACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;oBAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,YAAY,EAAE,MAAM,CAAA;oBACpB,iBAAiB,EAAE,MAAM,CAAA;oBACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtB,UAAU,EAAE,MAAM,CAAA;oBAClB,aAAa,EAAE,IAAI,CAAA;oBACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvC,YAAY,EAAE,IAAI,GAAG,IAAI,CAAA;oBACzB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;oBAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,EAAE,EAAE,MAAM,CAAA;oBACV,SAAS,EAAE,OAAO,CAAA;oBAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,OAAO,EAAE,MAAM,EAAE,CAAA;oBACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;oBAChC,eAAe,EAAE,MAAM,EAAE,CAAA;oBACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,cAAc,EAAE,MAAM,EAAE,CAAA;oBACxB,QAAQ,EAAE,MAAM,EAAE,CAAA;oBAClB,MAAM,EAAE,MAAM,CAAA;oBACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,WAAW,EAAE,MAAM,CAAA;oBACnB,WAAW,EAAE,MAAM,EAAE,CAAA;oBACrB,UAAU,EAAE,MAAM,CAAA;oBAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;iBACvB,CAAA;gBACD,MAAM,EAAE;oBACN,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC/B,YAAY,EAAE,MAAM,CAAA;oBACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;oBAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,aAAa,CAAC,EAAE,IAAI,CAAA;oBACpB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxC,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBAC1B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;oBAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;oBAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;oBACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;oBACnB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;oBACtB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;iBACxB,CAAA;gBACD,MAAM,EAAE;oBACN,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;oBAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,aAAa,CAAC,EAAE,IAAI,CAAA;oBACpB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxC,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBAC1B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;oBAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;oBAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;oBACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;oBACnB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;oBACtB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;iBACxB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,iBAAiB,EAAE;gBACjB,GAAG,EAAE;oBACH,sBAAsB,EAAE,MAAM,CAAA;oBAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,YAAY,EAAE,MAAM,CAAA;oBACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAA;oBACrD,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,uBAAuB,EAAE,MAAM,CAAA;oBAC/B,MAAM,EAAE,MAAM,CAAA;oBACd,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,sBAAsB,EAAE,MAAM,CAAA;oBAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAA;oBACrD,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,uBAAuB,EAAE,MAAM,CAAA;oBAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,sBAAsB,CAAC,EAAE,MAAM,CAAA;oBAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,WAAW,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAA;oBACtD,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,uBAAuB,CAAC,EAAE,MAAM,CAAA;oBAChC,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,iBAAiB,EAAE;gBACjB,GAAG,EAAE;oBACH,SAAS,EAAE,MAAM,CAAA;oBACjB,uBAAuB,EAAE,MAAM,CAAA;oBAC/B,UAAU,EAAE,MAAM,CAAA;oBAClB,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAA;oBACrD,EAAE,EAAE,MAAM,CAAA;oBACV,YAAY,EAAE,MAAM,CAAA;oBACpB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,SAAS,EAAE,MAAM,CAAA;oBACjB,uBAAuB,EAAE,MAAM,CAAA;oBAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAA;oBACrD,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,YAAY,EAAE,MAAM,CAAA;oBACpB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,uBAAuB,CAAC,EAAE,MAAM,CAAA;oBAChC,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,WAAW,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAA;oBACtD,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,qBAAqB,EAAE;gBACrB,GAAG,EAAE;oBACH,aAAa,EAAE,MAAM,CAAA;oBACrB,IAAI,EAAE,IAAI,CAAA;oBACV,QAAQ,EAAE,MAAM,CAAA;oBAChB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,EAAE,MAAM,CAAA;oBACrB,IAAI,CAAC,EAAE,IAAI,CAAA;oBACX,QAAQ,EAAE,MAAM,CAAA;oBAChB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,CAAC,EAAE,MAAM,CAAA;oBACtB,IAAI,CAAC,EAAE,IAAI,CAAA;oBACX,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,gBAAgB,EAAE;gBAChB,GAAG,EAAE;oBACH,aAAa,EAAE,MAAM,CAAA;oBACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,MAAM,EAAE,MAAM,CAAA;oBACd,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,EAAE,MAAM,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,CAAC,EAAE,MAAM,CAAA;oBACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,6BAA6B,EAAE;gBAC7B,GAAG,EAAE;oBACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,WAAW,EAAE,MAAM,CAAA;oBACnB,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;oBACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;oBAC5B,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC/B,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;oBAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC/B,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;oBAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,iBAAiB,EAAE;gBACjB,GAAG,EAAE;oBACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC/B,IAAI,EAAE,IAAI,CAAA;oBACV,cAAc,EAAE,MAAM,CAAA;oBACtB,SAAS,EAAE,MAAM,CAAA;oBACjB,QAAQ,EAAE,MAAM,CAAA;iBACjB,CAAA;gBACD,MAAM,EAAE;oBACN,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAChC,IAAI,CAAC,EAAE,IAAI,CAAA;oBACX,cAAc,CAAC,EAAE,MAAM,CAAA;oBACvB,SAAS,EAAE,MAAM,CAAA;oBACjB,QAAQ,EAAE,MAAM,CAAA;iBACjB,CAAA;gBACD,MAAM,EAAE;oBACN,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAChC,IAAI,CAAC,EAAE,IAAI,CAAA;oBACX,cAAc,CAAC,EAAE,MAAM,CAAA;oBACvB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,oBAAoB,EAAE;gBACpB,GAAG,EAAE;oBACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpC,oBAAoB,EAAE,MAAM,CAAA;oBAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,QAAQ,EAAE,MAAM,CAAA;oBAChB,MAAM,EAAE,MAAM,CAAA;oBACd,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrC,oBAAoB,CAAC,EAAE,MAAM,CAAA;oBAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,QAAQ,EAAE,MAAM,CAAA;oBAChB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrC,oBAAoB,CAAC,EAAE,MAAM,CAAA;oBAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,oBAAoB,EAAE;gBACpB,GAAG,EAAE;oBACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,OAAO,EAAE,MAAM,CAAA;oBACf,SAAS,EAAE,MAAM,CAAA;oBACjB,aAAa,EAAE,MAAM,CAAA;oBACrB,UAAU,EAAE,MAAM,CAAA;oBAClB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;oBACjC,WAAW,EAAE,MAAM,CAAA;oBACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,EAAE,EAAE,MAAM,CAAA;oBACV,SAAS,EAAE,OAAO,CAAA;oBAClB,KAAK,EAAE,MAAM,CAAA;oBACb,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;oBAChC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC/B,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,OAAO,EAAE,MAAM,CAAA;oBACf,SAAS,EAAE,MAAM,CAAA;oBACjB,aAAa,EAAE,MAAM,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAClC,WAAW,EAAE,MAAM,CAAA;oBACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACjC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAChC,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;oBAChB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,aAAa,CAAC,EAAE,MAAM,CAAA;oBACtB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAClC,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACjC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAChC,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,wBAAwB,EAAE;gBACxB,GAAG,EAAE;oBACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,IAAI,EAAE,IAAI,CAAA;oBACV,UAAU,EAAE,MAAM,CAAA;oBAClB,eAAe,EAAE,MAAM,CAAA;iBACxB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,IAAI,CAAC,EAAE,IAAI,CAAA;oBACX,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,eAAe,EAAE,MAAM,CAAA;iBACxB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,IAAI,CAAC,EAAE,IAAI,CAAA;oBACX,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,eAAe,CAAC,EAAE,MAAM,CAAA;iBACzB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,6CAA6C,CAAA;wBAC7D,OAAO,EAAE,CAAC,eAAe,CAAC,CAAA;wBAC1B,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,sBAAsB,CAAA;wBAC1C,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,sBAAsB,EAAE;gBACtB,GAAG,EAAE;oBACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,aAAa,EAAE,MAAM,CAAA;oBACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtB,IAAI,EAAE,IAAI,CAAA;oBACV,UAAU,EAAE,MAAM,CAAA;oBAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;oBAClB,eAAe,EAAE,MAAM,CAAA;oBACvB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;iBACjC,CAAA;gBACD,MAAM,EAAE;oBACN,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,aAAa,EAAE,MAAM,CAAA;oBACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,IAAI,CAAC,EAAE,IAAI,CAAA;oBACX,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,eAAe,EAAE,MAAM,CAAA;oBACvB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;iBAClC,CAAA;gBACD,MAAM,EAAE;oBACN,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,aAAa,CAAC,EAAE,MAAM,CAAA;oBACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,IAAI,CAAC,EAAE,IAAI,CAAA;oBACX,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,eAAe,CAAC,EAAE,MAAM,CAAA;oBACxB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;iBAClC,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,2BAA2B,EAAE;gBAC3B,GAAG,EAAE;oBACH,aAAa,EAAE,MAAM,CAAA;oBACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,oBAAoB,EAAE,MAAM,CAAA;oBAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,EAAE,MAAM,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAA;oBAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,CAAC,EAAE,MAAM,CAAA;oBACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAA;oBAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,iBAAiB,EAAE;gBACjB,GAAG,EAAE;oBACH,kBAAkB,EAAE,MAAM,CAAA;oBAC1B,EAAE,EAAE,MAAM,CAAA;oBACV,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,kBAAkB,CAAC,EAAE,MAAM,CAAA;oBAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,kBAAkB,CAAC,EAAE,MAAM,CAAA;oBAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,kBAAkB,EAAE;gBAClB,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,gBAAgB,EAAE,MAAM,EAAE,CAAA;oBAC1B,EAAE,EAAE,MAAM,CAAA;oBACV,UAAU,EAAE,MAAM,CAAA;oBAClB,eAAe,EAAE,MAAM,EAAE,CAAA;iBAC1B,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;oBAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;iBAC3B,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;oBAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;iBAC3B,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,SAAS,EAAE;gBACT,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,IAAI,EAAE,MAAM,CAAA;oBACZ,UAAU,EAAE,MAAM,CAAA;oBAClB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,IAAI,EAAE,MAAM,CAAA;oBACZ,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,aAAa,EAAE;gBACb,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtB,IAAI,EAAE,OAAO,CAAA;oBACb,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,EAAE,MAAM,CAAA;oBAClB,OAAO,EAAE,MAAM,CAAA;iBAChB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,IAAI,CAAC,EAAE,OAAO,CAAA;oBACd,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,OAAO,EAAE,MAAM,CAAA;iBAChB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,IAAI,CAAC,EAAE,OAAO,CAAA;oBACd,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,OAAO,CAAC,EAAE,MAAM,CAAA;iBACjB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,mBAAmB,EAAE;gBACnB,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,gBAAgB,EAAE,MAAM,CAAA;oBACxB,EAAE,EAAE,MAAM,CAAA;oBACV,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,gBAAgB,EAAE,MAAM,CAAA;oBACxB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;oBACzB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,2CAA2C,CAAA;wBAC3D,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAA;wBAC7B,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,sBAAsB,CAAA;wBAC1C,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,oBAAoB,EAAE;gBACpB,GAAG,EAAE;oBACH,MAAM,EAAE,OAAO,CAAA;oBACf,UAAU,EAAE,MAAM,CAAA;oBAClB,SAAS,EAAE,MAAM,CAAA;oBACjB,WAAW,EAAE,MAAM,CAAA;oBACnB,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,SAAS,EAAE,OAAO,CAAA;oBAClB,UAAU,EAAE,MAAM,CAAA;oBAClB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,MAAM,CAAC,EAAE,OAAO,CAAA;oBAChB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,EAAE,MAAM,CAAA;oBACjB,WAAW,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,MAAM,CAAC,EAAE,OAAO,CAAA;oBAChB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,WAAW,EAAE;gBACX,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,QAAQ,EAAE,MAAM,CAAA;oBAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,YAAY,EAAE,MAAM,CAAA;oBACpB,QAAQ,EAAE,MAAM,CAAA;oBAChB,IAAI,EAAE,MAAM,CAAA;oBACZ,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;iBAC1B,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,QAAQ,EAAE,MAAM,CAAA;oBAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,YAAY,EAAE,MAAM,CAAA;oBACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;iBAC3B,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;iBAC3B,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,2BAA2B,CAAA;wBAC3C,OAAO,EAAE,CAAC,UAAU,CAAC,CAAA;wBACrB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,QAAQ,CAAA;wBAC5B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;oBACD;wBACE,cAAc,EAAE,6BAA6B,CAAA;wBAC7C,OAAO,EAAE,CAAC,YAAY,CAAC,CAAA;wBACvB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,UAAU,CAAA;wBAC9B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,aAAa,EAAE,IAAI,CAAA;oBACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,aAAa,EAAE,MAAM,CAAA;oBACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,aAAa,EAAE,MAAM,CAAA;oBACrB,EAAE,EAAE,MAAM,CAAA;oBACV,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,UAAU,EAAE,MAAM,CAAA;oBAClB,YAAY,EAAE,MAAM,CAAA;oBACpB,MAAM,EAAE,MAAM,CAAA;oBACd,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,aAAa,CAAC,EAAE,IAAI,CAAA;oBACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;oBACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,aAAa,EAAE,MAAM,CAAA;oBACrB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,YAAY,EAAE,MAAM,CAAA;oBACpB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,aAAa,CAAC,EAAE,IAAI,CAAA;oBACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;oBACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,aAAa,CAAC,EAAE,MAAM,CAAA;oBACtB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,yBAAyB,CAAA;wBACzC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAA;wBACxB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,WAAW,CAAA;wBAC/B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,kBAAkB,EAAE;gBAClB,GAAG,EAAE;oBACH,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,EAAE,MAAM,CAAA;oBAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;oBACnB,EAAE,EAAE,MAAM,CAAA;oBACV,IAAI,EAAE,MAAM,CAAA;oBACZ,IAAI,EAAE,MAAM,CAAA;oBACZ,UAAU,EAAE,MAAM,CAAA;oBAClB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,IAAI,EAAE,MAAM,CAAA;oBACZ,IAAI,EAAE,MAAM,CAAA;oBACZ,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,qBAAqB,EAAE;gBACrB,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,gBAAgB,EAAE,MAAM,CAAA;oBACxB,EAAE,EAAE,MAAM,CAAA;oBACV,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,gBAAgB,EAAE,MAAM,CAAA;oBACxB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;oBACzB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,6CAA6C,CAAA;wBAC7D,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAA;wBAC7B,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,wBAAwB,CAAA;wBAC5C,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,sBAAsB,EAAE;gBACtB,GAAG,EAAE;oBACH,mBAAmB,EAAE,IAAI,CAAA;oBACzB,UAAU,EAAE,MAAM,CAAA;oBAClB,SAAS,EAAE,MAAM,CAAA;oBACjB,WAAW,EAAE,MAAM,CAAA;oBACnB,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,SAAS,EAAE,OAAO,CAAA;oBAClB,UAAU,EAAE,MAAM,CAAA;oBAClB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,mBAAmB,CAAC,EAAE,IAAI,CAAA;oBAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,EAAE,MAAM,CAAA;oBACjB,WAAW,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,mBAAmB,CAAC,EAAE,IAAI,CAAA;oBAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,OAAO,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,QAAQ,EAAE;gBACR,GAAG,EAAE;oBACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtB,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,EAAE,MAAM,CAAA;oBAClB,aAAa,EAAE,IAAI,CAAA;oBACnB,EAAE,EAAE,MAAM,CAAA;oBACV,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,iBAAiB,EAAE,MAAM,CAAA;oBACzB,QAAQ,EAAE,MAAM,CAAA;oBAChB,YAAY,EAAE,MAAM,CAAA;oBACpB,OAAO,EAAE,MAAM,CAAA;oBACf,YAAY,EAAE,MAAM,CAAA;oBACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,QAAQ,EAAE,MAAM,CAAA;oBAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,IAAI,EAAE,MAAM,CAAA;oBACZ,UAAU,EAAE,MAAM,CAAA;oBAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;iBACtB,CAAA;gBACD,MAAM,EAAE;oBACN,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,KAAK,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,aAAa,CAAC,EAAE,IAAI,CAAA;oBACpB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;oBAC1B,QAAQ,EAAE,MAAM,CAAA;oBAChB,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,OAAO,EAAE,MAAM,CAAA;oBACf,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;iBACvB,CAAA;gBACD,MAAM,EAAE;oBACN,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,KAAK,CAAC,EAAE,MAAM,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,aAAa,CAAC,EAAE,IAAI,CAAA;oBACpB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;oBAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,OAAO,CAAC,EAAE,MAAM,CAAA;oBAChB,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;iBACvB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,QAAQ,EAAE;gBACR,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,EAAE,EAAE,MAAM,CAAA;oBACV,wBAAwB,EAAE,IAAI,CAAA;oBAC9B,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,EAAE,EAAE,MAAM,CAAA;oBACV,wBAAwB,CAAC,EAAE,IAAI,CAAA;oBAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,wBAAwB,CAAC,EAAE,IAAI,CAAA;oBAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,oBAAoB,EAAE;gBACpB,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,YAAY,EAAE,MAAM,CAAA;oBACpB,iBAAiB,EAAE,MAAM,CAAA;oBACzB,QAAQ,EAAE,MAAM,CAAA;iBACjB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,iBAAiB,EAAE,MAAM,CAAA;oBACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;oBAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,sCAAsC,CAAA;wBACtD,OAAO,EAAE,CAAC,YAAY,CAAC,CAAA;wBACvB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,UAAU,CAAA;wBAC9B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;oBACD;wBACE,cAAc,EAAE,6CAA6C,CAAA;wBAC7D,OAAO,EAAE,CAAC,mBAAmB,CAAC,CAAA;wBAC9B,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,iBAAiB,CAAA;wBACrC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,eAAe,EAAE;gBACf,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,sBAAsB,EAAE,MAAM,CAAA;oBAC9B,EAAE,EAAE,MAAM,CAAA;oBACV,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,YAAY,EAAE,MAAM,CAAA;oBACpB,MAAM,EAAE,MAAM,CAAA;oBACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,aAAa,EAAE,MAAM,CAAA;oBACrB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,sBAAsB,EAAE,MAAM,CAAA;oBAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,YAAY,EAAE,MAAM,CAAA;oBACpB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;oBACtB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,sBAAsB,CAAC,EAAE,MAAM,CAAA;oBAC/B,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;oBACtB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,kCAAkC,CAAA;wBAClD,OAAO,EAAE,CAAC,aAAa,CAAC,CAAA;wBACxB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,WAAW,CAAA;wBAC/B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;oBACD;wBACE,cAAc,EAAE,kCAAkC,CAAA;wBAClD,OAAO,EAAE,CAAC,aAAa,CAAC,CAAA;wBACxB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,WAAW,CAAA;wBAC/B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,iBAAiB,EAAE;gBACjB,GAAG,EAAE;oBACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,IAAI,EAAE,MAAM,CAAA;oBACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,WAAW,EAAE,MAAM,CAAA;oBACnB,IAAI,EAAE,MAAM,CAAA;oBACZ,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,IAAI,EAAE,MAAM,CAAA;oBACZ,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,WAAW,EAAE,MAAM,CAAA;oBACnB,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,WAAW,CAAC,EAAE,MAAM,CAAA;oBACpB,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,oCAAoC,CAAA;wBACpD,OAAO,EAAE,CAAC,aAAa,CAAC,CAAA;wBACxB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,WAAW,CAAA;wBAC/B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;YACD,SAAS,EAAE;gBACT,GAAG,EAAE;oBACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;oBACtB,eAAe,EAAE,IAAI,GAAG,IAAI,CAAA;oBAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,UAAU,EAAE,MAAM,CAAA;oBAClB,oBAAoB,EAAE,MAAM,CAAA;oBAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,EAAE,EAAE,MAAM,CAAA;oBACV,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;oBACjC,IAAI,EAAE,MAAM,CAAA;oBACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;oBACpB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,oBAAoB,CAAC,EAAE,MAAM,CAAA;oBAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAClC,IAAI,EAAE,MAAM,CAAA;oBACZ,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACvB,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,oBAAoB,CAAC,EAAE,MAAM,CAAA;oBAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAClC,IAAI,CAAC,EAAE,MAAM,CAAA;oBACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,iBAAiB,EAAE;gBACjB,GAAG,EAAE;oBACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,UAAU,EAAE,MAAM,CAAA;oBAClB,IAAI,EAAE,IAAI,CAAA;oBACV,EAAE,EAAE,MAAM,CAAA;oBACV,UAAU,EAAE,MAAM,CAAA;oBAClB,OAAO,EAAE,MAAM,CAAA;iBAChB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,IAAI,CAAC,EAAE,IAAI,CAAA;oBACX,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,OAAO,EAAE,MAAM,CAAA;iBAChB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,IAAI,CAAC,EAAE,IAAI,CAAA;oBACX,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,OAAO,CAAC,EAAE,MAAM,CAAA;iBACjB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAA;oBAC7C,OAAO,EAAE,MAAM,CAAA;iBAChB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAA;oBAC7C,OAAO,EAAE,MAAM,CAAA;iBAChB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,EAAE,CAAC,EAAE,MAAM,CAAA;oBACX,IAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAA;oBAC9C,OAAO,CAAC,EAAE,MAAM,CAAA;iBACjB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,yBAAyB,CAAA;wBACzC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAA;wBACpB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,UAAU,CAAA;wBAC9B,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAA;qBAC1B;iBACF,CAAA;aACF,CAAA;SACF,CAAA;QACD,KAAK,EAAE;aACJ,CAAC,IAAI,KAAK,GAAG,KAAK;SACpB,CAAA;QACD,SAAS,EAAE;YACT,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAA;oBAC9C,QAAQ,EAAE,MAAM,CAAA;iBACjB,CAAA;gBACD,OAAO,EAAE,OAAO,CAAA;aACjB,CAAA;YACD,8BAA8B,EAAE;gBAC9B,IAAI,EAAE;oBAAE,QAAQ,EAAE,MAAM,CAAC;oBAAC,KAAK,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACzC,OAAO,EAAE,MAAM,CAAA;aAChB,CAAA;YACD,+BAA+B,EAAE;gBAC/B,IAAI,EAAE;oBAAE,QAAQ,EAAE,MAAM,CAAC;oBAAC,KAAK,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACzC,OAAO,EAAE,MAAM,CAAA;aAChB,CAAA;YACD,UAAU,EAAE;gBAAE,IAAI,EAAE,KAAK,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAA;YAC5C,SAAS,EAAE;gBAAE,IAAI,EAAE;oBAAE,EAAE,EAAE,MAAM,CAAA;iBAAE,CAAC;gBAAC,OAAO,EAAE,MAAM,EAAE,CAAA;aAAE,CAAA;SACvD,CAAA;QACD,KAAK,EAAE;YACL,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,CAAA;YACnE,SAAS,EAAE,SAAS,GAAG,MAAM,CAAA;SAC9B,CAAA;QACD,cAAc,EAAE;aACb,CAAC,IAAI,KAAK,GAAG,KAAK;SACpB,CAAA;KACF,CAAA;CACF,CAAA;AAED,KAAK,wBAAwB,GAAG,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;AAEpE,KAAK,aAAa,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;AAEhF,MAAM,MAAM,MAAM,CAChB,+BAA+B,SAC3B,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,GACxD;IAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;CAAE,EAC9C,SAAS,SAAS,+BAA+B,SAAS;IACxD,MAAM,EAAE,MAAM,wBAAwB,CAAA;CACvC,GACG,MAAM,CAAC,wBAAwB,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAClF,wBAAwB,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAC/E,KAAK,GAAG,KAAK,IACf,+BAA+B,SAAS;IAC1C,MAAM,EAAE,MAAM,wBAAwB,CAAA;CACvC,GACG,CAAC,wBAAwB,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAC5E,wBAAwB,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS;IACjG,GAAG,EAAE,MAAM,CAAC,CAAA;CACb,GACC,CAAC,GACD,KAAK,GACP,+BAA+B,SAAS,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,GAClE,aAAa,CAAC,OAAO,CAAC,CAAC,GACzB,CAAC,aAAa,CAAC,QAAQ,CAAC,GACtB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,SAAS;IACjE,GAAG,EAAE,MAAM,CAAC,CAAA;CACb,GACC,CAAC,GACD,KAAK,GACP,KAAK,CAAA;AAEX,MAAM,MAAM,YAAY,CACtB,+BAA+B,SAC3B,MAAM,aAAa,CAAC,QAAQ,CAAC,GAC7B;IAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;CAAE,EAC9C,SAAS,SAAS,+BAA+B,SAAS;IACxD,MAAM,EAAE,MAAM,wBAAwB,CAAA;CACvC,GACG,MAAM,wBAAwB,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GACnF,KAAK,GAAG,KAAK,IACf,+BAA+B,SAAS;IAC1C,MAAM,EAAE,MAAM,wBAAwB,CAAA;CACvC,GACG,wBAAwB,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS;IAC/F,MAAM,EAAE,MAAM,CAAC,CAAA;CAChB,GACC,CAAC,GACD,KAAK,GACP,+BAA+B,SAAS,MAAM,aAAa,CAAC,QAAQ,CAAC,GACnE,aAAa,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,SAAS;IAC/D,MAAM,EAAE,MAAM,CAAC,CAAA;CAChB,GACC,CAAC,GACD,KAAK,GACP,KAAK,CAAA;AAEX,MAAM,MAAM,YAAY,CACtB,+BAA+B,SAC3B,MAAM,aAAa,CAAC,QAAQ,CAAC,GAC7B;IAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;CAAE,EAC9C,SAAS,SAAS,+BAA+B,SAAS;IACxD,MAAM,EAAE,MAAM,wBAAwB,CAAA;CACvC,GACG,MAAM,wBAAwB,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GACnF,KAAK,GAAG,KAAK,IACf,+BAA+B,SAAS;IAC1C,MAAM,EAAE,MAAM,wBAAwB,CAAA;CACvC,GACG,wBAAwB,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS;IAC/F,MAAM,EAAE,MAAM,CAAC,CAAA;CAChB,GACC,CAAC,GACD,KAAK,GACP,+BAA+B,SAAS,MAAM,aAAa,CAAC,QAAQ,CAAC,GACnE,aAAa,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,SAAS;IAC/D,MAAM,EAAE,MAAM,CAAC,CAAA;CAChB,GACC,CAAC,GACD,KAAK,GACP,KAAK,CAAA;AAEX,MAAM,MAAM,KAAK,CACf,8BAA8B,SAC1B,MAAM,aAAa,CAAC,OAAO,CAAC,GAC5B;IAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;CAAE,EAC9C,QAAQ,SAAS,8BAA8B,SAAS;IACtD,MAAM,EAAE,MAAM,wBAAwB,CAAA;CACvC,GACG,MAAM,wBAAwB,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GACjF,KAAK,GAAG,KAAK,IACf,8BAA8B,SAAS;IACzC,MAAM,EAAE,MAAM,wBAAwB,CAAA;CACvC,GACG,wBAAwB,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GACrF,8BAA8B,SAAS,MAAM,aAAa,CAAC,OAAO,CAAC,GACjE,aAAa,CAAC,OAAO,CAAC,CAAC,8BAA8B,CAAC,GACtD,KAAK,CAAA;AAEX,MAAM,MAAM,cAAc,CACxB,gCAAgC,SAC5B,MAAM,aAAa,CAAC,gBAAgB,CAAC,GACrC;IAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;CAAE,EAC9C,iBAAiB,SAAS,gCAAgC,SAAS;IACjE,MAAM,EAAE,MAAM,wBAAwB,CAAA;CACvC,GACG,MAAM,wBAAwB,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAC5F,KAAK,GAAG,KAAK,IACf,gCAAgC,SAAS;IAC3C,MAAM,EAAE,MAAM,wBAAwB,CAAA;CACvC,GACG,wBAAwB,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,iBAAiB,CAAC,GACzG,gCAAgC,SAAS,MAAM,aAAa,CAAC,gBAAgB,CAAC,GAC5E,aAAa,CAAC,gBAAgB,CAAC,CAAC,gCAAgC,CAAC,GACjE,KAAK,CAAA;AAEX,eAAO,MAAM,SAAS;;;;;;;CAOZ,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Database } from "@/integrations/supabase/types";
|
|
2
|
+
type ExactConnection = Database["public"]["Tables"]["exact_connections"]["Row"];
|
|
3
|
+
type ExactEnv = Database["public"]["Enums"]["exact_env"];
|
|
4
|
+
export declare function hostFor(_environment: ExactEnv): string;
|
|
5
|
+
export declare function authorizeUrl(opts: {
|
|
6
|
+
environment: ExactEnv;
|
|
7
|
+
clientId: string;
|
|
8
|
+
redirectUri: string;
|
|
9
|
+
state: string;
|
|
10
|
+
}): string;
|
|
11
|
+
export declare function exchangeCodeForTokens(opts: {
|
|
12
|
+
environment: ExactEnv;
|
|
13
|
+
code: string;
|
|
14
|
+
redirectUri: string;
|
|
15
|
+
}): Promise<{
|
|
16
|
+
access_token: string;
|
|
17
|
+
refresh_token: string;
|
|
18
|
+
expires_in: number;
|
|
19
|
+
}>;
|
|
20
|
+
export declare function ensureValidAccessToken(conn: ExactConnection): Promise<string>;
|
|
21
|
+
export interface ExactRequestOptions {
|
|
22
|
+
method?: "GET" | "POST" | "PUT" | "DELETE";
|
|
23
|
+
query?: Record<string, string>;
|
|
24
|
+
body?: unknown;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Authenticated REST call against Exact Online. `path` is the part after the
|
|
28
|
+
* division segment, e.g. `/crm/Accounts`. Pass `path = ""` for endpoints that
|
|
29
|
+
* don't include the division (rare; current.Me etc.).
|
|
30
|
+
*/
|
|
31
|
+
export declare function exactFetch(conn: ExactConnection, path: string, opts?: ExactRequestOptions): Promise<Response>;
|
|
32
|
+
export declare function fetchCurrentDivision(accessToken: string, environment: ExactEnv): Promise<{
|
|
33
|
+
division: number;
|
|
34
|
+
companyName: string | null;
|
|
35
|
+
}>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=client.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.server.d.ts","sourceRoot":"","sources":["../../../../src/lib/accounting/exact/client.server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAG9D,KAAK,eAAe,GAClB,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC;AAO3D,KAAK,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC;AAKzD,wBAAgB,OAAO,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,CAEtD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAST;AAiBD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,WAAW,EAAE,QAAQ,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC;IACV,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CA+BD;AA2DD,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAqCnB;AAED,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC9F,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC,CAiBD"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// Server-only Exact Online REST/OAuth helpers. NEVER import from client code.
|
|
2
|
+
import { supabaseAdmin } from "@/integrations/supabase/client.server";
|
|
3
|
+
import { decryptToken, encryptToken } from "@/lib/crypto.server";
|
|
4
|
+
// Exact Online's "staging" en "live" omgevingen draaien beide op
|
|
5
|
+
// start.exactonline.nl — er is geen aparte sandbox-host. Een test-/dev-app
|
|
6
|
+
// gebruikt eigen client credentials maar dezelfde endpoints.
|
|
7
|
+
export function hostFor(_environment) {
|
|
8
|
+
return "start.exactonline.nl";
|
|
9
|
+
}
|
|
10
|
+
export function authorizeUrl(opts) {
|
|
11
|
+
const host = hostFor(opts.environment);
|
|
12
|
+
const u = new URL(`https://${host}/api/oauth2/auth`);
|
|
13
|
+
u.searchParams.set("client_id", opts.clientId);
|
|
14
|
+
u.searchParams.set("redirect_uri", opts.redirectUri);
|
|
15
|
+
u.searchParams.set("response_type", "code");
|
|
16
|
+
u.searchParams.set("force_login", "0");
|
|
17
|
+
u.searchParams.set("state", opts.state);
|
|
18
|
+
return u.toString();
|
|
19
|
+
}
|
|
20
|
+
async function getCredentials(environment) {
|
|
21
|
+
const { data, error } = await supabaseAdmin
|
|
22
|
+
.from("exact_credentials")
|
|
23
|
+
.select("*")
|
|
24
|
+
.eq("environment", environment)
|
|
25
|
+
.maybeSingle();
|
|
26
|
+
if (error)
|
|
27
|
+
throw new Error(`Exact credentials lookup: ${error.message}`);
|
|
28
|
+
if (!data)
|
|
29
|
+
throw new Error(`Geen Exact-credentials gevonden voor environment "${environment}". ` +
|
|
30
|
+
"Voeg eerst client_id + client_secret toe in exact_credentials.");
|
|
31
|
+
return data;
|
|
32
|
+
}
|
|
33
|
+
export async function exchangeCodeForTokens(opts) {
|
|
34
|
+
const creds = await getCredentials(opts.environment);
|
|
35
|
+
const clientSecret = await decryptToken(creds.client_secret_encrypted);
|
|
36
|
+
const host = hostFor(opts.environment);
|
|
37
|
+
const body = new URLSearchParams({
|
|
38
|
+
code: opts.code,
|
|
39
|
+
client_id: creds.client_id,
|
|
40
|
+
client_secret: clientSecret,
|
|
41
|
+
grant_type: "authorization_code",
|
|
42
|
+
redirect_uri: opts.redirectUri,
|
|
43
|
+
});
|
|
44
|
+
const res = await fetch(`https://${host}/api/oauth2/token`, {
|
|
45
|
+
method: "POST",
|
|
46
|
+
headers: {
|
|
47
|
+
Accept: "application/json",
|
|
48
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
49
|
+
},
|
|
50
|
+
body: body.toString(),
|
|
51
|
+
});
|
|
52
|
+
if (!res.ok) {
|
|
53
|
+
throw new Error(`Exact token exchange ${res.status}: ${await res.text().catch(() => "")}`);
|
|
54
|
+
}
|
|
55
|
+
return res.json();
|
|
56
|
+
}
|
|
57
|
+
async function refreshAccessToken(conn) {
|
|
58
|
+
const creds = await getCredentials(conn.environment);
|
|
59
|
+
const clientSecret = await decryptToken(creds.client_secret_encrypted);
|
|
60
|
+
const refreshToken = await decryptToken(conn.refresh_token_encrypted);
|
|
61
|
+
const host = hostFor(conn.environment);
|
|
62
|
+
const body = new URLSearchParams({
|
|
63
|
+
refresh_token: refreshToken,
|
|
64
|
+
grant_type: "refresh_token",
|
|
65
|
+
client_id: creds.client_id,
|
|
66
|
+
client_secret: clientSecret,
|
|
67
|
+
});
|
|
68
|
+
const res = await fetch(`https://${host}/api/oauth2/token`, {
|
|
69
|
+
method: "POST",
|
|
70
|
+
headers: {
|
|
71
|
+
Accept: "application/json",
|
|
72
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
73
|
+
},
|
|
74
|
+
body: body.toString(),
|
|
75
|
+
});
|
|
76
|
+
if (!res.ok) {
|
|
77
|
+
const text = await res.text().catch(() => "");
|
|
78
|
+
await supabaseAdmin
|
|
79
|
+
.from("exact_connections")
|
|
80
|
+
.update({ status: "error" })
|
|
81
|
+
.eq("id", conn.id);
|
|
82
|
+
throw new Error(`Exact refresh ${res.status}: ${text}`);
|
|
83
|
+
}
|
|
84
|
+
const data = (await res.json());
|
|
85
|
+
const expiresAt = new Date(Date.now() + (data.expires_in - 60) * 1000);
|
|
86
|
+
await supabaseAdmin
|
|
87
|
+
.from("exact_connections")
|
|
88
|
+
.update({
|
|
89
|
+
access_token_encrypted: await encryptToken(data.access_token),
|
|
90
|
+
refresh_token_encrypted: await encryptToken(data.refresh_token),
|
|
91
|
+
expires_at: expiresAt.toISOString(),
|
|
92
|
+
status: "connected",
|
|
93
|
+
})
|
|
94
|
+
.eq("id", conn.id);
|
|
95
|
+
return {
|
|
96
|
+
accessToken: data.access_token,
|
|
97
|
+
refreshToken: data.refresh_token,
|
|
98
|
+
expiresAt,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
export async function ensureValidAccessToken(conn) {
|
|
102
|
+
const expiresAt = conn.expires_at ? new Date(conn.expires_at) : null;
|
|
103
|
+
const valid = expiresAt && expiresAt.getTime() > Date.now() + 60000;
|
|
104
|
+
if (valid && conn.access_token_encrypted) {
|
|
105
|
+
return decryptToken(conn.access_token_encrypted);
|
|
106
|
+
}
|
|
107
|
+
const { accessToken } = await refreshAccessToken(conn);
|
|
108
|
+
return accessToken;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Authenticated REST call against Exact Online. `path` is the part after the
|
|
112
|
+
* division segment, e.g. `/crm/Accounts`. Pass `path = ""` for endpoints that
|
|
113
|
+
* don't include the division (rare; current.Me etc.).
|
|
114
|
+
*/
|
|
115
|
+
export async function exactFetch(conn, path, opts = {}) {
|
|
116
|
+
if (!conn.division_code) {
|
|
117
|
+
throw new Error(`Exact-connectie ${conn.id} heeft geen division_code; herauthenticeer via OAuth.`);
|
|
118
|
+
}
|
|
119
|
+
const token = await ensureValidAccessToken(conn);
|
|
120
|
+
const host = hostFor(conn.environment);
|
|
121
|
+
const url = new URL(`https://${host}/api/v1/${conn.division_code}${path}`);
|
|
122
|
+
for (const [k, v] of Object.entries(opts.query ?? {})) {
|
|
123
|
+
url.searchParams.set(k, v);
|
|
124
|
+
}
|
|
125
|
+
const res = await fetch(url.toString(), {
|
|
126
|
+
method: opts.method ?? "GET",
|
|
127
|
+
headers: {
|
|
128
|
+
Authorization: `Bearer ${token}`,
|
|
129
|
+
Accept: "application/json",
|
|
130
|
+
...(opts.body ? { "Content-Type": "application/json" } : {}),
|
|
131
|
+
},
|
|
132
|
+
body: opts.body ? JSON.stringify(opts.body) : undefined,
|
|
133
|
+
});
|
|
134
|
+
// Respecteer Exact's rate-limit: bij 429 één retry na Retry-After.
|
|
135
|
+
if (res.status === 429) {
|
|
136
|
+
const retry = Number(res.headers.get("Retry-After") ?? "5");
|
|
137
|
+
await new Promise((r) => setTimeout(r, Math.min(retry, 60) * 1000));
|
|
138
|
+
return fetch(url.toString(), {
|
|
139
|
+
method: opts.method ?? "GET",
|
|
140
|
+
headers: {
|
|
141
|
+
Authorization: `Bearer ${token}`,
|
|
142
|
+
Accept: "application/json",
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
return res;
|
|
147
|
+
}
|
|
148
|
+
export async function fetchCurrentDivision(accessToken, environment) {
|
|
149
|
+
const host = hostFor(environment);
|
|
150
|
+
const res = await fetch(`https://${host}/api/v1/current/Me?$select=CurrentDivision,DivisionLabel`, { headers: { Authorization: `Bearer ${accessToken}`, Accept: "application/json" } });
|
|
151
|
+
if (!res.ok) {
|
|
152
|
+
throw new Error(`Exact current/Me ${res.status}: ${await res.text().catch(() => "")}`);
|
|
153
|
+
}
|
|
154
|
+
const json = (await res.json());
|
|
155
|
+
const row = json?.d?.results?.[0] ?? json?.d ?? json;
|
|
156
|
+
return {
|
|
157
|
+
division: Number(row?.CurrentDivision ?? 0),
|
|
158
|
+
companyName: row?.DivisionLabel ?? null,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export interface ExactAccount {
|
|
2
|
+
ID: string;
|
|
3
|
+
Code?: string | null;
|
|
4
|
+
Name?: string | null;
|
|
5
|
+
Email?: string | null;
|
|
6
|
+
Phone?: string | null;
|
|
7
|
+
Website?: string | null;
|
|
8
|
+
VATNumber?: string | null;
|
|
9
|
+
ChamberOfCommerce?: string | null;
|
|
10
|
+
AddressLine1?: string | null;
|
|
11
|
+
AddressLine2?: string | null;
|
|
12
|
+
AddressLine3?: string | null;
|
|
13
|
+
Postcode?: string | null;
|
|
14
|
+
City?: string | null;
|
|
15
|
+
Country?: string | null;
|
|
16
|
+
Status?: string | null;
|
|
17
|
+
Modified?: string | null;
|
|
18
|
+
[k: string]: unknown;
|
|
19
|
+
}
|
|
20
|
+
export interface MappedCustomerRow {
|
|
21
|
+
source: "exact";
|
|
22
|
+
external_id: string;
|
|
23
|
+
company_name: string;
|
|
24
|
+
email: string | null;
|
|
25
|
+
phone: string | null;
|
|
26
|
+
website: string | null;
|
|
27
|
+
vat_number: string | null;
|
|
28
|
+
street: string | null;
|
|
29
|
+
house_number: string | null;
|
|
30
|
+
postal_code: string | null;
|
|
31
|
+
city: string | null;
|
|
32
|
+
country: string | null;
|
|
33
|
+
is_active: boolean;
|
|
34
|
+
custom_fields: Record<string, unknown>;
|
|
35
|
+
sync_status: "synced";
|
|
36
|
+
last_synced_at: string;
|
|
37
|
+
}
|
|
38
|
+
export declare function mapExactAccount(acc: ExactAccount): MappedCustomerRow | null;
|
|
39
|
+
//# sourceMappingURL=mapping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../../../src/lib/accounting/exact/mapping.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,WAAW,EAAE,QAAQ,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAmBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,iBAAiB,GAAG,IAAI,CA4B3E"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
function splitStreet(line) {
|
|
2
|
+
if (!line)
|
|
3
|
+
return { street: null, house_number: null };
|
|
4
|
+
const trimmed = line.trim();
|
|
5
|
+
const m = trimmed.match(/^(.+?)\s+(\d+[A-Za-z]?(?:[-/\s]\d+[A-Za-z]?)?)$/);
|
|
6
|
+
if (!m)
|
|
7
|
+
return { street: trimmed, house_number: null };
|
|
8
|
+
return { street: m[1].trim(), house_number: m[2].trim() };
|
|
9
|
+
}
|
|
10
|
+
function pick(s) {
|
|
11
|
+
if (typeof s !== "string")
|
|
12
|
+
return null;
|
|
13
|
+
const t = s.trim();
|
|
14
|
+
return t.length > 0 ? t : null;
|
|
15
|
+
}
|
|
16
|
+
export function mapExactAccount(acc) {
|
|
17
|
+
if (!acc?.ID)
|
|
18
|
+
return null;
|
|
19
|
+
const name = pick(acc.Name) ?? `Exact-relatie ${acc.ID.slice(0, 8)}`;
|
|
20
|
+
const { street, house_number } = splitStreet(acc.AddressLine1 ?? null);
|
|
21
|
+
const customFields = {};
|
|
22
|
+
if (acc.Code)
|
|
23
|
+
customFields.exact_code = acc.Code;
|
|
24
|
+
if (acc.ChamberOfCommerce)
|
|
25
|
+
customFields.kvk = acc.ChamberOfCommerce;
|
|
26
|
+
customFields.exact_raw = acc;
|
|
27
|
+
return {
|
|
28
|
+
source: "exact",
|
|
29
|
+
external_id: acc.ID,
|
|
30
|
+
company_name: name,
|
|
31
|
+
email: pick(acc.Email),
|
|
32
|
+
phone: pick(acc.Phone),
|
|
33
|
+
website: pick(acc.Website),
|
|
34
|
+
vat_number: pick(acc.VATNumber),
|
|
35
|
+
street,
|
|
36
|
+
house_number,
|
|
37
|
+
postal_code: pick(acc.Postcode),
|
|
38
|
+
city: pick(acc.City),
|
|
39
|
+
country: pick(acc.Country),
|
|
40
|
+
is_active: (acc.Status ?? "A").toUpperCase() === "A",
|
|
41
|
+
custom_fields: customFields,
|
|
42
|
+
sync_status: "synced",
|
|
43
|
+
last_synced_at: new Date().toISOString(),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.server.d.ts","sourceRoot":"","sources":["../../../../src/lib/accounting/exact/sync.server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AA4KhC,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAwB3E;AAED,eAAO,MAAM,aAAa,EAAE,kBAW3B,CAAC"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { supabaseAdmin } from "@/integrations/supabase/client.server";
|
|
2
|
+
import { ensureValidAccessToken, exactFetch } from "./client.server";
|
|
3
|
+
import { mapExactAccount } from "./mapping";
|
|
4
|
+
const SELECT_FIELDS = [
|
|
5
|
+
"ID",
|
|
6
|
+
"Code",
|
|
7
|
+
"Name",
|
|
8
|
+
"Email",
|
|
9
|
+
"Phone",
|
|
10
|
+
"Website",
|
|
11
|
+
"VATNumber",
|
|
12
|
+
"ChamberOfCommerce",
|
|
13
|
+
"AddressLine1",
|
|
14
|
+
"AddressLine2",
|
|
15
|
+
"AddressLine3",
|
|
16
|
+
"Postcode",
|
|
17
|
+
"City",
|
|
18
|
+
"Country",
|
|
19
|
+
"Status",
|
|
20
|
+
"Modified",
|
|
21
|
+
].join(",");
|
|
22
|
+
async function* iterateAccounts(conn, modifiedSince) {
|
|
23
|
+
const MAX_PAGES = 200;
|
|
24
|
+
let nextUrl = null;
|
|
25
|
+
const query = {
|
|
26
|
+
$select: SELECT_FIELDS,
|
|
27
|
+
$top: "60",
|
|
28
|
+
};
|
|
29
|
+
if (modifiedSince) {
|
|
30
|
+
const iso = new Date(modifiedSince).toISOString().replace(/\.\d{3}Z$/, "");
|
|
31
|
+
query.$filter = `Modified gt datetime'${iso}'`;
|
|
32
|
+
}
|
|
33
|
+
for (let page = 0; page < MAX_PAGES; page++) {
|
|
34
|
+
let res;
|
|
35
|
+
if (nextUrl) {
|
|
36
|
+
const token = await ensureValidAccessToken(conn);
|
|
37
|
+
res = await fetch(nextUrl, {
|
|
38
|
+
headers: {
|
|
39
|
+
Authorization: `Bearer ${token}`,
|
|
40
|
+
Accept: "application/json",
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
res = await exactFetch(conn, "/crm/Accounts", { query });
|
|
46
|
+
}
|
|
47
|
+
if (!res.ok) {
|
|
48
|
+
throw new Error(`Exact /crm/Accounts ${res.status}: ${await res
|
|
49
|
+
.text()
|
|
50
|
+
.catch(() => "")}`);
|
|
51
|
+
}
|
|
52
|
+
const json = (await res.json());
|
|
53
|
+
const results = json?.d?.results ?? [];
|
|
54
|
+
for (const a of results)
|
|
55
|
+
yield a;
|
|
56
|
+
if (!json?.d?.__next || results.length === 0)
|
|
57
|
+
return;
|
|
58
|
+
nextUrl = json.d.__next;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async function syncOneConnection(conn) {
|
|
62
|
+
const { data: state } = await supabaseAdmin
|
|
63
|
+
.from("exact_sync_state")
|
|
64
|
+
.select("last_modified_cursor")
|
|
65
|
+
.eq("connection_id", conn.id)
|
|
66
|
+
.maybeSingle();
|
|
67
|
+
await supabaseAdmin.from("exact_sync_state").upsert({
|
|
68
|
+
connection_id: conn.id,
|
|
69
|
+
status: "running",
|
|
70
|
+
last_error: null,
|
|
71
|
+
updated_at: new Date().toISOString(),
|
|
72
|
+
});
|
|
73
|
+
let synced = 0;
|
|
74
|
+
let maxModified = state?.last_modified_cursor ?? null;
|
|
75
|
+
const batch = [];
|
|
76
|
+
async function flush() {
|
|
77
|
+
const rows = batch.filter((r) => r !== null);
|
|
78
|
+
batch.length = 0;
|
|
79
|
+
if (rows.length === 0)
|
|
80
|
+
return;
|
|
81
|
+
const customerRows = rows.map((r) => ({
|
|
82
|
+
company_name: r.company_name,
|
|
83
|
+
email: r.email,
|
|
84
|
+
phone: r.phone,
|
|
85
|
+
website: r.website,
|
|
86
|
+
vat_number: r.vat_number,
|
|
87
|
+
street: r.street,
|
|
88
|
+
house_number: r.house_number,
|
|
89
|
+
postal_code: r.postal_code,
|
|
90
|
+
city: r.city,
|
|
91
|
+
country: r.country,
|
|
92
|
+
is_active: r.is_active,
|
|
93
|
+
source: r.source,
|
|
94
|
+
external_id: r.external_id,
|
|
95
|
+
sync_status: r.sync_status,
|
|
96
|
+
sync_error: null,
|
|
97
|
+
last_synced_at: r.last_synced_at,
|
|
98
|
+
custom_fields: r.custom_fields,
|
|
99
|
+
}));
|
|
100
|
+
const { error } = await supabaseAdmin
|
|
101
|
+
.from("customers")
|
|
102
|
+
.upsert(customerRows, { onConflict: "source,external_id" });
|
|
103
|
+
if (error)
|
|
104
|
+
throw new Error(`customers upsert: ${error.message}`);
|
|
105
|
+
const cacheRows = rows.map((r) => ({
|
|
106
|
+
connection_id: conn.id,
|
|
107
|
+
exact_id: r.external_id,
|
|
108
|
+
data: r.custom_fields.exact_raw,
|
|
109
|
+
fetched_at: new Date().toISOString(),
|
|
110
|
+
}));
|
|
111
|
+
await supabaseAdmin.from("exact_customers_cache").upsert(cacheRows);
|
|
112
|
+
synced += rows.length;
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
for await (const acc of iterateAccounts(conn, state?.last_modified_cursor ?? null)) {
|
|
116
|
+
const mapped = mapExactAccount(acc);
|
|
117
|
+
batch.push(mapped);
|
|
118
|
+
if (acc.Modified) {
|
|
119
|
+
if (!maxModified || new Date(acc.Modified) > new Date(maxModified)) {
|
|
120
|
+
maxModified = acc.Modified;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (batch.length >= 100)
|
|
124
|
+
await flush();
|
|
125
|
+
}
|
|
126
|
+
await flush();
|
|
127
|
+
await supabaseAdmin.from("exact_sync_state").upsert({
|
|
128
|
+
connection_id: conn.id,
|
|
129
|
+
status: "idle",
|
|
130
|
+
last_error: null,
|
|
131
|
+
last_synced_at: new Date().toISOString(),
|
|
132
|
+
last_modified_cursor: maxModified,
|
|
133
|
+
updated_at: new Date().toISOString(),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
await supabaseAdmin.from("exact_sync_state").upsert({
|
|
138
|
+
connection_id: conn.id,
|
|
139
|
+
status: "error",
|
|
140
|
+
last_error: err instanceof Error ? err.message : String(err),
|
|
141
|
+
updated_at: new Date().toISOString(),
|
|
142
|
+
});
|
|
143
|
+
throw err;
|
|
144
|
+
}
|
|
145
|
+
return { synced };
|
|
146
|
+
}
|
|
147
|
+
export async function syncAllExactCustomers() {
|
|
148
|
+
const { data: connections, error } = await supabaseAdmin
|
|
149
|
+
.from("exact_connections")
|
|
150
|
+
.select("*")
|
|
151
|
+
.eq("status", "connected");
|
|
152
|
+
if (error)
|
|
153
|
+
throw new Error(`Exact connections lookup: ${error.message}`);
|
|
154
|
+
const errors = [];
|
|
155
|
+
let total = 0;
|
|
156
|
+
for (const conn of connections ?? []) {
|
|
157
|
+
try {
|
|
158
|
+
const { synced } = await syncOneConnection(conn);
|
|
159
|
+
total += synced;
|
|
160
|
+
}
|
|
161
|
+
catch (err) {
|
|
162
|
+
errors.push({
|
|
163
|
+
connectionId: conn.id,
|
|
164
|
+
message: err instanceof Error ? err.message : String(err),
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return { providerId: "exact", synced: total, errors };
|
|
169
|
+
}
|
|
170
|
+
export const exactProvider = {
|
|
171
|
+
id: "exact",
|
|
172
|
+
label: "Exact Online",
|
|
173
|
+
async countActiveConnections() {
|
|
174
|
+
const { count } = await supabaseAdmin
|
|
175
|
+
.from("exact_connections")
|
|
176
|
+
.select("id", { count: "exact", head: true })
|
|
177
|
+
.eq("status", "connected");
|
|
178
|
+
return count ?? 0;
|
|
179
|
+
},
|
|
180
|
+
syncAllCustomers: syncAllExactCustomers,
|
|
181
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.server.d.ts","sourceRoot":"","sources":["../../../../src/lib/accounting/floriday/sync.server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,gBAAgB,EAAE,kBAc9B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { supabaseAdmin } from "@/integrations/supabase/client.server";
|
|
2
|
+
import { syncAllFloridayCustomers } from "@/lib/floriday.server";
|
|
3
|
+
export const floridayProvider = {
|
|
4
|
+
id: "floriday",
|
|
5
|
+
label: "Floriday",
|
|
6
|
+
async countActiveConnections() {
|
|
7
|
+
const { count } = await supabaseAdmin
|
|
8
|
+
.from("floriday_connections")
|
|
9
|
+
.select("id", { count: "exact", head: true })
|
|
10
|
+
.eq("is_active", true);
|
|
11
|
+
return count ?? 0;
|
|
12
|
+
},
|
|
13
|
+
async syncAllCustomers() {
|
|
14
|
+
const r = await syncAllFloridayCustomers();
|
|
15
|
+
return { providerId: "floriday", synced: r.synced, errors: r.errors };
|
|
16
|
+
},
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.server.d.ts","sourceRoot":"","sources":["../../../src/lib/accounting/registry.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAMlD,wBAAgB,aAAa,IAAI,kBAAkB,EAAE,CAEpD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEtE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { exactProvider } from "./exact/sync.server";
|
|
2
|
+
import { floridayProvider } from "./floriday/sync.server";
|
|
3
|
+
const PROVIDERS = [floridayProvider, exactProvider];
|
|
4
|
+
export function listProviders() {
|
|
5
|
+
return PROVIDERS;
|
|
6
|
+
}
|
|
7
|
+
export function getProvider(id) {
|
|
8
|
+
return PROVIDERS.find((p) => p.id === id);
|
|
9
|
+
}
|