@lilaquadrat/studio 13.0.1 → 14.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/lib/helpers.d.ts +3 -2
- package/lib/helpers.js +3 -2
- package/lib/helpers.js.map +1 -1
- package/lib/models.d.ts +6 -4
- package/lib/models.js +5 -2
- package/lib/models.js.map +1 -1
- package/lib/services.d.ts +7 -1
- package/lib/services.js +6 -1
- package/lib/services.js.map +1 -1
- package/lib/src/Immutable.class.d.ts +0 -1
- package/lib/src/Immutable.class.js.map +1 -1
- package/lib/src/aggegations/genericData.aggregation.js +1 -1
- package/lib/src/aggegations/genericData.aggregation.js.map +1 -1
- package/lib/src/classes/paymentProviders/PaymentProviderFactory.class.d.ts +1 -1
- package/lib/src/classes/paymentProviders/StripePaymentProvider.class.d.ts +1 -1
- package/lib/src/helpers/createError.d.ts +1 -1
- package/lib/src/helpers/escapeRegExp.d.ts +2 -0
- package/lib/src/helpers/escapeRegExp.js +5 -0
- package/lib/src/helpers/escapeRegExp.js.map +1 -0
- package/lib/src/helpers/permissionScopes.d.ts +6 -0
- package/lib/src/helpers/permissionScopes.js +289 -0
- package/lib/src/helpers/permissionScopes.js.map +1 -0
- package/lib/src/helpers/shiftPlanAllocation.d.ts +2 -38
- package/lib/src/helpers/shiftPlanAllocation.js.map +1 -1
- package/lib/src/helpers/shiftPlanCoverage.d.ts +0 -1
- package/lib/src/helpers/shiftPlanningSchemas.d.ts +6 -0
- package/lib/src/helpers/shiftPlanningSchemas.js +1 -0
- package/lib/src/helpers/shiftPlanningSchemas.js.map +1 -1
- package/lib/src/helpers/structureMatch.d.ts +1 -5
- package/lib/src/helpers/structureMatch.js.map +1 -1
- package/lib/src/helpers/verifyToken.d.ts +1 -8
- package/lib/src/helpers/verifyToken.js.map +1 -1
- package/lib/src/models/access.model.d.ts +1 -12
- package/lib/src/models/access.model.js.map +1 -1
- package/lib/src/models/cart.model.js +36 -1
- package/lib/src/models/cart.model.js.map +1 -1
- package/lib/src/models/editor.model.js +2 -0
- package/lib/src/models/editor.model.js.map +1 -1
- package/lib/src/models/environment.model.d.ts +4 -0
- package/lib/src/models/environment.model.js +47 -0
- package/lib/src/models/environment.model.js.map +1 -0
- package/lib/src/models/id.model.d.ts +2 -12
- package/lib/src/models/id.model.js.map +1 -1
- package/lib/src/models/migration.model.d.ts +22 -0
- package/lib/src/models/migration.model.js +51 -0
- package/lib/src/models/migration.model.js.map +1 -0
- package/lib/src/models/participant.model.d.ts +1 -1
- package/lib/src/models/participant.model.js +1 -1
- package/lib/src/models/participant.model.js.map +1 -1
- package/lib/src/models/permissions.model.d.ts +1 -6
- package/lib/src/models/permissions.model.js +0 -275
- package/lib/src/models/permissions.model.js.map +1 -1
- package/lib/src/models/project.model.js +142 -35
- package/lib/src/models/project.model.js.map +1 -1
- package/lib/src/models/publish.model.js +1 -0
- package/lib/src/models/publish.model.js.map +1 -1
- package/lib/src/models/shift.model.js +1 -1
- package/lib/src/models/shift.model.js.map +1 -1
- package/lib/src/models/timeTrackingProject.model.d.ts +4 -0
- package/lib/src/models/timeTrackingProject.model.js +57 -0
- package/lib/src/models/timeTrackingProject.model.js.map +1 -0
- package/lib/src/models/timeTrackingProjectAllocation.model.d.ts +4 -0
- package/lib/src/models/timeTrackingProjectAllocation.model.js +38 -0
- package/lib/src/models/timeTrackingProjectAllocation.model.js.map +1 -0
- package/lib/src/models/tracker.model.js +18 -2
- package/lib/src/models/tracker.model.js.map +1 -1
- package/lib/src/services/access.service.js.map +1 -1
- package/lib/src/services/cart.service.d.ts +7 -1
- package/lib/src/services/cart.service.js +29 -3
- package/lib/src/services/cart.service.js.map +1 -1
- package/lib/src/services/environments.service.d.ts +15 -0
- package/lib/src/services/environments.service.js +20 -0
- package/lib/src/services/environments.service.js.map +1 -0
- package/lib/src/services/history.service.d.ts +1 -2
- package/lib/src/services/history.service.js.map +1 -1
- package/lib/src/services/historySeen.service.d.ts +1 -8
- package/lib/src/services/historySeen.service.js.map +1 -1
- package/lib/src/services/id.service.d.ts +1 -1
- package/lib/src/services/listParticipants.service.d.ts +3 -4
- package/lib/src/services/listParticipants.service.js +4 -4
- package/lib/src/services/listParticipants.service.js.map +1 -1
- package/lib/src/services/lists.service.js +33 -0
- package/lib/src/services/lists.service.js.map +1 -1
- package/lib/src/services/migrations.service.d.ts +60 -0
- package/lib/src/services/migrations.service.js +221 -0
- package/lib/src/services/migrations.service.js.map +1 -0
- package/lib/src/services/participants.service.d.ts +1 -1
- package/lib/src/services/permissions.service.d.ts +1 -1
- package/lib/src/services/permissions.service.js +2 -1
- package/lib/src/services/permissions.service.js.map +1 -1
- package/lib/src/services/shiftPlans.service.d.ts +1 -1
- package/lib/src/services/shiftPlans.service.js +10 -4
- package/lib/src/services/shiftPlans.service.js.map +1 -1
- package/lib/src/services/shifts.service.d.ts +4 -1
- package/lib/src/services/shifts.service.js +25 -6
- package/lib/src/services/shifts.service.js.map +1 -1
- package/lib/src/services/timeTrackingProjectAllocations.service.d.ts +20 -0
- package/lib/src/services/timeTrackingProjectAllocations.service.js +85 -0
- package/lib/src/services/timeTrackingProjectAllocations.service.js.map +1 -0
- package/lib/src/services/timeTrackingProjects.service.d.ts +18 -0
- package/lib/src/services/timeTrackingProjects.service.js +78 -0
- package/lib/src/services/timeTrackingProjects.service.js.map +1 -0
- package/lib/src/services/tracker.service.d.ts +153 -0
- package/lib/src/services/tracker.service.js +741 -0
- package/lib/src/services/tracker.service.js.map +1 -0
- package/lib/tests/cartModel.spec.d.ts +1 -0
- package/lib/tests/cartModel.spec.js +13 -0
- package/lib/tests/cartModel.spec.js.map +1 -0
- package/lib/tests/getUnsetObject.spec.js +3 -0
- package/lib/tests/getUnsetObject.spec.js.map +1 -1
- package/lib/tests/listParticipantsServiceJoin.spec.js +48 -0
- package/lib/tests/listParticipantsServiceJoin.spec.js.map +1 -1
- package/lib/tests/listsSingle.spec.d.ts +1 -0
- package/lib/tests/listsSingle.spec.js +56 -0
- package/lib/tests/listsSingle.spec.js.map +1 -0
- package/lib/tests/migrationModel.spec.d.ts +1 -0
- package/lib/tests/migrationModel.spec.js +38 -0
- package/lib/tests/migrationModel.spec.js.map +1 -0
- package/lib/tests/migrationsService.spec.d.ts +1 -0
- package/lib/tests/migrationsService.spec.js +163 -0
- package/lib/tests/migrationsService.spec.js.map +1 -0
- package/lib/tests/permissionsModel.spec.js +1 -1
- package/lib/tests/shiftPlanCoverage.spec.js.map +1 -1
- package/lib/tests/shiftPlanning.spec.js +63 -11
- package/lib/tests/shiftPlanning.spec.js.map +1 -1
- package/lib/tests/shiftPlansList.spec.js +1 -1
- package/lib/tests/shiftPlansList.spec.js.map +1 -1
- package/lib/tests/timeTrackingProjectAllocationModel.spec.d.ts +1 -0
- package/lib/tests/timeTrackingProjectAllocationModel.spec.js +54 -0
- package/lib/tests/timeTrackingProjectAllocationModel.spec.js.map +1 -0
- package/lib/tests/timeTrackingProjectAllocationsService.spec.d.ts +1 -0
- package/lib/tests/timeTrackingProjectAllocationsService.spec.js +153 -0
- package/lib/tests/timeTrackingProjectAllocationsService.spec.js.map +1 -0
- package/lib/tests/timeTrackingProjectModel.spec.d.ts +1 -0
- package/lib/tests/timeTrackingProjectModel.spec.js +151 -0
- package/lib/tests/timeTrackingProjectModel.spec.js.map +1 -0
- package/lib/tests/timeTrackingProjectsService.spec.d.ts +1 -0
- package/lib/tests/timeTrackingProjectsService.spec.js +256 -0
- package/lib/tests/timeTrackingProjectsService.spec.js.map +1 -0
- package/lib/tests/trackerAllUsers.spec.d.ts +1 -0
- package/lib/tests/trackerAllUsers.spec.js +46 -0
- package/lib/tests/trackerAllUsers.spec.js.map +1 -0
- package/lib/tests/trackerAllocationUsage.spec.d.ts +1 -0
- package/lib/tests/trackerAllocationUsage.spec.js +36 -0
- package/lib/tests/trackerAllocationUsage.spec.js.map +1 -0
- package/lib/tests/trackerBookings.spec.d.ts +1 -0
- package/lib/tests/trackerBookings.spec.js +67 -0
- package/lib/tests/trackerBookings.spec.js.map +1 -0
- package/lib/tests/trackerCategories.spec.d.ts +1 -0
- package/lib/tests/trackerCategories.spec.js +40 -0
- package/lib/tests/trackerCategories.spec.js.map +1 -0
- package/lib/tests/trackerDailyLimit.spec.d.ts +1 -0
- package/lib/tests/trackerDailyLimit.spec.js +84 -0
- package/lib/tests/trackerDailyLimit.spec.js.map +1 -0
- package/lib/tests/trackerModel.spec.d.ts +1 -0
- package/lib/tests/trackerModel.spec.js +73 -0
- package/lib/tests/trackerModel.spec.js.map +1 -0
- package/lib/tests/trackerResolveUser.spec.d.ts +1 -0
- package/lib/tests/trackerResolveUser.spec.js +26 -0
- package/lib/tests/trackerResolveUser.spec.js.map +1 -0
- package/lib/tests/trackerShiftAssignment.spec.d.ts +1 -0
- package/lib/tests/trackerShiftAssignment.spec.js +125 -0
- package/lib/tests/trackerShiftAssignment.spec.js.map +1 -0
- package/lib/tests/trackerShiftBookings.spec.d.ts +1 -0
- package/lib/tests/trackerShiftBookings.spec.js +58 -0
- package/lib/tests/trackerShiftBookings.spec.js.map +1 -0
- package/lib/tests/trackerShiftPlans.spec.d.ts +1 -0
- package/lib/tests/trackerShiftPlans.spec.js +251 -0
- package/lib/tests/trackerShiftPlans.spec.js.map +1 -0
- package/lib/tests/trackerWholePlanStatistics.spec.d.ts +1 -0
- package/lib/tests/trackerWholePlanStatistics.spec.js +41 -0
- package/lib/tests/trackerWholePlanStatistics.spec.js.map +1 -0
- package/package.json +2 -2
- package/lib/src/interfaces/ListPlanningParticipant.d.ts +0 -17
- package/lib/src/interfaces/ListPlanningParticipant.js +0 -2
- package/lib/src/interfaces/ListPlanningParticipant.js.map +0 -1
- package/lib/src/interfaces/Participant.d.ts +0 -62
- package/lib/src/interfaces/Participant.js +0 -4
- package/lib/src/interfaces/Participant.js.map +0 -1
- package/lib/src/interfaces/PaymentProviderBase.d.ts +0 -14
- package/lib/src/interfaces/PaymentProviderBase.js +0 -2
- package/lib/src/interfaces/PaymentProviderBase.js.map +0 -1
- package/lib/src/interfaces/PlanCoveragePreparation.d.ts +0 -17
- package/lib/src/interfaces/PlanCoveragePreparation.js +0 -2
- package/lib/src/interfaces/PlanCoveragePreparation.js.map +0 -1
- package/lib/src/interfaces/PlanningParticipantsResult.d.ts +0 -12
- package/lib/src/interfaces/PlanningParticipantsResult.js +0 -2
- package/lib/src/interfaces/PlanningParticipantsResult.js.map +0 -1
- package/lib/src/interfaces/ShiftAutofillResult.d.ts +0 -6
- package/lib/src/interfaces/ShiftAutofillResult.js +0 -2
- package/lib/src/interfaces/ShiftAutofillResult.js.map +0 -1
- package/lib/src/interfaces/ShiftReportContextOptions.d.ts +0 -9
- package/lib/src/interfaces/ShiftReportContextOptions.js +0 -2
- package/lib/src/interfaces/ShiftReportContextOptions.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shifts.service.js","sourceRoot":"","sources":["../../../src/services/shifts.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shifts.service.js","sourceRoot":"","sources":["../../../src/services/shifts.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,QAAQ,EAAU,MAAM,SAAS,CAAC;AAMnD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,cAAc,MAAM,sCAAsC,CAAC;AAClE,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,oBAAoB,MAAM,4BAA4B,CAAC;AAC9D,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,wBAAwB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACtJ,OAAO,EACL,uBAAuB,EAAE,mBAAmB,EAAE,WAAW,EACzD,qBAAqB,EAAE,sBAAsB,EAAE,YAAY,EAAE,kBAAkB,GAChF,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAGnJ,6GAA6G;AAC7G,MAAM,OAAO,aAAc,SAAQ,SAAgB;IAAnD;;QAEE,UAAK,GAAG,UAAU,CAAC;IAuerB,CAAC;IAreS,cAAc,CAAC,KAAiB,EAAE,IAAiC,EAAE,GAAyC;QAEpH,MAAM,UAAU,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,wBAAwB;YAAE,kBAAkB,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC;QAC3J,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YAE5D,kBAAkB,CAAC,MAAM,EAAE,4CAA4C,CAAC,CAAC;QAE3E,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAEpE,kBAAkB,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;QAExE,CAAC;QACD,OAAO,UAAU,CAAC;IAEpB,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,IAAc,EAAE,KAAe,EAAE,OAAoC;QAE1F,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvH,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC3D,OAAO,QAAQ,CAAC;IAElB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,MAA8B,EAAE,KAAY,EAAE,OAAoC,EAAE,QAAgB;QAEpI,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;QAChG,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI;YAAE,kBAAkB,CAAC,cAAc,EAAE,4CAA4C,CAAC,CAAC;QAC7G,MAAM,WAAW,GAAsB,EAAE,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAE3B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACrF,MAAM,QAAQ,GAAG,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YACpG,8FAA8F;YAC9F,IAAI,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAErD,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACnD,SAAS;YAEX,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,iBAAiB,CAAC,IAAK,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACnG,IAAI,CAAC,WAAW,IAAI,4BAA4B,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC;gBAAE,kBAAkB,CAAC,0BAA0B,EAAE,2CAA2C,CAAC,CAAC;YACrK,MAAM,QAAQ,GAAG,CAAC,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpG,IAAI,CAAC,QAAQ;gBAAE,kBAAkB,CAAC,0BAA0B,EAAE,oDAAoD,CAAC,CAAC;YACpH,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAE/G,CAAC;QACD,8GAA8G;QAC9G,uBAAuB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;QAClG,OAAO,WAAW,CAAC;IAErB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAc,EAAE,KAAuB,EAAE,OAAoC;QAE7F,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;QAChC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QACvC,MAAM,SAAS,GAAkB,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,QAAQ,EAAE;YACtG,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE;SACrG,CAAC;QACF,SAAS,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9F,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;QAC5F,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAE,CAAC;IAE/D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAc,EAAE,KAAe,EAAE,OAAoC;QAErF,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvH,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpG,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAc,EAAE,OAA6B,EAAE,OAAoC;QAElG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,KAAK,GAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,sBAAsB,CAAQ,OAAO,CAAC,EAAE,CAAC;QACrI,IAAI,OAAO,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/G,OAAO,YAAY,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAE5G,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAc,EAAE,OAAoC;QAEtE,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9I,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAEtE,CAAC;IAED,wHAAwH;IACxH,KAAK,CAAC,uBAAuB,CAAC,IAAc,EAAE,OAAoC;QAEhF,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9I,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,iFAAiF;QACjF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,wCAAwC,CAAC,CAAC;QAC5I,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;QACxF,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YAEtB,MAAM,IAAI,cAAc,CAAC,+BAA+B,EAAE,CAAC;oBACzD,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE;oBACvG,OAAO,EAAE,qEAAqE;iBAC/E,CAAC,CAAC,CAAC;QAEN,CAAC;IAEH,CAAC;IAED,kHAAkH;IAClH,KAAK,CAAC,WAAW,CAAC,IAAc,EAAE,KAAe,EAAE,KAAiB,EAAE,OAAoC;QAExG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;QAC3C,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAC1G,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;QAC3F,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;QAChC,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5K,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAE,CAAC;IAEzD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAc,EAAE,KAAe,EAAE,OAAoC;QAErF,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAEtD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAc,EAAE,KAAe,EAAE,KAA4B,EAAE,OAAoC;QAE1H,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;QAChC,yGAAyG;QACzG,MAAM,MAAM,GAAkB,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAE5D,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;YAC5G,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEvN,CAAC;QACD,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAE,CAAC;IAEzD,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,aAAa,CAAC,IAAc,EAAE,KAAe,EAAE,OAAoC,EAAE,SAAiC,EAAE;QAE5H,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvH,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC3D,uGAAuG;QACvG,MAAM,MAAM,GAAwB,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrI,+FAA+F;QAC/F,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,IAAI,CAAC,CAAC;QACpD,IAAI,cAAc,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC;QACjE,wGAAwG;QACxG,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC;QAEzB,MAAM,MAAM,GAAkB,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC;QACtH,MAAM,KAAK,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,uGAAuG;QACvG,4GAA4G;QAC5G,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE;YAC5J,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;SACtE,CAAC,CAAC;QACH,wGAAwG;QACxG,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC3G,MAAM,UAAU,GAAsB,EAAE,CAAC;QACzC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAElC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;YACrC,IAAI,CAAC,QAAQ,IAAI,4BAA4B,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAAE,SAAS;YAC1H,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1C,oHAAoH;YACpH,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAE7F,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC;QAEtC,mGAAmG;QACnG,+EAA+E;QAC/E,MAAM,KAAK,GAAkB,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QAClG,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzE,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9E,gFAAgF;QAChF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,wCAAwC,CAAC,CAAC;QAC5I,8GAA8G;QAC9G,sFAAsF;QACtF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,KAAK,MAAM,QAAQ,IAAI,SAAS;YAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClF,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClG,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YAEnC,IAAI,WAAW,CAAC,MAAM,IAAI,cAAc;gBAAE,MAAM;YAChD,MAAM,QAAQ,GAAkB,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;YACxF,iGAAiG;YACjG,MAAM,eAAe,GAAuB,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;YACrG,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;YAClD,MAAM,OAAO,GAAG,CAAC,GAAG,cAAc,EAAE,QAAQ,CAAC;iBAC1C,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;YACrF,oFAAoF;YACpF,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBAAE,SAAS;YAClH,IAAI,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,MAAM;gBAAE,SAAS;YACnG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAE3C,CAAC;QACD,8GAA8G;QAC9G,OAAO,MAAM,CAAC;IAEhB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,IAAc,EAAE,KAAe,EAAE,OAAoC,EAAE,SAAiC,EAAE;QAElI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/E,yGAAyG;QACzG,MAAM,MAAM,GAAkB,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3G,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAChD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,EAC5D,MAAM,EAAE,OAAO,EAAE,QAAQ,CAC1B,CAAC;QACF,MAAM,QAAQ,GAAkB,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,CAAC;QAC3D,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAoB,EAAE,OAAoC,EAAE,SAAiC,EAAE;QAE5G,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrF,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACzF,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAE3D,mGAAmG;QACnG,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAEjD,MAAM,KAAK,GAAkB,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC/F,MAAM,UAAU,GAAyB,EAAE,CAAC;YAC5C,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBAE1C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBACjC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAEzJ,CAAC;YACD,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAE1C,CAAC,CAAC,CAAC;QACH,8FAA8F;QAC9F,MAAM,MAAM,GAAoB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACvD,GAAG,MAAM,CAAC,KAAK;YACf,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;SACxK,CAAC,CAAC,CAAC;QACJ,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACtK,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,wGAAwG;QACxG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;YAClH,GAAG,EAAE,EAAE,GAAG,EAAE,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,0BAA0B,CAAC,EAAE;YACtF,KAAK,EAAE,EAAE,GAAG,EAAE,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,0BAA0B,CAAC,EAAE;SACvF,CAAC,CAAC,OAAO,EAAE,CAAC;QACb,oGAAoG;QACpG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;QACtH,gFAAgF;QAChF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,wCAAwC,CAAC,CAAC;QAE5I,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3J,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3I,+FAA+F;QAC/F,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACpI,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAEjG,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAc,EAAE,OAAoC;QAE/E,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAE9G,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAc,EAAE,OAAoC;QAE3E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACxK,OAAO,KAAK,KAAK,IAAI,CAAC;IAExB,CAAC;IAED,6GAA6G;IAC7G,KAAK,CAAC,kBAAkB,CAAC,IAAc,EAAE,QAAgB,EAAE,OAAoC;QAE7F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAChH,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO;QAC3B,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAExB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;QAE/D,CAAC,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,8BAA8B,CAAC,CAAC;IAE/D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAa,EAAE,OAAoC;QAEpE,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAE7G,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,mBAAmB,CAAC,QAA8B,EAAE,aAAmD,EAAE,OAAoC;QAEjJ,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7H,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,aAAa,CAAC,IAAI;eAClF,CAAC,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhF,MAAM,IAAI,cAAc,CAAC,8BAA8B,CAAC,CAAC;QAE3D,CAAC;IAEH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAkB,EAAE,OAA2B,EAAE,OAAoC;QAElG,IAAI,CAAC,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACjH,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QAClJ,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAClI,MAAM,SAAS,GAAG,CAAC,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACzH,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;eACpG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClE,mGAAmG;QACnG,MAAM,KAAK,GAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAQ,OAAO,CAAC;YAC5J,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI;gBAChE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACvH,WAAW,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE;aAC1C,CAAC,CAAC,GACJ,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5G,MAAM,IAAI,GAAkB,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAE3B,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;gBAAE,SAAS;YAC7D,wGAAwG;YACxG,MAAM,UAAU,GAAwB,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3E,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;gBAAE,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9E,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;gBAC/F,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM;aACzJ,CAAC,CAAC;QAEL,CAAC;QACD,OAAO,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAE9C,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,SAA0B,EAAE,OAAoC,EAAE,iBAA4C,EAAE;QAE1I,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC;QAC1D,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACnK,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5E,kHAAkH;QAClH,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;YACxK,GAAG,EAAE,EAAE,GAAG,EAAE,sBAAsB,CAAC,QAAQ,GAAG,0BAA0B,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,sBAAsB,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE;SACzJ,CAAC,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,WAAW,EAAE,CAAC;YAEhB,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAChF,IAAI,KAAK,IAAI,CAAC;gBAAE,SAAS,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;;gBAC1C,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEnC,CAAC;QACD,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QACzG,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACvH,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5D,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YACzE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC;YAC5E,eAAe,CAAC,mBAAmB,CAAC,WAAW,EAAE,sBAAsB,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;YAC3H,mBAAmB,CAAC,0BAA0B,CAAC,cAAc,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;SAC1G,CAAC,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IAErI,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,SAA0B,EAAE,OAAoC,EAAE,WAA2B,EAAE,QAA8B,EAAE,IAAe;QAElK,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEjG,CAAC;IAEO,iBAAiB,CAAC,SAAwB,EAAE,OAAoC,EAAE,QAAwB;QAEhH,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACrK,6GAA6G;QAC7G,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACpG,2GAA2G;QAC3G,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE;YAC9F,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE;SAC9H,CAAC,CAAC,OAAO,EAAE,CAAC;IAEf,CAAC;IAED,qGAAqG;IAC7F,KAAK,CAAC,gBAAgB,CAAC,SAAwB,EAAE,OAAoC,EAAE,QAAmC,EAAE,YAAqB;QAEvJ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM;YAAE,OAAO;QAC3E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7E,gHAAgH;QAChH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACvJ,MAAM,UAAU,GAAG,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAClG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,iBAAiB,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAE5H,MAAM,IAAI,cAAc,CAAC,wCAAwC,CAAC,CAAC;QAErE,CAAC;QACD,IAAI,YAAY,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YAEtC,MAAM,IAAI,cAAc,CAAC,+BAA+B,EAAE,CAAC;oBACzD,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE;oBAC7G,OAAO,EAAE,uDAAuD;iBACjE,CAAC,CAAC,CAAC;QAEN,CAAC;IAEH,CAAC;CAEF;AAED,eAAe,IAAI,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ObjectId } from 'mongodb';
|
|
2
|
+
import type { TimeTrackingProjectAllocation, TimeTrackingProjectAllocationInput, UserAppOptionsRequired } from '@lilaquadrat/interfaces';
|
|
3
|
+
import Immutable from '../Immutable.class.js';
|
|
4
|
+
/** An allocation is one person's hour budget inside a category: plan > category > allocation. */
|
|
5
|
+
export declare class TimeTrackingProjectAllocationsService extends Immutable<TimeTrackingProjectAllocation> {
|
|
6
|
+
model: import("../classes/modelv2.class.js").default<TimeTrackingProjectAllocation, string>;
|
|
7
|
+
singleTimeTrackingProjectAllocation(id: ObjectId, options: UserAppOptionsRequired): Promise<import("mongodb").WithId<TimeTrackingProjectAllocation> | null>;
|
|
8
|
+
listTimeTrackingProjectAllocations(timeTrackingProject: string, category: string | undefined, options: UserAppOptionsRequired): Promise<import("mongodb").WithId<TimeTrackingProjectAllocation>[]>;
|
|
9
|
+
/** Resolve the category inside the plan so allocation hours can be measured against its budget. */
|
|
10
|
+
private categoryBudget;
|
|
11
|
+
/** The sum of a category's allocations may not exceed the category budget it was granted in the plan. */
|
|
12
|
+
private assertCategoryBudget;
|
|
13
|
+
createTimeTrackingProjectAllocation(input: TimeTrackingProjectAllocationInput, options: UserAppOptionsRequired): Promise<import("mongodb").WithId<TimeTrackingProjectAllocation>>;
|
|
14
|
+
changeTimeTrackingProjectAllocation(id: ObjectId, input: {
|
|
15
|
+
hours: number | null;
|
|
16
|
+
}, options: UserAppOptionsRequired): Promise<import("mongodb").WithId<TimeTrackingProjectAllocation>>;
|
|
17
|
+
removeTimeTrackingProjectAllocation(id: ObjectId, options: UserAppOptionsRequired): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
declare const _default: TimeTrackingProjectAllocationsService;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import Immutable from '../Immutable.class.js';
|
|
2
|
+
import ImmutableError from '../classes/errors/Immutable.error.js';
|
|
3
|
+
import TimeTrackingProjectAllocationModel from '../models/timeTrackingProjectAllocation.model.js';
|
|
4
|
+
import TimeTrackingProjectModel from '../models/timeTrackingProject.model.js';
|
|
5
|
+
/** An allocation is one person's hour budget inside a category: plan > category > allocation. */
|
|
6
|
+
export class TimeTrackingProjectAllocationsService extends Immutable {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.model = TimeTrackingProjectAllocationModel;
|
|
10
|
+
}
|
|
11
|
+
singleTimeTrackingProjectAllocation(id, options) {
|
|
12
|
+
return this.model.db.findOne({ _id: id, company: options.company, project: options.project }, { projection: { history: 0 } });
|
|
13
|
+
}
|
|
14
|
+
listTimeTrackingProjectAllocations(timeTrackingProject, category, options) {
|
|
15
|
+
const query = {
|
|
16
|
+
company: options.company,
|
|
17
|
+
project: options.project,
|
|
18
|
+
timeTrackingProject,
|
|
19
|
+
};
|
|
20
|
+
if (category)
|
|
21
|
+
query.category = category;
|
|
22
|
+
return this.model.db.find(query, { projection: { history: 0 } }).sort({ user: 1 }).toArray();
|
|
23
|
+
}
|
|
24
|
+
/** Resolve the category inside the plan so allocation hours can be measured against its budget. */
|
|
25
|
+
async categoryBudget(timeTrackingProject, category, options) {
|
|
26
|
+
const project = await TimeTrackingProjectModel.db.findOne({
|
|
27
|
+
id: timeTrackingProject,
|
|
28
|
+
company: options.company,
|
|
29
|
+
project: options.project,
|
|
30
|
+
});
|
|
31
|
+
if (!project)
|
|
32
|
+
throw new ImmutableError('TIME_TRACKING_PROJECT_NOT_FOUND');
|
|
33
|
+
// a plan without categories books on shifts, where a category allocation has no budget to hold
|
|
34
|
+
const found = project.categories?.find((single) => single.id === category);
|
|
35
|
+
if (!found)
|
|
36
|
+
throw new ImmutableError('TIME_TRACKING_CATEGORY_NOT_FOUND');
|
|
37
|
+
return found;
|
|
38
|
+
}
|
|
39
|
+
/** The sum of a category's allocations may not exceed the category budget it was granted in the plan. */
|
|
40
|
+
async assertCategoryBudget(timeTrackingProject, category, hours, options, exclude) {
|
|
41
|
+
const budget = await this.categoryBudget(timeTrackingProject, category, options);
|
|
42
|
+
const query = {
|
|
43
|
+
company: options.company,
|
|
44
|
+
project: options.project,
|
|
45
|
+
timeTrackingProject,
|
|
46
|
+
category,
|
|
47
|
+
};
|
|
48
|
+
if (exclude)
|
|
49
|
+
query._id = { $ne: exclude };
|
|
50
|
+
const existing = await this.model.db.find(query).toArray();
|
|
51
|
+
// an allocation without hours has no personal limit and contributes nothing to the category budget
|
|
52
|
+
const used = existing.reduce((total, single) => total + (single.hours ?? 0), 0);
|
|
53
|
+
// a category without a maximum hours budget is unbounded
|
|
54
|
+
if (budget.maximumHours !== undefined && used + (hours ?? 0) > budget.maximumHours)
|
|
55
|
+
throw new ImmutableError('TIME_TRACKING_ALLOCATION_HOURS_EXCEEDED');
|
|
56
|
+
}
|
|
57
|
+
async createTimeTrackingProjectAllocation(input, options) {
|
|
58
|
+
await this.assertCategoryBudget(input.timeTrackingProject, input.category, input.hours, options);
|
|
59
|
+
const created = await this.create({ ...input, company: options.company, project: options.project }, options.user, options.app);
|
|
60
|
+
return (await this.singleTimeTrackingProjectAllocation(created._id, options));
|
|
61
|
+
}
|
|
62
|
+
async changeTimeTrackingProjectAllocation(id, input, options) {
|
|
63
|
+
const existing = await this.singleTimeTrackingProjectAllocation(id, options);
|
|
64
|
+
if (!existing)
|
|
65
|
+
throw new ImmutableError('TIME_TRACKING_ALLOCATION_NOT_FOUND');
|
|
66
|
+
await this.assertCategoryBudget(existing.timeTrackingProject, existing.category, input.hours ?? 0, options, id);
|
|
67
|
+
const filter = { _id: id, company: options.company, project: options.project };
|
|
68
|
+
if (input.hours === null) {
|
|
69
|
+
// `null` passes the change schema, options.unset then removes the field instead of storing it
|
|
70
|
+
await this.immutable(filter, { hours: input.hours }, options.user, 'change', options.app, undefined, undefined, undefined, { unset: ['hours'] });
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
await this.immutable(filter, { hours: input.hours }, options.user, 'change', options.app);
|
|
74
|
+
}
|
|
75
|
+
return (await this.singleTimeTrackingProjectAllocation(id, options));
|
|
76
|
+
}
|
|
77
|
+
async removeTimeTrackingProjectAllocation(id, options) {
|
|
78
|
+
const existing = await this.singleTimeTrackingProjectAllocation(id, options);
|
|
79
|
+
if (!existing)
|
|
80
|
+
throw new ImmutableError('TIME_TRACKING_ALLOCATION_NOT_FOUND');
|
|
81
|
+
await this.delete(id, options.user, options.app);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
export default new TimeTrackingProjectAllocationsService();
|
|
85
|
+
//# sourceMappingURL=timeTrackingProjectAllocations.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeTrackingProjectAllocations.service.js","sourceRoot":"","sources":["../../../src/services/timeTrackingProjectAllocations.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TimeTrackingProject, TimeTrackingProjectInput, UserAppOptionsRequired } from '@lilaquadrat/interfaces';
|
|
2
|
+
import Immutable from '../Immutable.class.js';
|
|
3
|
+
/** Time-tracking projects group tracked time and cap it through maximumHours. Distinct from the content project model. */
|
|
4
|
+
export declare class TimeTrackingProjectsService extends Immutable<TimeTrackingProject> {
|
|
5
|
+
model: import("../classes/modelv2.class.js").default<TimeTrackingProject, string>;
|
|
6
|
+
/** Categories partition the plan's budget: their ids must be unique and their total must not exceed the plan maximum (when one is set). */
|
|
7
|
+
private assertCategories;
|
|
8
|
+
/** A plan is shift-based when it tracks on shifts and links a shift plan; only then may it skip categories. */
|
|
9
|
+
private assertCategoryRequired;
|
|
10
|
+
/** Only a shifts project may reference a plan: other modes clear the link, and shifts must point at an existing plan in this project. */
|
|
11
|
+
private normalizeShiftPlan;
|
|
12
|
+
singleTimeTrackingProject(id: string, options: UserAppOptionsRequired): Promise<import("mongodb").WithId<TimeTrackingProject> | null>;
|
|
13
|
+
createTimeTrackingProject(input: TimeTrackingProjectInput, options: UserAppOptionsRequired): Promise<import("mongodb").WithId<TimeTrackingProject>>;
|
|
14
|
+
changeTimeTrackingProject(id: string, input: Omit<TimeTrackingProjectInput, 'id'>, options: UserAppOptionsRequired): Promise<import("mongodb").WithId<TimeTrackingProject>>;
|
|
15
|
+
removeTimeTrackingProject(id: string, options: UserAppOptionsRequired): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: TimeTrackingProjectsService;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { ObjectId } from 'mongodb';
|
|
2
|
+
import Immutable from '../Immutable.class.js';
|
|
3
|
+
import ImmutableError from '../classes/errors/Immutable.error.js';
|
|
4
|
+
import TimeTrackingProjectModel from '../models/timeTrackingProject.model.js';
|
|
5
|
+
import ShiftPlansService from './shiftPlans.service.js';
|
|
6
|
+
/** Time-tracking projects group tracked time and cap it through maximumHours. Distinct from the content project model. */
|
|
7
|
+
export class TimeTrackingProjectsService extends Immutable {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.model = TimeTrackingProjectModel;
|
|
11
|
+
}
|
|
12
|
+
/** Categories partition the plan's budget: their ids must be unique and their total must not exceed the plan maximum (when one is set). */
|
|
13
|
+
assertCategories(maximumHours, categories) {
|
|
14
|
+
// a plan without categories has nothing to partition, shift-based plans may leave the list empty
|
|
15
|
+
if (!categories?.length)
|
|
16
|
+
return;
|
|
17
|
+
const ids = new Set();
|
|
18
|
+
let allocated = 0;
|
|
19
|
+
categories.forEach((category) => {
|
|
20
|
+
if (ids.has(category.id))
|
|
21
|
+
throw new ImmutableError('TIME_TRACKING_CATEGORY_ID_DUPLICATE');
|
|
22
|
+
ids.add(category.id);
|
|
23
|
+
allocated += category.maximumHours || 0;
|
|
24
|
+
});
|
|
25
|
+
if (maximumHours !== undefined && allocated > maximumHours)
|
|
26
|
+
throw new ImmutableError('TIME_TRACKING_CATEGORY_HOURS_EXCEEDED');
|
|
27
|
+
}
|
|
28
|
+
/** A plan is shift-based when it tracks on shifts and links a shift plan; only then may it skip categories. */
|
|
29
|
+
assertCategoryRequired(modes, shiftPlan, categories) {
|
|
30
|
+
if (modes === 'shifts' && shiftPlan)
|
|
31
|
+
return;
|
|
32
|
+
if (!categories?.length)
|
|
33
|
+
throw new ImmutableError('TIME_TRACKING_CATEGORY_REQUIRED');
|
|
34
|
+
}
|
|
35
|
+
/** Only a shifts project may reference a plan: other modes clear the link, and shifts must point at an existing plan in this project. */
|
|
36
|
+
async normalizeShiftPlan(input, options) {
|
|
37
|
+
if (input.modes !== 'shifts' || !input.shiftPlan) {
|
|
38
|
+
const normalized = { ...input };
|
|
39
|
+
delete normalized.shiftPlan;
|
|
40
|
+
return normalized;
|
|
41
|
+
}
|
|
42
|
+
if (!ObjectId.isValid(input.shiftPlan))
|
|
43
|
+
throw new ImmutableError('TIME_TRACKING_SHIFT_PLAN_NOT_FOUND');
|
|
44
|
+
const plan = await ShiftPlansService.planForScheduling(new ObjectId(input.shiftPlan), options, false);
|
|
45
|
+
if (!plan)
|
|
46
|
+
throw new ImmutableError('TIME_TRACKING_SHIFT_PLAN_NOT_FOUND');
|
|
47
|
+
return input;
|
|
48
|
+
}
|
|
49
|
+
singleTimeTrackingProject(id, options) {
|
|
50
|
+
return this.model.db.findOne({ id, company: options.company, project: options.project }, { projection: { history: 0 } });
|
|
51
|
+
}
|
|
52
|
+
async createTimeTrackingProject(input, options) {
|
|
53
|
+
this.assertCategories(input.maximumHours, input.categories);
|
|
54
|
+
const normalized = await this.normalizeShiftPlan(input, options);
|
|
55
|
+
this.assertCategoryRequired(normalized.modes, normalized.shiftPlan, input.categories);
|
|
56
|
+
await this.create({ ...normalized, company: options.company, project: options.project }, options.user, options.app);
|
|
57
|
+
return (await this.singleTimeTrackingProject(input.id, options));
|
|
58
|
+
}
|
|
59
|
+
async changeTimeTrackingProject(id, input, options) {
|
|
60
|
+
this.assertCategories(input.maximumHours, input.categories);
|
|
61
|
+
const existing = await this.singleTimeTrackingProject(id, options);
|
|
62
|
+
if (!existing?._id)
|
|
63
|
+
throw new ImmutableError('TIME_TRACKING_PROJECT_NOT_FOUND');
|
|
64
|
+
const normalized = await this.normalizeShiftPlan(input, options);
|
|
65
|
+
// modes are immutable, so the stored mode decides whether the changed plan still books on shifts
|
|
66
|
+
this.assertCategoryRequired(existing.modes, normalized.shiftPlan, input.categories ?? existing.categories);
|
|
67
|
+
await this.immutable({ _id: existing._id, company: options.company, project: options.project }, normalized, options.user, 'change', options.app);
|
|
68
|
+
return (await this.singleTimeTrackingProject(id, options));
|
|
69
|
+
}
|
|
70
|
+
async removeTimeTrackingProject(id, options) {
|
|
71
|
+
const existing = await this.singleTimeTrackingProject(id, options);
|
|
72
|
+
if (!existing?._id)
|
|
73
|
+
throw new ImmutableError('TIME_TRACKING_PROJECT_NOT_FOUND');
|
|
74
|
+
await this.delete(existing._id, options.user, options.app);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export default new TimeTrackingProjectsService();
|
|
78
|
+
//# sourceMappingURL=timeTrackingProjects.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeTrackingProjects.service.js","sourceRoot":"","sources":["../../../src/services/timeTrackingProjects.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { Options, Scope, Tracker, TrackerBooking, TrackerBookingShift, TrackerShiftBooking, TrackerData, TrackerGroup, TrackerInput, TrackerStatistics, TimeTrackingProjectAllocationUsage, UserApp, UserAppOptionsRequired, BasicData, BookingWindow, ProjectIdParams, ProjectParams, TrackerUserQuery } from '@lilaquadrat/interfaces';
|
|
2
|
+
import type { FastifyRequest, FastifyReply } from 'fastify';
|
|
3
|
+
import { ObjectId, WithId } from 'mongodb';
|
|
4
|
+
import Immutable from '../Immutable.class.js';
|
|
5
|
+
import type { TrackerDailyLimitInput } from '@lilaquadrat/interfaces';
|
|
6
|
+
import type { TrackerStatisticsBucket } from '@lilaquadrat/interfaces';
|
|
7
|
+
import type { TrackerStatisticsRange } from '@lilaquadrat/interfaces';
|
|
8
|
+
export declare class TrackerService extends Immutable<Tracker> {
|
|
9
|
+
model: import("../classes/modelv2.class.js").default<Tracker, string>;
|
|
10
|
+
/** writes are pinned to the company and project, so an id from another tenant never matches */
|
|
11
|
+
private scopeFilter;
|
|
12
|
+
/** the stored entry of this company and project; it carries the owner and plan, which a change payload does not */
|
|
13
|
+
scopedBooking(id: ObjectId, options: Pick<UserAppOptionsRequired, 'company' | 'project'>): Promise<WithId<Tracker> | null>;
|
|
14
|
+
/**
|
|
15
|
+
* Turns the request entries into bookings of the caller and runs every guard before anything is stored.
|
|
16
|
+
* Only an admin books for another person, so everybody else loses the `customer` the body names.
|
|
17
|
+
*/
|
|
18
|
+
private prepareBookings;
|
|
19
|
+
createBooking(input: Tracker, options: UserAppOptionsRequired): Promise<import("@lilaquadrat/interfaces").CreateResult<BasicData<Tracker>>>;
|
|
20
|
+
createBookings(input: Tracker[], options: UserAppOptionsRequired): Promise<{
|
|
21
|
+
ids: any;
|
|
22
|
+
documentsInserted: number;
|
|
23
|
+
documentsProvided: number;
|
|
24
|
+
}>;
|
|
25
|
+
/** the change payload with real dates, without the keys the model keeps as booked */
|
|
26
|
+
private changeOf;
|
|
27
|
+
/**
|
|
28
|
+
* Changes a booking of this company and project. Access is decided by `ownBookingOrAdmin` before.
|
|
29
|
+
* The shift assignment is only checked when the shift or the person changes, so entries whose
|
|
30
|
+
* assignment was removed later can still get their time or description corrected.
|
|
31
|
+
*/
|
|
32
|
+
changeBooking(id: ObjectId, input: TrackerInput, options: UserAppOptionsRequired): Promise<import("mongodb").UpdateResult<import("bson").Document>>;
|
|
33
|
+
changeDescription(id: ObjectId, input: Pick<Tracker, 'description'>, options: UserAppOptionsRequired): Promise<import("mongodb").UpdateResult<import("bson").Document>>;
|
|
34
|
+
removeBooking(id: ObjectId, options: UserAppOptionsRequired): Promise<import("mongodb").DeleteResult>;
|
|
35
|
+
/** Uses the tracked span when both ends are present, mirroring the duration stored by changeBooking(). */
|
|
36
|
+
private dailyLimitDuration;
|
|
37
|
+
/**
|
|
38
|
+
* The entries that count as one person's time: the ones booked for that customer, which an admin
|
|
39
|
+
* stores under their own account, and the ones the person's own accounts booked. Counting by the
|
|
40
|
+
* booking account alone charges everything an admin books for others to the admin.
|
|
41
|
+
*/
|
|
42
|
+
private personFilter;
|
|
43
|
+
/**
|
|
44
|
+
* Rejects entries that would push a user's tracked time for one plan and calendar day above the
|
|
45
|
+
* plan's maximumHoursPerDay. Missing plans, plans without the option and entries without a plan
|
|
46
|
+
* fall back to the 24 hour ceiling so existing trackers keep working.
|
|
47
|
+
*/
|
|
48
|
+
assertDailyLimit(entries: TrackerDailyLimitInput[], options: UserAppOptionsRequired, excludeId?: ObjectId): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* The caller's own customer in this project, used to check the shifts the caller is assigned to.
|
|
51
|
+
* App is intentionally not pinned: the tracker client reaches the same flow with different
|
|
52
|
+
* `studio-app` ids (entry save uses the editor app, shift and allocation lookups use the tracker
|
|
53
|
+
* app), and the customer connection is what carries the assignment, not the app that asked.
|
|
54
|
+
*/
|
|
55
|
+
private callerCustomer;
|
|
56
|
+
/**
|
|
57
|
+
* Rejects entries referencing a shift the caller may not book on. A member only books their own
|
|
58
|
+
* customer, so every shift entry has to carry that customer in `assignments.customer`. A project
|
|
59
|
+
* admin books for the person on the shift, so the entry's own `customer` is what gets checked
|
|
60
|
+
* (an admin entry without one still falls back to their own customer, the "record time" screen).
|
|
61
|
+
* Entries without a shift are ignored, so every other tracking mode is unaffected.
|
|
62
|
+
*/
|
|
63
|
+
assertShiftAssignment(entries: Array<Pick<Tracker, 'shift' | 'customer'>>, options: UserAppOptionsRequired, admin?: boolean): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Rejects entries whose grouping does not match their plan. A shift-based plan books on shifts
|
|
66
|
+
* and must not carry a category; every other plan, and an entry without a plan, groups by
|
|
67
|
+
* category. Entries are checked against one plan lookup per distinct plan.
|
|
68
|
+
*
|
|
69
|
+
* A change is lenient: entries created before shift bookings existed carry a category next to
|
|
70
|
+
* their shift, so it only requires the result to still be grouped at all.
|
|
71
|
+
*/
|
|
72
|
+
assertPlanGrouping(entries: Array<Pick<Tracker, 'shift' | 'category'> & Partial<Pick<Tracker, 'timeTrackingProject'>>>, options: UserAppOptionsRequired, assertion?: 'create' | 'change'): Promise<void>;
|
|
73
|
+
/** the owner of an entry, the id when the user is not resolved to a profile */
|
|
74
|
+
ownerOf(tracker: Pick<Tracker, 'user'>): string | undefined;
|
|
75
|
+
/** `tracker:admin` reads and changes the entries of everybody, not just the caller's own */
|
|
76
|
+
isTrackerAdmin(options: Pick<UserAppOptionsRequired, 'user' | 'company' | 'project'>): Promise<boolean>;
|
|
77
|
+
/**
|
|
78
|
+
* The person whose entries a request may read: the caller, unless a tracker admin names somebody else.
|
|
79
|
+
* `all` is no person for the routes that need exactly one, so it falls back to the caller as well.
|
|
80
|
+
*/
|
|
81
|
+
resolveUser(requested: string | undefined, options: Pick<UserAppOptionsRequired, 'user' | 'company' | 'project'>): Promise<string>;
|
|
82
|
+
/**
|
|
83
|
+
* Changing or removing a booking needs the route's scope and, on top of it, the booking has to be the caller's
|
|
84
|
+
* own or the caller has `tracker:admin`. The scope guard runs first, so owning a booking never replaces it.
|
|
85
|
+
* A booking that does not exist is not decided here, the service answers it as missing.
|
|
86
|
+
*/
|
|
87
|
+
mayChangeBooking(stored: Tracker | null | undefined, options: Pick<UserAppOptionsRequired, 'user' | 'company' | 'project'>): Promise<boolean>;
|
|
88
|
+
/** preHandler for the routes that change or remove one booking, see mayChangeBooking() */
|
|
89
|
+
ownBookingOrAdmin(): (request: FastifyRequest<{
|
|
90
|
+
Params: ProjectIdParams;
|
|
91
|
+
}>, reply: FastifyReply) => Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* An admin may book for another person: on a shift for the person assigned to it, or anywhere by
|
|
94
|
+
* naming their customer. Only asked when an entry carries a shift or a customer, so the ordinary
|
|
95
|
+
* tracking modes cost no permission lookup.
|
|
96
|
+
*/
|
|
97
|
+
private bookingAdmin;
|
|
98
|
+
private withoutCustomer;
|
|
99
|
+
/**
|
|
100
|
+
* ISO-normalized booking window; the same overlap convention the shift planning filters use.
|
|
101
|
+
* Both ends are required, the tracker only works with windows it can bound.
|
|
102
|
+
*/
|
|
103
|
+
bookingInterval(from: string | undefined, to: string | undefined): {
|
|
104
|
+
from: string;
|
|
105
|
+
to: string;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* The shifts the caller may book tracked time on: the shifts of the plan that carry the caller's
|
|
109
|
+
* own customer in `assignments.customer` and overlap the booking window. The narrow projection
|
|
110
|
+
* lets the tracker app offer them without `shifts:read`.
|
|
111
|
+
*/
|
|
112
|
+
bookableShifts(timeTrackingProject: string, from: string | undefined, to: string | undefined, options: UserAppOptionsRequired): Promise<TrackerBookingShift[]>;
|
|
113
|
+
/**
|
|
114
|
+
* Every time entry booked on a shift of a time tracking project, so each booking can be edited
|
|
115
|
+
* or removed on its own. An entry names its person in `customer` only when an admin booked it;
|
|
116
|
+
* a member's own entry carries just the account, so that account is resolved to its connected
|
|
117
|
+
* customer.
|
|
118
|
+
*/
|
|
119
|
+
shiftBookings(timeTrackingProject: string, options: Required<Options>): Promise<TrackerShiftBooking[]>;
|
|
120
|
+
single(internalId: ObjectId, options: Required<Options>): Promise<Tracker | null>;
|
|
121
|
+
/**
|
|
122
|
+
* The entries of one plan inside a range, newest last, each with the name of the person who booked it.
|
|
123
|
+
* `user` is the person to list, or TRACKER_ALL_USERS; the caller decides who may ask for more than their own.
|
|
124
|
+
*/
|
|
125
|
+
bookings(timeTrackingProject: string, range: BookingWindow, user: string, options: Required<Options>): Promise<TrackerBooking[]>;
|
|
126
|
+
/**
|
|
127
|
+
* Hours a person was allocated per category against everything they booked on the plan so far.
|
|
128
|
+
* One aggregation sums all categories, so the cost does not grow with the number of allocations.
|
|
129
|
+
*/
|
|
130
|
+
allocationUsage(timeTrackingProject: string, user: string, options: Required<Options>): Promise<TimeTrackingProjectAllocationUsage[]>;
|
|
131
|
+
statistics(user: string, company?: string, project?: string, timeTrackingProject?: string, dateRange?: TrackerStatisticsRange): Promise<TrackerStatistics>;
|
|
132
|
+
day(day: string, options: Options & UserApp): Promise<{
|
|
133
|
+
data: WithId<Tracker>[];
|
|
134
|
+
count: number;
|
|
135
|
+
statistics: Partial<Record<string, TrackerData>>;
|
|
136
|
+
date: Date;
|
|
137
|
+
}>;
|
|
138
|
+
/** the categories used in this company and project; the search matches literally, it is no pattern */
|
|
139
|
+
categories(search: string, options: Options & UserApp): Promise<string[]>;
|
|
140
|
+
/**
|
|
141
|
+
* Turns the day and group buckets of the statistics aggregation into the summary. Entries without a
|
|
142
|
+
* group count towards `count` only, the same as entries the tracker cannot place in any bucket.
|
|
143
|
+
*/
|
|
144
|
+
statisticsOf(buckets: TrackerStatisticsBucket[]): Omit<TrackerStatistics, 'start' | 'end'>;
|
|
145
|
+
createStatistics(data: Tracker[], range: 'day' | 'month', rangeIdentifier: string): Partial<Record<TrackerGroup, TrackerData>>;
|
|
146
|
+
/** preHandler that removes the `user` query for anybody without the given scopes, so they only see their own entries */
|
|
147
|
+
filterAdmin(scope: Scope): (request: FastifyRequest<{
|
|
148
|
+
Params: ProjectParams;
|
|
149
|
+
Querystring: TrackerUserQuery;
|
|
150
|
+
}>, reply: FastifyReply) => Promise<undefined>;
|
|
151
|
+
}
|
|
152
|
+
declare const _default: TrackerService;
|
|
153
|
+
export default _default;
|