unleash-server 4.22.3 → 4.22.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/lib/db/feature-toggle-store.d.ts +2 -2
  2. package/dist/lib/db/feature-toggle-store.js +4 -4
  3. package/dist/lib/db/feature-toggle-store.js.map +1 -1
  4. package/dist/lib/db/project-stats-store.d.ts +2 -1
  5. package/dist/lib/db/project-stats-store.js +22 -0
  6. package/dist/lib/db/project-stats-store.js.map +1 -1
  7. package/dist/lib/features/feature-toggle/time-to-production/time-to-production.d.ts +2 -0
  8. package/dist/lib/features/feature-toggle/time-to-production/time-to-production.js +15 -0
  9. package/dist/lib/features/feature-toggle/time-to-production/time-to-production.js.map +1 -0
  10. package/dist/lib/features/feature-toggle/time-to-production/time-to-production.test.js +27 -0
  11. package/dist/lib/features/feature-toggle/time-to-production/time-to-production.test.js.map +1 -0
  12. package/dist/lib/services/project-service.js +15 -45
  13. package/dist/lib/services/project-service.js.map +1 -1
  14. package/dist/lib/types/experimental.d.ts +1 -0
  15. package/dist/lib/types/experimental.js +1 -0
  16. package/dist/lib/types/experimental.js.map +1 -1
  17. package/dist/lib/types/stores/feature-toggle-store.d.ts +2 -2
  18. package/dist/lib/types/stores/project-stats-store-type.d.ts +5 -0
  19. package/dist/test/e2e/services/project-service.e2e.test.js +54 -0
  20. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  21. package/dist/test/fixtures/fake-feature-toggle-store.d.ts +2 -2
  22. package/dist/test/fixtures/fake-feature-toggle-store.js +2 -2
  23. package/dist/test/fixtures/fake-feature-toggle-store.js.map +1 -1
  24. package/dist/test/fixtures/fake-project-stats-store.d.ts +2 -1
  25. package/dist/test/fixtures/fake-project-stats-store.js +3 -0
  26. package/dist/test/fixtures/fake-project-stats-store.js.map +1 -1
  27. package/package.json +1 -1
  28. package/dist/lib/read-models/time-to-production/time-to-production.d.ts +0 -20
  29. package/dist/lib/read-models/time-to-production/time-to-production.js +0 -75
  30. package/dist/lib/read-models/time-to-production/time-to-production.js.map +0 -1
  31. package/dist/lib/read-models/time-to-production/time-to-production.test.js +0 -182
  32. package/dist/lib/read-models/time-to-production/time-to-production.test.js.map +0 -1
  33. /package/dist/lib/{read-models → features/feature-toggle}/time-to-production/time-to-production.test.d.ts +0 -0
@@ -39,13 +39,13 @@ export default class FeatureToggleStore implements IFeatureToggleStore {
39
39
  stale?: boolean;
40
40
  }): Promise<FeatureToggle[]>;
41
41
  getAllByNames(names: string[]): Promise<FeatureToggle[]>;
42
- getByDate(queryModifiers: {
42
+ countByDate(queryModifiers: {
43
43
  archived?: boolean;
44
44
  project?: string;
45
45
  date?: string;
46
46
  range?: string[];
47
47
  dateAccessor: string;
48
- }): Promise<FeatureToggle[]>;
48
+ }): Promise<number>;
49
49
  /**
50
50
  * Get projectId from feature filtered by name. Used by Rbac middleware
51
51
  * @deprecated
@@ -63,10 +63,10 @@ class FeatureToggleStore {
63
63
  const rows = await query;
64
64
  return rows.map(this.rowToFeature);
65
65
  }
66
- async getByDate(queryModifiers) {
66
+ async countByDate(queryModifiers) {
67
67
  const { project, archived, dateAccessor } = queryModifiers;
68
68
  let query = this.db
69
- .select(FEATURE_COLUMNS)
69
+ .count()
70
70
  .from(TABLE)
71
71
  .where({ project })
72
72
  .modify(FeatureToggleStore.filterByArchived, archived);
@@ -79,8 +79,8 @@ class FeatureToggleStore {
79
79
  queryModifiers.range[1],
80
80
  ]);
81
81
  }
82
- const rows = await query;
83
- return rows.map(this.rowToFeature);
82
+ const queryResult = await query.first();
83
+ return parseInt(queryResult.count || 0);
84
84
  }
85
85
  /**
86
86
  * Get projectId from feature filtered by name. Used by Rbac middleware
@@ -1 +1 @@
1
- {"version":3,"file":"feature-toggle-store.js","sourceRoot":"","sources":["../../../src/lib/db/feature-toggle-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-toggle-store.js","sourceRoot":"","sources":["../../../src/lib/db/feature-toggle-store.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  import { LogProvider } from '../logger';
3
3
  import EventEmitter from 'events';
4
4
  import { IProjectStats } from 'lib/services/project-service';
5
- import { IProjectStatsStore } from 'lib/types/stores/project-stats-store-type';
5
+ import { ICreateEnabledDates, IProjectStatsStore } from 'lib/types/stores/project-stats-store-type';
6
6
  import { Db } from './db';
7
7
  interface IProjectStatsRow {
8
8
  avg_time_to_prod_current_window: number;
@@ -22,5 +22,6 @@ declare class ProjectStatsStore implements IProjectStatsStore {
22
22
  updateProjectStats(projectId: string, status: IProjectStats): Promise<void>;
23
23
  getProjectStats(projectId: string): Promise<IProjectStats>;
24
24
  mapRow(row: IProjectStatsRow): IProjectStats;
25
+ getTimeToProdDates(projectId: string): Promise<ICreateEnabledDates[]>;
25
26
  }
26
27
  export default ProjectStatsStore;
@@ -73,6 +73,28 @@ class ProjectStatsStore {
73
73
  projectMembersAddedCurrentWindow: row.project_members_added_current_window,
74
74
  };
75
75
  }
76
+ // we're not calculating time difference in a DB as it requires specialized
77
+ // time aware libraries
78
+ async getTimeToProdDates(projectId) {
79
+ const result = await this.db
80
+ .select('events.feature_name')
81
+ // select only first enabled event, distinct works with orderBy
82
+ .distinctOn('events.feature_name')
83
+ .select(this.db.raw('events.created_at as enabled, features.created_at as created'))
84
+ .from('events')
85
+ .innerJoin('environments', 'environments.name', '=', 'events.environment')
86
+ .innerJoin('features', 'features.name', '=', 'events.feature_name')
87
+ .where('events.type', '=', 'feature-environment-enabled')
88
+ .where('environments.type', '=', 'production')
89
+ .where('features.type', '=', 'release')
90
+ // exclude events for features that were previously deleted
91
+ .where(this.db.raw('events.created_at > features.created_at'))
92
+ .where('features.project', '=', projectId)
93
+ .orderBy('events.feature_name')
94
+ // first enabled event
95
+ .orderBy('events.created_at', 'asc');
96
+ return result;
97
+ }
76
98
  }
77
99
  exports.default = ProjectStatsStore;
78
100
  //# sourceMappingURL=project-stats-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-stats-store.js","sourceRoot":"","sources":["../../../src/lib/db/project-stats-store.ts"],"names":[],"mappings":";;;;;AAEA,4EAAmD;AACnD,oDAA2C;AAM3C,MAAM,KAAK,GAAG,eAAe,CAAC;AAE9B,MAAM,qBAAqB,GAAG;IAC1B,iCAAiC;IACjC,SAAS;IACT,iCAAiC;IACjC,8BAA8B;IAC9B,kCAAkC;IAClC,+BAA+B;IAC/B,gCAAgC;IAChC,6BAA6B;IAC7B,sCAAsC;CACzC,CAAC;AAaF,MAAM,iBAAiB;IAOnB,YAAY,EAAM,EAAE,QAAsB,EAAE,SAAsB;QAC9D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,EAAE,CACpB,wBAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,uBAAO,EAAE;YACvC,KAAK,EAAE,eAAe;YACtB,MAAM;SACT,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,SAAiB,EACjB,MAAqB;QAErB,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;aACf,MAAM,CAAC;YACJ,+BAA+B,EAC3B,MAAM,CAAC,0BAA0B;YACrC,OAAO,EAAE,SAAS;YAClB,+BAA+B,EAAE,MAAM,CAAC,oBAAoB;YAC5D,4BAA4B,EAAE,MAAM,CAAC,iBAAiB;YACtD,gCAAgC,EAAE,MAAM,CAAC,qBAAqB;YAC9D,6BAA6B,EAAE,MAAM,CAAC,kBAAkB;YACxD,8BAA8B,EAC1B,MAAM,CAAC,4BAA4B;YACvC,2BAA2B,EAAE,MAAM,CAAC,yBAAyB;YAC7D,oCAAoC,EAChC,MAAM,CAAC,gCAAgC;SAC9C,CAAC;aACD,UAAU,CAAC,SAAS,CAAC;aACrB,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB;QACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;aAC3B,MAAM,CAAC,qBAAqB,CAAC;aAC7B,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;aAC7B,KAAK,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,GAAqB;QACxB,IAAI,CAAC,GAAG,EAAE;YACN,OAAO;gBACH,0BAA0B,EAAE,CAAC;gBAC7B,oBAAoB,EAAE,CAAC;gBACvB,iBAAiB,EAAE,CAAC;gBACpB,qBAAqB,EAAE,CAAC;gBACxB,kBAAkB,EAAE,CAAC;gBACrB,4BAA4B,EAAE,CAAC;gBAC/B,yBAAyB,EAAE,CAAC;gBAC5B,gCAAgC,EAAE,CAAC;aACtC,CAAC;SACL;QAED,OAAO;YACH,0BAA0B,EAAE,GAAG,CAAC,+BAA+B;YAC/D,oBAAoB,EAAE,GAAG,CAAC,+BAA+B;YACzD,iBAAiB,EAAE,GAAG,CAAC,4BAA4B;YACnD,qBAAqB,EAAE,GAAG,CAAC,gCAAgC;YAC3D,kBAAkB,EAAE,GAAG,CAAC,6BAA6B;YACrD,4BAA4B,EAAE,GAAG,CAAC,8BAA8B;YAChE,yBAAyB,EAAE,GAAG,CAAC,2BAA2B;YAC1D,gCAAgC,EAC5B,GAAG,CAAC,oCAAoC;SAC/C,CAAC;IACN,CAAC;CACJ;AAED,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"project-stats-store.js","sourceRoot":"","sources":["../../../src/lib/db/project-stats-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ICreateEnabledDates } from '../../../types/stores/project-stats-store-type';
2
+ export declare const calculateAverageTimeToProd: (items: ICreateEnabledDates[]) => number;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateAverageTimeToProd = void 0;
4
+ const date_fns_1 = require("date-fns");
5
+ const calculateTimeToProdForFeatures = (items) => items.map((item) => (0, date_fns_1.differenceInDays)(item.enabled, item.created));
6
+ const calculateAverageTimeToProd = (items) => {
7
+ const timeToProdPerFeature = calculateTimeToProdForFeatures(items);
8
+ if (timeToProdPerFeature.length) {
9
+ const sum = timeToProdPerFeature.reduce((acc, curr) => acc + curr, 0);
10
+ return Number((sum / Object.keys(items).length).toFixed(1));
11
+ }
12
+ return 0;
13
+ };
14
+ exports.calculateAverageTimeToProd = calculateAverageTimeToProd;
15
+ //# sourceMappingURL=time-to-production.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-to-production.js","sourceRoot":"","sources":["../../../../../src/lib/features/feature-toggle/time-to-production/time-to-production.ts"],"names":[],"mappings":";;;AAAA,uCAA4C;AAG5C,MAAM,8BAA8B,GAAG,CACnC,KAA4B,EACpB,EAAE,CACV,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,2BAAgB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAE/D,MAAM,0BAA0B,GAAG,CACtC,KAA4B,EACtB,EAAE;IACR,MAAM,oBAAoB,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;IACnE,IAAI,oBAAoB,CAAC,MAAM,EAAE;QAC7B,MAAM,GAAG,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QAEtE,OAAO,MAAM,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/D;IAED,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAXW,QAAA,0BAA0B,8BAWrC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const time_to_production_1 = require("./time-to-production");
4
+ describe('calculate average time to production', () => {
5
+ test('should calculate average correctly', () => {
6
+ const timeToProduction = (0, time_to_production_1.calculateAverageTimeToProd)([
7
+ {
8
+ created: new Date('2022-12-05T09:37:32.483Z'),
9
+ enabled: new Date('2023-01-25T09:37:32.504Z'),
10
+ },
11
+ {
12
+ created: new Date('2023-01-19T09:37:32.484Z'),
13
+ enabled: new Date('2023-01-31T09:37:32.506Z'),
14
+ },
15
+ {
16
+ created: new Date('2023-01-19T09:37:32.484Z'),
17
+ enabled: new Date('2023-02-02T09:37:32.509Z'),
18
+ },
19
+ {
20
+ created: new Date('2023-01-19T09:37:32.486Z'),
21
+ enabled: new Date('2023-01-26T09:37:32.508Z'),
22
+ },
23
+ ]);
24
+ expect(timeToProduction).toBe(21);
25
+ });
26
+ });
27
+ //# sourceMappingURL=time-to-production.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-to-production.test.js","sourceRoot":"","sources":["../../../../../src/lib/features/feature-toggle/time-to-production/time-to-production.test.ts"],"names":[],"mappings":";;AAAA,6DAAkE;AAElE,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IAClD,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,gBAAgB,GAAG,IAAA,+CAA0B,EAAC;YAChD;gBACI,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;gBAC7C,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;aAChD;YACD;gBACI,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;gBAC7C,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;aAChD;YACD;gBACI,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;gBAC7C,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;aAChD;YACD;gBACI,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;gBAC7C,OAAO,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;aAChD;SACJ,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -14,7 +14,7 @@ const no_access_error_1 = __importDefault(require("../error/no-access-error"));
14
14
  const incompatible_project_error_1 = __importDefault(require("../error/incompatible-project-error"));
15
15
  const project_without_owner_error_1 = __importDefault(require("../error/project-without-owner-error"));
16
16
  const util_2 = require("../util");
17
- const time_to_production_1 = require("../read-models/time-to-production/time-to-production");
17
+ const time_to_production_1 = require("../features/feature-toggle/time-to-production/time-to-production");
18
18
  const unique_1 = require("../util/unique");
19
19
  const getCreatedBy = (user) => user.email || user.username || 'unknown';
20
20
  class ProjectService {
@@ -347,38 +347,26 @@ class ProjectService {
347
347
  }
348
348
  }
349
349
  async getStatusUpdates(projectId) {
350
- // Get all features for project with type release
351
- const features = await this.featureToggleStore.getAll({
352
- type: 'release',
353
- project: projectId,
354
- });
355
- const archivedFeatures = await this.featureToggleStore.getAll({
356
- archived: true,
357
- type: 'release',
358
- project: projectId,
359
- });
360
350
  const dateMinusThirtyDays = (0, date_fns_1.subDays)(new Date(), 30).toISOString();
361
351
  const dateMinusSixtyDays = (0, date_fns_1.subDays)(new Date(), 60).toISOString();
362
- const [createdCurrentWindow, createdPastWindow] = await Promise.all([
363
- await this.featureToggleStore.getByDate({
352
+ const [createdCurrentWindow, createdPastWindow, archivedCurrentWindow, archivedPastWindow,] = await Promise.all([
353
+ await this.featureToggleStore.countByDate({
364
354
  project: projectId,
365
355
  dateAccessor: 'created_at',
366
356
  date: dateMinusThirtyDays,
367
357
  }),
368
- await this.featureToggleStore.getByDate({
358
+ await this.featureToggleStore.countByDate({
369
359
  project: projectId,
370
360
  dateAccessor: 'created_at',
371
361
  range: [dateMinusSixtyDays, dateMinusThirtyDays],
372
362
  }),
373
- ]);
374
- const [archivedCurrentWindow, archivedPastWindow] = await Promise.all([
375
- await this.featureToggleStore.getByDate({
363
+ await this.featureToggleStore.countByDate({
376
364
  project: projectId,
377
365
  archived: true,
378
366
  dateAccessor: 'archived_at',
379
367
  date: dateMinusThirtyDays,
380
368
  }),
381
- await this.featureToggleStore.getByDate({
369
+ await this.featureToggleStore.countByDate({
382
370
  project: projectId,
383
371
  archived: true,
384
372
  dateAccessor: 'archived_at',
@@ -407,37 +395,19 @@ class ProjectService {
407
395
  },
408
396
  ]),
409
397
  ]);
410
- // Get all project environments with type of production
411
- const productionEnvironments = await this.environmentStore.getProjectEnvironments(projectId, {
412
- type: 'production',
413
- });
414
- // Get all events for features that correspond to feature toggle environment ON
415
- // Filter out events that are not a production evironment
416
- const allFeatures = [...features, ...archivedFeatures];
417
- const eventsData = await this.eventStore.query([
418
- {
419
- op: 'forFeatures',
420
- parameters: {
421
- features: allFeatures.map((feature) => feature.name),
422
- environments: productionEnvironments.map((env) => env.name),
423
- type: types_1.FEATURE_ENVIRONMENT_ENABLED,
424
- projectId,
425
- },
426
- },
427
- ]);
428
- const currentWindowTimeToProdReadModel = new time_to_production_1.TimeToProduction(allFeatures, productionEnvironments, eventsData);
398
+ const avgTimeToProdCurrentWindow = (0, time_to_production_1.calculateAverageTimeToProd)(await this.projectStatsStore.getTimeToProdDates(projectId));
429
399
  const projectMembersAddedCurrentWindow = await this.store.getMembersCountByProjectAfterDate(projectId, dateMinusThirtyDays);
430
400
  return {
431
401
  projectId,
432
402
  updates: {
433
- avgTimeToProdCurrentWindow: currentWindowTimeToProdReadModel.calculateAverageTimeToProd(),
434
- createdCurrentWindow: createdCurrentWindow.length,
435
- createdPastWindow: createdPastWindow.length,
436
- archivedCurrentWindow: archivedCurrentWindow.length,
437
- archivedPastWindow: archivedPastWindow.length,
438
- projectActivityCurrentWindow: projectActivityCurrentWindow,
439
- projectActivityPastWindow: projectActivityPastWindow,
440
- projectMembersAddedCurrentWindow: projectMembersAddedCurrentWindow,
403
+ avgTimeToProdCurrentWindow,
404
+ createdCurrentWindow,
405
+ createdPastWindow,
406
+ archivedCurrentWindow,
407
+ archivedPastWindow,
408
+ projectActivityCurrentWindow,
409
+ projectActivityPastWindow,
410
+ projectMembersAddedCurrentWindow,
441
411
  },
442
412
  };
443
413
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-service.js","sourceRoot":"","sources":["../../../src/lib/services/project-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-service.js","sourceRoot":"","sources":["../../../src/lib/services/project-service.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ declare const flags: {
5
5
  anonymiseEventLog: boolean;
6
6
  embedProxy: boolean;
7
7
  projectStatusApi: boolean;
8
+ projectStatusApiImprovements: boolean;
8
9
  newProjectOverview: boolean;
9
10
  embedProxyFrontend: boolean;
10
11
  responseTimeWithAppNameKillSwitch: boolean;
@@ -7,6 +7,7 @@ const flags = {
7
7
  anonymiseEventLog: false,
8
8
  embedProxy: (0, util_1.parseEnvVarBoolean)(process.env.UNLEASH_EXPERIMENTAL_EMBED_PROXY, true),
9
9
  projectStatusApi: (0, util_1.parseEnvVarBoolean)(process.env.UNLEASH_EXPERIMENTAL_PROJECT_STATUS_API, false),
10
+ projectStatusApiImprovements: (0, util_1.parseEnvVarBoolean)(process.env.UNLEASH_EXPERIMENTAL_PROJECT_STATUS_API_IMPROVEMENTS, false),
10
11
  newProjectOverview: (0, util_1.parseEnvVarBoolean)(process.env.NEW_PROJECT_OVERVIEW, false),
11
12
  embedProxyFrontend: (0, util_1.parseEnvVarBoolean)(process.env.UNLEASH_EXPERIMENTAL_EMBED_PROXY_FRONTEND, true),
12
13
  responseTimeWithAppNameKillSwitch: (0, util_1.parseEnvVarBoolean)(process.env.UNLEASH_RESPONSE_TIME_WITH_APP_NAME_KILL_SWITCH, false),
@@ -1 +1 @@
1
- {"version":3,"file":"experimental.js","sourceRoot":"","sources":["../../../src/lib/types/experimental.ts"],"names":[],"mappings":";;;AAAA,kCAA6C;AAK7C,MAAM,KAAK,GAAG;IACV,wBAAwB,EAAE,KAAK;IAC/B,iBAAiB,EAAE,KAAK;IACxB,UAAU,EAAE,IAAA,yBAAkB,EAC1B,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAC5C,IAAI,CACP;IACD,gBAAgB,EAAE,IAAA,yBAAkB,EAChC,OAAO,CAAC,GAAG,CAAC,uCAAuC,EACnD,KAAK,CACR;IACD,kBAAkB,EAAE,IAAA,yBAAkB,EAClC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAChC,KAAK,CACR;IACD,kBAAkB,EAAE,IAAA,yBAAkB,EAClC,OAAO,CAAC,GAAG,CAAC,yCAAyC,EACrD,IAAI,CACP;IACD,iCAAiC,EAAE,IAAA,yBAAkB,EACjD,OAAO,CAAC,GAAG,CAAC,+CAA+C,EAC3D,KAAK,CACR;IACD,eAAe,EAAE,IAAA,yBAAkB,EAC/B,OAAO,CAAC,GAAG,CAAC,qCAAqC,EACjD,KAAK,CACR;IACD,aAAa,EAAE,IAAA,yBAAkB,EAC7B,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAC/C,KAAK,CACR;IACD,oBAAoB,EAAE,IAAA,yBAAkB,EACpC,OAAO,CAAC,GAAG,CAAC,2CAA2C,EACvD,IAAI,CACP;IACD,0BAA0B,EAAE,IAAA,yBAAkB,EAC1C,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAC9D,KAAK,CACR;IACD,YAAY,EAAE,IAAA,yBAAkB,EAC5B,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAC/C,KAAK,CACR;IACD,sBAAsB,EAAE,IAAA,yBAAkB,EACtC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAC3C,KAAK,CACR;IACD,iBAAiB,EAAE,IAAA,yBAAkB,EACjC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EACxC,KAAK,CACR;IACD,YAAY,EAAE,IAAA,yBAAkB,EAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC;IAC1E,cAAc,EAAE,IAAA,yBAAkB,EAC9B,OAAO,CAAC,GAAG,CAAC,uBAAuB,EACnC,KAAK,CACR;IACD,qBAAqB,EAAE,IAAA,yBAAkB,EACrC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EACnC,KAAK,CACR;IACD,uBAAuB,EAAE,IAAA,yBAAkB,EACvC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EACrC,KAAK,CACR;IACD,WAAW,EAAE,IAAA,yBAAkB,EAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC;IAChE,8BAA8B,EAAE,IAAA,yBAAkB,EAC9C,OAAO,CAAC,GAAG,CAAC,uBAAuB,EACnC,KAAK,CACR;IACD,cAAc,EAAE,IAAA,yBAAkB,EAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC;IACvE,UAAU,EAAE,IAAA,yBAAkB,EAC1B,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAC5C,KAAK,CACR;IACD,gBAAgB,EAAE,IAAA,yBAAkB,EAChC,OAAO,CAAC,GAAG,CAAC,uCAAuC,EACnD,KAAK,CACR;IACD,aAAa,EAAE,IAAA,yBAAkB,EAC7B,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAC/C,KAAK,CACR;CACJ,CAAC;AAEW,QAAA,0BAA0B,GAAyB;IAC5D,KAAK;IACL,gBAAgB,EAAE,EAAE,SAAS,EAAE,GAAY,EAAE,CAAC,KAAK,EAAE;CACxD,CAAC"}
1
+ {"version":3,"file":"experimental.js","sourceRoot":"","sources":["../../../src/lib/types/experimental.ts"],"names":[],"mappings":";;;AAAA,kCAA6C;AAK7C,MAAM,KAAK,GAAG;IACV,wBAAwB,EAAE,KAAK;IAC/B,iBAAiB,EAAE,KAAK;IACxB,UAAU,EAAE,IAAA,yBAAkB,EAC1B,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAC5C,IAAI,CACP;IACD,gBAAgB,EAAE,IAAA,yBAAkB,EAChC,OAAO,CAAC,GAAG,CAAC,uCAAuC,EACnD,KAAK,CACR;IACD,4BAA4B,EAAE,IAAA,yBAAkB,EAC5C,OAAO,CAAC,GAAG,CAAC,oDAAoD,EAChE,KAAK,CACR;IACD,kBAAkB,EAAE,IAAA,yBAAkB,EAClC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAChC,KAAK,CACR;IACD,kBAAkB,EAAE,IAAA,yBAAkB,EAClC,OAAO,CAAC,GAAG,CAAC,yCAAyC,EACrD,IAAI,CACP;IACD,iCAAiC,EAAE,IAAA,yBAAkB,EACjD,OAAO,CAAC,GAAG,CAAC,+CAA+C,EAC3D,KAAK,CACR;IACD,eAAe,EAAE,IAAA,yBAAkB,EAC/B,OAAO,CAAC,GAAG,CAAC,qCAAqC,EACjD,KAAK,CACR;IACD,aAAa,EAAE,IAAA,yBAAkB,EAC7B,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAC/C,KAAK,CACR;IACD,oBAAoB,EAAE,IAAA,yBAAkB,EACpC,OAAO,CAAC,GAAG,CAAC,2CAA2C,EACvD,IAAI,CACP;IACD,0BAA0B,EAAE,IAAA,yBAAkB,EAC1C,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAC9D,KAAK,CACR;IACD,YAAY,EAAE,IAAA,yBAAkB,EAC5B,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAC/C,KAAK,CACR;IACD,sBAAsB,EAAE,IAAA,yBAAkB,EACtC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAC3C,KAAK,CACR;IACD,iBAAiB,EAAE,IAAA,yBAAkB,EACjC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EACxC,KAAK,CACR;IACD,YAAY,EAAE,IAAA,yBAAkB,EAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC;IAC1E,cAAc,EAAE,IAAA,yBAAkB,EAC9B,OAAO,CAAC,GAAG,CAAC,uBAAuB,EACnC,KAAK,CACR;IACD,qBAAqB,EAAE,IAAA,yBAAkB,EACrC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EACnC,KAAK,CACR;IACD,uBAAuB,EAAE,IAAA,yBAAkB,EACvC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EACrC,KAAK,CACR;IACD,WAAW,EAAE,IAAA,yBAAkB,EAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC;IAChE,8BAA8B,EAAE,IAAA,yBAAkB,EAC9C,OAAO,CAAC,GAAG,CAAC,uBAAuB,EACnC,KAAK,CACR;IACD,cAAc,EAAE,IAAA,yBAAkB,EAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC;IACvE,UAAU,EAAE,IAAA,yBAAkB,EAC1B,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAC5C,KAAK,CACR;IACD,gBAAgB,EAAE,IAAA,yBAAkB,EAChC,OAAO,CAAC,GAAG,CAAC,uCAAuC,EACnD,KAAK,CACR;IACD,aAAa,EAAE,IAAA,yBAAkB,EAC7B,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAC/C,KAAK,CACR;CACJ,CAAC;AAEW,QAAA,0BAA0B,GAAyB;IAC5D,KAAK;IACL,gBAAgB,EAAE,EAAE,SAAS,EAAE,GAAY,EAAE,CAAC,KAAK,EAAE;CACxD,CAAC"}
@@ -20,13 +20,13 @@ export interface IFeatureToggleStore extends Store<FeatureToggle, string> {
20
20
  revive(featureName: string): Promise<FeatureToggle>;
21
21
  getAll(query?: Partial<IFeatureToggleQuery>): Promise<FeatureToggle[]>;
22
22
  getAllByNames(names: string[]): Promise<FeatureToggle[]>;
23
- getByDate(queryModifiers: {
23
+ countByDate(queryModifiers: {
24
24
  archived?: boolean;
25
25
  project?: string;
26
26
  date?: string;
27
27
  range?: string[];
28
28
  dateAccessor: string;
29
- }): Promise<FeatureToggle[]>;
29
+ }): Promise<number>;
30
30
  /**
31
31
  * @deprecated - Variants should be fetched from FeatureEnvironmentStore (since variants are now; since 4.18, connected to environments)
32
32
  * @param featureName
@@ -1,5 +1,10 @@
1
1
  import { IProjectStats } from 'lib/services/project-service';
2
+ export interface ICreateEnabledDates {
3
+ created: Date;
4
+ enabled: Date;
5
+ }
2
6
  export interface IProjectStatsStore {
3
7
  updateProjectStats(projectId: string, status: IProjectStats): Promise<void>;
4
8
  getProjectStats(projectId: string): Promise<IProjectStats>;
9
+ getTimeToProdDates(projectId: string): Promise<ICreateEnabledDates[]>;
5
10
  }
@@ -965,6 +965,60 @@ test('should calculate average time to production', async () => {
965
965
  const result = await projectService.getStatusUpdates(project.id);
966
966
  expect(result.updates.avgTimeToProdCurrentWindow).toBe(11.4);
967
967
  });
968
+ test('should calculate average time to production ignoring some items', async () => {
969
+ const project = {
970
+ id: 'average-time-to-prod-corner-cases',
971
+ name: 'average-time-to-prod',
972
+ mode: 'open',
973
+ defaultStickiness: 'clientId',
974
+ };
975
+ const makeEvent = (featureName) => ({
976
+ enabled: true,
977
+ project: project.id,
978
+ featureName,
979
+ environment: 'default',
980
+ createdBy: 'Fredrik',
981
+ tags: [],
982
+ });
983
+ await projectService.createProject(project, user.id);
984
+ await stores.environmentStore.create({
985
+ name: 'customEnv',
986
+ type: 'development',
987
+ });
988
+ await environmentService.addEnvironmentToProject('customEnv', project.id);
989
+ // actual toggle we take for calculations
990
+ const toggle = { name: 'main-toggle' };
991
+ await featureToggleService.createFeatureToggle(project.id, toggle, user);
992
+ await updateFeature(toggle.name, {
993
+ created_at: (0, date_fns_1.subDays)(new Date(), 20),
994
+ });
995
+ await stores.eventStore.store(new events_1.FeatureEnvironmentEvent(makeEvent(toggle.name)));
996
+ // ignore events added after first enabled
997
+ await updateEventCreatedAt((0, date_fns_1.addDays)(new Date(), 1), toggle.name);
998
+ await stores.eventStore.store(new events_1.FeatureEnvironmentEvent(makeEvent(toggle.name)));
999
+ // ignore toggles enabled in non-prod envs
1000
+ const devToggle = { name: 'dev-toggle' };
1001
+ await featureToggleService.createFeatureToggle(project.id, devToggle, user);
1002
+ await stores.eventStore.store(new events_1.FeatureEnvironmentEvent({
1003
+ ...makeEvent(devToggle.name),
1004
+ environment: 'customEnv',
1005
+ }));
1006
+ // ignore toggles from other projects
1007
+ const otherProjectToggle = { name: 'other-project' };
1008
+ await featureToggleService.createFeatureToggle('default', otherProjectToggle, user);
1009
+ await stores.eventStore.store(new events_1.FeatureEnvironmentEvent(makeEvent(otherProjectToggle.name)));
1010
+ // ignore non-release toggles
1011
+ const nonReleaseToggle = { name: 'permission-toggle', type: 'permission' };
1012
+ await featureToggleService.createFeatureToggle(project.id, nonReleaseToggle, user);
1013
+ await stores.eventStore.store(new events_1.FeatureEnvironmentEvent(makeEvent(nonReleaseToggle.name)));
1014
+ // ignore toggles with events before toggle creation time
1015
+ const previouslyDeleteToggle = { name: 'previously-deleted' };
1016
+ await featureToggleService.createFeatureToggle(project.id, previouslyDeleteToggle, user);
1017
+ await stores.eventStore.store(new events_1.FeatureEnvironmentEvent(makeEvent(previouslyDeleteToggle.name)));
1018
+ await updateEventCreatedAt((0, date_fns_1.subDays)(new Date(), 30), previouslyDeleteToggle.name);
1019
+ const result = await projectService.getStatusUpdates(project.id);
1020
+ expect(result.updates.avgTimeToProdCurrentWindow).toBe(20);
1021
+ });
968
1022
  test('should get correct amount of features created in current and past window', async () => {
969
1023
  const project = {
970
1024
  id: 'features-created',
@@ -1 +1 @@
1
- {"version":3,"file":"project-service.e2e.test.js","sourceRoot":"","sources":["../../../../src/test/e2e/services/project-service.e2e.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-service.e2e.test.js","sourceRoot":"","sources":["../../../../src/test/e2e/services/project-service.e2e.test.ts"],"names":[],"mappings":";;;;;AAAA,6EAA2D;AAC3D,yEAAiD;AACjD,0GAAgF;AAChF,4FAAmE;AACnE,yEAAqE;AACrE,gEAAqE;AACrE,0DAA4D;AAC5D,oDAAoD;AACpD,2DAAuD;AACvD,oGAA2E;AAC3E,+GAAqF;AACrF,2EAAuE;AACvE,uEAAmE;AACnE,oDAAyD;AACzD,sDAAoE;AACpE,uCAA4C;AAC5C,mJAAwI;AAExI,IAAI,MAAM,CAAC;AACX,IAAI,EAAW,CAAC;AAEhB,IAAI,cAA8B,CAAC;AACnC,IAAI,YAA0B,CAAC;AAC/B,IAAI,aAA4B,CAAC;AACjC,IAAI,kBAAsC,CAAC;AAC3C,IAAI,oBAA0C,CAAC;AAC/C,IAAI,gBAAkC,CAAC;AACvC,IAAI,IAAI,CAAC;AAET,MAAM,aAAa,GAAG,KAAK,EACvB,MAAc,EACd,WAAmB,EACnB,SAAkB,EACpB,EAAE;IACA,MAAM,CAAC,MAAM,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAChE,SAAS,CACZ,CAAC;AACN,CAAC,CAAC;AAEF,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,EAAE,GAAG,MAAM,IAAA,uBAAM,EAAC,wBAAwB,EAAE,mBAAS,CAAC,CAAC;IACvD,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;IACnB,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,oBAAoB;KAC9B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAA,8BAAgB,EAAC;QAC5B,SAAS,EAAT,mBAAS;QACT,aAAa;QACb,YAAY,EAAE,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;KACpD,CAAC,CAAC;IACH,YAAY,GAAG,IAAI,4BAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,aAAa,GAAG,IAAI,8BAAa,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,4BAA4B,GAAG,IAAI,mEAA4B,CACjE,EAAE,CAAC,WAAW,EACd,aAAa,CAChB,CAAC;IACF,oBAAoB,GAAG,IAAI,gCAAoB,CAC3C,MAAM,EACN,MAAM,EACN,IAAI,gCAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,aAAa,EACb,4BAA4B,CAC/B,CAAC;IAEF,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,kBAAkB,GAAG,IAAI,6BAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5D,cAAc,GAAG,IAAI,yBAAc,CAC/B,MAAM,EACN,MAAM,EACN,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,CACnB,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAChB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI;SAClB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;SACvC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACf,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IACP,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC9C,MAAM,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9C,MAAM,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;IAC3C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;IACxC,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,SAAS;KAC/B,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,WAAoB;QAC1B,iBAAiB,EAAE,SAAS;KAC/B,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;IACnC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IACrC,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,SAAS;KAC/B,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAErD,IAAI;QACA,MAAM,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KAC/C;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAChD;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;IACjE,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;QAC/C,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,OAAO,EAAE,KAAK;QACd,iBAAiB,EAAE,SAAS;KAC/B,CAAC,CAAC;IAEH,IAAI;QACA,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;KACxD;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CACpB,0DAA0D,CAC7D,CAAC;KACL;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACnD,IAAI;QACA,MAAM,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;KACvD;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;KACvE;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;IAC3C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;IAC7D,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,SAAS;KAC/B,CAAC;IACF,IAAI;QACA,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACrD;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;KACtE;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;IAC9C,IAAI;QACA,MAAM,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;KACnD;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;KAC5D;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;IACxC,IAAI;QACA,MAAM,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KAC9C;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;KACtE;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IACrC,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,SAAS;KAC/B,CAAC;IAEF,MAAM,cAAc,GAAG;QACnB,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,WAAoB;QAC1B,iBAAiB,EAAE,QAAQ;KAC9B,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,cAAc,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAEzD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEhE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;IAC/D,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,SAAS;KAC/B,CAAC;IAEF,MAAM,cAAc,GAAG;QACnB,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,WAAoB;QAC1B,iBAAiB,EAAE,UAAU;KAChC,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,EAAE;SACH,WAAW,CAAC,kBAAkB,CAAC;SAC/B,GAAG,EAAE;SACL,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACpC,MAAM,cAAc,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAEzD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEhE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAC9D,IAAI;QACA,MAAM,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KAC9C;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAChD;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;IAC/D,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAQ,CAAC,MAAM,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAQ,CAAC,KAAK,CAAC,CAAC;IAEnE,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;IAE5B,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;IACvD,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACjD,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,uBAAuB;KACjC,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACjD,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,uBAAuB;KACjC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAQ,CAAC,MAAM,CAAC,CAAC;IAEzE,MAAM,cAAc,CAAC,OAAO,CACxB,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,cAAc,CAAC,EAAE,EACjB,MAAM,CACT,CAAC;IACF,MAAM,cAAc,CAAC,OAAO,CACxB,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,cAAc,CAAC,EAAE,EACjB,MAAM,CACT,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;IAEpE,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACnE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;QAC3D;YACI,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,EAAE,EAAE,cAAc,CAAC,EAAE;YACrB,QAAQ,EAAE,cAAc,CAAC,QAAQ;SACpC;QACD;YACI,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,EAAE,EAAE,cAAc,CAAC,EAAE;YACrB,QAAQ,EAAE,cAAc,CAAC,QAAQ;SACpC;KACJ,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAChD,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,sBAAsB;KAChC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAChD,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,sBAAsB;KAChC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAQ,CAAC,KAAK,CAAC,CAAC;IAEvE,MAAM,cAAc,CAAC,OAAO,CACxB,OAAO,CAAC,EAAE,EACV,SAAS,CAAC,EAAE,EACZ,aAAa,CAAC,EAAE,EAChB,MAAM,CACT,CAAC;IACF,MAAM,cAAc,CAAC,OAAO,CACxB,OAAO,CAAC,EAAE,EACV,SAAS,CAAC,EAAE,EACZ,aAAa,CAAC,EAAE,EAChB,MAAM,CACT,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEtE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;IAElE,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;IAChE,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACjD,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,wBAAwB;KAClC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAQ,CAAC,MAAM,CAAC,CAAC;IAEzE,MAAM,cAAc,CAAC,OAAO,CACxB,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,cAAc,CAAC,EAAE,EACjB,MAAM,CACT,CAAC;IAEF,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CACpB,cAAc,CAAC,OAAO,CAClB,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,cAAc,CAAC,EAAE,EACjB,MAAM,CACT,CACJ,CAAC,OAAO,CAAC,OAAO,CACb,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAClE,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACnD,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACjD,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,wBAAwB;KAClC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAQ,CAAC,MAAM,CAAC,CAAC;IAEzE,MAAM,cAAc,CAAC,OAAO,CACxB,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,cAAc,CAAC,EAAE,EACjB,MAAM,CACT,CAAC;IACF,MAAM,cAAc,CAAC,UAAU,CAC3B,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,cAAc,CAAC,EAAE,EACjB,MAAM,CACT,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;IAEpE,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;IACvD,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC;IAE/D,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,cAAc,CAAC,UAAU,CAC3B,OAAO,CAAC,EAAE,EACV,SAAS,CAAC,EAAE,EACZ,IAAI,CAAC,EAAE,EACP,MAAM,CACT,CAAC;IACN,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CACnB,IAAI,KAAK,CAAC,wCAAwC,CAAC,CACtD,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;IACrG,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IAEF,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAEvC,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAEzE,IAAI;QACA,MAAM,cAAc,CAAC,aAAa,CAC9B,YAAY,EACZ,MAAM,CAAC,IAAI,EACX,IAAI,EACJ,kBAAkB,CACrB,CAAC;KACL;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CACpB,uBAAuB,iCAAmB,yBAAyB,CACtE,CAAC;KACL;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;IAC5E,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IAEF,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IAEzC,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAEzE,IAAI;QACA,MAAM,cAAc,CAAC,aAAa,CAC9B,YAAY,EACZ,MAAM,CAAC,IAAI,EACX,IAAI,EACJ,OAAO,CAAC,EAAE,CACb,CAAC;KACL;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAChD;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IAEF,MAAM,kBAAkB,GAAG;QACvB,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IAEF,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAChD,IAAI,EAAE,6BAA6B;QACnC,KAAK,EAAE,oCAAoC;KAC9C,CAAC,CAAC;IAEH,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,cAAc,CAAC,aAAa,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;IACtE,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAEzE,IAAI;QACA,MAAM,cAAc,CAAC,aAAa,CAC9B,kBAAkB,CAAC,EAAE,EACrB,MAAM,CAAC,IAAI,EACX,IAAI,EACJ,OAAO,CAAC,EAAE,CACb,CAAC;KACL;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CACpB,uBAAuB,iCAAmB,yBAAyB,CACtE,CAAC;KACL;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;IACtD,MAAM,QAAQ,GAAG;QACb,EAAE,EAAE,IAAA,oBAAQ,GAAE;QACd,IAAI,EAAE,IAAA,oBAAQ,GAAE;QAChB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,QAAQ,GAAG;QACb,EAAE,EAAE,IAAA,oBAAQ,GAAE;QACd,IAAI,EAAE,IAAA,oBAAQ,GAAE;QAChB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,IAAA,oBAAQ,GAAE,EAAE,CAAC;IAEpC,MAAM,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1E,MAAM,cAAc,CAAC,aAAa,CAC9B,QAAQ,CAAC,EAAE,EACX,MAAM,CAAC,IAAI,EACX,IAAI,EACJ,QAAQ,CAAC,EAAE,CACd,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC;QACzD,WAAW,EAAE,MAAM,CAAC,IAAI;KAC3B,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;IAC5F,MAAM,QAAQ,GAAG;QACb,EAAE,EAAE,IAAA,oBAAQ,GAAE;QACd,IAAI,EAAE,IAAA,oBAAQ,GAAE;QAChB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,SAAS;KAC/B,CAAC;IACF,MAAM,QAAQ,GAAG;QACb,EAAE,EAAE,IAAA,oBAAQ,GAAE;QACd,IAAI,EAAE,IAAA,oBAAQ,GAAE;QAChB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,IAAA,oBAAQ,GAAE,EAAE,CAAC;IACpC,MAAM,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IAC/D,MAAM,cAAc,CAAC,aAAa,CAC9B,QAAQ,CAAC,EAAE,EACX,MAAM,CAAC,IAAI,EACX,IAAI,EACJ,QAAQ,CAAC,EAAE,CACd,CAAC;IACF,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IAC9D,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACzE,CAAC,EAAE,KAAK,CAAC,CAAC;AAEV,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;IAC1E,MAAM,QAAQ,GAAG;QACb,EAAE,EAAE,IAAA,oBAAQ,GAAE;QACd,IAAI,EAAE,IAAA,oBAAQ,GAAE;QAChB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,QAAQ,GAAG;QACb,EAAE,EAAE,IAAA,oBAAQ,GAAE;QACd,IAAI,EAAE,IAAA,oBAAQ,GAAE;QAChB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,IAAA,oBAAQ,GAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,IAAA,oBAAQ,GAAE,EAAE,CAAC;IAEpC,MAAM,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1E,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,kBAAkB,CAAC,uBAAuB,CAC5C,WAAW,CAAC,IAAI,EAChB,QAAQ,CAAC,EAAE,CACd,CAAC;IAEF,MAAM,MAAM,CAAC,GAAG,EAAE,CACd,cAAc,CAAC,aAAa,CACxB,QAAQ,CAAC,EAAE,EACX,MAAM,CAAC,IAAI,EACX,IAAI,EACJ,QAAQ,CAAC,EAAE,CACd,CACJ,CAAC,OAAO,CAAC,YAAY,CAAC,oCAAwB,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;IACnF,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,UAAU,GAAG,iBAAiB,CAAC;IACrC,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM;KACf,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,gBAAgB,CAAC;IACrC,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,aAAa,GACf,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvE,MAAM,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B;IAClE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACjE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;IACxD,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC;IACrB,MAAM,MAAM,GAAG,KAAK,CAAC;IACrB,MAAM,KAAK,GAAG,SAAS,CAAC;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,CAAC;KACf,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,CAAC;KACf,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,CAAC;KACf,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,CAAC;KACf,CAAC,CAAC;IAEH,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,aAAa,GACf,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEvE,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;IACnE,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACjD,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,sBAAsB;KAChC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC;QAC9C,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE;YACT;gBACI,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,SAAS;aAClB;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,cAAc,CAAC,OAAO,CACxB,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,cAAc,CAAC,EAAE,EACjB,MAAM,CACT,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEtE,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;IAEzE,MAAM,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;IAChE,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACxC,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,wBAAwB;KAClC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACxC,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,wBAAwB;KAClC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC;QAC9C,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE;YACT;gBACI,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,SAAS;aAClB;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAE1E,IAAI,YAAY,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpC,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrD,YAAY,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC9C,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,wBAAwB;KAClC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC;QAC9C,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE;YACT;gBACI,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,SAAS;aAClB;SACJ;KACJ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAQ,CAAC,MAAM,CAAC,CAAC;IAErE,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5E,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtE,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;IAE7D,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,cAAc,CAAC,UAAU,CAC3B,OAAO,CAAC,EAAE,EACV,MAAM,CAAC,EAAE,EACT,WAAW,CAAC,EAAE,EACd,MAAM,CACT,CAAC;IACF,MAAM,cAAc,CAAC,OAAO,CACxB,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,WAAW,CAAC,EAAE,EACd,MAAM,CACT,CAAC;IAEF,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAAC,kBAAkB,CACjE,OAAO,CAAC,EAAE,CACb,CAAC;IACF,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;IAE1E,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;IACtD,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACjD,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,wBAAwB;KAClC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAQ,CAAC,MAAM,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAQ,CAAC,KAAK,CAAC,CAAC;IAEvE,MAAM,cAAc,CAAC,OAAO,CACxB,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,cAAc,CAAC,EAAE,EACjB,MAAM,CACT,CAAC;IACF,MAAM,cAAc,CAAC,UAAU,CAC3B,OAAO,CAAC,EAAE,EACV,SAAS,CAAC,EAAE,EACZ,cAAc,CAAC,EAAE,EACjB,MAAM,CACT,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;IAElE,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;IACnE,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACjD,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,0BAA0B;KACpC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC3C,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,0CAA0C;KAC1D,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAQ,CAAC,MAAM,CAAC,CAAC;IAEzE,MAAM,cAAc,CAAC,OAAO,CACxB,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,cAAc,CAAC,EAAE,EACjB,MAAM,CACT,CAAC;IACF,MAAM,cAAc,CAAC,UAAU,CAC3B,OAAO,CAAC,EAAE,EACV,QAAQ,CAAC,EAAE,EACX,cAAc,CAAC,EAAE,EACjB,MAAM,CACT,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEhE,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;IAChF,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACjD,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,yBAAyB;KACnC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAQ,CAAC,MAAM,CAAC,CAAC;IAEzE,MAAM,cAAc,CAAC,OAAO,CACxB,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,cAAc,CAAC,EAAE,EACjB,MAAM,CACT,CAAC;IAEF,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,cAAc,CAAC,UAAU,CAC3B,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,IAAI,CAAC,EAAE,EACP,MAAM,CACT,CAAC;IACN,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CACnB,IAAI,KAAK,CAAC,wCAAwC,CAAC,CACtD,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;IAC7D,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAErC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACxC,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,oBAAoB;KAC9B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC;QACnC,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,EAAE;KAClB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC;QACrD,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE;YACT;gBACI,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,SAAS;aAClB;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,cAAc,CAAC,SAAS,CAC1B,OAAO,CAAC,EAAE,EACV,iBAAiB,CAAC,EAAE,EACpB;QACI,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KAC9B,EACD,iBAAiB,CACpB,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;IAChD,MAAM,OAAO,GAAG,2BAA2B,CAAC;IAE5C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACxC,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,kBAAkB;KAC5B,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC;QACrD,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,EAAE;QACf,WAAW,EAAE;YACT;gBACI,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,SAAS;aAClB;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,cAAc,CAAC,SAAS,CAC1B,OAAO,EACP,iBAAiB,CAAC,EAAE,EACpB;QACI,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,EAAE,EAAE;KACb,EACD,iBAAiB,CACpB,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;IACvD,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAErC,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC;QACnC,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,EAAE;KAClB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC;QACrD,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,EAAE;QACf,WAAW,EAAE;YACT;gBACI,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,SAAS;aAClB;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,cAAc,CAAC,SAAS,CAC1B,OAAO,CAAC,EAAE,EACV,iBAAiB,CAAC,EAAE,EACpB;QACI,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KAC9B,EACD,iBAAiB,CACpB,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;IACpE,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;QAC/C,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,OAAO,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;QAC/C,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,OAAO,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,MAAM,oBAAoB,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;IAC/D,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;QAC/C,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,OAAO,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,MAAM,oBAAoB,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,KAAK,EAAE,IAAU,EAAE,WAAmB,EAAE,EAAE;IACnE,OAAO,EAAE,CAAC,WAAW;SAChB,KAAK,CAAC,QAAQ,CAAC;SACf,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;SAC5B,KAAK,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,WAAmB,EAAE,MAAW,EAAE,EAAE;IAC7D,OAAO,EAAE,CAAC,WAAW;SAChB,KAAK,CAAC,UAAU,CAAC;SACjB,MAAM,CAAC,MAAM,CAAC;SACd,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;IAC3D,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG;QACZ,EAAE,IAAI,EAAE,mBAAmB,EAAE;QAC7B,EAAE,IAAI,EAAE,qBAAqB,EAAE;QAC/B,EAAE,IAAI,EAAE,qBAAqB,EAAE;QAC/B,EAAE,IAAI,EAAE,qBAAqB,EAAE;QAC/B,EAAE,IAAI,EAAE,qBAAqB,EAAE;KAClC,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACnB,OAAO,oBAAoB,CAAC,mBAAmB,CAC3C,OAAO,CAAC,EAAE,EACV,MAAM,EACN,IAAI,CACP,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CACb,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAC1B,IAAI,gCAAuB,CAAC;YACxB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,OAAO,CAAC,EAAE;YACnB,WAAW,EAAE,MAAM,CAAC,IAAI;YACxB,WAAW,EAAE,SAAS;YACtB,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,EAAE;SACX,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,oBAAoB,CAAC,IAAA,kBAAO,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAE3E,MAAM,OAAO,CAAC,GAAG,CACb,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC1B,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAA,kBAAO,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CACtE,CACJ,CAAC;IAEF,MAAM,aAAa,CAAC,qBAAqB,EAAE;QACvC,UAAU,EAAE,IAAA,kBAAO,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;KACtC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;IAC/E,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,mCAAmC;QACvC,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,WAAW;QACX,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,EAAE;KACX,CAAC,CAAC;IAEH,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,aAAa;KACtB,CAAC,CAAC;IACH,MAAM,kBAAkB,CAAC,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAE1E,yCAAyC;IACzC,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACvC,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzE,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE;QAC7B,UAAU,EAAE,IAAA,kBAAO,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;KACtC,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CACzB,IAAI,gCAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACtD,CAAC;IACF,0CAA0C;IAC1C,MAAM,oBAAoB,CAAC,IAAA,kBAAO,EAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CACzB,IAAI,gCAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACtD,CAAC;IAEF,0CAA0C;IAC1C,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACzC,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CACzB,IAAI,gCAAuB,CAAC;QACxB,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC;QAC5B,WAAW,EAAE,WAAW;KAC3B,CAAC,CACL,CAAC;IAEF,qCAAqC;IACrC,MAAM,kBAAkB,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IACrD,MAAM,oBAAoB,CAAC,mBAAmB,CAC1C,SAAS,EACT,kBAAkB,EAClB,IAAI,CACP,CAAC;IACF,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CACzB,IAAI,gCAAuB,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAClE,CAAC;IAEF,6BAA6B;IAC7B,MAAM,gBAAgB,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC3E,MAAM,oBAAoB,CAAC,mBAAmB,CAC1C,OAAO,CAAC,EAAE,EACV,gBAAgB,EAChB,IAAI,CACP,CAAC;IACF,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CACzB,IAAI,gCAAuB,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAChE,CAAC;IAEF,yDAAyD;IACzD,MAAM,sBAAsB,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC9D,MAAM,oBAAoB,CAAC,mBAAmB,CAC1C,OAAO,CAAC,EAAE,EACV,sBAAsB,EACtB,IAAI,CACP,CAAC;IACF,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CACzB,IAAI,gCAAuB,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CACtE,CAAC;IACF,MAAM,oBAAoB,CACtB,IAAA,kBAAO,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,EACvB,sBAAsB,CAAC,IAAI,CAC9B,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;IACxF,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG;QACZ,EAAE,IAAI,EAAE,kBAAkB,EAAE;QAC5B,EAAE,IAAI,EAAE,oBAAoB,EAAE;QAC9B,EAAE,IAAI,EAAE,oBAAoB,EAAE;QAC9B,EAAE,IAAI,EAAE,oBAAoB,EAAE;KACjC,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CACb,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACnB,OAAO,oBAAoB,CAAC,mBAAmB,CAC3C,OAAO,CAAC,EAAE,EACV,MAAM,EACN,IAAI,CACP,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC;QACd,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAA,kBAAO,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QACvE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAA,kBAAO,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;KAC1E,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;IACzF,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,UAAU;KAChC,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG;QACZ,EAAE,IAAI,EAAE,mBAAmB,EAAE;QAC7B,EAAE,IAAI,EAAE,qBAAqB,EAAE;QAC/B,EAAE,IAAI,EAAE,qBAAqB,EAAE;QAC/B,EAAE,IAAI,EAAE,qBAAqB,EAAE;KAClC,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CACb,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACnB,OAAO,oBAAoB,CAAC,mBAAmB,CAC3C,OAAO,CAAC,EAAE,EACV,MAAM,EACN,IAAI,CACP,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC;QACd,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE,IAAI,IAAI,EAAE;YACvB,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE,IAAI,IAAI,EAAE;YACvB,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE,IAAA,kBAAO,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;YACpC,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE,IAAA,kBAAO,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;YACpC,QAAQ,EAAE,IAAI;SACjB,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;IACxF,MAAM,OAAO,GAAG;QACZ,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,MAAe;QACrB,iBAAiB,EAAE,SAAS;KAC/B,CAAC;IAEF,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAErD,MAAM,KAAK,GAAG;QACV,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,yBAAyB,EAAE;QACvD,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,yBAAyB,EAAE;QACvD,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,2BAA2B,EAAE;QAC3D,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,0BAA0B,EAAE;QACzD,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,0BAA0B,EAAE;KAC5D,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAC3D,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAQ,CAAC,MAAM,CAAC,CAAC;IAEzE,MAAM,OAAO,CAAC,GAAG,CACb,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAC7B,cAAc,CAAC,OAAO,CAClB,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,EACb,WAAW,CAAC,EAAE,EACd,MAAM,CACT,CACJ,CACJ,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC"}
@@ -28,12 +28,12 @@ export default class FakeFeatureToggleStore implements IFeatureToggleStore {
28
28
  getVariantsForEnv(featureName: string, environment_name: string): Promise<IVariant[]>;
29
29
  saveVariants(project: string, featureName: string, newVariants: IVariant[]): Promise<FeatureToggle>;
30
30
  saveVariantsOnEnv(featureName: string, environment: string, newVariants: IVariant[]): Promise<IVariant[]>;
31
- getByDate(queryModifiers: {
31
+ countByDate(queryModifiers: {
32
32
  archived?: boolean;
33
33
  project?: string;
34
34
  date?: string;
35
35
  range?: string[];
36
36
  dateAccessor: string;
37
- }): Promise<FeatureToggle[]>;
37
+ }): Promise<number>;
38
38
  dropAllVariants(): Promise<void>;
39
39
  }
@@ -153,7 +153,7 @@ class FakeFeatureToggleStore {
153
153
  await this.saveVariants('default', featureName, newVariants);
154
154
  return Promise.resolve(newVariants);
155
155
  }
156
- async getByDate(queryModifiers) {
156
+ async countByDate(queryModifiers) {
157
157
  return this.features.filter((feature) => {
158
158
  if (feature.archived === queryModifiers.archived) {
159
159
  return true;
@@ -170,7 +170,7 @@ class FakeFeatureToggleStore {
170
170
  featureDate <= new Date(queryModifiers.range[1]).getTime()) {
171
171
  return true;
172
172
  }
173
- });
173
+ }).length;
174
174
  }
175
175
  dropAllVariants() {
176
176
  this.features.forEach((feature) => (feature.variants = []));
@@ -1 +1 @@
1
- {"version":3,"file":"fake-feature-toggle-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-feature-toggle-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake-feature-toggle-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-feature-toggle-store.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { IProjectStats } from 'lib/services/project-service';
2
- import { IProjectStatsStore } from 'lib/types/stores/project-stats-store-type';
2
+ import { ICreateEnabledDates, IProjectStatsStore } from 'lib/types/stores/project-stats-store-type';
3
3
  export default class FakeProjectStatsStore implements IProjectStatsStore {
4
4
  updateProjectStats(projectId: string, status: IProjectStats): Promise<void>;
5
5
  getProjectStats(projectId: string): Promise<IProjectStats>;
6
+ getTimeToProdDates(): Promise<ICreateEnabledDates[]>;
6
7
  }
@@ -8,6 +8,9 @@ class FakeProjectStatsStore {
8
8
  getProjectStats(projectId) {
9
9
  throw new Error('not implemented');
10
10
  }
11
+ getTimeToProdDates() {
12
+ throw new Error('not implemented');
13
+ }
11
14
  }
12
15
  exports.default = FakeProjectStatsStore;
13
16
  //# sourceMappingURL=fake-project-stats-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fake-project-stats-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-project-stats-store.ts"],"names":[],"mappings":";;AAEA,sDAAsD;AAEtD,MAAqB,qBAAqB;IACtC,kBAAkB,CACd,SAAiB,EACjB,MAAqB;QAErB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,eAAe,CAAC,SAAiB;QAC7B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ;AAXD,wCAWC"}
1
+ {"version":3,"file":"fake-project-stats-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-project-stats-store.ts"],"names":[],"mappings":";;AAKA,sDAAsD;AAEtD,MAAqB,qBAAqB;IACtC,kBAAkB,CACd,SAAiB,EACjB,MAAqB;QAErB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,eAAe,CAAC,SAAiB;QAC7B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,kBAAkB;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ;AAfD,wCAeC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "unleash-server",
3
3
  "description": "Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.",
4
- "version": "4.22.3",
4
+ "version": "4.22.5",
5
5
  "keywords": [
6
6
  "unleash",
7
7
  "feature toggle",
@@ -1,20 +0,0 @@
1
- import { FeatureToggle, IEvent, IProjectEnvironment } from 'lib/types';
2
- interface IFeatureTimeToProdCalculationMap {
3
- [index: string]: IFeatureTimeToProdData;
4
- }
5
- interface IFeatureTimeToProdData {
6
- createdAt: string;
7
- events: IEvent[];
8
- }
9
- export declare class TimeToProduction {
10
- private features;
11
- private productionEnvironments;
12
- private events;
13
- constructor(features: FeatureToggle[], productionEnvironments: IProjectEnvironment[], events: IEvent[]);
14
- calculateAverageTimeToProd(): number;
15
- getFeatureEvents(): IFeatureTimeToProdCalculationMap;
16
- getProductionEvents(events: IEvent[]): IEvent[];
17
- calculateTimeToProdForFeatures(featureEvents: IFeatureTimeToProdCalculationMap): number[];
18
- sortFeatureEventsByCreatedAt(featureEvents: IFeatureTimeToProdCalculationMap): IFeatureTimeToProdCalculationMap;
19
- }
20
- export {};
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TimeToProduction = void 0;
4
- const date_fns_1 = require("date-fns");
5
- class TimeToProduction {
6
- constructor(features, productionEnvironments, events) {
7
- this.features = features;
8
- this.productionEnvironments = productionEnvironments;
9
- this.events = events;
10
- }
11
- calculateAverageTimeToProd() {
12
- const featureEvents = this.getFeatureEvents();
13
- const sortedFeatureEvents = this.sortFeatureEventsByCreatedAt(featureEvents);
14
- const timeToProdPerFeature = this.calculateTimeToProdForFeatures(sortedFeatureEvents);
15
- if (timeToProdPerFeature.length) {
16
- const sum = timeToProdPerFeature.reduce((acc, curr) => acc + curr, 0);
17
- return Number((sum / Object.keys(sortedFeatureEvents).length).toFixed(1));
18
- }
19
- return 0;
20
- }
21
- getFeatureEvents() {
22
- return this.getProductionEvents(this.events).reduce((acc, event) => {
23
- if (acc[event.featureName]) {
24
- acc[event.featureName].events.push(event);
25
- }
26
- else {
27
- const foundFeature = this.features.find((feature) => feature.name === event.featureName);
28
- acc[event.featureName] = { events: [event] };
29
- acc[event.featureName].createdAt = foundFeature?.createdAt;
30
- }
31
- return acc;
32
- }, {});
33
- }
34
- getProductionEvents(events) {
35
- return events.filter((event) => {
36
- const found = this.productionEnvironments.find((env) => env.name === event.environment);
37
- if (found) {
38
- return found.type === 'production';
39
- }
40
- return false;
41
- });
42
- }
43
- calculateTimeToProdForFeatures(featureEvents) {
44
- return Object.keys(featureEvents).map((featureName) => {
45
- const feature = featureEvents[featureName];
46
- const earliestEvent = feature.events[0];
47
- const createdAtDate = new Date(feature.createdAt);
48
- const eventDate = new Date(earliestEvent.createdAt);
49
- const diff = (0, date_fns_1.differenceInDays)(eventDate, createdAtDate);
50
- return diff;
51
- });
52
- }
53
- sortFeatureEventsByCreatedAt(featureEvents) {
54
- return Object.keys(featureEvents).reduce((acc, featureName) => {
55
- const feature = featureEvents[featureName];
56
- acc[featureName] = {
57
- ...feature,
58
- events: feature.events.sort((a, b) => {
59
- const aDate = new Date(a.createdAt);
60
- const bDate = new Date(b.createdAt);
61
- if (aDate > bDate) {
62
- return 1;
63
- }
64
- if (aDate < bDate) {
65
- return -1;
66
- }
67
- return 0;
68
- }),
69
- };
70
- return acc;
71
- }, {});
72
- }
73
- }
74
- exports.TimeToProduction = TimeToProduction;
75
- //# sourceMappingURL=time-to-production.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"time-to-production.js","sourceRoot":"","sources":["../../../../src/lib/read-models/time-to-production/time-to-production.ts"],"names":[],"mappings":"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"}
@@ -1,182 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const date_fns_1 = require("date-fns");
4
- const time_to_production_1 = require("./time-to-production");
5
- const modifyEventCreatedAt = (events, days) => {
6
- return events.map((event) => {
7
- const newEvent = { ...event };
8
- newEvent.createdAt = (0, date_fns_1.addDays)(newEvent.createdAt, days);
9
- newEvent.id = newEvent.id + days;
10
- return newEvent;
11
- });
12
- };
13
- const createEvent = (env, overrides) => {
14
- return {
15
- id: Math.floor(Math.random() * 1000),
16
- type: 'feature-environment-enabled',
17
- createdBy: 'Fredrik',
18
- createdAt: new Date('2023-01-25T09:37:32.504Z'),
19
- data: null,
20
- preData: null,
21
- tags: [],
22
- featureName: 'average-prod-time',
23
- project: 'average-time-to-prod',
24
- environment: env,
25
- ...overrides,
26
- };
27
- };
28
- const events = [
29
- {
30
- id: 65,
31
- type: 'feature-environment-enabled',
32
- createdBy: 'Fredrik',
33
- createdAt: new Date('2023-01-25T09:37:32.504Z'),
34
- data: null,
35
- preData: null,
36
- tags: [],
37
- featureName: 'average-prod-time',
38
- project: 'average-time-to-prod',
39
- environment: 'default',
40
- },
41
- {
42
- id: 66,
43
- type: 'feature-environment-enabled',
44
- createdBy: 'Fredrik',
45
- createdAt: new Date('2023-01-31T09:37:32.506Z'),
46
- data: null,
47
- preData: null,
48
- tags: [],
49
- featureName: 'average-prod-time-2',
50
- project: 'average-time-to-prod',
51
- environment: 'default',
52
- },
53
- {
54
- id: 67,
55
- type: 'feature-environment-enabled',
56
- createdBy: 'Fredrik',
57
- createdAt: new Date('2023-01-26T09:37:32.508Z'),
58
- data: null,
59
- preData: null,
60
- tags: [],
61
- featureName: 'average-prod-time-3',
62
- project: 'average-time-to-prod',
63
- environment: 'default',
64
- },
65
- {
66
- id: 68,
67
- type: 'feature-environment-enabled',
68
- createdBy: 'Fredrik',
69
- createdAt: new Date('2023-02-02T09:37:32.509Z'),
70
- data: null,
71
- preData: null,
72
- tags: [],
73
- featureName: 'average-prod-time-4',
74
- project: 'average-time-to-prod',
75
- environment: 'default',
76
- },
77
- ];
78
- const environments = [
79
- {
80
- name: 'default',
81
- type: 'production',
82
- sortOrder: 1,
83
- enabled: true,
84
- protected: true,
85
- projectApiTokenCount: 0,
86
- projectEnabledToggleCount: 0,
87
- },
88
- ];
89
- const features = [
90
- {
91
- name: 'average-prod-time',
92
- description: null,
93
- type: 'release',
94
- project: 'average-time-to-prod',
95
- stale: false,
96
- createdAt: new Date('2022-12-05T09:37:32.483Z'),
97
- lastSeenAt: null,
98
- impressionData: false,
99
- archivedAt: null,
100
- archived: false,
101
- },
102
- {
103
- name: 'average-prod-time-4',
104
- description: null,
105
- type: 'release',
106
- project: 'average-time-to-prod',
107
- stale: false,
108
- createdAt: new Date('2023-01-19T09:37:32.484Z'),
109
- lastSeenAt: null,
110
- impressionData: false,
111
- archivedAt: null,
112
- archived: false,
113
- },
114
- {
115
- name: 'average-prod-time-2',
116
- description: null,
117
- type: 'release',
118
- project: 'average-time-to-prod',
119
- stale: false,
120
- createdAt: new Date('2023-01-19T09:37:32.484Z'),
121
- lastSeenAt: null,
122
- impressionData: false,
123
- archivedAt: null,
124
- archived: false,
125
- },
126
- {
127
- name: 'average-prod-time-3',
128
- description: null,
129
- type: 'release',
130
- project: 'average-time-to-prod',
131
- stale: false,
132
- createdAt: new Date('2023-01-19T09:37:32.486Z'),
133
- lastSeenAt: null,
134
- impressionData: false,
135
- archivedAt: null,
136
- archived: false,
137
- },
138
- ];
139
- describe('calculate average time to production', () => {
140
- test('should build a map of feature events', () => {
141
- const projectStatus = new time_to_production_1.TimeToProduction(features, environments, events);
142
- const featureEvents = projectStatus.getFeatureEvents();
143
- expect(Object.keys(featureEvents).length).toBe(4);
144
- expect(featureEvents['average-prod-time'].createdAt).toBeTruthy();
145
- expect(featureEvents['average-prod-time'].events).toBeInstanceOf(Array);
146
- });
147
- test('should calculate average correctly', () => {
148
- const projectStatus = new time_to_production_1.TimeToProduction(features, environments, events);
149
- const timeToProduction = projectStatus.calculateAverageTimeToProd();
150
- expect(timeToProduction).toBe(21);
151
- });
152
- test('should sort events by createdAt', () => {
153
- const projectStatus = new time_to_production_1.TimeToProduction(features, environments, [
154
- ...modifyEventCreatedAt(events, 5),
155
- ...events,
156
- ]);
157
- const featureEvents = projectStatus.getFeatureEvents();
158
- const sortedFeatureEvents = projectStatus.sortFeatureEventsByCreatedAt(featureEvents);
159
- const [firstEvent, secondEvent] = sortedFeatureEvents['average-prod-time'].events;
160
- const firstEventCreatedAt = new Date(firstEvent.createdAt);
161
- const secondEventCreatedAt = new Date(secondEvent.createdAt);
162
- expect(firstEventCreatedAt.getTime()).toBeLessThan(secondEventCreatedAt.getTime());
163
- const [firstEvent2, secondEvent2] = sortedFeatureEvents['average-prod-time-2'].events;
164
- const firstEventCreatedAt2 = new Date(firstEvent2.createdAt);
165
- const secondEventCreatedAt2 = new Date(secondEvent2.createdAt);
166
- expect(firstEventCreatedAt2.getTime()).toBeLessThan(secondEventCreatedAt2.getTime());
167
- });
168
- test('should not count events that are development environments', () => {
169
- const projectStatus = new time_to_production_1.TimeToProduction(features, environments, [
170
- createEvent('development', {
171
- createdAt: (0, date_fns_1.subDays)(new Date('2023-01-25T09:37:32.504Z'), 10),
172
- }),
173
- createEvent('development', {
174
- createdAt: (0, date_fns_1.subDays)(new Date('2023-01-25T09:37:32.504Z'), 10),
175
- }),
176
- ...events,
177
- ]);
178
- const timeToProduction = projectStatus.calculateAverageTimeToProd();
179
- expect(timeToProduction).toBe(21);
180
- });
181
- });
182
- //# sourceMappingURL=time-to-production.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"time-to-production.test.js","sourceRoot":"","sources":["../../../../src/lib/read-models/time-to-production/time-to-production.test.ts"],"names":[],"mappings":"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"}