@bscotch/gamemaker-releases 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -7
- package/dist/browser.d.ts +1 -6
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +1 -6
- package/dist/browser.js.map +1 -1
- package/dist/notes.d.ts +19 -1
- package/dist/notes.d.ts.map +1 -1
- package/dist/notes.js +4 -4
- package/dist/notes.js.map +1 -1
- package/dist/releases.d.ts +50 -0
- package/dist/releases.d.ts.map +1 -0
- package/dist/releases.js +20 -0
- package/dist/releases.js.map +1 -0
- package/package.json +16 -17
- package/dist/feeds.test.d.ts +0 -2
- package/dist/feeds.test.d.ts.map +0 -1
- package/dist/feeds.test.js +0 -20
- package/dist/feeds.test.js.map +0 -1
package/README.md
CHANGED
|
@@ -17,13 +17,19 @@ Latest releases document: https://github.com/bscotch/gamemaker-info/releases/lat
|
|
|
17
17
|
## Usage
|
|
18
18
|
|
|
19
19
|
```ts
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
//
|
|
26
|
-
|
|
20
|
+
import {
|
|
21
|
+
fetchReleasesSummaryWithNotes,
|
|
22
|
+
computeReleasesSummaryWithNotes
|
|
23
|
+
} from '@bscotch/gamemaker-releases';
|
|
24
|
+
|
|
25
|
+
// 🚀 Fetch the latest already-computed summary
|
|
26
|
+
// of all GameMaker releases:
|
|
27
|
+
const releases = await fetchReleasesSummaryWithNotes();
|
|
28
|
+
|
|
29
|
+
// 🐌 Freshly compile the centralized release summary.
|
|
30
|
+
// This can be useful if the pre-computed
|
|
31
|
+
// summary is out of date.
|
|
32
|
+
const releases = await computeReleasesSummaryWithNotes();
|
|
27
33
|
```
|
|
28
34
|
|
|
29
35
|
## Background Info
|
package/dist/browser.d.ts
CHANGED
|
@@ -4,10 +4,5 @@
|
|
|
4
4
|
export { ideFeedUrls, runtimeFeedUrls } from './urls.js';
|
|
5
5
|
export { gameMakerReleaseWithNotesSchema } from './feeds.types.js';
|
|
6
6
|
export type { ArtifactType, Channel, GameMakerRelease, GameMakerReleaseWithNotes, } from './feeds.types.js';
|
|
7
|
-
|
|
8
|
-
* This package is used to generate a releases object, stored
|
|
9
|
-
* as a JSON file for public download. The latest version of this
|
|
10
|
-
* releases object can be downloaded from this URL.
|
|
11
|
-
*/
|
|
12
|
-
export declare const releasesUrl = "https://github.com/bscotch/gamemaker-info/releases/latest/download/releases-summary.json";
|
|
7
|
+
export { releasesUrl } from './releases.js';
|
|
13
8
|
//# sourceMappingURL=browser.d.ts.map
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EACV,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EACV,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/browser.js
CHANGED
|
@@ -3,10 +3,5 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export { ideFeedUrls, runtimeFeedUrls } from './urls.js';
|
|
5
5
|
export { gameMakerReleaseWithNotesSchema } from './feeds.types.js';
|
|
6
|
-
|
|
7
|
-
* This package is used to generate a releases object, stored
|
|
8
|
-
* as a JSON file for public download. The latest version of this
|
|
9
|
-
* releases object can be downloaded from this URL.
|
|
10
|
-
*/
|
|
11
|
-
export const releasesUrl = 'https://github.com/bscotch/gamemaker-info/releases/latest/download/releases-summary.json';
|
|
6
|
+
export { releasesUrl } from './releases.js';
|
|
12
7
|
//# sourceMappingURL=browser.js.map
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAOnE
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAOnE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/notes.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Pathy } from '@bscotch/pathy';
|
|
2
|
-
import { GameMakerRelease } from './feeds.types.js';
|
|
2
|
+
import { ArtifactType, GameMakerRelease } from './feeds.types.js';
|
|
3
3
|
export declare function listReleaseNotes(releases: GameMakerRelease[], cache?: Pathy | string): Promise<Record<string, {
|
|
4
4
|
version: string;
|
|
5
5
|
url: string;
|
|
@@ -13,4 +13,22 @@ export declare function listReleaseNotes(releases: GameMakerRelease[], cache?: P
|
|
|
13
13
|
}[];
|
|
14
14
|
};
|
|
15
15
|
}>>;
|
|
16
|
+
export declare function cleanNote(note: {
|
|
17
|
+
type?: ArtifactType;
|
|
18
|
+
version: string;
|
|
19
|
+
url: string;
|
|
20
|
+
release_notes: string[];
|
|
21
|
+
}): {
|
|
22
|
+
version: string;
|
|
23
|
+
url: string;
|
|
24
|
+
title: string | null;
|
|
25
|
+
type: "ide" | "runtime";
|
|
26
|
+
changes: {
|
|
27
|
+
since: string | null;
|
|
28
|
+
groups: {
|
|
29
|
+
title: string;
|
|
30
|
+
changes: string[];
|
|
31
|
+
}[];
|
|
32
|
+
};
|
|
33
|
+
};
|
|
16
34
|
//# sourceMappingURL=notes.d.ts.map
|
package/dist/notes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notes.d.ts","sourceRoot":"","sources":["../src/notes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC,OAAO,
|
|
1
|
+
{"version":3,"file":"notes.d.ts","sourceRoot":"","sources":["../src/notes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAIjB,MAAM,kBAAkB,CAAC;AAI1B,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,KAAK,GAAE,KAAK,GAAG,MAA8B;;;;;;;;;;;;IA8B9C;AAqDD,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAC9B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;;;;;;;;;;;;EAiBA"}
|
package/dist/notes.js
CHANGED
|
@@ -74,7 +74,7 @@ function cleanNotes(cachedNotes) {
|
|
|
74
74
|
}, {});
|
|
75
75
|
return notesByUrl;
|
|
76
76
|
}
|
|
77
|
-
function cleanNote(note) {
|
|
77
|
+
export function cleanNote(note) {
|
|
78
78
|
assert(note.type, 'Note type must be set');
|
|
79
79
|
const { body, title } = parseHeader(note.release_notes.join(''));
|
|
80
80
|
const groups = parseBody(body);
|
|
@@ -100,7 +100,7 @@ function relativeToVersion(title) {
|
|
|
100
100
|
}
|
|
101
101
|
function parseBody(html) {
|
|
102
102
|
// Split on h3 elements, and then pull out the lists within each
|
|
103
|
-
const parts = html.split(/<h3>\s*(.+?)\s*<\/h3>\s*<ul>\s*(.+?)\s*<\/ul>/
|
|
103
|
+
const parts = html.split(/<h3>\s*(.+?)\s*<\/h3>\s*<ul>\s*(.+?)\s*<\/ul>/gs);
|
|
104
104
|
const changes = [];
|
|
105
105
|
for (let groupIdx = 0; groupIdx < parts.length - 2; groupIdx += 3) {
|
|
106
106
|
const [title, list] = [parts[groupIdx + 1], parts[groupIdx + 2]];
|
|
@@ -109,7 +109,7 @@ function parseBody(html) {
|
|
|
109
109
|
return changes;
|
|
110
110
|
}
|
|
111
111
|
function parseList(htmlList) {
|
|
112
|
-
const parts = htmlList.split(/<li>\s*(.+?)\s*<\/li>/
|
|
112
|
+
const parts = htmlList.split(/<li>\s*(.+?)\s*<\/li>/gs);
|
|
113
113
|
const changes = [];
|
|
114
114
|
for (let groupIdx = 0; groupIdx < parts.length - 1; groupIdx += 2) {
|
|
115
115
|
const change = parts[groupIdx + 1];
|
|
@@ -124,7 +124,7 @@ function parseHeader(html) {
|
|
|
124
124
|
// If there is an h2 with the word "since" in it (otherwise the first h2), treat that
|
|
125
125
|
// one as the one describing this version and remove everything above and all headers
|
|
126
126
|
// below it.
|
|
127
|
-
const h2s = html.match(/<h2>\s*(.+?)\s*<\/h2>/
|
|
127
|
+
const h2s = html.match(/<h2>\s*(.+?)\s*<\/h2>/gs);
|
|
128
128
|
if (!h2s?.length) {
|
|
129
129
|
return { title: null, body: html };
|
|
130
130
|
}
|
package/dist/notes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notes.js","sourceRoot":"","sources":["../src/notes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"notes.js","sourceRoot":"","sources":["../src/notes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This package is used to generate a releases object, stored
|
|
3
|
+
* as a JSON file for public download. The latest version of this
|
|
4
|
+
* releases object can be downloaded from this URL.
|
|
5
|
+
*/
|
|
6
|
+
export declare const releasesUrl = "https://github.com/bscotch/gamemaker-info/releases/latest/download/releases-summary.json";
|
|
7
|
+
/**
|
|
8
|
+
* Given a URL to an already-synthesized
|
|
9
|
+
* GameMaker Studio merged-releases feed,
|
|
10
|
+
* download the feed and return the list of
|
|
11
|
+
* releases.
|
|
12
|
+
*/
|
|
13
|
+
export declare function downloadGameMakerInfo(url?: string): Promise<{
|
|
14
|
+
ide: {
|
|
15
|
+
link?: string | undefined;
|
|
16
|
+
type: "ide" | "runtime";
|
|
17
|
+
channel: "lts" | "stable" | "beta" | "unstable";
|
|
18
|
+
version: string;
|
|
19
|
+
feedUrl: string;
|
|
20
|
+
publishedAt: string;
|
|
21
|
+
notesUrl: string;
|
|
22
|
+
notes: {
|
|
23
|
+
since: string | null;
|
|
24
|
+
groups: {
|
|
25
|
+
title: string;
|
|
26
|
+
changes: string[];
|
|
27
|
+
}[];
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
runtime: {
|
|
31
|
+
link?: string | undefined;
|
|
32
|
+
type: "ide" | "runtime";
|
|
33
|
+
channel: "lts" | "stable" | "beta" | "unstable";
|
|
34
|
+
version: string;
|
|
35
|
+
feedUrl: string;
|
|
36
|
+
publishedAt: string;
|
|
37
|
+
notesUrl: string;
|
|
38
|
+
notes: {
|
|
39
|
+
since: string | null;
|
|
40
|
+
groups: {
|
|
41
|
+
title: string;
|
|
42
|
+
changes: string[];
|
|
43
|
+
}[];
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
channel: "lts" | "stable" | "beta" | "unstable";
|
|
47
|
+
summary: string;
|
|
48
|
+
publishedAt: string;
|
|
49
|
+
}[]>;
|
|
50
|
+
//# sourceMappingURL=releases.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"releases.d.ts","sourceRoot":"","sources":["../src/releases.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,WAAW,6FACoE,CAAC;AAE7F;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,SAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAM5D"}
|
package/dist/releases.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { gameMakerReleaseWithNotesSchema } from './feeds.types.js';
|
|
3
|
+
import { fetchJson } from './fetch.js';
|
|
4
|
+
/**
|
|
5
|
+
* This package is used to generate a releases object, stored
|
|
6
|
+
* as a JSON file for public download. The latest version of this
|
|
7
|
+
* releases object can be downloaded from this URL.
|
|
8
|
+
*/
|
|
9
|
+
export const releasesUrl = 'https://github.com/bscotch/gamemaker-info/releases/latest/download/releases-summary.json';
|
|
10
|
+
/**
|
|
11
|
+
* Given a URL to an already-synthesized
|
|
12
|
+
* GameMaker Studio merged-releases feed,
|
|
13
|
+
* download the feed and return the list of
|
|
14
|
+
* releases.
|
|
15
|
+
*/
|
|
16
|
+
export async function downloadGameMakerInfo(url = releasesUrl) {
|
|
17
|
+
const releases = await fetchJson(url, z.array(gameMakerReleaseWithNotesSchema));
|
|
18
|
+
return releases;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=releases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"releases.js","sourceRoot":"","sources":["../src/releases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,0FAA0F,CAAC;AAE7F;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAG,GAAG,WAAW;IAC3D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EACH,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CACzC,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bscotch/gamemaker-releases",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Utility for combining GameMaker release data into a single feed.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"gamemaker",
|
|
@@ -37,33 +37,32 @@
|
|
|
37
37
|
},
|
|
38
38
|
"main": "dist/index.js",
|
|
39
39
|
"types": "dist/index.d.ts",
|
|
40
|
-
"scripts": {
|
|
41
|
-
"build": "tsc --build",
|
|
42
|
-
"clean": "rimraf build dist",
|
|
43
|
-
"test": "mocha --config ../../config/.mocharc.cjs",
|
|
44
|
-
"test:dev": "mocha --config ../../config/.mocharc.cjs --forbid-only=false --parallel=false --timeout=9999999999",
|
|
45
|
-
"watch": "tsc --build --watch"
|
|
46
|
-
},
|
|
47
40
|
"dependencies": {
|
|
48
|
-
"@bscotch/pathy": "^2.
|
|
49
|
-
"@bscotch/utility": "^6.
|
|
41
|
+
"@bscotch/pathy": "^2.6.0",
|
|
42
|
+
"@bscotch/utility": "^6.8.0",
|
|
50
43
|
"entities": "^4.4.0",
|
|
51
|
-
"fast-xml-parser": "^4.
|
|
44
|
+
"fast-xml-parser": "^4.1.2",
|
|
52
45
|
"node-fetch": "^3.3.0",
|
|
53
|
-
"tslib": "^2.
|
|
54
|
-
"zod": "^3.
|
|
46
|
+
"tslib": "^2.5.0",
|
|
47
|
+
"zod": "^3.20.6"
|
|
55
48
|
},
|
|
56
49
|
"devDependencies": {
|
|
57
50
|
"@types/chai": "^4",
|
|
58
51
|
"@types/mocha": "^10.0.1",
|
|
59
52
|
"@types/rimraf": "^3",
|
|
60
53
|
"chai": "^4.3.7",
|
|
61
|
-
"mocha": "^10.
|
|
62
|
-
"rimraf": "^
|
|
63
|
-
"typescript": "^4.9.
|
|
54
|
+
"mocha": "^10.2.0",
|
|
55
|
+
"rimraf": "^4.1.2",
|
|
56
|
+
"typescript": "^4.9.5"
|
|
64
57
|
},
|
|
65
|
-
"packageManager": "yarn@3.2.4",
|
|
66
58
|
"publishConfig": {
|
|
67
59
|
"access": "public"
|
|
60
|
+
},
|
|
61
|
+
"scripts": {
|
|
62
|
+
"build": "tsc --build",
|
|
63
|
+
"clean": "rimraf build dist",
|
|
64
|
+
"test": "mocha --config ../../config/.mocharc.cjs",
|
|
65
|
+
"test:dev": "mocha --config ../../config/.mocharc.cjs --forbid-only=false --parallel=false --timeout=9999999999",
|
|
66
|
+
"watch": "tsc --build --watch"
|
|
68
67
|
}
|
|
69
68
|
}
|
package/dist/feeds.test.d.ts
DELETED
package/dist/feeds.test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feeds.test.d.ts","sourceRoot":"","sources":["../src/feeds.test.ts"],"names":[],"mappings":""}
|
package/dist/feeds.test.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { pathy } from '@bscotch/pathy';
|
|
2
|
-
import { expect } from 'chai';
|
|
3
|
-
import { listReleases, listReleasesWithNotes } from './feeds.js';
|
|
4
|
-
import { rawReleaseNotesCacheSchema } from './feeds.types.js';
|
|
5
|
-
const notesCache = pathy('release-notes-cache.json').withValidator(rawReleaseNotesCacheSchema);
|
|
6
|
-
describe('Release Feeds', function () {
|
|
7
|
-
it('can create a centralized GameMaker Releases database', async function () {
|
|
8
|
-
const releases = await listReleases();
|
|
9
|
-
const withNotes = await listReleasesWithNotes(releases, notesCache);
|
|
10
|
-
expect(withNotes.length).to.be.greaterThan(0);
|
|
11
|
-
expect(withNotes.every((r) => r.channel)).to.exist;
|
|
12
|
-
for (const type of ['ide', 'runtime']) {
|
|
13
|
-
expect(withNotes.every((r) => r[type])).to.exist;
|
|
14
|
-
expect(withNotes.every((r) => r[type].version)).to.exist;
|
|
15
|
-
expect(withNotes.every((r) => r[type].notes)).to.exist;
|
|
16
|
-
expect(withNotes.every((r) => r[type].notes.groups)).to.exist;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
//# sourceMappingURL=feeds.test.js.map
|
package/dist/feeds.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feeds.test.js","sourceRoot":"","sources":["../src/feeds.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,UAAU,GAAG,KAAK,CAAC,0BAA0B,CAAC,CAAC,aAAa,CAChE,0BAA0B,CAC3B,CAAC;AAEF,QAAQ,CAAC,eAAe,EAAE;IACxB,EAAE,CAAC,sDAAsD,EAAE,KAAK;QAC9D,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,CAAU,EAAE;YAC9C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YACjD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YACzD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YACvD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;SAC/D;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|