@elisra-devops/docgen-data-provider 1.137.0 → 1.138.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.
@@ -215,9 +215,22 @@ describe('TicketsDataProvider historical queries', () => {
215
215
  const batchCalls = tfs_1.TFSServices.getItemContent.mock.calls.filter((call) => String(call[0]).includes('/_apis/wit/workitemsbatch') &&
216
216
  String(call[0]).includes('api-version=5.1') &&
217
217
  String(call[2]).toLowerCase() === 'post');
218
- expect(batchCalls).toHaveLength(2);
219
- expect(batchCalls[0][3].ids).toHaveLength(200);
220
- expect(batchCalls[1][3].ids).toHaveLength(5);
218
+ // Two chunks (200 + 5 ids), two batched passes per chunk (fields-only,
219
+ // then $expand=Relations-only) — never both in the same request, since
220
+ // ADO rejects that combination.
221
+ expect(batchCalls).toHaveLength(4);
222
+ batchCalls.forEach((call) => {
223
+ const payload = call[3];
224
+ expect(payload.fields && payload.$expand).toBeUndefined();
225
+ expect(payload.errorPolicy).toBe('Omit');
226
+ });
227
+ const fieldsCalls = batchCalls.filter((call) => { var _a; return Array.isArray((_a = call[3]) === null || _a === void 0 ? void 0 : _a.fields); });
228
+ const relationsCalls = batchCalls.filter((call) => { var _a; return ((_a = call[3]) === null || _a === void 0 ? void 0 : _a.$expand) === 'Relations'; });
229
+ expect(fieldsCalls).toHaveLength(2);
230
+ expect(relationsCalls).toHaveLength(2);
231
+ const byLength = (a, b) => a - b;
232
+ expect(fieldsCalls.map((call) => call[3].ids.length).sort(byLength)).toEqual([5, 200]);
233
+ expect(relationsCalls.map((call) => call[3].ids.length).sort(byLength)).toEqual([5, 200]);
221
234
  });
222
235
  it('GetHistoricalQueryResults falls back to per-item retrieval when workitemsbatch fails', async () => {
223
236
  const asOfIso = '2026-01-01T10:00:00.000Z';
@@ -737,5 +750,153 @@ describe('TicketsDataProvider historical queries', () => {
737
750
  });
738
751
  expect(result.skippedWorkItems).toEqual(expect.objectContaining({ baselineCount: 1, compareToCount: 1, totalDistinct: 1 }));
739
752
  });
753
+ it('CompareHistoricalQueryResults merges relations from the separate $expand pass into relatedLinkCount', async () => {
754
+ const baselineIso = '2026-01-05T00:00:00.000Z';
755
+ const compareIso = '2026-01-10T00:00:00.000Z';
756
+ // Fields-only and relations-only responses are disjoint (as ADO actually
757
+ // returns them for each pass) to prove the merge-by-id, not just that a
758
+ // duplicated mock happens to satisfy both reads.
759
+ tfs_1.TFSServices.getItemContent.mockImplementation(async (url, _pat, method, data) => {
760
+ if (url.includes('/_apis/wit/queries/q-merge-relations') && url.includes('api-version=7.1')) {
761
+ return { name: 'Merge Relations Q', wiql: 'SELECT [System.Id] FROM WorkItems' };
762
+ }
763
+ if (url.includes('/_apis/wit/wiql?') && method === 'post') {
764
+ return { workItems: [{ id: 501 }] };
765
+ }
766
+ if (url.includes('/_apis/wit/workitemsbatch') && method === 'post') {
767
+ expect(data.fields && data.$expand).toBeUndefined();
768
+ expect(data.errorPolicy).toBe('Omit');
769
+ const isRelationsPass = data.$expand === 'Relations';
770
+ const isBaseline = data.asOf === baselineIso;
771
+ if (isRelationsPass) {
772
+ return {
773
+ value: [{ id: 501, relations: isBaseline ? [{ id: 'l-1' }] : [{ id: 'l-1' }, { id: 'l-2' }] }],
774
+ };
775
+ }
776
+ return {
777
+ value: [
778
+ {
779
+ id: 501,
780
+ rev: isBaseline ? 1 : 2,
781
+ fields: {
782
+ 'System.WorkItemType': 'Test Case',
783
+ 'System.Title': 'Merge Case',
784
+ 'System.State': 'Active',
785
+ 'Microsoft.VSTS.TCM.Steps': '<steps>same</steps>',
786
+ 'System.ChangedDate': isBaseline ? baselineIso : compareIso,
787
+ },
788
+ },
789
+ ],
790
+ };
791
+ }
792
+ throw new Error(`unexpected URL: ${url}`);
793
+ });
794
+ const result = await provider.CompareHistoricalQueryResults('q-merge-relations', project, baselineIso, compareIso);
795
+ const row = result.rows.find((r) => r.id === 501);
796
+ expect(row === null || row === void 0 ? void 0 : row.compareStatus).toBe('Changed');
797
+ expect(row === null || row === void 0 ? void 0 : row.changedFields).toEqual(['Related Link Count']);
798
+ const diff = row === null || row === void 0 ? void 0 : row.differences.find((d) => d.field === 'Related Link Count');
799
+ expect(diff).toEqual({ field: 'Related Link Count', baseline: '1', compareTo: '2' });
800
+ });
801
+ it('GetHistoricalQueryResults treats a workitemsbatch errorPolicy Omit as skipped without a per-item fallback', async () => {
802
+ const asOfIso = '2026-01-15T00:00:00.000Z';
803
+ tfs_1.TFSServices.getItemContent.mockImplementation(async (url, _pat, method, data) => {
804
+ if (url.includes('/_apis/wit/queries/q-omit') && url.includes('api-version=7.1')) {
805
+ return { name: 'Omit Q', wiql: 'SELECT [System.Id] FROM WorkItems' };
806
+ }
807
+ if (url.includes('/_apis/wit/wiql?') && method === 'post') {
808
+ return { workItems: [{ id: 601 }, { id: 602 }] };
809
+ }
810
+ if (url.includes('/_apis/wit/workitemsbatch') && method === 'post') {
811
+ expect(data.errorPolicy).toBe('Omit');
812
+ // Work item 602 is inaccessible/deleted and is omitted by ADO from
813
+ // `value` rather than failing the whole batch.
814
+ if (data.$expand === 'Relations') {
815
+ return { value: [{ id: 601, relations: [] }] };
816
+ }
817
+ return {
818
+ value: [
819
+ {
820
+ id: 601,
821
+ rev: 1,
822
+ fields: {
823
+ 'System.WorkItemType': 'Bug',
824
+ 'System.Title': 'Present Bug',
825
+ 'System.State': 'Active',
826
+ 'System.ChangedDate': asOfIso,
827
+ },
828
+ },
829
+ ],
830
+ };
831
+ }
832
+ // A call here would mean the per-item fallback ran despite the batch
833
+ // succeeding, which defeats the point of errorPolicy: 'Omit'.
834
+ throw new Error(`unexpected URL: ${url}`);
835
+ });
836
+ const result = await provider.GetHistoricalQueryResults('q-omit', project, asOfIso);
837
+ expect(result.total).toBe(1);
838
+ expect(result.skippedWorkItemsCount).toBe(1);
839
+ expect(result.rows.map((row) => row.id)).toEqual([601]);
840
+ expect(logger_1.default.warn.mock.calls.some((call) => String(call[0]).includes('omitted 1'))).toBe(true);
841
+ });
842
+ it('GetHistoricalQueryResults drops only the specific field ADO names in TF51535, keeping Custom.TestPhase when only Elisra.TestPhase is undefined for this project', async () => {
843
+ const asOfIso = '2026-02-01T00:00:00.000Z';
844
+ // 205 ids -> 2 chunks (200 + 5), both dispatched with the full field list
845
+ // near-simultaneously — this proves the retry is decided per-call, not
846
+ // from the shared override flag, since both chunks fail before either
847
+ // one sets it.
848
+ const allIds = Array.from({ length: 205 }, (_, idx) => idx + 1);
849
+ tfs_1.TFSServices.getItemContent.mockImplementation(async (url, _pat, method, data) => {
850
+ if (url.includes('/_apis/wit/queries/q-unknown-field') && url.includes('api-version=7.1')) {
851
+ return { name: 'Unknown Field Q', wiql: 'SELECT [System.Id] FROM WorkItems' };
852
+ }
853
+ if (url.includes('/_apis/wit/wiql?') && method === 'post') {
854
+ return { workItems: allIds.map((id) => ({ id })) };
855
+ }
856
+ if (url.includes('/_apis/wit/workitemsbatch') && method === 'post') {
857
+ if ((data === null || data === void 0 ? void 0 : data.$expand) === 'Relations') {
858
+ return {
859
+ value: (Array.isArray(data === null || data === void 0 ? void 0 : data.ids) ? data.ids : []).map((id) => ({ id, relations: [] })),
860
+ };
861
+ }
862
+ if (Array.isArray(data === null || data === void 0 ? void 0 : data.fields) && data.fields.includes('Elisra.TestPhase')) {
863
+ throw {
864
+ response: {
865
+ status: 400,
866
+ data: { message: "TF51535: Cannot find field 'Elisra.TestPhase'." },
867
+ },
868
+ };
869
+ }
870
+ // Custom.TestPhase is the real field on this project and must
871
+ // still be requested — only the unrecognized alias should be
872
+ // dropped, not every optional field.
873
+ expect(data.fields).toEqual(expect.arrayContaining(['Custom.TestPhase']));
874
+ expect(data.fields).not.toEqual(expect.arrayContaining(['Elisra.TestPhase']));
875
+ return {
876
+ value: (Array.isArray(data === null || data === void 0 ? void 0 : data.ids) ? data.ids : []).map((id) => ({
877
+ id,
878
+ rev: 1,
879
+ fields: {
880
+ 'System.WorkItemType': 'Test Case',
881
+ 'System.Title': `Test ${id}`,
882
+ 'System.State': 'Active',
883
+ 'System.ChangedDate': asOfIso,
884
+ 'Custom.TestPhase': 'FAT',
885
+ },
886
+ })),
887
+ };
888
+ }
889
+ throw new Error(`unexpected URL: ${url}`);
890
+ });
891
+ const result = await provider.GetHistoricalQueryResults('q-unknown-field', project, asOfIso);
892
+ // Every id came back — nothing fell to the 2xN per-item fallback, which
893
+ // would have thrown on any call not covered by the handler above.
894
+ expect(result.total).toBe(205);
895
+ const fieldsCallsWithElisraAlias = tfs_1.TFSServices.getItemContent.mock.calls.filter((call) => { var _a; return Array.isArray((_a = call[3]) === null || _a === void 0 ? void 0 : _a.fields) && call[3].fields.includes('Elisra.TestPhase'); });
896
+ // Both chunks start with the full field list before the override is set,
897
+ // so both legitimately fail once and both must retry — not just one.
898
+ expect(fieldsCallsWithElisraAlias).toHaveLength(2);
899
+ expect(logger_1.default.warn.mock.calls.some((call) => String(call[0]).includes("field 'Elisra.TestPhase' not defined for this project"))).toBe(true);
900
+ });
740
901
  });
741
902
  //# sourceMappingURL=ticketsDataProvider.historical.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ticketsDataProvider.historical.test.js","sourceRoot":"","sources":["../../../src/tests/modules/ticketsDataProvider.historical.test.ts"],"names":[],"mappings":";;AAAA,2CAAgD;AAChD,2EAAoE;AACpE,+CAAwC;AAExC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC/B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE;QACP,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;QAChB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;KACjB;CACF,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;IACtD,MAAM,MAAM,GAAG,4BAA4B,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC;IACpB,MAAM,OAAO,GAAG,cAAc,CAAC;IAC/B,IAAI,QAA6B,CAAC;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,QAAQ,GAAG,IAAI,6BAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;QAC3G,iBAAW,CAAC,cAA4B,CAAC,qBAAqB,CAAC;YAC9D,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE;gBACR;oBACE,EAAE,EAAE,UAAU;oBACd,IAAI,EAAE,GAAG;oBACT,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;iBACjE;gBACD;oBACE,EAAE,EAAE,UAAU;oBACd,IAAI,EAAE,GAAG;oBACT,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;iBAChE;aACF;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,CAAC,iBAAW,CAAC,cAAc,CAAC,CAAC,oBAAoB,CACrD,MAAM,CAAC,gBAAgB,CACrB,IAAI,OAAO,0EAA0E,CACtF,EACD,KAAK,CACN,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE;YACjE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,kBAAkB,EAAE;SACnE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;QACxG,iBAAW,CAAC,cAA4B,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;YACjF,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACvE,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,6CAA6C,EAAE;qBACjE;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,qCAAqC,CAAC,EAAE,CAAC;gBACxD,OAAO;oBACL,KAAK,EAAE;wBACL;4BACE,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,cAAc;4BACpB,QAAQ,EAAE,KAAK;yBAChB;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QACzE,iBAAW,CAAC,cAA4B,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;YACjF,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACpC,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;qBAC3C;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACpC,OAAO;oBACL,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;iBAC9D,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACxF,MAAM,CAAC,iBAAW,CAAC,cAAc,CAAC,CAAC,oBAAoB,CACrD,MAAM,CAAC,gBAAgB,CACrB,IAAI,OAAO,0EAA0E,CACtF,EACD,KAAK,CACN,CAAC;QACF,MAAM,CAAC,iBAAW,CAAC,cAAc,CAAC,CAAC,oBAAoB,CACrD,MAAM,CAAC,gBAAgB,CACrB,IAAI,OAAO,0EAA0E,CACtF,EACD,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QAChF,iBAAW,CAAC,cAA4B,CAAC,qBAAqB,CAAC;YAC9D,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAE/D,MAAM,CAAC,iBAAW,CAAC,cAAc,CAAC,CAAC,oBAAoB,CACrD,MAAM,CAAC,gBAAgB,CACrB,IAAI,OAAO,0EAA0E,CACtF,EACD,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACjG,MAAM,OAAO,GAAG,0BAA0B,CAAC;QAC1C,iBAAW,CAAC,cAA4B,CAAC,kBAAkB,CAC1D,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,MAAe,EAAE,IAAU,EAAE,EAAE;YAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC9E,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;YAC7E,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7F,MAAM,CAAC,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC;gBACjE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACnD,CAAC;YACD,IACE,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC;gBACzC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAC/B,MAAM,KAAK,MAAM,EACjB,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAChC,OAAO;oBACL,KAAK,EAAE;wBACL;4BACE,EAAE,EAAE,GAAG;4BACP,GAAG,EAAE,CAAC;4BACN,MAAM,EAAE;gCACN,qBAAqB,EAAE,aAAa;gCACpC,cAAc,EAAE,WAAW;gCAC3B,cAAc,EAAE,QAAQ;gCACxB,iBAAiB,EAAE,YAAY;gCAC/B,sBAAsB,EAAE,YAAY;gCACpC,oBAAoB,EAAE,sBAAsB;6BAC7C;4BACD,SAAS,EAAE,EAAE;yBACd;wBACD;4BACE,EAAE,EAAE,GAAG;4BACP,GAAG,EAAE,CAAC;4BACN,MAAM,EAAE;gCACN,qBAAqB,EAAE,KAAK;gCAC5B,cAAc,EAAE,WAAW;gCAC3B,cAAc,EAAE,QAAQ;gCACxB,iBAAiB,EAAE,YAAY;gCAC/B,sBAAsB,EAAE,YAAY;gCACpC,oBAAoB,EAAE,sBAAsB;6BAC7C;4BACD,SAAS,EAAE,EAAE;yBACd;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEjF,MAAM,0BAA0B,GAAI,iBAAW,CAAC,cAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACpG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAChD,CAAC;QACF,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAC5B,MAAM,CAAC,gBAAgB,CAAC;YACtB,EAAE,EAAE,GAAG;YACP,YAAY,EAAE,aAAa;YAC3B,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,CAAC;SACb,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;QAC5G,MAAM,OAAO,GAAG,0BAA0B,CAAC;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC/D,iBAAW,CAAC,cAA4B,CAAC,kBAAkB,CAC1D,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,MAAe,EAAE,IAAU,EAAE,EAAE;YAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,+BAA+B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrF,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,6CAA6C,EAAE;qBACjE;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,+BAA+B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;YAC3E,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7F,MAAM,CAAC,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC;gBACjE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YACrD,CAAC;YACD,IACE,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC;gBACzC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAC/B,MAAM,KAAK,MAAM,EACjB,CAAC;gBACD,OAAO;oBACL,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC;wBACrE,EAAE;wBACF,GAAG,EAAE,CAAC;wBACN,MAAM,EAAE;4BACN,qBAAqB,EAAE,KAAK;4BAC5B,cAAc,EAAE,OAAO,EAAE,EAAE;4BAC3B,cAAc,EAAE,QAAQ;4BACxB,iBAAiB,EAAE,YAAY;4BAC/B,sBAAsB,EAAE,YAAY;4BACpC,oBAAoB,EAAE,sBAAsB;yBAC7C;wBACD,SAAS,EAAE,EAAE;qBACd,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,yBAAyB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAExF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAI,iBAAW,CAAC,cAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAC5E,CAAC,IAAI,EAAE,EAAE,CACP,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAC3C,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,OAAO,GAAG,0BAA0B,CAAC;QAC1C,iBAAW,CAAC,cAA4B,CAAC,kBAAkB,CAC1D,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,MAAe,EAAE,IAAU,EAAE,EAAE;YAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,qCAAqC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC3F,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;YACjF,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7F,MAAM,CAAC,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC;gBACjE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACnD,CAAC;YACD,IACE,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC;gBACzC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAC/B,MAAM,KAAK,MAAM,EACjB,CAAC;gBACD,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;qBAC3C;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAChF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;gBAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrC,OAAO;oBACL,EAAE,EAAE,GAAG;oBACP,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,aAAa;wBACpC,cAAc,EAAE,SAAS;wBACzB,cAAc,EAAE,QAAQ;wBACxB,iBAAiB,EAAE,YAAY;wBAC/B,sBAAsB,EAAE,YAAY;wBACpC,oBAAoB,EAAE,sBAAsB;qBAC7C;oBACD,SAAS,EAAE,EAAE;iBACd,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAChF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;gBAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrC,OAAO;oBACL,EAAE,EAAE,GAAG;oBACP,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,KAAK;wBAC5B,cAAc,EAAE,SAAS;wBACzB,cAAc,EAAE,QAAQ;wBACxB,iBAAiB,EAAE,YAAY;wBAC/B,sBAAsB,EAAE,YAAY;wBACpC,oBAAoB,EAAE,sBAAsB;qBAC7C;oBACD,SAAS,EAAE,EAAE;iBACd,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9F,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;QAC3G,MAAM,OAAO,GAAG,0BAA0B,CAAC;QAC1C,iBAAW,CAAC,cAA4B,CAAC,kBAAkB,CAC1D,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,MAAe,EAAE,IAAU,EAAE,EAAE;YAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,mCAAmC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACzF,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;YAC/E,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7F,MAAM,CAAC,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC;gBACjE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACnD,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACnE,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;qBAC3C;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;gBAC7C,OAAO;oBACL,EAAE,EAAE,GAAG;oBACP,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,aAAa;wBACpC,cAAc,EAAE,SAAS;wBACzB,cAAc,EAAE,QAAQ;wBACxB,iBAAiB,EAAE,YAAY;wBAC/B,sBAAsB,EAAE,YAAY;wBACpC,oBAAoB,EAAE,sBAAsB;qBAC7C;oBACD,SAAS,EAAE,EAAE;iBACd,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;gBAC7C,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE;4BACJ,OAAO,EACL,8FAA8F;yBACjG;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE5F,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,CACH,gBAAM,CAAC,IAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAClD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CACnD,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;QAC5G,MAAM,OAAO,GAAG,0BAA0B,CAAC;QAC1C,iBAAW,CAAC,cAA4B,CAAC,kBAAkB,CAC1D,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,MAAe,EAAE,IAAU,EAAE,EAAE;YAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,uCAAuC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC7F,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;YACnF,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1D,MAAM,CAAC,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC;gBACjE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACnD,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACnE,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;qBAC3C;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;gBACzF,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC5C,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE;4BACJ,OAAO,EAAE,iBAAiB,EAAE,iDAAiD;yBAC9E;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,yBAAyB,CAAC,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEhG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,OAAO,GAAG,0BAA0B,CAAC;QAC1C,iBAAW,CAAC,cAA4B,CAAC,kBAAkB,CAC1D,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,MAAe,EAAE,IAAU,EAAE,EAAE;YAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,iCAAiC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACvF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;YAC7E,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1D,MAAM,CAAC,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC;gBACjE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACtC,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACnE,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;qBAC3C;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;gBAC7C,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;qBAClC;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAChG,MAAM,CAAC,gBAAgB,CAAC;YACtB,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;SACnD,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,OAAO,GAAG,0BAA0B,CAAC;QAC1C,iBAAW,CAAC,cAA4B,CAAC,kBAAkB,CAC1D,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,MAAe,EAAE,IAAU,EAAE,EAAE;YAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,sCAAsC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC5F,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;YAClF,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7F,MAAM,CAAC,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC;gBACjE,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;qBACxC;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,mCAAmC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACzF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7D,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACvC,CAAC;YACD,IACE,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC;gBACzC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAC/B,MAAM,KAAK,MAAM,EACjB,CAAC;gBACD,OAAO;oBACL,KAAK,EAAE;wBACL;4BACE,EAAE,EAAE,IAAI;4BACR,GAAG,EAAE,CAAC;4BACN,MAAM,EAAE;gCACN,qBAAqB,EAAE,aAAa;gCACpC,cAAc,EAAE,UAAU;gCAC1B,cAAc,EAAE,QAAQ;gCACxB,iBAAiB,EAAE,YAAY;gCAC/B,sBAAsB,EAAE,YAAY;gCACpC,oBAAoB,EAAE,sBAAsB;6BAC7C;4BACD,SAAS,EAAE,EAAE;yBACd;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/F,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAC5B,MAAM,CAAC,gBAAgB,CAAC;YACtB,EAAE,EAAE,IAAI;YACR,YAAY,EAAE,aAAa;YAC3B,KAAK,EAAE,UAAU;SAClB,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iGAAiG,EAAE,KAAK,IAAI,EAAE;;QAC/G,MAAM,WAAW,GAAG,0BAA0B,CAAC;QAC/C,MAAM,UAAU,GAAG,0BAA0B,CAAC;QAE9C,MAAM,aAAa,GAAG;YACpB,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,EAAE;oBACN,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,aAAa;wBACpC,cAAc,EAAE,OAAO;wBACvB,cAAc,EAAE,QAAQ;wBACxB,oBAAoB,EAAE,UAAU;wBAChC,kBAAkB,EAAE,KAAK;wBACzB,oBAAoB,EAAE,WAAW;qBAClC;oBACD,SAAS,EAAE,EAAE;iBACd;gBACD;oBACE,EAAE,EAAE,EAAE;oBACN,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,WAAW;wBAClC,cAAc,EAAE,QAAQ;wBACxB,cAAc,EAAE,QAAQ;wBACxB,oBAAoB,EAAE,WAAW;wBACjC,0BAA0B,EAAE,kBAAkB;wBAC9C,kBAAkB,EAAE,KAAK;wBACzB,oBAAoB,EAAE,WAAW;qBAClC;oBACD,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;iBAC3B;gBACD;oBACE,EAAE,EAAE,EAAE;oBACN,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,KAAK;wBAC5B,cAAc,EAAE,aAAa;wBAC7B,cAAc,EAAE,KAAK;wBACrB,oBAAoB,EAAE,GAAG;wBACzB,oBAAoB,EAAE,WAAW;qBAClC;oBACD,SAAS,EAAE,EAAE;iBACd;gBACD;oBACE,EAAE,EAAE,GAAG;oBACP,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,KAAK;wBAC5B,cAAc,EAAE,eAAe;wBAC/B,cAAc,EAAE,QAAQ;wBACxB,oBAAoB,EAAE,MAAM;wBAC5B,oBAAoB,EAAE,WAAW;qBAClC;oBACD,SAAS,EAAE,EAAE;iBACd;aACF;SACF,CAAC;QAEF,MAAM,YAAY,GAAG;YACnB,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,EAAE;oBACN,GAAG,EAAE,EAAE;oBACP,MAAM,EAAE;wBACN,qBAAqB,EAAE,aAAa;wBACpC,cAAc,EAAE,OAAO;wBACvB,cAAc,EAAE,QAAQ;wBACxB,oBAAoB,EAAE,UAAU;wBAChC,kBAAkB,EAAE,UAAU;wBAC9B,oBAAoB,EAAE,UAAU;qBACjC;oBACD,SAAS,EAAE,EAAE;iBACd;gBACD;oBACE,EAAE,EAAE,EAAE;oBACN,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,WAAW;wBAClC,cAAc,EAAE,QAAQ;wBACxB,cAAc,EAAE,QAAQ;wBACxB,oBAAoB,EAAE,WAAW;wBACjC,0BAA0B,EAAE,kBAAkB;wBAC9C,kBAAkB,EAAE,KAAK;wBACzB,oBAAoB,EAAE,UAAU;qBACjC;oBACD,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;iBAC1C;gBACD;oBACE,EAAE,EAAE,GAAG;oBACP,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,KAAK;wBAC5B,cAAc,EAAE,WAAW;wBAC3B,cAAc,EAAE,KAAK;wBACrB,oBAAoB,EAAE,KAAK;wBAC3B,oBAAoB,EAAE,UAAU;qBACjC;oBACD,SAAS,EAAE,EAAE;iBACd;gBACD;oBACE,EAAE,EAAE,GAAG;oBACP,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,KAAK;wBAC5B,cAAc,EAAE,eAAe;wBAC/B,cAAc,EAAE,QAAQ;wBACxB,oBAAoB,EAAE,MAAM;wBAC5B,oBAAoB,EAAE,UAAU;qBACjC;oBACD,SAAS,EAAE,EAAE;iBACd;aACF;SACF,CAAC;QAED,iBAAW,CAAC,cAA4B,CAAC,kBAAkB,CAC1D,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,MAAe,EAAE,IAAU,EAAE,EAAE;YAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,8BAA8B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACpF,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;YAC9E,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBAChC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;gBAC1E,CAAC;gBACD,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/B,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;gBAC3E,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,MAAM,KAAK,MAAM,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,WAAW,EAAE,CAAC;gBACjG,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,MAAM,KAAK,MAAM,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,UAAU,EAAE,CAAC;gBAChG,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,6BAA6B,CACzD,WAAW,EACX,OAAO,EACP,WAAW,EACX,UAAU,CACX,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAc,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAE,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAE,aAAa,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACnG,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAE,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAE,aAAa,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACrG,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAE,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,0CAAE,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,0CAAE,aAAa,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YAC7B,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iGAAiG,EAAE,KAAK,IAAI,EAAE;;QAC/G,MAAM,WAAW,GAAG,0BAA0B,CAAC;QAC/C,MAAM,UAAU,GAAG,0BAA0B,CAAC;QAE7C,iBAAW,CAAC,cAA4B,CAAC,kBAAkB,CAC1D,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,MAAe,EAAE,IAAU,EAAE,EAAE;YAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,2CAA2C,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACjG,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;YACrF,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBAChC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACnE,CAAC;gBACD,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/B,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACnE,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;qBAC3C;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;gBAC9C,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,aAAa;wBACpC,cAAc,EAAE,aAAa;wBAC7B,cAAc,EAAE,QAAQ;wBACxB,oBAAoB,EAAE,UAAU;qBACjC;oBACD,SAAS,EAAE,EAAE;iBACd,CAAC;YACJ,CAAC;YACD,IACE,GAAG,CAAC,QAAQ,CAAC,QAAQ,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EACzC,CAAC;gBACD,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,mEAAmE,EAAE;qBACvF;iBACF,CAAC;YACJ,CAAC;YACD,IACE,GAAG,CAAC,QAAQ,CAAC,QAAQ,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EACzC,CAAC;gBACD,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,KAAK;wBAC5B,cAAc,EAAE,aAAa;wBAC7B,cAAc,EAAE,KAAK;wBACrB,oBAAoB,EAAE,UAAU;qBACjC;oBACD,SAAS,EAAE,EAAE;iBACd,CAAC;YACJ,CAAC;YACD,IACE,GAAG,CAAC,QAAQ,CAAC,QAAQ,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EACzC,CAAC;gBACD,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACN,qBAAqB,EAAE,KAAK;wBAC5B,cAAc,EAAE,eAAe;wBAC/B,cAAc,EAAE,QAAQ;wBACxB,oBAAoB,EAAE,WAAW;qBAClC;oBACD,SAAS,EAAE,EAAE;iBACd,CAAC;YACJ,CAAC;YACD,IACE,GAAG,CAAC,QAAQ,CAAC,QAAQ,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EACzC,CAAC;gBACD,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,mEAAmE,EAAE;qBACvF;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,6BAA6B,CACzD,wBAAwB,EACxB,OAAO,EACP,WAAW,EACX,UAAU,CACX,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAc,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAAE,aAAa,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAAE,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAAE,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CACrC,MAAM,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CACnF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kGAAkG,EAAE,KAAK,IAAI,EAAE;QAChH,MAAM,WAAW,GAAG,0BAA0B,CAAC;QAC/C,MAAM,UAAU,GAAG,0BAA0B,CAAC;QAE7C,iBAAW,CAAC,cAA4B,CAAC,kBAAkB,CAC1D,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,MAAe,EAAE,IAAU,EAAE,EAAE;YAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,0CAA0C,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAChG,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;YACpF,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC;gBACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9D,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACnE,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;qBAC3C;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;gBAC7C,MAAM;oBACJ,QAAQ,EAAE;wBACR,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,EAAE,OAAO,EAAE,kEAAkE,EAAE;qBACtF;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,6BAA6B,CACzD,uBAAuB,EACvB,OAAO,EACP,WAAW,EACX,UAAU,CACX,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YAC7B,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CACrC,MAAM,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CACnF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ticketsDataProvider.historical.test.js","sourceRoot":"","sources":["../../../src/tests/modules/ticketsDataProvider.historical.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elisra-devops/docgen-data-provider",
3
- "version": "1.137.0",
3
+ "version": "1.138.0",
4
4
  "description": "A document generator data provider, aimed to retrive data from azure devops",
5
5
  "repository": {
6
6
  "type": "git",
@@ -61,7 +61,7 @@ type HistoricalSnapshotResult = {
61
61
 
62
62
  const HISTORICAL_WIT_API_VERSIONS: Array<string | null> = ['7.1', '5.1', null];
63
63
  const HISTORICAL_BATCH_MAX_IDS = 200;
64
- const HISTORICAL_WORK_ITEM_FIELDS = [
64
+ const HISTORICAL_REQUIRED_WORK_ITEM_FIELDS = [
65
65
  'System.Id',
66
66
  'System.WorkItemType',
67
67
  'System.Title',
@@ -72,8 +72,19 @@ const HISTORICAL_WORK_ITEM_FIELDS = [
72
72
  'System.ChangedDate',
73
73
  'System.Description',
74
74
  'Microsoft.VSTS.TCM.Steps',
75
- 'Elisra.TestPhase',
76
- 'Custom.TestPhase',
75
+ ];
76
+ // Process-template-specific: not every project defines either of these.
77
+ // workitemsbatch's `fields` filter validates every requested reference name
78
+ // against the project's schema and throws TF51535 ("Cannot find field ...")
79
+ // if one is missing — unlike an unfiltered per-item GET, which just omits an
80
+ // unknown field from the response. toHistoricalWorkItemSnapshot already
81
+ // reads TestPhase via a 4-way fallback expecting it might be absent, so it's
82
+ // safe to drop these on a TF51535 and retry without them (see
83
+ // fetchHistoricalWorkItemsBatch).
84
+ const HISTORICAL_OPTIONAL_WORK_ITEM_FIELDS = ['Elisra.TestPhase', 'Custom.TestPhase'];
85
+ const HISTORICAL_WORK_ITEM_FIELDS = [
86
+ ...HISTORICAL_REQUIRED_WORK_ITEM_FIELDS,
87
+ ...HISTORICAL_OPTIONAL_WORK_ITEM_FIELDS,
77
88
  ];
78
89
 
79
90
  /** Default fields fetched per work item in tree/flat query parsing. */
@@ -85,6 +96,9 @@ export default class TicketsDataProvider {
85
96
  token: string = '';
86
97
  queriesList: Array<any> = new Array<any>();
87
98
  private limit = pLimit(10);
99
+ // Set once a workitemsbatch call reports one of HISTORICAL_OPTIONAL_WORK_ITEM_FIELDS
100
+ // as unknown for this project, so only the first chunk pays the retry cost.
101
+ private historicalFieldsOverride: string[] | null = null;
88
102
 
89
103
  constructor(orgUrl: string, token: string) {
90
104
  this.orgUrl = orgUrl;
@@ -1969,6 +1983,90 @@ export default class TicketsDataProvider {
1969
1983
  return status === 404 || status === 410;
1970
1984
  }
1971
1985
 
1986
+ private isHistoricalUnknownFieldError(error: any): boolean {
1987
+ const message = this.historicalErrorMessage(error);
1988
+ return /TF51535|Cannot find field/i.test(message);
1989
+ }
1990
+
1991
+ // ADO's TF51535 names the specific field it couldn't find, e.g.
1992
+ // "TF51535: Cannot find field 'Elisra.TestPhase'." — different networks
1993
+ // define this optional field under different reference names (Elisra.* vs
1994
+ // Custom.*), so drop only the one ADO actually rejected rather than every
1995
+ // optional field, or a network that defines Custom.TestPhase but not
1996
+ // Elisra.TestPhase would lose Test Phase comparison entirely for no reason.
1997
+ private extractHistoricalUnknownFieldName(error: any): string | null {
1998
+ const message = this.historicalErrorMessage(error);
1999
+ const quoted = message.match(/Cannot find field\s*'([^']+)'/i);
2000
+ if (quoted?.[1]) return quoted[1];
2001
+ return HISTORICAL_OPTIONAL_WORK_ITEM_FIELDS.find((field) => message.includes(field)) || null;
2002
+ }
2003
+
2004
+ private fetchHistoricalFieldsBatchAttempt(
2005
+ workItemsBatchUrl: string,
2006
+ idChunk: number[],
2007
+ asOf: string,
2008
+ fieldsForRequest: string[],
2009
+ attemptsRemaining: number,
2010
+ ): Promise<any> {
2011
+ return this.limit(() =>
2012
+ TFSServices.getItemContent(workItemsBatchUrl, this.token, 'post', {
2013
+ ids: idChunk,
2014
+ asOf,
2015
+ fields: fieldsForRequest,
2016
+ errorPolicy: 'Omit',
2017
+ }),
2018
+ ).catch((error: any) => {
2019
+ if (attemptsRemaining <= 0 || !this.isHistoricalUnknownFieldError(error)) {
2020
+ throw error;
2021
+ }
2022
+ const unknownField = this.extractHistoricalUnknownFieldName(error);
2023
+ // Only strip fields this call actually recognizes as droppable
2024
+ // (named explicitly, or one of the known optional fields as a
2025
+ // last-resort fallback if the message doesn't parse) — never strip a
2026
+ // required field, so an unrelated schema issue still surfaces as an
2027
+ // error instead of silently losing data.
2028
+ const reducedFields = unknownField
2029
+ ? fieldsForRequest.filter((field) => field !== unknownField)
2030
+ : fieldsForRequest.filter((field) => !HISTORICAL_OPTIONAL_WORK_ITEM_FIELDS.includes(field));
2031
+ if (reducedFields.length === fieldsForRequest.length) {
2032
+ throw error;
2033
+ }
2034
+ // Concurrent chunks can each discover a different bad field before any
2035
+ // of them updates the shared override — intersect rather than
2036
+ // overwrite, so one chunk's retry never re-requests a field another
2037
+ // chunk already proved invalid for this project.
2038
+ this.historicalFieldsOverride = this.historicalFieldsOverride
2039
+ ? this.historicalFieldsOverride.filter((field) => reducedFields.includes(field))
2040
+ : reducedFields;
2041
+ logger.warn(
2042
+ `[historical-workitems] field${unknownField ? ` '${unknownField}'` : '(s)'} not defined ` +
2043
+ `for this project; retrying workitemsbatch without it: ${this.historicalErrorMessage(error)}`,
2044
+ );
2045
+ return this.fetchHistoricalFieldsBatchAttempt(
2046
+ workItemsBatchUrl,
2047
+ idChunk,
2048
+ asOf,
2049
+ reducedFields,
2050
+ attemptsRemaining - 1,
2051
+ );
2052
+ });
2053
+ }
2054
+
2055
+ private fetchHistoricalFieldsBatch(
2056
+ workItemsBatchUrl: string,
2057
+ idChunk: number[],
2058
+ asOf: string,
2059
+ ): Promise<any> {
2060
+ const fieldsForRequest = this.historicalFieldsOverride || HISTORICAL_WORK_ITEM_FIELDS;
2061
+ return this.fetchHistoricalFieldsBatchAttempt(
2062
+ workItemsBatchUrl,
2063
+ idChunk,
2064
+ asOf,
2065
+ fieldsForRequest,
2066
+ HISTORICAL_OPTIONAL_WORK_ITEM_FIELDS.length,
2067
+ );
2068
+ }
2069
+
1972
2070
  private async fetchHistoricalWorkItemsBatch(
1973
2071
  project: string,
1974
2072
  ids: number[],
@@ -1981,21 +2079,60 @@ export default class TicketsDataProvider {
1981
2079
  );
1982
2080
  const idChunks = this.chunkHistoricalWorkItemIds(ids);
1983
2081
  try {
1984
- const batchResponses = await Promise.all(
2082
+ const chunkResults = await Promise.all(
1985
2083
  idChunks.map((idChunk) =>
1986
- this.limit(() =>
1987
- TFSServices.getItemContent(workItemsBatchUrl, this.token, 'post', {
1988
- ids: idChunk,
1989
- asOf,
1990
- $expand: 'Relations',
1991
- fields: HISTORICAL_WORK_ITEM_FIELDS,
1992
- }),
1993
- ),
2084
+ // ADO rejects a workitemsbatch request that combines `fields` with
2085
+ // `$expand` in the same call ("the expand parameter can not be used
2086
+ // with the fields parameter"), so fields and relations are fetched
2087
+ // in two separate batched passes and merged by id below.
2088
+ // errorPolicy: 'Omit' keeps one inaccessible/deleted work item from
2089
+ // failing the whole chunk (ADO's default is 'Fail'), matching the
2090
+ // per-item fallback's tolerance for missing items.
2091
+ // Each pass gets its own this.limit(...) slot (rather than wrapping
2092
+ // both in one) so the two concurrent calls per chunk still count as
2093
+ // two units against the shared concurrency cap, not one — otherwise
2094
+ // the real ceiling on simultaneous ADO calls would silently double.
2095
+ Promise.all([
2096
+ this.fetchHistoricalFieldsBatch(workItemsBatchUrl, idChunk, asOf),
2097
+ this.limit(() =>
2098
+ TFSServices.getItemContent(workItemsBatchUrl, this.token, 'post', {
2099
+ ids: idChunk,
2100
+ asOf,
2101
+ $expand: 'Relations',
2102
+ errorPolicy: 'Omit',
2103
+ }),
2104
+ ),
2105
+ ]).then(([fieldsBatch, relationsBatch]) => {
2106
+ const relationsById = new Map<number, any[]>();
2107
+ (Array.isArray(relationsBatch?.value) ? relationsBatch.value : []).forEach(
2108
+ (item: any) => {
2109
+ const relId = Number(item?.id);
2110
+ if (Number.isFinite(relId)) {
2111
+ relationsById.set(relId, Array.isArray(item?.relations) ? item.relations : []);
2112
+ }
2113
+ },
2114
+ );
2115
+
2116
+ const fieldsValue = Array.isArray(fieldsBatch?.value) ? fieldsBatch.value : [];
2117
+ const returnedIds = new Set<number>(fieldsValue.map((item: any) => Number(item?.id)));
2118
+ const items = fieldsValue.map((item: any) => ({
2119
+ ...item,
2120
+ relations: relationsById.get(Number(item?.id)) || [],
2121
+ }));
2122
+ const skippedWorkItemIds = idChunk.filter((id) => !returnedIds.has(id));
2123
+ if (skippedWorkItemIds.length > 0) {
2124
+ logger.warn(
2125
+ `[historical-workitems] workitemsbatch omitted ${skippedWorkItemIds.length} ` +
2126
+ `inaccessible/missing work item(s) for asOf ${asOf}: ${skippedWorkItemIds.join(', ')}`,
2127
+ );
2128
+ }
2129
+ return { items, skippedWorkItemIds };
2130
+ }),
1994
2131
  ),
1995
2132
  );
1996
2133
  return {
1997
- items: batchResponses.flatMap((batch) => (Array.isArray(batch?.value) ? batch.value : [])),
1998
- skippedWorkItemIds: [],
2134
+ items: chunkResults.flatMap((chunk) => chunk.items),
2135
+ skippedWorkItemIds: chunkResults.flatMap((chunk) => chunk.skippedWorkItemIds),
1999
2136
  };
2000
2137
  } catch (error: any) {
2001
2138
  logger.warn(