@tricoteuses/assemblee 1.7.2 → 1.7.3
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 +1 -53
- package/lib/git.d.ts +1 -0
- package/lib/git.js +12 -1
- package/lib/git.mjs +11 -1
- package/lib/parsers/textes_lois.d.ts +1 -0
- package/lib/scripts/clean_reorganized_data.js +2 -10
- package/lib/scripts/clean_reorganized_data.mjs +2 -10
- package/lib/scripts/reorganize_data.js +2 -10
- package/lib/scripts/reorganize_data.mjs +2 -10
- package/lib/scripts/retrieve_deputes_photos.d.ts +3 -1
- package/lib/scripts/retrieve_deputes_photos.js +169 -164
- package/lib/scripts/retrieve_deputes_photos.mjs +76 -91
- package/lib/scripts/retrieve_pending_amendments.js +2 -10
- package/lib/scripts/retrieve_pending_amendments.mjs +2 -10
- package/lib/scripts/retrieve_senateurs_photos.js +120 -175
- package/lib/scripts/retrieve_senateurs_photos.mjs +42 -107
- package/lib/scripts/retrieve_textes_lois_llm.d.ts +1 -0
- package/lib/scripts/shared/cli_helpers.d.ts +0 -2
- package/lib/scripts/shared/cli_helpers.js +2 -19
- package/lib/scripts/shared/cli_helpers.mjs +1 -8
- package/lib/shared_types/codes_actes.d.ts +1 -0
- package/lib/shared_types/codes_actes.js +2 -1
- package/lib/shared_types/codes_actes.mjs +2 -1
- package/lib/types/scrutins.d.ts +4 -4
- package/lib/types/scrutins.js +5 -5
- package/lib/types/scrutins.mjs +5 -5
- package/package.json +4 -1
|
@@ -7,13 +7,8 @@ import util from "util";
|
|
|
7
7
|
import * as git from "../git.mjs";
|
|
8
8
|
import { iterLoadAssembleeActeurs } from "../loaders.mjs";
|
|
9
9
|
import { CodeTypeOrgane, TypeMandat } from "../types/acteurs_et_organes.mjs";
|
|
10
|
-
import { cloneOption, commitOption, remoteOption, silentOption, dataDirDefaultOption, pullOption, fetchOption } from "./shared/cli_helpers.mjs";
|
|
11
|
-
const optionsDefinitions = [cloneOption, commitOption, remoteOption, silentOption, dataDirDefaultOption, pullOption, fetchOption, {
|
|
12
|
-
alias: "l",
|
|
13
|
-
defaultValue: "16",
|
|
14
|
-
name: "legislature",
|
|
15
|
-
type: String
|
|
16
|
-
}, {
|
|
10
|
+
import { cloneOption, commitOption, remoteOption, silentOption, dataDirDefaultOption, pullOption, legislatureOption, fetchOption } from "./shared/cli_helpers.mjs";
|
|
11
|
+
const optionsDefinitions = [cloneOption, commitOption, remoteOption, silentOption, dataDirDefaultOption, pullOption, fetchOption, legislatureOption, {
|
|
17
12
|
alias: "w",
|
|
18
13
|
defaultValue: 150,
|
|
19
14
|
name: "width",
|
|
@@ -25,36 +20,86 @@ const optionsDefinitions = [cloneOption, commitOption, remoteOption, silentOptio
|
|
|
25
20
|
type: Number
|
|
26
21
|
}];
|
|
27
22
|
const options = commandLineArgs(optionsDefinitions);
|
|
28
|
-
const pipeline = util.promisify(stream.pipeline);
|
|
29
23
|
export function cloneAndUpdateGitRepository(photosDirName, options) {
|
|
30
24
|
const gitGroupUrl = options.clone ? options.clone.trim().replace(/\/+$/, "") : undefined;
|
|
31
25
|
const photosDir = path.join(options.dataDir, photosDirName);
|
|
32
|
-
|
|
33
|
-
execSync(`git clone ${gitGroupUrl}/${photosDirName}.git`, {
|
|
34
|
-
cwd: options.dataDir,
|
|
35
|
-
env: process.env,
|
|
36
|
-
encoding: "utf-8",
|
|
37
|
-
stdio: ["ignore", "ignore", "pipe"]
|
|
38
|
-
});
|
|
39
|
-
}
|
|
26
|
+
git.clone(gitGroupUrl, photosDirName, options.dataDir);
|
|
40
27
|
if (options.pull) {
|
|
41
28
|
git.resetAndPull(photosDir);
|
|
42
29
|
}
|
|
43
30
|
}
|
|
44
|
-
export function resizePhoto(acteur, width, height, photosDir, options) {
|
|
31
|
+
export function resizePhoto(acteur, width, height, photosDir, photoFilename, options) {
|
|
45
32
|
const ident = acteur.etatCivil.ident;
|
|
46
|
-
const numeroActeur = acteur.uid.substring(2);
|
|
47
33
|
if (!options.silent) {
|
|
48
|
-
console.log(`Resizing photo ${
|
|
34
|
+
console.log(`Resizing photo ${photoFilename} for ${ident.prenom} ${ident.nom}…`);
|
|
35
|
+
}
|
|
36
|
+
execSync(`gm convert -resize ${width}x${height}! ${photoFilename}.jpg ${photoFilename}_${width}x${height}.jpg`, {
|
|
37
|
+
cwd: photosDir
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
export async function downloadPhoto(urlPhoto, photoTempFilePath, photoFilePath, missingPhotoFilePath, retries = 3) {
|
|
41
|
+
const pipeline = util.promisify(stream.pipeline);
|
|
42
|
+
for (let attempt = 1; attempt <= retries; attempt++) {
|
|
43
|
+
try {
|
|
44
|
+
const response = await fetch(urlPhoto);
|
|
45
|
+
if (response.ok) {
|
|
46
|
+
await pipeline(response.body, fs.createWriteStream(photoTempFilePath));
|
|
47
|
+
fs.renameSync(photoTempFilePath, photoFilePath);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
console.warn(`Fetch failed: ${urlPhoto} (Attempt ${attempt}) - Status: ${response.status} ${response.statusText}`);
|
|
51
|
+
} catch (error) {
|
|
52
|
+
console.log(error);
|
|
53
|
+
console.warn(`Attempt ${attempt} failed for ${urlPhoto}`, error);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (fs.existsSync(photoFilePath)) {
|
|
57
|
+
console.warn(`Reusing existing image: ${photoFilePath}`);
|
|
58
|
+
} else {
|
|
59
|
+
console.warn(`Using blank image: ${missingPhotoFilePath}`);
|
|
60
|
+
fs.copyFileSync(missingPhotoFilePath, photoFilePath);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export function createMosaic(acteurUids, photosDir, photosWidth, photosHeight, mosaicFilename) {
|
|
64
|
+
const photoByIdActeur = {};
|
|
65
|
+
const rowsFilenames = [];
|
|
66
|
+
if (acteurUids.length === 0) return;
|
|
67
|
+
for (let acteurIndex = 0, rowIndex = 0; acteurIndex < acteurUids.length; acteurIndex += 25, rowIndex++) {
|
|
68
|
+
const row = acteurUids.slice(acteurIndex, acteurIndex + 25);
|
|
69
|
+
const photosFilenames = row.map((acteurUid, columnIndex) => {
|
|
70
|
+
const photoFilename = `${acteurUid}_${photosWidth}x${photosHeight}.jpg`;
|
|
71
|
+
photoByIdActeur[acteurUid] = {
|
|
72
|
+
chemin: `${photosDir}/${photoFilename}`,
|
|
73
|
+
cheminMosaique: `${photosDir}/${mosaicFilename}.jpg`,
|
|
74
|
+
largeur: photosWidth,
|
|
75
|
+
hauteur: photosHeight,
|
|
76
|
+
xMosaique: columnIndex * photosWidth,
|
|
77
|
+
yMosaique: rowIndex * photosHeight
|
|
78
|
+
};
|
|
79
|
+
return photoFilename;
|
|
80
|
+
});
|
|
81
|
+
const rowFilename = `row-${rowIndex}.jpg`;
|
|
82
|
+
execSync(`gm convert ${photosFilenames.join(' ')} +append ${rowFilename}`, {
|
|
83
|
+
cwd: photosDir
|
|
84
|
+
});
|
|
85
|
+
rowsFilenames.push(rowFilename);
|
|
49
86
|
}
|
|
50
|
-
|
|
87
|
+
|
|
88
|
+
// Combine all rows into one image
|
|
89
|
+
execSync(`gm convert ${rowsFilenames.join(' ')} -append ${mosaicFilename}.jpg`, {
|
|
51
90
|
cwd: photosDir
|
|
52
91
|
});
|
|
92
|
+
|
|
93
|
+
// Cleanup individual row images
|
|
94
|
+
rowsFilenames.forEach(rowFilename => {
|
|
95
|
+
fs.unlinkSync(path.join(photosDir, rowFilename));
|
|
96
|
+
});
|
|
97
|
+
const jsonFilePath = path.join(photosDir, `${mosaicFilename}.json`);
|
|
98
|
+
fs.writeFileSync(jsonFilePath, JSON.stringify(photoByIdActeur, null, 2));
|
|
53
99
|
}
|
|
54
100
|
async function retrievePhotosDeputes() {
|
|
55
101
|
const dataDir = options.dataDir;
|
|
56
|
-
const
|
|
57
|
-
const photosDirName = `${photosPrefix}_${options.legislature}`;
|
|
102
|
+
const photosDirName = `photos_deputes${options.legislature ? "_" + options.legislature.toString() : ""}`;
|
|
58
103
|
const photosDir = path.join(dataDir, photosDirName);
|
|
59
104
|
const photosWidth = options.width;
|
|
60
105
|
const photosHeight = options.height;
|
|
@@ -70,20 +115,14 @@ async function retrievePhotosDeputes() {
|
|
|
70
115
|
const {
|
|
71
116
|
mandats
|
|
72
117
|
} = acteur;
|
|
73
|
-
if (!mandats)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const
|
|
77
|
-
return mandat.xsiType === TypeMandat.MandatParlementaireType && mandat.legislature === options.legislature && mandat.typeOrgane === CodeTypeOrgane.Assemblee;
|
|
78
|
-
})[0];
|
|
79
|
-
if (mandatDeputeLegislature === undefined) {
|
|
80
|
-
continue;
|
|
81
|
-
}
|
|
118
|
+
if (!mandats) continue;
|
|
119
|
+
const mandatDepute = mandats.find(mandat => mandat.xsiType === TypeMandat.MandatParlementaireType && mandat.legislature === options.legislature?.toString() && mandat.typeOrgane === CodeTypeOrgane.Assemblee);
|
|
120
|
+
if (!mandatDepute) continue;
|
|
121
|
+
const numeroDepute = acteur.uid.substring(2);
|
|
82
122
|
|
|
83
123
|
// Download photos.
|
|
84
124
|
if (options.fetch) {
|
|
85
125
|
const ident = acteur.etatCivil.ident;
|
|
86
|
-
const numeroDepute = acteur.uid.substring(2);
|
|
87
126
|
const photoFilename = `${numeroDepute}.jpg`;
|
|
88
127
|
const photoFilePath = path.join(photosDir, photoFilename);
|
|
89
128
|
const photoTempFilename = `${numeroDepute}_temp.jpg`;
|
|
@@ -92,66 +131,12 @@ async function retrievePhotosDeputes() {
|
|
|
92
131
|
if (!options.silent) {
|
|
93
132
|
console.log(`Loading photo ${urlPhoto} for ${ident.prenom} ${ident.nom}…`);
|
|
94
133
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (response.ok) {
|
|
98
|
-
await pipeline(response.body, fs.createWriteStream(photoTempFilePath));
|
|
99
|
-
fs.renameSync(photoTempFilePath, photoFilePath);
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
|
-
if (retries >= 2) {
|
|
103
|
-
console.warn(`Fetch failed: ${urlPhoto} (${ident.prenom} ${ident.nom})`);
|
|
104
|
-
console.warn(response.status, response.statusText);
|
|
105
|
-
console.warn(await response.text());
|
|
106
|
-
if (fs.existsSync(photoFilePath)) {
|
|
107
|
-
console.warn(" => Reusing existing image");
|
|
108
|
-
} else {
|
|
109
|
-
console.warn(" => Using blank image");
|
|
110
|
-
fs.copyFileSync(missingPhotoFilePath, photoFilePath);
|
|
111
|
-
}
|
|
112
|
-
break;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// Resize photos to 150x192, because some haven't exactly this size.
|
|
117
|
-
resizePhoto(acteur, photosWidth, photosHeight, photosDir, options);
|
|
118
|
-
}
|
|
119
|
-
acteurUids.push(acteur.uid);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// Create a mosaic of photos.
|
|
123
|
-
const photoByIdDepute = {};
|
|
124
|
-
const rowsFilenames = [];
|
|
125
|
-
for (let acteurIndex = 0, rowIndex = 0; acteurIndex < acteurUids.length; acteurIndex += 25, rowIndex++) {
|
|
126
|
-
const row = acteurUids.slice(acteurIndex, acteurIndex + 25);
|
|
127
|
-
const photosFilenames = [];
|
|
128
|
-
for (const [columnIndex, acteurUid] of row.entries()) {
|
|
129
|
-
const numeroDepute = acteurUid.substring(2);
|
|
130
|
-
const photoFilename = `${numeroDepute}_${photosWidth}x${photosHeight}.jpg`;
|
|
131
|
-
photosFilenames.push(photoFilename);
|
|
132
|
-
photoByIdDepute[acteurUid] = {
|
|
133
|
-
chemin: `${photosPrefix}_${options.legislature}/${photoFilename}`,
|
|
134
|
-
cheminMosaique: `${photosPrefix}_${options.legislature}/deputes.jpg`,
|
|
135
|
-
largeur: photosWidth,
|
|
136
|
-
hauteur: photosHeight,
|
|
137
|
-
xMosaique: columnIndex * photosWidth,
|
|
138
|
-
yMosaique: rowIndex * photosHeight
|
|
139
|
-
};
|
|
134
|
+
await downloadPhoto(urlPhoto, photoTempFilePath, photoFilePath, missingPhotoFilePath);
|
|
135
|
+
resizePhoto(acteur, photosWidth, photosHeight, photosDir, numeroDepute, options);
|
|
140
136
|
}
|
|
141
|
-
|
|
142
|
-
execSync(`gm convert ${photosFilenames.join(" ")} +append ${rowFilename}`, {
|
|
143
|
-
cwd: photosDir
|
|
144
|
-
});
|
|
145
|
-
rowsFilenames.push(rowFilename);
|
|
146
|
-
}
|
|
147
|
-
execSync(`gm convert ${rowsFilenames.join(" ")} -append deputes.jpg`, {
|
|
148
|
-
cwd: photosDir
|
|
149
|
-
});
|
|
150
|
-
for (const rowFilename of rowsFilenames) {
|
|
151
|
-
fs.unlinkSync(path.join(photosDir, rowFilename));
|
|
137
|
+
acteurUids.push(numeroDepute);
|
|
152
138
|
}
|
|
153
|
-
|
|
154
|
-
fs.writeFileSync(jsonFilePath, JSON.stringify(photoByIdDepute, null, 2));
|
|
139
|
+
createMosaic(acteurUids, photosDir, photosWidth, photosHeight, 'deputes');
|
|
155
140
|
if (options.commit) {
|
|
156
141
|
return git.commitAndPush(photosDir, "Nouvelle moisson", options.remote);
|
|
157
142
|
}
|
|
@@ -161,4 +146,4 @@ retrievePhotosDeputes().then(exitCode => process.exit(exitCode)).catch(error =>
|
|
|
161
146
|
console.log(error);
|
|
162
147
|
process.exit(1);
|
|
163
148
|
});
|
|
164
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleGVjU3luYyIsImNvbW1hbmRMaW5lQXJncyIsImZzIiwicGF0aCIsInN0cmVhbSIsInV0aWwiLCJnaXQiLCJpdGVyTG9hZEFzc2VtYmxlZUFjdGV1cnMiLCJDb2RlVHlwZU9yZ2FuZSIsIlR5cGVNYW5kYXQiLCJjbG9uZU9wdGlvbiIsImNvbW1pdE9wdGlvbiIsInJlbW90ZU9wdGlvbiIsInNpbGVudE9wdGlvbiIsImRhdGFEaXJEZWZhdWx0T3B0aW9uIiwicHVsbE9wdGlvbiIsImZldGNoT3B0aW9uIiwib3B0aW9uc0RlZmluaXRpb25zIiwiYWxpYXMiLCJkZWZhdWx0VmFsdWUiLCJuYW1lIiwidHlwZSIsIlN0cmluZyIsIk51bWJlciIsIm9wdGlvbnMiLCJwaXBlbGluZSIsInByb21pc2lmeSIsImNsb25lQW5kVXBkYXRlR2l0UmVwb3NpdG9yeSIsInBob3Rvc0Rpck5hbWUiLCJnaXRHcm91cFVybCIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJwaG90b3NEaXIiLCJqb2luIiwiZGF0YURpciIsImN3ZCIsImVudiIsInByb2Nlc3MiLCJlbmNvZGluZyIsInN0ZGlvIiwicHVsbCIsInJlc2V0QW5kUHVsbCIsInJlc2l6ZVBob3RvIiwiYWN0ZXVyIiwid2lkdGgiLCJoZWlnaHQiLCJpZGVudCIsImV0YXRDaXZpbCIsIm51bWVyb0FjdGV1ciIsInVpZCIsInN1YnN0cmluZyIsInNpbGVudCIsImNvbnNvbGUiLCJsb2ciLCJwcmVub20iLCJub20iLCJyZXRyaWV2ZVBob3Rvc0RlcHV0ZXMiLCJwaG90b3NQcmVmaXgiLCJsZWdpc2xhdHVyZSIsInBob3Rvc1dpZHRoIiwicGhvdG9zSGVpZ2h0IiwibWlzc2luZ1Bob3RvRmlsZVBhdGgiLCJlbnN1cmVEaXJTeW5jIiwiYWN0ZXVyVWlkcyIsIm5vVmFsaWRhdGlvbiIsIm1hbmRhdHMiLCJtYW5kYXREZXB1dGVMZWdpc2xhdHVyZSIsImZpbHRlciIsIm1hbmRhdCIsInhzaVR5cGUiLCJNYW5kYXRQYXJsZW1lbnRhaXJlVHlwZSIsInR5cGVPcmdhbmUiLCJBc3NlbWJsZWUiLCJmZXRjaCIsIm51bWVyb0RlcHV0ZSIsInBob3RvRmlsZW5hbWUiLCJwaG90b0ZpbGVQYXRoIiwicGhvdG9UZW1wRmlsZW5hbWUiLCJwaG90b1RlbXBGaWxlUGF0aCIsInVybFBob3RvIiwicmV0cmllcyIsInJlc3BvbnNlIiwib2siLCJib2R5IiwiY3JlYXRlV3JpdGVTdHJlYW0iLCJyZW5hbWVTeW5jIiwid2FybiIsInN0YXR1cyIsInN0YXR1c1RleHQiLCJ0ZXh0IiwiZXhpc3RzU3luYyIsImNvcHlGaWxlU3luYyIsInB1c2giLCJwaG90b0J5SWREZXB1dGUiLCJyb3dzRmlsZW5hbWVzIiwiYWN0ZXVySW5kZXgiLCJyb3dJbmRleCIsImxlbmd0aCIsInJvdyIsInNsaWNlIiwicGhvdG9zRmlsZW5hbWVzIiwiY29sdW1uSW5kZXgiLCJhY3RldXJVaWQiLCJlbnRyaWVzIiwiY2hlbWluIiwiY2hlbWluTW9zYWlxdWUiLCJsYXJnZXVyIiwiaGF1dGV1ciIsInhNb3NhaXF1ZSIsInlNb3NhaXF1ZSIsInJvd0ZpbGVuYW1lIiwidW5saW5rU3luYyIsImpzb25GaWxlUGF0aCIsIndyaXRlRmlsZVN5bmMiLCJKU09OIiwic3RyaW5naWZ5IiwiY29tbWl0IiwiY29tbWl0QW5kUHVzaCIsInJlbW90ZSIsInRoZW4iLCJleGl0Q29kZSIsImV4aXQiLCJjYXRjaCIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmV0cmlldmVfZGVwdXRlc19waG90b3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgY29tbWFuZExpbmVBcmdzIGZyb20gXCJjb21tYW5kLWxpbmUtYXJnc1wiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCBzdHJlYW0gZnJvbSBcInN0cmVhbVwiXG5pbXBvcnQgdXRpbCBmcm9tIFwidXRpbFwiXG5pbXBvcnQgKiBhcyBnaXQgZnJvbSBcIi4uL2dpdFwiXG5cbmltcG9ydCB7IGl0ZXJMb2FkQXNzZW1ibGVlQWN0ZXVycyB9IGZyb20gXCIuLi9sb2FkZXJzXCJcbmltcG9ydCB7XG4gIEFjdGV1cixcbiAgQ29kZVR5cGVPcmdhbmUsXG4gIE1hbmRhdCxcbiAgUGhvdG8sXG4gIFR5cGVNYW5kYXQsXG59IGZyb20gXCIuLi90eXBlcy9hY3RldXJzX2V0X29yZ2FuZXNcIlxuaW1wb3J0IHtcbiAgY2xvbmVPcHRpb24sXG4gIGNvbW1pdE9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBwdWxsT3B0aW9uLFxuICBmZXRjaE9wdGlvbixcbn0gZnJvbSBcIi4vc2hhcmVkL2NsaV9oZWxwZXJzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIHB1bGxPcHRpb24sXG4gIGZldGNoT3B0aW9uLFxuICB7XG4gICAgYWxpYXM6IFwibFwiLFxuICAgIGRlZmF1bHRWYWx1ZTogXCIxNlwiLFxuICAgIG5hbWU6IFwibGVnaXNsYXR1cmVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJ3XCIsXG4gICAgZGVmYXVsdFZhbHVlOiAxNTAsXG4gICAgbmFtZTogXCJ3aWR0aFwiLFxuICAgIHR5cGU6IE51bWJlcixcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcImhcIixcbiAgICBkZWZhdWx0VmFsdWU6IDE5MixcbiAgICBuYW1lOiBcImhlaWdodFwiLFxuICAgIHR5cGU6IE51bWJlcixcbiAgfSxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuY29uc3QgcGlwZWxpbmUgPSB1dGlsLnByb21pc2lmeShzdHJlYW0ucGlwZWxpbmUpXG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9uZUFuZFVwZGF0ZUdpdFJlcG9zaXRvcnkoXG4gIHBob3Rvc0Rpck5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogYW55LFxuKTogdm9pZCB7XG4gIGNvbnN0IGdpdEdyb3VwVXJsID0gb3B0aW9ucy5jbG9uZVxuICAgID8gb3B0aW9ucy5jbG9uZS50cmltKCkucmVwbGFjZSgvXFwvKyQvLCBcIlwiKVxuICAgIDogdW5kZWZpbmVkXG4gIGNvbnN0IHBob3Rvc0RpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIHBob3Rvc0Rpck5hbWUpXG5cbiAgaWYgKGdpdEdyb3VwVXJsICE9PSB1bmRlZmluZWQpIHtcbiAgICBleGVjU3luYyhgZ2l0IGNsb25lICR7Z2l0R3JvdXBVcmx9LyR7cGhvdG9zRGlyTmFtZX0uZ2l0YCwge1xuICAgICAgY3dkOiBvcHRpb25zLmRhdGFEaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgZW5jb2Rpbmc6IFwidXRmLThcIixcbiAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJpZ25vcmVcIiwgXCJwaXBlXCJdLFxuICAgIH0pXG4gIH1cblxuICBpZiAob3B0aW9ucy5wdWxsKSB7XG4gICAgZ2l0LnJlc2V0QW5kUHVsbChwaG90b3NEaXIpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc2l6ZVBob3RvKFxuICBhY3RldXI6IEFjdGV1cixcbiAgd2lkdGg6IG51bWJlcixcbiAgaGVpZ2h0OiBudW1iZXIsXG4gIHBob3Rvc0Rpcjogc3RyaW5nLFxuICBvcHRpb25zOiBhbnksXG4pOiB2b2lkIHtcbiAgY29uc3QgaWRlbnQgPSBhY3RldXIuZXRhdENpdmlsLmlkZW50XG4gIGNvbnN0IG51bWVyb0FjdGV1ciA9IGFjdGV1ci51aWQuc3Vic3RyaW5nKDIpXG4gIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIGBSZXNpemluZyBwaG90byAke251bWVyb0FjdGV1cn0gZm9yICR7aWRlbnQucHJlbm9tfSAke2lkZW50Lm5vbX3igKZgLFxuICAgIClcbiAgfVxuICBleGVjU3luYyhcbiAgICBgZ20gY29udmVydCAtcmVzaXplICR7d2lkdGh9eCR7aGVpZ2h0fSEgJHtudW1lcm9BY3RldXJ9LmpwZyAke251bWVyb0FjdGV1cn1fJHt3aWR0aH14JHtoZWlnaHR9LmpwZ2AsXG4gICAge1xuICAgICAgY3dkOiBwaG90b3NEaXIsXG4gICAgfSxcbiAgKVxufVxuXG5hc3luYyBmdW5jdGlvbiByZXRyaWV2ZVBob3Rvc0RlcHV0ZXMoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgY29uc3QgZGF0YURpciA9IG9wdGlvbnMuZGF0YURpclxuICBjb25zdCBwaG90b3NQcmVmaXggPSBcInBob3Rvc19kZXB1dGVzXCJcbiAgY29uc3QgcGhvdG9zRGlyTmFtZSA9IGAke3Bob3Rvc1ByZWZpeH1fJHtvcHRpb25zLmxlZ2lzbGF0dXJlfWBcbiAgY29uc3QgcGhvdG9zRGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIHBob3Rvc0Rpck5hbWUpXG4gIGNvbnN0IHBob3Rvc1dpZHRoID0gb3B0aW9ucy53aWR0aFxuICBjb25zdCBwaG90b3NIZWlnaHQgPSBvcHRpb25zLmhlaWdodFxuICBjb25zdCBtaXNzaW5nUGhvdG9GaWxlUGF0aCA9IGBpbWFnZXMvdHJhbnNwYXJlbnRfJHtwaG90b3NXaWR0aH14JHtwaG90b3NIZWlnaHR9LmpwZ2BcblxuICBjbG9uZUFuZFVwZGF0ZUdpdFJlcG9zaXRvcnkocGhvdG9zRGlyTmFtZSwgb3B0aW9ucylcbiAgZnMuZW5zdXJlRGlyU3luYyhwaG90b3NEaXIpXG5cbiAgY29uc3QgYWN0ZXVyVWlkcyA9IFtdXG5cbiAgZm9yIChjb25zdCB7IGFjdGV1ciB9IG9mIGl0ZXJMb2FkQXNzZW1ibGVlQWN0ZXVycyhcbiAgICBkYXRhRGlyLFxuICAgIG9wdGlvbnMubGVnaXNsYXR1cmUsXG4gICAgeyBub1ZhbGlkYXRpb246IHRydWUgfSxcbiAgKSkge1xuICAgIGNvbnN0IHsgbWFuZGF0cyB9ID0gYWN0ZXVyXG4gICAgaWYgKCFtYW5kYXRzKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCBtYW5kYXREZXB1dGVMZWdpc2xhdHVyZSA9IG1hbmRhdHMuZmlsdGVyKChtYW5kYXQ6IE1hbmRhdCkgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgbWFuZGF0LnhzaVR5cGUgPT09IFR5cGVNYW5kYXQuTWFuZGF0UGFybGVtZW50YWlyZVR5cGUgJiZcbiAgICAgICAgbWFuZGF0LmxlZ2lzbGF0dXJlID09PSBvcHRpb25zLmxlZ2lzbGF0dXJlICYmXG4gICAgICAgIG1hbmRhdC50eXBlT3JnYW5lID09PSBDb2RlVHlwZU9yZ2FuZS5Bc3NlbWJsZWVcbiAgICAgIClcbiAgICB9KVswXVxuICAgIGlmIChtYW5kYXREZXB1dGVMZWdpc2xhdHVyZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIC8vIERvd25sb2FkIHBob3Rvcy5cbiAgICBpZiAob3B0aW9ucy5mZXRjaCkge1xuICAgICAgY29uc3QgaWRlbnQgPSBhY3RldXIuZXRhdENpdmlsLmlkZW50XG4gICAgICBjb25zdCBudW1lcm9EZXB1dGUgPSBhY3RldXIudWlkLnN1YnN0cmluZygyKVxuICAgICAgY29uc3QgcGhvdG9GaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX0uanBnYFxuICAgICAgY29uc3QgcGhvdG9GaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvRmlsZW5hbWUpXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX1fdGVtcC5qcGdgXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvVGVtcEZpbGVuYW1lKVxuICAgICAgY29uc3QgdXJsUGhvdG8gPSBgaHR0cDovL3d3dzIuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvdHJpYnVuLyR7b3B0aW9ucy5sZWdpc2xhdHVyZX0vcGhvdG9zLyR7cGhvdG9GaWxlbmFtZX1gXG4gICAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBMb2FkaW5nIHBob3RvICR7dXJsUGhvdG99IGZvciAke2lkZW50LnByZW5vbX0gJHtpZGVudC5ub2194oCmYCxcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgZm9yIChsZXQgcmV0cmllcyA9IDA7IHJldHJpZXMgPCAzOyByZXRyaWVzKyspIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmxQaG90bylcbiAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgYXdhaXQgcGlwZWxpbmUoXG4gICAgICAgICAgICByZXNwb25zZS5ib2R5IGFzIHVua25vd24gYXMgTm9kZUpTLlJlYWRhYmxlU3RyZWFtLFxuICAgICAgICAgICAgZnMuY3JlYXRlV3JpdGVTdHJlYW0ocGhvdG9UZW1wRmlsZVBhdGgpLFxuICAgICAgICAgIClcbiAgICAgICAgICBmcy5yZW5hbWVTeW5jKHBob3RvVGVtcEZpbGVQYXRoLCBwaG90b0ZpbGVQYXRoKVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJldHJpZXMgPj0gMikge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBGZXRjaCBmYWlsZWQ6ICR7dXJsUGhvdG99ICgke2lkZW50LnByZW5vbX0gJHtpZGVudC5ub219KWAsXG4gICAgICAgICAgKVxuICAgICAgICAgIGNvbnNvbGUud2FybihyZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLnN0YXR1c1RleHQpXG4gICAgICAgICAgY29uc29sZS53YXJuKGF3YWl0IHJlc3BvbnNlLnRleHQoKSlcbiAgICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhwaG90b0ZpbGVQYXRoKSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiICA9PiBSZXVzaW5nIGV4aXN0aW5nIGltYWdlXCIpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIiAgPT4gVXNpbmcgYmxhbmsgaW1hZ2VcIilcbiAgICAgICAgICAgIGZzLmNvcHlGaWxlU3luYyhtaXNzaW5nUGhvdG9GaWxlUGF0aCwgcGhvdG9GaWxlUGF0aClcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNpemUgcGhvdG9zIHRvIDE1MHgxOTIsIGJlY2F1c2Ugc29tZSBoYXZlbid0IGV4YWN0bHkgdGhpcyBzaXplLlxuICAgICAgcmVzaXplUGhvdG8oYWN0ZXVyLCBwaG90b3NXaWR0aCwgcGhvdG9zSGVpZ2h0LCBwaG90b3NEaXIsIG9wdGlvbnMpXG4gICAgfVxuXG4gICAgYWN0ZXVyVWlkcy5wdXNoKGFjdGV1ci51aWQpXG4gIH1cblxuICAvLyBDcmVhdGUgYSBtb3NhaWMgb2YgcGhvdG9zLlxuICBjb25zdCBwaG90b0J5SWREZXB1dGU6IHsgW3VpZDogc3RyaW5nXTogUGhvdG8gfSA9IHt9XG4gIGNvbnN0IHJvd3NGaWxlbmFtZXM6IHN0cmluZ1tdID0gW11cbiAgZm9yIChcbiAgICBsZXQgYWN0ZXVySW5kZXggPSAwLCByb3dJbmRleCA9IDA7XG4gICAgYWN0ZXVySW5kZXggPCBhY3RldXJVaWRzLmxlbmd0aDtcbiAgICBhY3RldXJJbmRleCArPSAyNSwgcm93SW5kZXgrK1xuICApIHtcbiAgICBjb25zdCByb3cgPSBhY3RldXJVaWRzLnNsaWNlKGFjdGV1ckluZGV4LCBhY3RldXJJbmRleCArIDI1KVxuICAgIGNvbnN0IHBob3Rvc0ZpbGVuYW1lczogc3RyaW5nW10gPSBbXVxuICAgIGZvciAoY29uc3QgW2NvbHVtbkluZGV4LCBhY3RldXJVaWRdIG9mIHJvdy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IG51bWVyb0RlcHV0ZSA9IGFjdGV1clVpZC5zdWJzdHJpbmcoMilcbiAgICAgIGNvbnN0IHBob3RvRmlsZW5hbWUgPSBgJHtudW1lcm9EZXB1dGV9XyR7cGhvdG9zV2lkdGh9eCR7cGhvdG9zSGVpZ2h0fS5qcGdgXG4gICAgICBwaG90b3NGaWxlbmFtZXMucHVzaChwaG90b0ZpbGVuYW1lKVxuICAgICAgcGhvdG9CeUlkRGVwdXRlW2FjdGV1clVpZF0gPSB7XG4gICAgICAgIGNoZW1pbjogYCR7cGhvdG9zUHJlZml4fV8ke29wdGlvbnMubGVnaXNsYXR1cmV9LyR7cGhvdG9GaWxlbmFtZX1gLFxuICAgICAgICBjaGVtaW5Nb3NhaXF1ZTogYCR7cGhvdG9zUHJlZml4fV8ke29wdGlvbnMubGVnaXNsYXR1cmV9L2RlcHV0ZXMuanBnYCxcbiAgICAgICAgbGFyZ2V1cjogcGhvdG9zV2lkdGgsXG4gICAgICAgIGhhdXRldXI6IHBob3Rvc0hlaWdodCxcbiAgICAgICAgeE1vc2FpcXVlOiBjb2x1bW5JbmRleCAqIHBob3Rvc1dpZHRoLFxuICAgICAgICB5TW9zYWlxdWU6IHJvd0luZGV4ICogcGhvdG9zSGVpZ2h0LFxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByb3dGaWxlbmFtZSA9IGByb3ctJHtyb3dJbmRleH0uanBnYFxuICAgIGV4ZWNTeW5jKGBnbSBjb252ZXJ0ICR7cGhvdG9zRmlsZW5hbWVzLmpvaW4oXCIgXCIpfSArYXBwZW5kICR7cm93RmlsZW5hbWV9YCwge1xuICAgICAgY3dkOiBwaG90b3NEaXIsXG4gICAgfSlcbiAgICByb3dzRmlsZW5hbWVzLnB1c2gocm93RmlsZW5hbWUpXG4gIH1cbiAgZXhlY1N5bmMoYGdtIGNvbnZlcnQgJHtyb3dzRmlsZW5hbWVzLmpvaW4oXCIgXCIpfSAtYXBwZW5kIGRlcHV0ZXMuanBnYCwge1xuICAgIGN3ZDogcGhvdG9zRGlyLFxuICB9KVxuICBmb3IgKGNvbnN0IHJvd0ZpbGVuYW1lIG9mIHJvd3NGaWxlbmFtZXMpIHtcbiAgICBmcy51bmxpbmtTeW5jKHBhdGguam9pbihwaG90b3NEaXIsIHJvd0ZpbGVuYW1lKSlcbiAgfVxuXG4gIGNvbnN0IGpzb25GaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIFwiZGVwdXRlcy5qc29uXCIpXG4gIGZzLndyaXRlRmlsZVN5bmMoanNvbkZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShwaG90b0J5SWREZXB1dGUsIG51bGwsIDIpKVxuXG4gIGlmIChvcHRpb25zLmNvbW1pdCkge1xuICAgIHJldHVybiBnaXQuY29tbWl0QW5kUHVzaChwaG90b3NEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgfVxuICByZXR1cm4gMFxufVxuXG5yZXRyaWV2ZVBob3Rvc0RlcHV0ZXMoKVxuICAudGhlbigoZXhpdENvZGUpID0+IHByb2Nlc3MuZXhpdChleGl0Q29kZSkpXG4gIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfSlcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsUUFBUSxRQUFRLGVBQWU7QUFDeEMsT0FBT0MsZUFBZSxNQUFNLG1CQUFtQjtBQUMvQyxPQUFPQyxFQUFFLE1BQU0sVUFBVTtBQUN6QixPQUFPQyxJQUFJLE1BQU0sTUFBTTtBQUN2QixPQUFPQyxNQUFNLE1BQU0sUUFBUTtBQUMzQixPQUFPQyxJQUFJLE1BQU0sTUFBTTtBQUFBLE9BQ2hCLEtBQUtDLEdBQUc7QUFBQSxTQUVOQyx3QkFBd0I7QUFBQSxTQUcvQkMsY0FBYyxFQUdkQyxVQUFVO0FBQUEsU0FHVkMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsWUFBWSxFQUNaQyxvQkFBb0IsRUFDcEJDLFVBQVUsRUFDVkMsV0FBVztBQUdiLE1BQU1DLGtCQUFrQixHQUFHLENBQ3pCUCxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsWUFBWSxFQUNaQyxZQUFZLEVBQ1pDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxXQUFXLEVBQ1g7RUFDRUUsS0FBSyxFQUFFLEdBQUc7RUFDVkMsWUFBWSxFQUFFLElBQUk7RUFDbEJDLElBQUksRUFBRSxhQUFhO0VBQ25CQyxJQUFJLEVBQUVDO0FBQ1IsQ0FBQyxFQUNEO0VBQ0VKLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLFlBQVksRUFBRSxHQUFHO0VBQ2pCQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxJQUFJLEVBQUVFO0FBQ1IsQ0FBQyxFQUNEO0VBQ0VMLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLFlBQVksRUFBRSxHQUFHO0VBQ2pCQyxJQUFJLEVBQUUsUUFBUTtFQUNkQyxJQUFJLEVBQUVFO0FBQ1IsQ0FBQyxDQUNGO0FBQ0QsTUFBTUMsT0FBTyxHQUFHdkIsZUFBZSxDQUFDZ0Isa0JBQWtCLENBQUM7QUFDbkQsTUFBTVEsUUFBUSxHQUFHcEIsSUFBSSxDQUFDcUIsU0FBUyxDQUFDdEIsTUFBTSxDQUFDcUIsUUFBUSxDQUFDO0FBRWhELE9BQU8sU0FBU0UsMkJBQTJCQSxDQUN6Q0MsYUFBcUIsRUFDckJKLE9BQVksRUFDTjtFQUNOLE1BQU1LLFdBQVcsR0FBR0wsT0FBTyxDQUFDTSxLQUFLLEdBQzdCTixPQUFPLENBQUNNLEtBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FDeENDLFNBQVM7RUFDYixNQUFNQyxTQUFTLEdBQUcvQixJQUFJLENBQUNnQyxJQUFJLENBQUNYLE9BQU8sQ0FBQ1ksT0FBTyxFQUFFUixhQUFhLENBQUM7RUFFM0QsSUFBSUMsV0FBVyxLQUFLSSxTQUFTLEVBQUU7SUFDN0JqQyxRQUFRLENBQUMsYUFBYTZCLFdBQVcsSUFBSUQsYUFBYSxNQUFNLEVBQUU7TUFDeERTLEdBQUcsRUFBRWIsT0FBTyxDQUFDWSxPQUFPO01BQ3BCRSxHQUFHLEVBQUVDLE9BQU8sQ0FBQ0QsR0FBRztNQUNoQkUsUUFBUSxFQUFFLE9BQU87TUFDakJDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTTtJQUNwQyxDQUFDLENBQUM7RUFDSjtFQUVBLElBQUlqQixPQUFPLENBQUNrQixJQUFJLEVBQUU7SUFDaEJwQyxHQUFHLENBQUNxQyxZQUFZLENBQUNULFNBQVMsQ0FBQztFQUM3QjtBQUNGO0FBRUEsT0FBTyxTQUFTVSxXQUFXQSxDQUN6QkMsTUFBYyxFQUNkQyxLQUFhLEVBQ2JDLE1BQWMsRUFDZGIsU0FBaUIsRUFDakJWLE9BQVksRUFDTjtFQUNOLE1BQU13QixLQUFLLEdBQUdILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDRCxLQUFLO0VBQ3BDLE1BQU1FLFlBQVksR0FBR0wsTUFBTSxDQUFDTSxHQUFHLENBQUNDLFNBQVMsQ0FBQyxDQUFDLENBQUM7RUFDNUMsSUFBSSxDQUFDNUIsT0FBTyxDQUFDNkIsTUFBTSxFQUFFO0lBQ25CQyxPQUFPLENBQUNDLEdBQUcsQ0FDVCxrQkFBa0JMLFlBQVksUUFBUUYsS0FBSyxDQUFDUSxNQUFNLElBQUlSLEtBQUssQ0FBQ1MsR0FBRyxHQUNqRSxDQUFDO0VBQ0g7RUFDQXpELFFBQVEsQ0FDTixzQkFBc0I4QyxLQUFLLElBQUlDLE1BQU0sS0FBS0csWUFBWSxRQUFRQSxZQUFZLElBQUlKLEtBQUssSUFBSUMsTUFBTSxNQUFNLEVBQ25HO0lBQ0VWLEdBQUcsRUFBRUg7RUFDUCxDQUNGLENBQUM7QUFDSDtBQUVBLGVBQWV3QixxQkFBcUJBLENBQUEsRUFBb0I7RUFDdEQsTUFBTXRCLE9BQU8sR0FBR1osT0FBTyxDQUFDWSxPQUFPO0VBQy9CLE1BQU11QixZQUFZLEdBQUcsZ0JBQWdCO0VBQ3JDLE1BQU0vQixhQUFhLEdBQUcsR0FBRytCLFlBQVksSUFBSW5DLE9BQU8sQ0FBQ29DLFdBQVcsRUFBRTtFQUM5RCxNQUFNMUIsU0FBUyxHQUFHL0IsSUFBSSxDQUFDZ0MsSUFBSSxDQUFDQyxPQUFPLEVBQUVSLGFBQWEsQ0FBQztFQUNuRCxNQUFNaUMsV0FBVyxHQUFHckMsT0FBTyxDQUFDc0IsS0FBSztFQUNqQyxNQUFNZ0IsWUFBWSxHQUFHdEMsT0FBTyxDQUFDdUIsTUFBTTtFQUNuQyxNQUFNZ0Isb0JBQW9CLEdBQUcsc0JBQXNCRixXQUFXLElBQUlDLFlBQVksTUFBTTtFQUVwRm5DLDJCQUEyQixDQUFDQyxhQUFhLEVBQUVKLE9BQU8sQ0FBQztFQUNuRHRCLEVBQUUsQ0FBQzhELGFBQWEsQ0FBQzlCLFNBQVMsQ0FBQztFQUUzQixNQUFNK0IsVUFBVSxHQUFHLEVBQUU7RUFFckIsS0FBSyxNQUFNO0lBQUVwQjtFQUFPLENBQUMsSUFBSXRDLHdCQUF3QixDQUMvQzZCLE9BQU8sRUFDUFosT0FBTyxDQUFDb0MsV0FBVyxFQUNuQjtJQUFFTSxZQUFZLEVBQUU7RUFBSyxDQUN2QixDQUFDLEVBQUU7SUFDRCxNQUFNO01BQUVDO0lBQVEsQ0FBQyxHQUFHdEIsTUFBTTtJQUMxQixJQUFJLENBQUNzQixPQUFPLEVBQUU7TUFDWjtJQUNGO0lBQ0EsTUFBTUMsdUJBQXVCLEdBQUdELE9BQU8sQ0FBQ0UsTUFBTSxDQUFFQyxNQUFjLElBQUs7TUFDakUsT0FDRUEsTUFBTSxDQUFDQyxPQUFPLEtBQUs5RCxVQUFVLENBQUMrRCx1QkFBdUIsSUFDckRGLE1BQU0sQ0FBQ1YsV0FBVyxLQUFLcEMsT0FBTyxDQUFDb0MsV0FBVyxJQUMxQ1UsTUFBTSxDQUFDRyxVQUFVLEtBQUtqRSxjQUFjLENBQUNrRSxTQUFTO0lBRWxELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNMLElBQUlOLHVCQUF1QixLQUFLbkMsU0FBUyxFQUFFO01BQ3pDO0lBQ0Y7O0lBRUE7SUFDQSxJQUFJVCxPQUFPLENBQUNtRCxLQUFLLEVBQUU7TUFDakIsTUFBTTNCLEtBQUssR0FBR0gsTUFBTSxDQUFDSSxTQUFTLENBQUNELEtBQUs7TUFDcEMsTUFBTTRCLFlBQVksR0FBRy9CLE1BQU0sQ0FBQ00sR0FBRyxDQUFDQyxTQUFTLENBQUMsQ0FBQyxDQUFDO01BQzVDLE1BQU15QixhQUFhLEdBQUcsR0FBR0QsWUFBWSxNQUFNO01BQzNDLE1BQU1FLGFBQWEsR0FBRzNFLElBQUksQ0FBQ2dDLElBQUksQ0FBQ0QsU0FBUyxFQUFFMkMsYUFBYSxDQUFDO01BQ3pELE1BQU1FLGlCQUFpQixHQUFHLEdBQUdILFlBQVksV0FBVztNQUNwRCxNQUFNSSxpQkFBaUIsR0FBRzdFLElBQUksQ0FBQ2dDLElBQUksQ0FBQ0QsU0FBUyxFQUFFNkMsaUJBQWlCLENBQUM7TUFDakUsTUFBTUUsUUFBUSxHQUFHLG9EQUFvRHpELE9BQU8sQ0FBQ29DLFdBQVcsV0FBV2lCLGFBQWEsRUFBRTtNQUNsSCxJQUFJLENBQUNyRCxPQUFPLENBQUM2QixNQUFNLEVBQUU7UUFDbkJDLE9BQU8sQ0FBQ0MsR0FBRyxDQUNULGlCQUFpQjBCLFFBQVEsUUFBUWpDLEtBQUssQ0FBQ1EsTUFBTSxJQUFJUixLQUFLLENBQUNTLEdBQUcsR0FDNUQsQ0FBQztNQUNIO01BQ0EsS0FBSyxJQUFJeUIsT0FBTyxHQUFHLENBQUMsRUFBRUEsT0FBTyxHQUFHLENBQUMsRUFBRUEsT0FBTyxFQUFFLEVBQUU7UUFDNUMsTUFBTUMsUUFBUSxHQUFHLE1BQU1SLEtBQUssQ0FBQ00sUUFBUSxDQUFDO1FBQ3RDLElBQUlFLFFBQVEsQ0FBQ0MsRUFBRSxFQUFFO1VBQ2YsTUFBTTNELFFBQVEsQ0FDWjBELFFBQVEsQ0FBQ0UsSUFBSSxFQUNibkYsRUFBRSxDQUFDb0YsaUJBQWlCLENBQUNOLGlCQUFpQixDQUN4QyxDQUFDO1VBQ0Q5RSxFQUFFLENBQUNxRixVQUFVLENBQUNQLGlCQUFpQixFQUFFRixhQUFhLENBQUM7VUFDL0M7UUFDRjtRQUNBLElBQUlJLE9BQU8sSUFBSSxDQUFDLEVBQUU7VUFDaEI1QixPQUFPLENBQUNrQyxJQUFJLENBQ1YsaUJBQWlCUCxRQUFRLEtBQUtqQyxLQUFLLENBQUNRLE1BQU0sSUFBSVIsS0FBSyxDQUFDUyxHQUFHLEdBQ3pELENBQUM7VUFDREgsT0FBTyxDQUFDa0MsSUFBSSxDQUFDTCxRQUFRLENBQUNNLE1BQU0sRUFBRU4sUUFBUSxDQUFDTyxVQUFVLENBQUM7VUFDbERwQyxPQUFPLENBQUNrQyxJQUFJLENBQUMsTUFBTUwsUUFBUSxDQUFDUSxJQUFJLENBQUMsQ0FBQyxDQUFDO1VBQ25DLElBQUl6RixFQUFFLENBQUMwRixVQUFVLENBQUNkLGFBQWEsQ0FBQyxFQUFFO1lBQ2hDeEIsT0FBTyxDQUFDa0MsSUFBSSxDQUFDLDZCQUE2QixDQUFDO1VBQzdDLENBQUMsTUFBTTtZQUNMbEMsT0FBTyxDQUFDa0MsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1lBQ3RDdEYsRUFBRSxDQUFDMkYsWUFBWSxDQUFDOUIsb0JBQW9CLEVBQUVlLGFBQWEsQ0FBQztVQUN0RDtVQUNBO1FBQ0Y7TUFDRjs7TUFFQTtNQUNBbEMsV0FBVyxDQUFDQyxNQUFNLEVBQUVnQixXQUFXLEVBQUVDLFlBQVksRUFBRTVCLFNBQVMsRUFBRVYsT0FBTyxDQUFDO0lBQ3BFO0lBRUF5QyxVQUFVLENBQUM2QixJQUFJLENBQUNqRCxNQUFNLENBQUNNLEdBQUcsQ0FBQztFQUM3Qjs7RUFFQTtFQUNBLE1BQU00QyxlQUF5QyxHQUFHLENBQUMsQ0FBQztFQUNwRCxNQUFNQyxhQUF1QixHQUFHLEVBQUU7RUFDbEMsS0FDRSxJQUFJQyxXQUFXLEdBQUcsQ0FBQyxFQUFFQyxRQUFRLEdBQUcsQ0FBQyxFQUNqQ0QsV0FBVyxHQUFHaEMsVUFBVSxDQUFDa0MsTUFBTSxFQUMvQkYsV0FBVyxJQUFJLEVBQUUsRUFBRUMsUUFBUSxFQUFFLEVBQzdCO0lBQ0EsTUFBTUUsR0FBRyxHQUFHbkMsVUFBVSxDQUFDb0MsS0FBSyxDQUFDSixXQUFXLEVBQUVBLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDM0QsTUFBTUssZUFBeUIsR0FBRyxFQUFFO0lBQ3BDLEtBQUssTUFBTSxDQUFDQyxXQUFXLEVBQUVDLFNBQVMsQ0FBQyxJQUFJSixHQUFHLENBQUNLLE9BQU8sQ0FBQyxDQUFDLEVBQUU7TUFDcEQsTUFBTTdCLFlBQVksR0FBRzRCLFNBQVMsQ0FBQ3BELFNBQVMsQ0FBQyxDQUFDLENBQUM7TUFDM0MsTUFBTXlCLGFBQWEsR0FBRyxHQUFHRCxZQUFZLElBQUlmLFdBQVcsSUFBSUMsWUFBWSxNQUFNO01BQzFFd0MsZUFBZSxDQUFDUixJQUFJLENBQUNqQixhQUFhLENBQUM7TUFDbkNrQixlQUFlLENBQUNTLFNBQVMsQ0FBQyxHQUFHO1FBQzNCRSxNQUFNLEVBQUUsR0FBRy9DLFlBQVksSUFBSW5DLE9BQU8sQ0FBQ29DLFdBQVcsSUFBSWlCLGFBQWEsRUFBRTtRQUNqRThCLGNBQWMsRUFBRSxHQUFHaEQsWUFBWSxJQUFJbkMsT0FBTyxDQUFDb0MsV0FBVyxjQUFjO1FBQ3BFZ0QsT0FBTyxFQUFFL0MsV0FBVztRQUNwQmdELE9BQU8sRUFBRS9DLFlBQVk7UUFDckJnRCxTQUFTLEVBQUVQLFdBQVcsR0FBRzFDLFdBQVc7UUFDcENrRCxTQUFTLEVBQUViLFFBQVEsR0FBR3BDO01BQ3hCLENBQUM7SUFDSDtJQUNBLE1BQU1rRCxXQUFXLEdBQUcsT0FBT2QsUUFBUSxNQUFNO0lBQ3pDbEcsUUFBUSxDQUFDLGNBQWNzRyxlQUFlLENBQUNuRSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVk2RSxXQUFXLEVBQUUsRUFBRTtNQUN6RTNFLEdBQUcsRUFBRUg7SUFDUCxDQUFDLENBQUM7SUFDRjhELGFBQWEsQ0FBQ0YsSUFBSSxDQUFDa0IsV0FBVyxDQUFDO0VBQ2pDO0VBQ0FoSCxRQUFRLENBQUMsY0FBY2dHLGFBQWEsQ0FBQzdELElBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUU7SUFDcEVFLEdBQUcsRUFBRUg7RUFDUCxDQUFDLENBQUM7RUFDRixLQUFLLE1BQU04RSxXQUFXLElBQUloQixhQUFhLEVBQUU7SUFDdkM5RixFQUFFLENBQUMrRyxVQUFVLENBQUM5RyxJQUFJLENBQUNnQyxJQUFJLENBQUNELFNBQVMsRUFBRThFLFdBQVcsQ0FBQyxDQUFDO0VBQ2xEO0VBRUEsTUFBTUUsWUFBWSxHQUFHL0csSUFBSSxDQUFDZ0MsSUFBSSxDQUFDRCxTQUFTLEVBQUUsY0FBYyxDQUFDO0VBQ3pEaEMsRUFBRSxDQUFDaUgsYUFBYSxDQUFDRCxZQUFZLEVBQUVFLElBQUksQ0FBQ0MsU0FBUyxDQUFDdEIsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztFQUV4RSxJQUFJdkUsT0FBTyxDQUFDOEYsTUFBTSxFQUFFO0lBQ2xCLE9BQU9oSCxHQUFHLENBQUNpSCxhQUFhLENBQUNyRixTQUFTLEVBQUUsa0JBQWtCLEVBQUVWLE9BQU8sQ0FBQ2dHLE1BQU0sQ0FBQztFQUN6RTtFQUNBLE9BQU8sQ0FBQztBQUNWO0FBRUE5RCxxQkFBcUIsQ0FBQyxDQUFDLENBQ3BCK0QsSUFBSSxDQUFFQyxRQUFRLElBQUtuRixPQUFPLENBQUNvRixJQUFJLENBQUNELFFBQVEsQ0FBQyxDQUFDLENBQzFDRSxLQUFLLENBQUVDLEtBQUssSUFBSztFQUNoQnZFLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDc0UsS0FBSyxDQUFDO0VBQ2xCdEYsT0FBTyxDQUFDb0YsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
149
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleGVjU3luYyIsImNvbW1hbmRMaW5lQXJncyIsImZzIiwicGF0aCIsInN0cmVhbSIsInV0aWwiLCJnaXQiLCJpdGVyTG9hZEFzc2VtYmxlZUFjdGV1cnMiLCJDb2RlVHlwZU9yZ2FuZSIsIlR5cGVNYW5kYXQiLCJjbG9uZU9wdGlvbiIsImNvbW1pdE9wdGlvbiIsInJlbW90ZU9wdGlvbiIsInNpbGVudE9wdGlvbiIsImRhdGFEaXJEZWZhdWx0T3B0aW9uIiwicHVsbE9wdGlvbiIsImxlZ2lzbGF0dXJlT3B0aW9uIiwiZmV0Y2hPcHRpb24iLCJvcHRpb25zRGVmaW5pdGlvbnMiLCJhbGlhcyIsImRlZmF1bHRWYWx1ZSIsIm5hbWUiLCJ0eXBlIiwiTnVtYmVyIiwib3B0aW9ucyIsImNsb25lQW5kVXBkYXRlR2l0UmVwb3NpdG9yeSIsInBob3Rvc0Rpck5hbWUiLCJnaXRHcm91cFVybCIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJwaG90b3NEaXIiLCJqb2luIiwiZGF0YURpciIsInB1bGwiLCJyZXNldEFuZFB1bGwiLCJyZXNpemVQaG90byIsImFjdGV1ciIsIndpZHRoIiwiaGVpZ2h0IiwicGhvdG9GaWxlbmFtZSIsImlkZW50IiwiZXRhdENpdmlsIiwic2lsZW50IiwiY29uc29sZSIsImxvZyIsInByZW5vbSIsIm5vbSIsImN3ZCIsImRvd25sb2FkUGhvdG8iLCJ1cmxQaG90byIsInBob3RvVGVtcEZpbGVQYXRoIiwicGhvdG9GaWxlUGF0aCIsIm1pc3NpbmdQaG90b0ZpbGVQYXRoIiwicmV0cmllcyIsInBpcGVsaW5lIiwicHJvbWlzaWZ5IiwiYXR0ZW1wdCIsInJlc3BvbnNlIiwiZmV0Y2giLCJvayIsImJvZHkiLCJjcmVhdGVXcml0ZVN0cmVhbSIsInJlbmFtZVN5bmMiLCJ3YXJuIiwic3RhdHVzIiwic3RhdHVzVGV4dCIsImVycm9yIiwiZXhpc3RzU3luYyIsImNvcHlGaWxlU3luYyIsImNyZWF0ZU1vc2FpYyIsImFjdGV1clVpZHMiLCJwaG90b3NXaWR0aCIsInBob3Rvc0hlaWdodCIsIm1vc2FpY0ZpbGVuYW1lIiwicGhvdG9CeUlkQWN0ZXVyIiwicm93c0ZpbGVuYW1lcyIsImxlbmd0aCIsImFjdGV1ckluZGV4Iiwicm93SW5kZXgiLCJyb3ciLCJzbGljZSIsInBob3Rvc0ZpbGVuYW1lcyIsIm1hcCIsImFjdGV1clVpZCIsImNvbHVtbkluZGV4IiwiY2hlbWluIiwiY2hlbWluTW9zYWlxdWUiLCJsYXJnZXVyIiwiaGF1dGV1ciIsInhNb3NhaXF1ZSIsInlNb3NhaXF1ZSIsInJvd0ZpbGVuYW1lIiwicHVzaCIsImZvckVhY2giLCJ1bmxpbmtTeW5jIiwianNvbkZpbGVQYXRoIiwid3JpdGVGaWxlU3luYyIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZXRyaWV2ZVBob3Rvc0RlcHV0ZXMiLCJsZWdpc2xhdHVyZSIsInRvU3RyaW5nIiwiZW5zdXJlRGlyU3luYyIsIm5vVmFsaWRhdGlvbiIsIm1hbmRhdHMiLCJtYW5kYXREZXB1dGUiLCJmaW5kIiwibWFuZGF0IiwieHNpVHlwZSIsIk1hbmRhdFBhcmxlbWVudGFpcmVUeXBlIiwidHlwZU9yZ2FuZSIsIkFzc2VtYmxlZSIsIm51bWVyb0RlcHV0ZSIsInVpZCIsInN1YnN0cmluZyIsInBob3RvVGVtcEZpbGVuYW1lIiwiY29tbWl0IiwiY29tbWl0QW5kUHVzaCIsInJlbW90ZSIsInRoZW4iLCJleGl0Q29kZSIsInByb2Nlc3MiLCJleGl0IiwiY2F0Y2giXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9yZXRyaWV2ZV9kZXB1dGVzX3Bob3Rvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCJcbmltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IHN0cmVhbSBmcm9tIFwic3RyZWFtXCJcbmltcG9ydCB1dGlsIGZyb20gXCJ1dGlsXCJcbmltcG9ydCAqIGFzIGdpdCBmcm9tIFwiLi4vZ2l0XCJcblxuaW1wb3J0IHsgaXRlckxvYWRBc3NlbWJsZWVBY3RldXJzIH0gZnJvbSBcIi4uL2xvYWRlcnNcIlxuaW1wb3J0IHtcbiAgQWN0ZXVyLFxuICBDb2RlVHlwZU9yZ2FuZSxcbiAgTWFuZGF0LFxuICBQaG90byxcbiAgVHlwZU1hbmRhdCxcbn0gZnJvbSBcIi4uL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQge1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIHB1bGxPcHRpb24sXG4gIGxlZ2lzbGF0dXJlT3B0aW9uLFxuICBmZXRjaE9wdGlvbixcbn0gZnJvbSBcIi4vc2hhcmVkL2NsaV9oZWxwZXJzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIHB1bGxPcHRpb24sXG4gIGZldGNoT3B0aW9uLFxuICBsZWdpc2xhdHVyZU9wdGlvbixcbiAge1xuICAgIGFsaWFzOiBcIndcIixcbiAgICBkZWZhdWx0VmFsdWU6IDE1MCxcbiAgICBuYW1lOiBcIndpZHRoXCIsXG4gICAgdHlwZTogTnVtYmVyLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiaFwiLFxuICAgIGRlZmF1bHRWYWx1ZTogMTkyLFxuICAgIG5hbWU6IFwiaGVpZ2h0XCIsXG4gICAgdHlwZTogTnVtYmVyLFxuICB9LFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9uZUFuZFVwZGF0ZUdpdFJlcG9zaXRvcnkoXG4gIHBob3Rvc0Rpck5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogYW55LFxuKTogdm9pZCB7XG4gIGNvbnN0IGdpdEdyb3VwVXJsID0gb3B0aW9ucy5jbG9uZVxuICAgID8gb3B0aW9ucy5jbG9uZS50cmltKCkucmVwbGFjZSgvXFwvKyQvLCBcIlwiKVxuICAgIDogdW5kZWZpbmVkXG4gIGNvbnN0IHBob3Rvc0RpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIHBob3Rvc0Rpck5hbWUpXG4gIGdpdC5jbG9uZShnaXRHcm91cFVybCwgcGhvdG9zRGlyTmFtZSwgb3B0aW9ucy5kYXRhRGlyKVxuXG4gIGlmIChvcHRpb25zLnB1bGwpIHtcbiAgICBnaXQucmVzZXRBbmRQdWxsKHBob3Rvc0RpcilcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzaXplUGhvdG8oXG4gIGFjdGV1cjogQWN0ZXVyLFxuICB3aWR0aDogbnVtYmVyLFxuICBoZWlnaHQ6IG51bWJlcixcbiAgcGhvdG9zRGlyOiBzdHJpbmcsXG4gIHBob3RvRmlsZW5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogYW55LFxuKTogdm9pZCB7XG4gIGNvbnN0IGlkZW50ID0gYWN0ZXVyLmV0YXRDaXZpbC5pZGVudFxuICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBgUmVzaXppbmcgcGhvdG8gJHtwaG90b0ZpbGVuYW1lfSBmb3IgJHtpZGVudC5wcmVub219ICR7aWRlbnQubm9tfeKApmAsXG4gICAgKVxuICB9XG4gIGV4ZWNTeW5jKFxuICAgIGBnbSBjb252ZXJ0IC1yZXNpemUgJHt3aWR0aH14JHtoZWlnaHR9ISAke3Bob3RvRmlsZW5hbWV9LmpwZyAke3Bob3RvRmlsZW5hbWV9XyR7d2lkdGh9eCR7aGVpZ2h0fS5qcGdgLFxuICAgIHtcbiAgICAgIGN3ZDogcGhvdG9zRGlyLFxuICAgIH0sXG4gIClcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvd25sb2FkUGhvdG8oXG4gIHVybFBob3RvOiBzdHJpbmcsXG4gIHBob3RvVGVtcEZpbGVQYXRoOiBzdHJpbmcsXG4gIHBob3RvRmlsZVBhdGg6IHN0cmluZyxcbiAgbWlzc2luZ1Bob3RvRmlsZVBhdGg6IHN0cmluZyxcbiAgcmV0cmllczogbnVtYmVyID0gMyxcbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBwaXBlbGluZSA9IHV0aWwucHJvbWlzaWZ5KHN0cmVhbS5waXBlbGluZSlcblxuICBmb3IgKGxldCBhdHRlbXB0ID0gMTsgYXR0ZW1wdCA8PSByZXRyaWVzOyBhdHRlbXB0KyspIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmxQaG90bylcblxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgIGF3YWl0IHBpcGVsaW5lKFxuICAgICAgICAgIHJlc3BvbnNlLmJvZHkgYXMgdW5rbm93biBhcyBOb2RlSlMuUmVhZGFibGVTdHJlYW0sXG4gICAgICAgICAgZnMuY3JlYXRlV3JpdGVTdHJlYW0ocGhvdG9UZW1wRmlsZVBhdGgpLFxuICAgICAgICApXG4gICAgICAgIGZzLnJlbmFtZVN5bmMocGhvdG9UZW1wRmlsZVBhdGgsIHBob3RvRmlsZVBhdGgpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zb2xlLndhcm4oYEZldGNoIGZhaWxlZDogJHt1cmxQaG90b30gKEF0dGVtcHQgJHthdHRlbXB0fSkgLSBTdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfSAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgICBjb25zb2xlLndhcm4oYEF0dGVtcHQgJHthdHRlbXB0fSBmYWlsZWQgZm9yICR7dXJsUGhvdG99YCwgZXJyb3IpXG4gICAgfVxuICB9XG5cbiAgaWYgKGZzLmV4aXN0c1N5bmMocGhvdG9GaWxlUGF0aCkpIHtcbiAgICBjb25zb2xlLndhcm4oYFJldXNpbmcgZXhpc3RpbmcgaW1hZ2U6ICR7cGhvdG9GaWxlUGF0aH1gKVxuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUud2FybihgVXNpbmcgYmxhbmsgaW1hZ2U6ICR7bWlzc2luZ1Bob3RvRmlsZVBhdGh9YClcbiAgICBmcy5jb3B5RmlsZVN5bmMobWlzc2luZ1Bob3RvRmlsZVBhdGgsIHBob3RvRmlsZVBhdGgpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vc2FpYyhcbiAgYWN0ZXVyVWlkczogc3RyaW5nW10sXG4gIHBob3Rvc0Rpcjogc3RyaW5nLFxuICBwaG90b3NXaWR0aDogbnVtYmVyLFxuICBwaG90b3NIZWlnaHQ6IG51bWJlcixcbiAgbW9zYWljRmlsZW5hbWU6IHN0cmluZ1xuKTogdm9pZCB7XG4gIGNvbnN0IHBob3RvQnlJZEFjdGV1cjogeyBbdWlkOiBzdHJpbmddOiBQaG90byB9ID0ge307XG4gIGNvbnN0IHJvd3NGaWxlbmFtZXM6IHN0cmluZ1tdID0gW107XG5cbiAgaWYoYWN0ZXVyVWlkcy5sZW5ndGggPT09IDApIHJldHVyblxuXG4gIGZvciAobGV0IGFjdGV1ckluZGV4ID0gMCwgcm93SW5kZXggPSAwOyBhY3RldXJJbmRleCA8IGFjdGV1clVpZHMubGVuZ3RoOyBhY3RldXJJbmRleCArPSAyNSwgcm93SW5kZXgrKykge1xuICAgIGNvbnN0IHJvdyA9IGFjdGV1clVpZHMuc2xpY2UoYWN0ZXVySW5kZXgsIGFjdGV1ckluZGV4ICsgMjUpO1xuICAgIGNvbnN0IHBob3Rvc0ZpbGVuYW1lczogc3RyaW5nW10gPSByb3cubWFwKChhY3RldXJVaWQsIGNvbHVtbkluZGV4KSA9PiB7XG4gICAgICBjb25zdCBwaG90b0ZpbGVuYW1lID0gYCR7YWN0ZXVyVWlkfV8ke3Bob3Rvc1dpZHRofXgke3Bob3Rvc0hlaWdodH0uanBnYDtcbiAgICAgIHBob3RvQnlJZEFjdGV1clthY3RldXJVaWRdID0ge1xuICAgICAgICBjaGVtaW46IGAke3Bob3Rvc0Rpcn0vJHtwaG90b0ZpbGVuYW1lfWAsXG4gICAgICAgIGNoZW1pbk1vc2FpcXVlOiBgJHtwaG90b3NEaXJ9LyR7bW9zYWljRmlsZW5hbWV9LmpwZ2AsXG4gICAgICAgIGxhcmdldXI6IHBob3Rvc1dpZHRoLFxuICAgICAgICBoYXV0ZXVyOiBwaG90b3NIZWlnaHQsXG4gICAgICAgIHhNb3NhaXF1ZTogY29sdW1uSW5kZXggKiBwaG90b3NXaWR0aCxcbiAgICAgICAgeU1vc2FpcXVlOiByb3dJbmRleCAqIHBob3Rvc0hlaWdodCxcbiAgICAgIH07XG4gICAgICByZXR1cm4gcGhvdG9GaWxlbmFtZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHJvd0ZpbGVuYW1lID0gYHJvdy0ke3Jvd0luZGV4fS5qcGdgO1xuICAgIGV4ZWNTeW5jKGBnbSBjb252ZXJ0ICR7cGhvdG9zRmlsZW5hbWVzLmpvaW4oJyAnKX0gK2FwcGVuZCAke3Jvd0ZpbGVuYW1lfWAsIHsgY3dkOiBwaG90b3NEaXIgfSk7XG4gICAgcm93c0ZpbGVuYW1lcy5wdXNoKHJvd0ZpbGVuYW1lKTtcbiAgfVxuXG4gIC8vIENvbWJpbmUgYWxsIHJvd3MgaW50byBvbmUgaW1hZ2VcbiAgZXhlY1N5bmMoYGdtIGNvbnZlcnQgJHtyb3dzRmlsZW5hbWVzLmpvaW4oJyAnKX0gLWFwcGVuZCAke21vc2FpY0ZpbGVuYW1lfS5qcGdgLCB7IGN3ZDogcGhvdG9zRGlyIH0pO1xuXG4gIC8vIENsZWFudXAgaW5kaXZpZHVhbCByb3cgaW1hZ2VzXG4gIHJvd3NGaWxlbmFtZXMuZm9yRWFjaChyb3dGaWxlbmFtZSA9PiB7XG4gICAgZnMudW5saW5rU3luYyhwYXRoLmpvaW4ocGhvdG9zRGlyLCByb3dGaWxlbmFtZSkpO1xuICB9KTtcblxuICBjb25zdCBqc29uRmlsZVBhdGggPSBwYXRoLmpvaW4ocGhvdG9zRGlyLCBgJHttb3NhaWNGaWxlbmFtZX0uanNvbmApO1xuICBmcy53cml0ZUZpbGVTeW5jKGpzb25GaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkocGhvdG9CeUlkQWN0ZXVyLCBudWxsLCAyKSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJldHJpZXZlUGhvdG9zRGVwdXRlcygpOiBQcm9taXNlPG51bWJlcj4ge1xuICBjb25zdCBkYXRhRGlyID0gb3B0aW9ucy5kYXRhRGlyXG4gIGNvbnN0IHBob3Rvc0Rpck5hbWUgPSBgcGhvdG9zX2RlcHV0ZXMke29wdGlvbnMubGVnaXNsYXR1cmUgPyBcIl9cIiArIG9wdGlvbnMubGVnaXNsYXR1cmUudG9TdHJpbmcoKTogXCJcIn1gXG4gIGNvbnN0IHBob3Rvc0RpciA9IHBhdGguam9pbihkYXRhRGlyLCBwaG90b3NEaXJOYW1lKVxuICBjb25zdCBwaG90b3NXaWR0aCA9IG9wdGlvbnMud2lkdGhcbiAgY29uc3QgcGhvdG9zSGVpZ2h0ID0gb3B0aW9ucy5oZWlnaHRcbiAgY29uc3QgbWlzc2luZ1Bob3RvRmlsZVBhdGggPSBgaW1hZ2VzL3RyYW5zcGFyZW50XyR7cGhvdG9zV2lkdGh9eCR7cGhvdG9zSGVpZ2h0fS5qcGdgXG5cbiAgY2xvbmVBbmRVcGRhdGVHaXRSZXBvc2l0b3J5KHBob3Rvc0Rpck5hbWUsIG9wdGlvbnMpXG4gIGZzLmVuc3VyZURpclN5bmMocGhvdG9zRGlyKVxuXG4gIGNvbnN0IGFjdGV1clVpZHMgPSBbXVxuICBmb3IgKGNvbnN0IHsgYWN0ZXVyIH0gb2YgaXRlckxvYWRBc3NlbWJsZWVBY3RldXJzKFxuICAgIGRhdGFEaXIsXG4gICAgb3B0aW9ucy5sZWdpc2xhdHVyZSxcbiAgICB7IG5vVmFsaWRhdGlvbjogdHJ1ZSB9LFxuICApKSB7XG4gICAgY29uc3QgeyBtYW5kYXRzIH0gPSBhY3RldXJcbiAgICBpZiAoIW1hbmRhdHMpIGNvbnRpbnVlXG5cbiAgICBjb25zdCBtYW5kYXREZXB1dGUgPSBtYW5kYXRzLmZpbmQoXG4gICAgICAobWFuZGF0OiBNYW5kYXQpID0+IFxuICAgICAgICBtYW5kYXQueHNpVHlwZSA9PT0gVHlwZU1hbmRhdC5NYW5kYXRQYXJsZW1lbnRhaXJlVHlwZSAmJlxuICAgICAgICBtYW5kYXQubGVnaXNsYXR1cmUgPT09IG9wdGlvbnMubGVnaXNsYXR1cmU/LnRvU3RyaW5nKCkgJiZcbiAgICAgICAgbWFuZGF0LnR5cGVPcmdhbmUgPT09IENvZGVUeXBlT3JnYW5lLkFzc2VtYmxlZVxuICAgIClcbiAgICBpZiAoIW1hbmRhdERlcHV0ZSkgY29udGludWVcbiAgXG4gICAgY29uc3QgbnVtZXJvRGVwdXRlID0gYWN0ZXVyLnVpZC5zdWJzdHJpbmcoMilcbiAgICBcbiAgICAvLyBEb3dubG9hZCBwaG90b3MuXG4gICAgaWYgKG9wdGlvbnMuZmV0Y2gpIHtcbiAgICAgIGNvbnN0IGlkZW50ID0gYWN0ZXVyLmV0YXRDaXZpbC5pZGVudFxuICAgICAgY29uc3QgcGhvdG9GaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX0uanBnYFxuICAgICAgY29uc3QgcGhvdG9GaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvRmlsZW5hbWUpXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX1fdGVtcC5qcGdgXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvVGVtcEZpbGVuYW1lKVxuICAgICAgY29uc3QgdXJsUGhvdG8gPSBgaHR0cDovL3d3dzIuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvdHJpYnVuLyR7b3B0aW9ucy5sZWdpc2xhdHVyZX0vcGhvdG9zLyR7cGhvdG9GaWxlbmFtZX1gXG4gICAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBMb2FkaW5nIHBob3RvICR7dXJsUGhvdG99IGZvciAke2lkZW50LnByZW5vbX0gJHtpZGVudC5ub2194oCmYCxcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBkb3dubG9hZFBob3RvKHVybFBob3RvLCBwaG90b1RlbXBGaWxlUGF0aCwgcGhvdG9GaWxlUGF0aCwgbWlzc2luZ1Bob3RvRmlsZVBhdGgpXG4gICAgICByZXNpemVQaG90byhhY3RldXIsIHBob3Rvc1dpZHRoLCBwaG90b3NIZWlnaHQsIHBob3Rvc0RpciwgbnVtZXJvRGVwdXRlLCBvcHRpb25zKVxuICAgIH1cblxuICAgIGFjdGV1clVpZHMucHVzaChudW1lcm9EZXB1dGUpXG4gIH1cblxuICBjcmVhdGVNb3NhaWMoYWN0ZXVyVWlkcywgcGhvdG9zRGlyLCBwaG90b3NXaWR0aCwgcGhvdG9zSGVpZ2h0LCAnZGVwdXRlcycpXG5cbiAgaWYgKG9wdGlvbnMuY29tbWl0KSB7XG4gICAgcmV0dXJuIGdpdC5jb21taXRBbmRQdXNoKHBob3Rvc0RpciwgXCJOb3V2ZWxsZSBtb2lzc29uXCIsIG9wdGlvbnMucmVtb3RlKVxuICB9XG4gIHJldHVybiAwXG59XG5cbnJldHJpZXZlUGhvdG9zRGVwdXRlcygpXG4gIC50aGVuKChleGl0Q29kZSkgPT4gcHJvY2Vzcy5leGl0KGV4aXRDb2RlKSlcbiAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgIHByb2Nlc3MuZXhpdCgxKVxuICB9KVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLFFBQVEsZUFBZTtBQUN4QyxPQUFPQyxlQUFlLE1BQU0sbUJBQW1CO0FBQy9DLE9BQU9DLEVBQUUsTUFBTSxVQUFVO0FBQ3pCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQ3ZCLE9BQU9DLE1BQU0sTUFBTSxRQUFRO0FBQzNCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQUEsT0FDaEIsS0FBS0MsR0FBRztBQUFBLFNBRU5DLHdCQUF3QjtBQUFBLFNBRy9CQyxjQUFjLEVBR2RDLFVBQVU7QUFBQSxTQUdWQyxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsWUFBWSxFQUNaQyxZQUFZLEVBQ1pDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxpQkFBaUIsRUFDakJDLFdBQVc7QUFHYixNQUFNQyxrQkFBa0IsR0FBRyxDQUN6QlIsV0FBVyxFQUNYQyxZQUFZLEVBQ1pD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
|
|
@@ -33,7 +33,6 @@ require("core-js/modules/es.string.iterator.js");
|
|
|
33
33
|
require("core-js/modules/es.string.replace.js");
|
|
34
34
|
require("core-js/modules/es.string.trim.js");
|
|
35
35
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
36
|
-
var _child_process = require("child_process");
|
|
37
36
|
var _commandLineArgs = _interopRequireDefault(require("command-line-args"));
|
|
38
37
|
var _deepEqual = _interopRequireDefault(require("deep-equal"));
|
|
39
38
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
@@ -76,14 +75,7 @@ function _main() {
|
|
|
76
75
|
while (1) switch (_context.prev = _context.next) {
|
|
77
76
|
case 0:
|
|
78
77
|
gitGroupUrl = options.clone ? options.clone.trim().replace(/\/+$/, "") : undefined;
|
|
79
|
-
|
|
80
|
-
(0, _child_process.execSync)("git clone ".concat(gitGroupUrl, "/Amendements_en_attente.git"), {
|
|
81
|
-
cwd: options.dataDir,
|
|
82
|
-
env: process.env,
|
|
83
|
-
encoding: "utf-8",
|
|
84
|
-
stdio: ["ignore", "ignore", "pipe"]
|
|
85
|
-
});
|
|
86
|
-
}
|
|
78
|
+
git.clone(gitGroupUrl, "Amendements_en_attente", options.dataDir);
|
|
87
79
|
amendementsDir = _path["default"].join(options.dataDir, "Amendements_en_attente");
|
|
88
80
|
if (options.pull) {
|
|
89
81
|
git.resetAndPull(amendementsDir);
|
|
@@ -211,4 +203,4 @@ main().then(function (exitCode) {
|
|
|
211
203
|
console.log(error);
|
|
212
204
|
process.exit(1);
|
|
213
205
|
});
|
|
214
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hpbGRfcHJvY2VzcyIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9kZWVwRXF1YWwiLCJfZnNFeHRyYSIsIl9wYXRoIiwiZ2l0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcGFyc2VycyIsIl9jbGlfaGVscGVycyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJwcm90b3R5cGUiLCJvIiwidmFsdWUiLCJTeW1ib2wiLCJpdGVyYXRvciIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJ0b1N0cmluZyIsInRlc3QiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfYXN5bmNJdGVyYXRvciIsIkFzeW5jRnJvbVN5bmNJdGVyYXRvciIsIkFzeW5jRnJvbVN5bmNJdGVyYXRvckNvbnRpbnVhdGlvbiIsInJlamVjdCIsIl9yZXR1cm4iLCJvcHRpb25zRGVmaW5pdGlvbnMiLCJjbG9uZU9wdGlvbiIsImNvbW1pdE9wdGlvbiIsImxlZ2lzbGF0dXJlT3B0aW9uIiwicmVtb3RlT3B0aW9uIiwic2lsZW50T3B0aW9uIiwidmVyYm9zZU9wdGlvbiIsImRhdGFEaXJEZWZhdWx0T3B0aW9uIiwicHVsbE9wdGlvbiIsImFsaWFzIiwiaGVscCIsIkJvb2xlYW4iLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwibWFpbiIsIl9tYWluIiwiX2NhbGxlZSIsImdpdEdyb3VwVXJsIiwiYW1lbmRlbWVudHNEaXIiLCJjYWNoZURpciIsIl9pIiwiX2FyciIsImV0YXQiLCJ1cmwiLCJfaXRlcmF0b3JBYnJ1cHRDb21wbGV0aW9uIiwiX2RpZEl0ZXJhdG9yRXJyb3IiLCJfaXRlcmF0b3JFcnJvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiX3N0ZXAkdmFsdWUiLCJhbWVuZGVtZW50VXJsUGF0aCIsImFtZW5kZW1lbnQiLCJhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkIiwiYW1lbmRlbWVudEZpbGVQYXRoIiwiZXhpc3RpbmdBbWVuZGVtZW50IiwiX2NhbGxlZSQiLCJfY29udGV4dCIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJleGVjU3luYyIsImNvbmNhdCIsImN3ZCIsImRhdGFEaXIiLCJlbnYiLCJwcm9jZXNzIiwiZW5jb2RpbmciLCJzdGRpbyIsInBhdGgiLCJqb2luIiwicHVsbCIsInJlc2V0QW5kUHVsbCIsImZzIiwiZW5zdXJlRGlyIiwibGVnaXNsYXR1cmUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMiLCJpbmNyZW1lbnRhbCIsInNpbGVudCIsInZlcmJvc2UiLCJzcGxpdCIsImRpcm5hbWUiLCJwYXRoRXhpc3RzIiwicmVhZEpzb24iLCJ0MCIsImRlZXBFcXVhbCIsImNvbnNvbGUiLCJsb2ciLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJ0MSIsImNvbW1pdCIsImNvbW1pdEFuZFB1c2giLCJyZW1vdGUiLCJleGl0Q29kZSIsImV4aXQiLCJlcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3JldHJpZXZlX3BlbmRpbmdfYW1lbmRtZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCJcbmltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBkZWVwRXF1YWwgZnJvbSBcImRlZXAtZXF1YWxcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmltcG9ydCAqIGFzIGdpdCBmcm9tIFwiLi4vZ2l0XCJcbmltcG9ydCB7IGl0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyB9IGZyb20gXCIuLi9wYXJzZXJzXCJcbmltcG9ydCB7XG4gIGNsb25lT3B0aW9uLFxuICBjb21taXRPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBsZWdpc2xhdHVyZU9wdGlvbixcbiAgcHVsbE9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIHZlcmJvc2VPcHRpb24sXG59IGZyb20gXCIuL3NoYXJlZC9jbGlfaGVscGVyc1wiXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAgY2xvbmVPcHRpb24sXG4gIGNvbW1pdE9wdGlvbixcbiAgbGVnaXNsYXR1cmVPcHRpb24sXG4gIHJlbW90ZU9wdGlvbixcbiAgc2lsZW50T3B0aW9uLFxuICB2ZXJib3NlT3B0aW9uLFxuICBkYXRhRGlyRGVmYXVsdE9wdGlvbixcbiAgcHVsbE9wdGlvbixcbiAge1xuICAgIGFsaWFzOiBcImlcIixcbiAgICBoZWxwOiBcImluY3JlbWVudGFsIG1vZGU6IHJldHJpZXZlIG9ubHkgYW1lbmRtZW50cyB3aG9zZSBwb3NpdGlvbiBpbiBzZWFyY2ggaGFzIGNoYW5nZWRcIixcbiAgICBuYW1lOiBcImluY3JlbWVudGFsXCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuXG5hc3luYyBmdW5jdGlvbiBtYWluKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gIGNvbnN0IGdpdEdyb3VwVXJsID0gb3B0aW9ucy5jbG9uZVxuICAgID8gb3B0aW9ucy5jbG9uZS50cmltKCkucmVwbGFjZSgvXFwvKyQvLCBcIlwiKVxuICAgIDogdW5kZWZpbmVkXG4gIGlmIChnaXRHcm91cFVybCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZXhlY1N5bmMoYGdpdCBjbG9uZSAke2dpdEdyb3VwVXJsfS9BbWVuZGVtZW50c19lbl9hdHRlbnRlLmdpdGAsIHtcbiAgICAgIGN3ZDogb3B0aW9ucy5kYXRhRGlyLFxuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgIGVuY29kaW5nOiBcInV0Zi04XCIsXG4gICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwiaWdub3JlXCIsIFwicGlwZVwiXSxcbiAgICB9KVxuICB9XG4gIGNvbnN0IGFtZW5kZW1lbnRzRGlyID0gcGF0aC5qb2luKG9wdGlvbnMuZGF0YURpciwgXCJBbWVuZGVtZW50c19lbl9hdHRlbnRlXCIpXG4gIGlmIChvcHRpb25zLnB1bGwpIHtcbiAgICBnaXQucmVzZXRBbmRQdWxsKGFtZW5kZW1lbnRzRGlyKVxuICB9XG5cbiAgYXdhaXQgZnMuZW5zdXJlRGlyKGFtZW5kZW1lbnRzRGlyKVxuICBjb25zdCBjYWNoZURpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIFwiQW1lbmRlbWVudHNfZW5fYXR0ZW50ZV9jYWNoZVwiKVxuICBmb3IgKGNvbnN0IGV0YXQgb2YgW1wiRW4gcmVjZXZhYmlsaXTDqVwiLCBcIkVuIHRyYWl0ZW1lbnRcIl0pIHtcbiAgICBjb25zdCB1cmwgPSBgaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9keW4vJHtcbiAgICAgIG9wdGlvbnMubGVnaXNsYXR1cmVcbiAgICB9L2FtZW5kZW1lbnRzP2V0YXQ9JHtlbmNvZGVVUklDb21wb25lbnQoZXRhdCl9YFxuICAgIGZvciBhd2FpdCAoY29uc3QgW1xuICAgICAgYW1lbmRlbWVudFVybFBhdGgsXG4gICAgICBhbWVuZGVtZW50LFxuICAgIF0gb2YgaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzKFxuICAgICAgY2FjaGVEaXIsXG4gICAgICB1cmwsXG4gICAgICBvcHRpb25zLmluY3JlbWVudGFsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICB7IHNpbGVudDogb3B0aW9ucy5zaWxlbnQsIHZlcmJvc2U6IG9wdGlvbnMudmVyYm9zZSB9LFxuICAgICkpIHtcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQgPSBhbWVuZGVtZW50VXJsUGF0aCEuc3BsaXQoXCIvXCIpXG4gICAgICBjb25zdCBhbWVuZGVtZW50RmlsZVBhdGggPVxuICAgICAgICBwYXRoLmpvaW4oYW1lbmRlbWVudHNEaXIsIC4uLmFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQuc2xpY2UoMikpICtcbiAgICAgICAgXCIuanNvblwiXG4gICAgICBhd2FpdCBmcy5lbnN1cmVEaXIocGF0aC5kaXJuYW1lKGFtZW5kZW1lbnRGaWxlUGF0aCkpXG4gICAgICBjb25zdCBleGlzdGluZ0FtZW5kZW1lbnQgPSAoYXdhaXQgZnMucGF0aEV4aXN0cyhhbWVuZGVtZW50RmlsZVBhdGgpKVxuICAgICAgICA/IGF3YWl0IGZzLnJlYWRKc29uKGFtZW5kZW1lbnRGaWxlUGF0aClcbiAgICAgICAgOiBudWxsXG4gICAgICBpZiAoIWRlZXBFcXVhbChhbWVuZGVtZW50LCBleGlzdGluZ0FtZW5kZW1lbnQpKSB7XG4gICAgICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgICAgICBpZiAoZXhpc3RpbmdBbWVuZGVtZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQWRkaW5nIGFtZW5kZW1lbnQgSlNPTjogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYFVwZGF0aW5nIGFtZW5kZW1lbnQgSlNPTjogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgZnMud3JpdGVKc29uKGFtZW5kZW1lbnRGaWxlUGF0aCwgYW1lbmRlbWVudCwgeyBzcGFjZXM6IDIgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAob3B0aW9ucy5jb21taXQpIHtcbiAgICByZXR1cm4gZ2l0LmNvbW1pdEFuZFB1c2goYW1lbmRlbWVudHNEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgfVxuICByZXR1cm4gMFxufVxuXG5tYWluKClcbiAgLnRoZW4oKGV4aXRDb2RlKSA9PiBwcm9jZXNzLmV4aXQoZXhpdENvZGUpKVxuICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgcHJvY2Vzcy5leGl0KDEpXG4gIH0pXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZ0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFNLEdBQUEsR0FBQUMsdUJBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFRLFFBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVQsT0FBQTtBQVM2QixTQUFBVSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUosd0JBQUFJLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsY0FBQVIsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUFBQSxTQUFBakIsdUJBQUFTLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsR0FBQUosQ0FBQSxnQkFBQUEsQ0FBQTtBQUFBLFNBQUFtQixvQkFBQSxrQkFoQjdCLHFKQUFBQSxtQkFBQSxZQUFBQSxvQkFBQSxXQUFBbkIsQ0FBQSxTQUFBRyxDQUFBLEVBQUFILENBQUEsT0FBQUUsQ0FBQSxHQUFBUyxNQUFBLENBQUFTLFNBQUEsRUFBQVosQ0FBQSxHQUFBTixDQUFBLENBQUFhLGNBQUEsRUFBQU0sQ0FBQSxHQUFBVixNQUFBLENBQUFDLGNBQUEsY0FBQVQsQ0FBQSxFQUFBSCxDQUFBLEVBQUFFLENBQUEsSUFBQUMsQ0FBQSxDQUFBSCxDQUFBLElBQUFFLENBQUEsQ0FBQW9CLEtBQUEsS0FBQUwsQ0FBQSx3QkFBQU0sTUFBQSxHQUFBQSxNQUFBLE9BQUFiLENBQUEsR0FBQU8sQ0FBQSxDQUFBTyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFSLENBQUEsQ0FBQVMsYUFBQSx1QkFBQVosQ0FBQSxHQUFBRyxDQUFBLENBQUFVLFdBQUEsOEJBQUFDLE9BQUF6QixDQUFBLEVBQUFILENBQUEsRUFBQUUsQ0FBQSxXQUFBUyxNQUFBLENBQUFDLGNBQUEsQ0FBQVQsQ0FBQSxFQUFBSCxDQUFBLElBQUFzQixLQUFBLEVBQUFwQixDQUFBLEVBQUEyQixVQUFBLE1BQUFDLFlBQUEsTUFBQUMsUUFBQSxTQUFBNUIsQ0FBQSxDQUFBSCxDQUFBLFdBQUE0QixNQUFBLG1CQUFBekIsQ0FBQSxJQUFBeUIsTUFBQSxZQUFBQSxPQUFBekIsQ0FBQSxFQUFBSCxDQUFBLEVBQUFFLENBQUEsV0FBQUMsQ0FBQSxDQUFBSCxDQUFBLElBQUFFLENBQUEsZ0JBQUE4QixLQUFBN0IsQ0FBQSxFQUFBSCxDQUFBLEVBQUFFLENBQUEsRUFBQU0sQ0FBQSxRQUFBUyxDQUFBLEdBQUFqQixDQUFBLElBQUFBLENBQUEsQ0FBQW9CLFNBQUEsWUFBQWEsU0FBQSxHQUFBakMsQ0FBQSxHQUFBaUMsU0FBQSxFQUFBdkIsQ0FBQSxHQUFBQyxNQUFBLENBQUF1QixNQUFBLENBQUFqQixDQUFBLENBQUFHLFNBQUEsR0FBQUssQ0FBQSxPQUFBVSxPQUFBLENBQUEzQixDQUFBLGdCQUFBYSxDQUFBLENBQUFYLENBQUEsZUFBQVksS0FBQSxFQUFBYyxnQkFBQSxDQUFBakMsQ0FBQSxFQUFBRCxDQUFBLEVBQUF1QixDQUFBLE1BQUFmLENBQUEsYUFBQTJCLFNBQUFsQyxDQUFBLEVBQUFILENBQUEsRUFBQUUsQ0FBQSxtQkFBQW9DLElBQUEsWUFBQUMsR0FBQSxFQUFBcEMsQ0FBQSxDQUFBYSxJQUFBLENBQUFoQixDQUFBLEVBQUFFLENBQUEsY0FBQUMsQ0FBQSxhQUFBbUMsSUFBQSxXQUFBQyxHQUFBLEVBQUFwQyxDQUFBLFFBQUFILENBQUEsQ0FBQWdDLElBQUEsR0FBQUEsSUFBQSxNQUFBUSxDQUFBLHFCQUFBQyxDQUFBLHFCQUFBQyxDQUFBLGdCQUFBQyxDQUFBLGdCQUFBQyxDQUFBLGdCQUFBWCxVQUFBLGNBQUFZLGtCQUFBLGNBQUFDLDJCQUFBLFNBQUFDLENBQUEsT0FBQW5CLE1BQUEsQ0FBQW1CLENBQUEsRUFBQXJDLENBQUEscUNBQUFzQyxDQUFBLEdBQUFyQyxNQUFBLENBQUFzQyxjQUFBLEVBQUFDLENBQUEsR0FBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFBLENBQUEsQ0FBQUcsTUFBQSxRQUFBRCxDQUFBLElBQUFBLENBQUEsS0FBQWhELENBQUEsSUFBQU0sQ0FBQSxDQUFBUSxJQUFBLENBQUFrQyxDQUFBLEVBQUF4QyxDQUFBLE1BQUFxQyxDQUFBLEdBQUFHLENBQUEsT0FBQUUsQ0FBQSxHQUFBTiwwQkFBQSxDQUFBMUIsU0FBQSxHQUFBYSxTQUFBLENBQUFiLFNBQUEsR0FBQVQsTUFBQSxDQUFBdUIsTUFBQSxDQUFBYSxDQUFBLFlBQUFNLHNCQUFBbEQsQ0FBQSxnQ0FBQW1ELE9BQUEsV0FBQXRELENBQUEsSUFBQTRCLE1BQUEsQ0FBQXpCLENBQUEsRUFBQUgsQ0FBQSxZQUFBRyxDQUFBLGdCQUFBb0QsT0FBQSxDQUFBdkQsQ0FBQSxFQUFBRyxDQUFBLHNCQUFBcUQsY0FBQXJELENBQUEsRUFBQUgsQ0FBQSxhQUFBeUQsT0FBQXZELENBQUEsRUFBQW1CLENBQUEsRUFBQUosQ0FBQSxFQUFBUCxDQUFBLFFBQUFlLENBQUEsR0FBQVksUUFBQSxDQUFBbEMsQ0FBQSxDQUFBRCxDQUFBLEdBQUFDLENBQUEsRUFBQWtCLENBQUEsbUJBQUFJLENBQUEsQ0FBQWEsSUFBQSxRQUFBeEIsQ0FBQSxHQUFBVyxDQUFBLENBQUFjLEdBQUEsRUFBQUMsQ0FBQSxHQUFBMUIsQ0FBQSxDQUFBUSxLQUFBLFNBQUFrQixDQUFBLGdCQUFBbkMsT0FBQSxDQUFBbUMsQ0FBQSxLQUFBaEMsQ0FBQSxDQUFBUSxJQUFBLENBQUF3QixDQUFBLGVBQUF4QyxDQUFBLENBQUEwRCxPQUFBLENBQUFsQixDQUFBLENBQUFtQixPQUFBLEVBQUFDLElBQUEsV0FBQXpELENBQUEsSUFBQXNELE1BQUEsU0FBQXRELENBQUEsRUFBQWMsQ0FBQSxFQUFBUCxDQUFBLGdCQUFBUCxDQUFBLElBQUFzRCxNQUFBLFVBQUF0RCxDQUFBLEVBQUFjLENBQUEsRUFBQVAsQ0FBQSxRQUFBVixDQUFBLENBQUEwRCxPQUFBLENBQUFsQixDQUFBLEVBQUFvQixJQUFBLFdBQUF6RCxDQUFBLElBQUFXLENBQUEsQ0FBQVEsS0FBQSxHQUFBbkIsQ0FBQSxFQUFBYyxDQUFBLENBQUFILENBQUEsZ0JBQUFYLENBQUEsV0FBQXNELE1BQUEsVUFBQXRELENBQUEsRUFBQWMsQ0FBQSxFQUFBUCxDQUFBLFNBQUFBLENBQUEsQ0FBQWUsQ0FBQSxDQUFBYyxHQUFBLFNBQUFyQyxDQUFBLEVBQUFtQixDQUFBLG9CQUFBQyxLQUFBLFdBQUFBLE1BQUFuQixDQUFBLEVBQUFLLENBQUEsYUFBQXFELDJCQUFBLGVBQUE3RCxDQUFBLFdBQUFBLENBQUEsRUFBQUUsQ0FBQSxJQUFBdUQsTUFBQSxDQUFBdEQsQ0FBQSxFQUFBSyxDQUFBLEVBQUFSLENBQUEsRUFBQUUsQ0FBQSxnQkFBQUEsQ0FBQSxHQUFBQSxDQUFBLEdBQUFBLENBQUEsQ0FBQTBELElBQUEsQ0FBQUMsMEJBQUEsRUFBQUEsMEJBQUEsSUFBQUEsMEJBQUEscUJBQUF6QixpQkFBQXBDLENBQUEsRUFBQUUsQ0FBQSxFQUFBTSxDQUFBLFFBQUFhLENBQUEsR0FBQW1CLENBQUEsbUJBQUF2QixDQUFBLEVBQUFQLENBQUEsUUFBQVcsQ0FBQSxLQUFBcUIsQ0FBQSxRQUFBb0IsS0FBQSxzQ0FBQXpDLENBQUEsS0FBQXNCLENBQUEsb0JBQUExQixDQUFBLFFBQUFQLENBQUEsV0FBQVksS0FBQSxFQUFBbkIsQ0FBQSxFQUFBNEQsSUFBQSxlQUFBdkQsQ0FBQSxDQUFBd0QsTUFBQSxHQUFBL0MsQ0FBQSxFQUFBVCxDQUFBLENBQUErQixHQUFBLEdBQUE3QixDQUFBLFVBQUFlLENBQUEsR0FBQWpCLENBQUEsQ0FBQXlELFFBQUEsTUFBQXhDLENBQUEsUUFBQVgsQ0FBQSxHQUFBb0QsbUJBQUEsQ0FBQXpDLENBQUEsRUFBQWpCLENBQUEsT0FBQU0sQ0FBQSxRQUFBQSxDQUFBLEtBQUE4QixDQUFBLG1CQUFBOUIsQ0FBQSxxQkFBQU4sQ0FBQSxDQUFBd0QsTUFBQSxFQUFBeEQsQ0FBQSxDQUFBMkQsSUFBQSxHQUFBM0QsQ0FBQSxDQUFBNEQsS0FBQSxHQUFBNUQsQ0FBQSxDQUFBK0IsR0FBQSxzQkFBQS9CLENBQUEsQ0FBQXdELE1BQUEsUUFBQTNDLENBQUEsS0FBQW1CLENBQUEsUUFBQW5CLENBQUEsR0FBQXNCLENBQUEsRUFBQW5DLENBQUEsQ0FBQStCLEdBQUEsRUFBQS9CLENBQUEsQ0FBQTZELGlCQUFBLENBQUE3RCxDQUFBLENBQUErQixHQUFBLHVCQUFBL0IsQ0FBQSxDQUFBd0QsTUFBQSxJQUFBeEQsQ0FBQSxDQUFBOEQsTUFBQSxXQUFBOUQsQ0FBQSxDQUFBK0IsR0FBQSxHQUFBbEIsQ0FBQSxHQUFBcUIsQ0FBQSxNQUFBSyxDQUFBLEdBQUFWLFFBQUEsQ0FBQXJDLENBQUEsRUFBQUUsQ0FBQSxFQUFBTSxDQUFBLG9CQUFBdUMsQ0FBQSxDQUFBVCxJQUFBLFFBQUFqQixDQUFBLEdBQUFiLENBQUEsQ0FBQXVELElBQUEsR0FBQXBCLENBQUEsR0FBQUYsQ0FBQSxFQUFBTSxDQUFBLENBQUFSLEdBQUEsS0FBQUssQ0FBQSxxQkFBQXRCLEtBQUEsRUFBQXlCLENBQUEsQ0FBQVIsR0FBQSxFQUFBd0IsSUFBQSxFQUFBdkQsQ0FBQSxDQUFBdUQsSUFBQSxrQkFBQWhCLENBQUEsQ0FBQVQsSUFBQSxLQUFBakIsQ0FBQSxHQUFBc0IsQ0FBQSxFQUFBbkMsQ0FBQSxDQUFBd0QsTUFBQSxZQUFBeEQsQ0FBQSxDQUFBK0IsR0FBQSxHQUFBUSxDQUFBLENBQUFSLEdBQUEsbUJBQUEyQixvQkFBQWxFLENBQUEsRUFBQUUsQ0FBQSxRQUFBTSxDQUFBLEdBQUFOLENBQUEsQ0FBQThELE1BQUEsRUFBQTNDLENBQUEsR0FBQXJCLENBQUEsQ0FBQXdCLFFBQUEsQ0FBQWhCLENBQUEsT0FBQWEsQ0FBQSxLQUFBbEIsQ0FBQSxTQUFBRCxDQUFBLENBQUErRCxRQUFBLHFCQUFBekQsQ0FBQSxJQUFBUixDQUFBLENBQUF3QixRQUFBLGVBQUF0QixDQUFBLENBQUE4RCxNQUFBLGFBQUE5RCxDQUFBLENBQUFxQyxHQUFBLEdBQUFwQyxDQUFBLEVBQUErRCxtQkFBQSxDQUFBbEUsQ0FBQSxFQUFBRSxDQUFBLGVBQUFBLENBQUEsQ0FBQThELE1BQUEsa0JBQUF4RCxDQUFBLEtBQUFOLENBQUEsQ0FBQThELE1BQUEsWUFBQTlELENBQUEsQ0FBQXFDLEdBQUEsT0FBQWdDLFNBQUEsdUNBQUEvRCxDQUFBLGlCQUFBb0MsQ0FBQSxNQUFBM0IsQ0FBQSxHQUFBb0IsUUFBQSxDQUFBaEIsQ0FBQSxFQUFBckIsQ0FBQSxDQUFBd0IsUUFBQSxFQUFBdEIsQ0FBQSxDQUFBcUMsR0FBQSxtQkFBQXRCLENBQUEsQ0FBQXFCLElBQUEsU0FBQXBDLENBQUEsQ0FBQThELE1BQUEsWUFBQTlELENBQUEsQ0FBQXFDLEdBQUEsR0FBQXRCLENBQUEsQ0FBQXNCLEdBQUEsRUFBQXJDLENBQUEsQ0FBQStELFFBQUEsU0FBQXJCLENBQUEsTUFBQWxDLENBQUEsR0FBQU8sQ0FBQSxDQUFBc0IsR0FBQSxTQUFBN0IsQ0FBQSxHQUFBQSxDQUFBLENBQUFxRCxJQUFBLElBQUE3RCxDQUFBLENBQUFGLENBQUEsQ0FBQXdFLFVBQUEsSUFBQTlELENBQUEsQ0FBQVksS0FBQSxFQUFBcEIsQ0FBQSxDQUFBdUUsSUFBQSxHQUFBekUsQ0FBQSxDQUFBMEUsT0FBQSxlQUFBeEUsQ0FBQSxDQUFBOEQsTUFBQSxLQUFBOUQsQ0FBQSxDQUFBOEQsTUFBQSxXQUFBOUQsQ0FBQSxDQUFBcUMsR0FBQSxHQUFBcEMsQ0FBQSxHQUFBRCxDQUFBLENBQUErRCxRQUFBLFNBQUFyQixDQUFBLElBQUFsQyxDQUFBLElBQUFSLENBQUEsQ0FBQThELE1BQUEsWUFBQTlELENBQUEsQ0FBQXFDLEdBQUEsT0FBQWdDLFNBQUEsc0NBQUFyRSxDQUFBLENBQUErRCxRQUFBLFNBQUFyQixDQUFBLGNBQUErQixhQUFBeEUsQ0FBQSxRQUFBSCxDQUFBLEtBQUE0RSxNQUFBLEVBQUF6RSxDQUFBLFlBQUFBLENBQUEsS0FBQUgsQ0FBQSxDQUFBNkUsUUFBQSxHQUFBMUUsQ0FBQSxXQUFBQSxDQUFBLEtBQUFILENBQUEsQ0FBQThFLFVBQUEsR0FBQTNFLENBQUEsS0FBQUgsQ0FBQSxDQUFBK0UsUUFBQSxHQUFBNUUsQ0FBQSxXQUFBNkUsVUFBQSxDQUFBQyxJQUFBLENBQUFqRixDQUFBLGNBQUFrRixjQUFBL0UsQ0FBQSxRQUFBSCxDQUFBLEdBQUFHLENBQUEsQ0FBQWdGLFVBQUEsUUFBQW5GLENBQUEsQ0FBQXNDLElBQUEsb0JBQUF0QyxDQUFBLENBQUF1QyxHQUFBLEVBQUFwQyxDQUFBLENBQUFnRixVQUFBLEdBQUFuRixDQUFBLGFBQUFtQyxRQUFBaEMsQ0FBQSxTQUFBNkUsVUFBQSxNQUFBSixNQUFBLGFBQUF6RSxDQUFBLENBQUFtRCxPQUFBLENBQUFxQixZQUFBLGNBQUFTLEtBQUEsaUJBQUFqQyxPQUFBbkQsQ0FBQSxRQUFBQSxDQUFBLFdBQUFBLENBQUEsUUFBQUUsQ0FBQSxHQUFBRixDQUFBLENBQUFVLENBQUEsT0FBQVIsQ0FBQSxTQUFBQSxDQUFBLENBQUFjLElBQUEsQ0FBQWhCLENBQUEsNEJBQUFBLENBQUEsQ0FBQXlFLElBQUEsU0FBQXpFLENBQUEsT0FBQXFGLEtBQUEsQ0FBQXJGLENBQUEsQ0FBQXNGLE1BQUEsU0FBQWpFLENBQUEsT0FBQUosQ0FBQSxZQUFBd0QsS0FBQSxhQUFBcEQsQ0FBQSxHQUFBckIsQ0FBQSxDQUFBc0YsTUFBQSxPQUFBOUUsQ0FBQSxDQUFBUSxJQUFBLENBQUFoQixDQUFBLEVBQUFxQixDQUFBLFVBQUFvRCxJQUFBLENBQUFuRCxLQUFBLEdBQUF0QixDQUFBLENBQUFxQixDQUFBLEdBQUFvRCxJQUFBLENBQUFWLElBQUEsT0FBQVUsSUFBQSxTQUFBQSxJQUFBLENBQUFuRCxLQUFBLEdBQUFuQixDQUFBLEVBQUFzRSxJQUFBLENBQUFWLElBQUEsT0FBQVUsSUFBQSxZQUFBeEQsQ0FBQSxDQUFBd0QsSUFBQSxHQUFBeEQsQ0FBQSxnQkFBQXNELFNBQUEsQ0FBQWxFLE9BQUEsQ0FBQUwsQ0FBQSxrQ0FBQTZDLGlCQUFBLENBQUF6QixTQUFBLEdBQUEwQiwwQkFBQSxFQUFBekIsQ0FBQSxDQUFBK0IsQ0FBQSxtQkFBQTlCLEtBQUEsRUFBQXdCLDBCQUFBLEVBQUFoQixZQUFBLFNBQUFULENBQUEsQ0FBQXlCLDBCQUFBLG1CQUFBeEIsS0FBQSxFQUFBdUIsaUJBQUEsRUFBQWYsWUFBQSxTQUFBZSxpQkFBQSxDQUFBMEMsV0FBQSxHQUFBM0QsTUFBQSxDQUFBa0IsMEJBQUEsRUFBQWhDLENBQUEsd0JBQUFkLENBQUEsQ0FBQXdGLG1CQUFBLGFBQUFyRixDQUFBLFFBQUFILENBQUEsd0JBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBc0YsV0FBQSxXQUFBekYsQ0FBQSxLQUFBQSxDQUFBLEtBQUE2QyxpQkFBQSw2QkFBQTdDLENBQUEsQ0FBQXVGLFdBQUEsSUFBQXZGLENBQUEsQ0FBQTBGLElBQUEsT0FBQTFGLENBQUEsQ0FBQTJGLElBQUEsYUFBQXhGLENBQUEsV0FBQVEsTUFBQSxDQUFBaUYsY0FBQSxHQUFBakYsTUFBQSxDQUFBaUYsY0FBQSxDQUFBekYsQ0FBQSxFQUFBMkMsMEJBQUEsS0FBQTNDLENBQUEsQ0FBQU0sU0FBQSxHQUFBcUMsMEJBQUEsRUFBQWxCLE1BQUEsQ0FBQXpCLENBQUEsRUFBQVcsQ0FBQSx5QkFBQVgsQ0FBQSxDQUFBaUIsU0FBQSxHQUFBVCxNQUFBLENBQUF1QixNQUFBLENBQUFrQixDQUFBLEdBQUFqRCxDQUFBLEtBQUFILENBQUEsQ0FBQTZGLEtBQUEsYUFBQTFGLENBQUEsYUFBQXdELE9BQUEsRUFBQXhELENBQUEsT0FBQWtELHFCQUFBLENBQUFHLGFBQUEsQ0FBQXBDLFNBQUEsR0FBQVEsTUFBQSxDQUFBNEIsYUFBQSxDQUFBcEMsU0FBQSxFQUFBSyxDQUFBLGlDQUFBekIsQ0FBQSxDQUFBd0QsYUFBQSxHQUFBQSxhQUFBLEVBQUF4RCxDQUFBLENBQUE4RixLQUFBLGFBQUEzRixDQUFBLEVBQUFELENBQUEsRUFBQU0sQ0FBQSxFQUFBYSxDQUFBLEVBQUFKLENBQUEsZUFBQUEsQ0FBQSxLQUFBQSxDQUFBLEdBQUE4RSxPQUFBLE9BQUFyRixDQUFBLE9BQUE4QyxhQUFBLENBQUF4QixJQUFBLENBQUE3QixDQUFBLEVBQUFELENBQUEsRUFBQU0sQ0FBQSxFQUFBYSxDQUFBLEdBQUFKLENBQUEsVUFBQWpCLENBQUEsQ0FBQXdGLG1CQUFBLENBQUF0RixDQUFBLElBQUFRLENBQUEsR0FBQUEsQ0FBQSxDQUFBK0QsSUFBQSxHQUFBYixJQUFBLFdBQUF6RCxDQUFBLFdBQUFBLENBQUEsQ0FBQTRELElBQUEsR0FBQTVELENBQUEsQ0FBQW1CLEtBQUEsR0FBQVosQ0FBQSxDQUFBK0QsSUFBQSxXQUFBcEIscUJBQUEsQ0FBQUQsQ0FBQSxHQUFBeEIsTUFBQSxDQUFBd0IsQ0FBQSxFQUFBdEMsQ0FBQSxnQkFBQWMsTUFBQSxDQUFBd0IsQ0FBQSxFQUFBMUMsQ0FBQSxpQ0FBQWtCLE1BQUEsQ0FBQXdCLENBQUEsNkRBQUFwRCxDQUFBLENBQUFnRyxJQUFBLGFBQUE3RixDQUFBLFFBQUFILENBQUEsR0FBQVcsTUFBQSxDQUFBUixDQUFBLEdBQUFELENBQUEsZ0JBQUFNLENBQUEsSUFBQVIsQ0FBQSxFQUFBRSxDQUFBLENBQUErRSxJQUFBLENBQUF6RSxDQUFBLFVBQUFOLENBQUEsQ0FBQStGLE9BQUEsYUFBQXhCLEtBQUEsV0FBQXZFLENBQUEsQ0FBQW9GLE1BQUEsU0FBQW5GLENBQUEsR0FBQUQsQ0FBQSxDQUFBZ0csR0FBQSxRQUFBL0YsQ0FBQSxJQUFBSCxDQUFBLFNBQUF5RSxJQUFBLENBQUFuRCxLQUFBLEdBQUFuQixDQUFBLEVBQUFzRSxJQUFBLENBQUFWLElBQUEsT0FBQVUsSUFBQSxXQUFBQSxJQUFBLENBQUFWLElBQUEsT0FBQVUsSUFBQSxRQUFBekUsQ0FBQSxDQUFBbUQsTUFBQSxHQUFBQSxNQUFBLEVBQUFoQixPQUFBLENBQUFmLFNBQUEsS0FBQXFFLFdBQUEsRUFBQXRELE9BQUEsRUFBQWlELEtBQUEsV0FBQUEsTUFBQXBGLENBQUEsYUFBQW1HLElBQUEsV0FBQTFCLElBQUEsV0FBQU4sSUFBQSxRQUFBQyxLQUFBLEdBQUFqRSxDQUFBLE9BQUE0RCxJQUFBLFlBQUFFLFFBQUEsY0FBQUQsTUFBQSxnQkFBQXpCLEdBQUEsR0FBQXBDLENBQUEsT0FBQTZFLFVBQUEsQ0FBQTFCLE9BQUEsQ0FBQTRCLGFBQUEsSUFBQWxGLENBQUEsV0FBQUUsQ0FBQSxrQkFBQUEsQ0FBQSxDQUFBa0csTUFBQSxPQUFBNUYsQ0FBQSxDQUFBUSxJQUFBLE9BQUFkLENBQUEsTUFBQW1GLEtBQUEsRUFBQW5GLENBQUEsQ0FBQW1HLEtBQUEsY0FBQW5HLENBQUEsSUFBQUMsQ0FBQSxNQUFBbUcsSUFBQSxXQUFBQSxLQUFBLFNBQUF2QyxJQUFBLFdBQUE1RCxDQUFBLFFBQUE2RSxVQUFBLElBQUFHLFVBQUEsa0JBQUFoRixDQUFBLENBQUFtQyxJQUFBLFFBQUFuQyxDQUFBLENBQUFvQyxHQUFBLGNBQUFnRSxJQUFBLEtBQUFsQyxpQkFBQSxXQUFBQSxrQkFBQXJFLENBQUEsYUFBQStELElBQUEsUUFBQS9ELENBQUEsTUFBQUUsQ0FBQSxrQkFBQXNHLE9BQUFoRyxDQUFBLEVBQUFhLENBQUEsV0FBQVgsQ0FBQSxDQUFBNEIsSUFBQSxZQUFBNUIsQ0FBQSxDQUFBNkIsR0FBQSxHQUFBdkMsQ0FBQSxFQUFBRSxDQUFBLENBQUF1RSxJQUFBLEdBQUFqRSxDQUFBLEVBQUFhLENBQUEsS0FBQW5CLENBQUEsQ0FBQThELE1BQUEsV0FBQTlELENBQUEsQ0FBQXFDLEdBQUEsR0FBQXBDLENBQUEsS0FBQWtCLENBQUEsYUFBQUEsQ0FBQSxRQUFBMkQsVUFBQSxDQUFBTSxNQUFBLE1BQUFqRSxDQUFBLFNBQUFBLENBQUEsUUFBQUosQ0FBQSxRQUFBK0QsVUFBQSxDQUFBM0QsQ0FBQSxHQUFBWCxDQUFBLEdBQUFPLENBQUEsQ0FBQWtFLFVBQUEsaUJBQUFsRSxDQUFBLENBQUEyRCxNQUFBLFNBQUE0QixNQUFBLGFBQUF2RixDQUFBLENBQUEyRCxNQUFBLFNBQUF1QixJQUFBLFFBQUExRSxDQUFBLEdBQUFqQixDQUFBLENBQUFRLElBQUEsQ0FBQUMsQ0FBQSxlQUFBSCxDQUFBLEdBQUFOLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxDQUFBLHFCQUFBUSxDQUFBLElBQUFYLENBQUEsYUFBQXFGLElBQUEsR0FBQWxGLENBQUEsQ0FBQTRELFFBQUEsU0FBQTJCLE1BQUEsQ0FBQXZGLENBQUEsQ0FBQTRELFFBQUEsZ0JBQUFzQixJQUFBLEdBQUFsRixDQUFBLENBQUE2RCxVQUFBLFNBQUEwQixNQUFBLENBQUF2RixDQUFBLENBQUE2RCxVQUFBLGNBQUFyRCxDQUFBLGFBQUEwRSxJQUFBLEdBQUFsRixDQUFBLENBQUE0RCxRQUFBLFNBQUEyQixNQUFBLENBQUF2RixDQUFBLENBQUE0RCxRQUFBLHFCQUFBL0QsQ0FBQSxRQUFBZ0QsS0FBQSxxREFBQXFDLElBQUEsR0FBQWxGLENBQUEsQ0FBQTZELFVBQUEsU0FBQTBCLE1BQUEsQ0FBQXZGLENBQUEsQ0FBQTZELFVBQUEsWUFBQVIsTUFBQSxXQUFBQSxPQUFBbkUsQ0FBQSxFQUFBSCxDQUFBLGFBQUFFLENBQUEsUUFBQThFLFVBQUEsQ0FBQU0sTUFBQSxNQUFBcEYsQ0FBQSxTQUFBQSxDQUFBLFFBQUFtQixDQUFBLFFBQUEyRCxVQUFBLENBQUE5RSxDQUFBLE9BQUFtQixDQUFBLENBQUF1RCxNQUFBLFNBQUF1QixJQUFBLElBQUEzRixDQUFBLENBQUFRLElBQUEsQ0FBQUssQ0FBQSx3QkFBQThFLElBQUEsR0FBQTlFLENBQUEsQ0FBQXlELFVBQUEsUUFBQTdELENBQUEsR0FBQUksQ0FBQSxhQUFBSixDQUFBLGlCQUFBZCxDQUFBLG1CQUFBQSxDQUFBLEtBQUFjLENBQUEsQ0FBQTJELE1BQUEsSUFBQTVFLENBQUEsSUFBQUEsQ0FBQSxJQUFBaUIsQ0FBQSxDQUFBNkQsVUFBQSxLQUFBN0QsQ0FBQSxjQUFBUCxDQUFBLEdBQUFPLENBQUEsR0FBQUEsQ0FBQSxDQUFBa0UsVUFBQSxjQUFBekUsQ0FBQSxDQUFBNEIsSUFBQSxHQUFBbkMsQ0FBQSxFQUFBTyxDQUFBLENBQUE2QixHQUFBLEdBQUF2QyxDQUFBLEVBQUFpQixDQUFBLFNBQUErQyxNQUFBLGdCQUFBUyxJQUFBLEdBQUF4RCxDQUFBLENBQUE2RCxVQUFBLEVBQUFsQyxDQUFBLFNBQUE2RCxRQUFBLENBQUEvRixDQUFBLE1BQUErRixRQUFBLFdBQUFBLFNBQUF0RyxDQUFBLEVBQUFILENBQUEsb0JBQUFHLENBQUEsQ0FBQW1DLElBQUEsUUFBQW5DLENBQUEsQ0FBQW9DLEdBQUEscUJBQUFwQyxDQUFBLENBQUFtQyxJQUFBLG1CQUFBbkMsQ0FBQSxDQUFBbUMsSUFBQSxRQUFBbUMsSUFBQSxHQUFBdEUsQ0FBQSxDQUFBb0MsR0FBQSxnQkFBQXBDLENBQUEsQ0FBQW1DLElBQUEsU0FBQWlFLElBQUEsUUFBQWhFLEdBQUEsR0FBQXBDLENBQUEsQ0FBQW9DLEdBQUEsT0FBQXlCLE1BQUEsa0JBQUFTLElBQUEseUJBQUF0RSxDQUFBLENBQUFtQyxJQUFBLElBQUF0QyxDQUFBLFVBQUF5RSxJQUFBLEdBQUF6RSxDQUFBLEdBQUE0QyxDQUFBLEtBQUE4RCxNQUFBLFdBQUFBLE9BQUF2RyxDQUFBLGFBQUFILENBQUEsUUFBQWdGLFVBQUEsQ0FBQU0sTUFBQSxNQUFBdEYsQ0FBQSxTQUFBQSxDQUFBLFFBQUFFLENBQUEsUUFBQThFLFVBQUEsQ0FBQWhGLENBQUEsT0FBQUUsQ0FBQSxDQUFBNEUsVUFBQSxLQUFBM0UsQ0FBQSxjQUFBc0csUUFBQSxDQUFBdkcsQ0FBQSxDQUFBaUYsVUFBQSxFQUFBakYsQ0FBQSxDQUFBNkUsUUFBQSxHQUFBRyxhQUFBLENBQUFoRixDQUFBLEdBQUEwQyxDQUFBLHlCQUFBK0QsT0FBQXhHLENBQUEsYUFBQUgsQ0FBQSxRQUFBZ0YsVUFBQSxDQUFBTSxNQUFBLE1BQUF0RixDQUFBLFNBQUFBLENBQUEsUUFBQUUsQ0FBQSxRQUFBOEUsVUFBQSxDQUFBaEYsQ0FBQSxPQUFBRSxDQUFBLENBQUEwRSxNQUFBLEtBQUF6RSxDQUFBLFFBQUFLLENBQUEsR0FBQU4sQ0FBQSxDQUFBaUYsVUFBQSxrQkFBQTNFLENBQUEsQ0FBQThCLElBQUEsUUFBQWpCLENBQUEsR0FBQWIsQ0FBQSxDQUFBK0IsR0FBQSxFQUFBMkMsYUFBQSxDQUFBaEYsQ0FBQSxZQUFBbUIsQ0FBQSxZQUFBeUMsS0FBQSw4QkFBQThDLGFBQUEsV0FBQUEsY0FBQTVHLENBQUEsRUFBQUUsQ0FBQSxFQUFBTSxDQUFBLGdCQUFBeUQsUUFBQSxLQUFBekMsUUFBQSxFQUFBMkIsTUFBQSxDQUFBbkQsQ0FBQSxHQUFBd0UsVUFBQSxFQUFBdEUsQ0FBQSxFQUFBd0UsT0FBQSxFQUFBbEUsQ0FBQSxvQkFBQXdELE1BQUEsVUFBQXpCLEdBQUEsR0FBQXBDLENBQUEsR0FBQXlDLENBQUEsT0FBQTVDLENBQUE7QUFBQSxTQUFBNkcsbUJBQUEzRyxDQUFBLFdBQUE0RyxrQkFBQSxDQUFBNUcsQ0FBQSxLQUFBNkcsZ0JBQUEsQ0FBQTdHLENBQUEsS0FBQThHLDJCQUFBLENBQUE5RyxDQUFBLEtBQUErRyxrQkFBQTtBQUFBLFNBQUFBLG1CQUFBLGNBQUExQyxTQUFBO0FBQUEsU0FBQXdDLGlCQUFBN0csQ0FBQSw4QkFBQXFCLE1BQUEsWUFBQXJCLENBQUEsQ0FBQXFCLE1BQUEsQ0FBQUMsUUFBQSxhQUFBdEIsQ0FBQSx1QkFBQWdILEtBQUEsQ0FBQUMsSUFBQSxDQUFBakgsQ0FBQTtBQUFBLFNBQUE0RyxtQkFBQTVHLENBQUEsUUFBQWdILEtBQUEsQ0FBQUUsT0FBQSxDQUFBbEgsQ0FBQSxVQUFBbUgsaUJBQUEsQ0FBQW5ILENBQUE7QUFBQSxTQUFBb0gsZUFBQXBILENBQUEsRUFBQUYsQ0FBQSxXQUFBdUgsZUFBQSxDQUFBckgsQ0FBQSxLQUFBc0gscUJBQUEsQ0FBQXRILENBQUEsRUFBQUYsQ0FBQSxLQUFBZ0gsMkJBQUEsQ0FBQTlHLENBQUEsRUFBQUYsQ0FBQSxLQUFBeUgsZ0JBQUE7QUFBQSxTQUFBQSxpQkFBQSxjQUFBbEQsU0FBQTtBQUFBLFNBQUF5Qyw0QkFBQTlHLENBQUEsRUFBQVEsQ0FBQSxRQUFBUixDQUFBLDJCQUFBQSxDQUFBLFNBQUFtSCxpQkFBQSxDQUFBbkgsQ0FBQSxFQUFBUSxDQUFBLE9BQUFQLENBQUEsTUFBQXVILFFBQUEsQ0FBQTFHLElBQUEsQ0FBQWQsQ0FBQSxFQUFBbUcsS0FBQSw2QkFBQWxHLENBQUEsSUFBQUQsQ0FBQSxDQUFBdUYsV0FBQSxLQUFBdEYsQ0FBQSxHQUFBRCxDQUFBLENBQUF1RixXQUFBLENBQUFDLElBQUEsYUFBQXZGLENBQUEsY0FBQUEsQ0FBQSxHQUFBK0csS0FBQSxDQUFBQyxJQUFBLENBQUFqSCxDQUFBLG9CQUFBQyxDQUFBLCtDQUFBd0gsSUFBQSxDQUFBeEgsQ0FBQSxJQUFBa0gsaUJBQUEsQ0FBQW5ILENBQUEsRUFBQVEsQ0FBQTtBQUFBLFNBQUEyRyxrQkFBQW5ILENBQUEsRUFBQVEsQ0FBQSxhQUFBQSxDQUFBLElBQUFBLENBQUEsR0FBQVIsQ0FBQSxDQUFBb0YsTUFBQSxNQUFBNUUsQ0FBQSxHQUFBUixDQUFBLENBQUFvRixNQUFBLFlBQUF0RixDQUFBLE1BQUFRLENBQUEsR0FBQTBHLEtBQUEsQ0FBQXhHLENBQUEsR0FBQVYsQ0FBQSxHQUFBVSxDQUFBLEVBQUFWLENBQUEsSUFBQVEsQ0FBQSxDQUFBUixDQUFBLElBQUFFLENBQUEsQ0FBQUYsQ0FBQSxVQUFBUSxDQUFBO0FBQUEsU0FBQWdILHNCQUFBdEgsQ0FBQSxFQUFBdUMsQ0FBQSxRQUFBdEMsQ0FBQSxXQUFBRCxDQUFBLGdDQUFBcUIsTUFBQSxJQUFBckIsQ0FBQSxDQUFBcUIsTUFBQSxDQUFBQyxRQUFBLEtBQUF0QixDQUFBLDRCQUFBQyxDQUFBLFFBQUFILENBQUEsRUFBQVEsQ0FBQSxFQUFBUyxDQUFBLEVBQUFILENBQUEsRUFBQUosQ0FBQSxPQUFBZ0MsQ0FBQSxPQUFBckIsQ0FBQSxpQkFBQUosQ0FBQSxJQUFBZCxDQUFBLEdBQUFBLENBQUEsQ0FBQWEsSUFBQSxDQUFBZCxDQUFBLEdBQUF1RSxJQUFBLFFBQUFoQyxDQUFBLFFBQUE5QixNQUFBLENBQUFSLENBQUEsTUFBQUEsQ0FBQSxVQUFBdUMsQ0FBQSx1QkFBQUEsQ0FBQSxJQUFBMUMsQ0FBQSxHQUFBaUIsQ0FBQSxDQUFBRCxJQUFBLENBQUFiLENBQUEsR0FBQTRELElBQUEsTUFBQXJELENBQUEsQ0FBQXVFLElBQUEsQ0FBQWpGLENBQUEsQ0FBQXNCLEtBQUEsR0FBQVosQ0FBQSxDQUFBNEUsTUFBQSxLQUFBN0MsQ0FBQSxHQUFBQyxDQUFBLGlCQUFBeEMsQ0FBQSxJQUFBbUIsQ0FBQSxPQUFBYixDQUFBLEdBQUFOLENBQUEseUJBQUF3QyxDQUFBLFlBQUF2QyxDQUFBLGVBQUFXLENBQUEsR0FBQVgsQ0FBQSxjQUFBUSxNQUFBLENBQUFHLENBQUEsTUFBQUEsQ0FBQSwyQkFBQU8sQ0FBQSxRQUFBYixDQUFBLGFBQUFFLENBQUE7QUFBQSxTQUFBNkcsZ0JBQUFySCxDQUFBLFFBQUFnSCxLQUFBLENBQUFFLE9BQUEsQ0FBQWxILENBQUEsVUFBQUEsQ0FBQTtBQUFBLFNBQUEwSCxtQkFBQXBILENBQUEsRUFBQUwsQ0FBQSxFQUFBSCxDQUFBLEVBQUFFLENBQUEsRUFBQW1CLENBQUEsRUFBQVgsQ0FBQSxFQUFBZSxDQUFBLGNBQUFSLENBQUEsR0FBQVQsQ0FBQSxDQUFBRSxDQUFBLEVBQUFlLENBQUEsR0FBQVgsQ0FBQSxHQUFBRyxDQUFBLENBQUFLLEtBQUEsV0FBQWQsQ0FBQSxnQkFBQVIsQ0FBQSxDQUFBUSxDQUFBLEtBQUFTLENBQUEsQ0FBQThDLElBQUEsR0FBQTVELENBQUEsQ0FBQVcsQ0FBQSxJQUFBaUYsT0FBQSxDQUFBckMsT0FBQSxDQUFBNUMsQ0FBQSxFQUFBOEMsSUFBQSxDQUFBMUQsQ0FBQSxFQUFBbUIsQ0FBQTtBQUFBLFNBQUF3RyxrQkFBQXJILENBQUEsNkJBQUFMLENBQUEsU0FBQUgsQ0FBQSxHQUFBOEgsU0FBQSxhQUFBL0IsT0FBQSxXQUFBN0YsQ0FBQSxFQUFBbUIsQ0FBQSxRQUFBWCxDQUFBLEdBQUFGLENBQUEsQ0FBQXVILEtBQUEsQ0FBQTVILENBQUEsRUFBQUgsQ0FBQSxZQUFBZ0ksTUFBQXhILENBQUEsSUFBQW9ILGtCQUFBLENBQUFsSCxDQUFBLEVBQUFSLENBQUEsRUFBQW1CLENBQUEsRUFBQTJHLEtBQUEsRUFBQUMsTUFBQSxVQUFBekgsQ0FBQSxjQUFBeUgsT0FBQXpILENBQUEsSUFBQW9ILGtCQUFBLENBQUFsSCxDQUFBLEVBQUFSLENBQUEsRUFBQW1CLENBQUEsRUFBQTJHLEtBQUEsRUFBQUMsTUFBQSxXQUFBekgsQ0FBQSxLQUFBd0gsS0FBQTtBQUFBLFNBQUFFLGVBQUFoSSxDQUFBLFFBQUFNLENBQUEsRUFBQUwsQ0FBQSxFQUFBa0IsQ0FBQSxFQUFBckIsQ0FBQSxpQ0FBQXVCLE1BQUEsS0FBQXBCLENBQUEsR0FBQW9CLE1BQUEsQ0FBQUcsYUFBQSxFQUFBTCxDQUFBLEdBQUFFLE1BQUEsQ0FBQUMsUUFBQSxHQUFBeEIsQ0FBQSxXQUFBRyxDQUFBLGFBQUFLLENBQUEsR0FBQU4sQ0FBQSxDQUFBQyxDQUFBLFdBQUFLLENBQUEsQ0FBQVEsSUFBQSxDQUFBZCxDQUFBLE9BQUFtQixDQUFBLGFBQUFiLENBQUEsR0FBQU4sQ0FBQSxDQUFBbUIsQ0FBQSxlQUFBOEcscUJBQUEsQ0FBQTNILENBQUEsQ0FBQVEsSUFBQSxDQUFBZCxDQUFBLElBQUFDLENBQUEsc0JBQUFrQixDQUFBLDZCQUFBa0QsU0FBQTtBQUFBLFNBQUE0RCxzQkFBQWpJLENBQUEsYUFBQWtJLGtDQUFBbEksQ0FBQSxRQUFBUyxNQUFBLENBQUFULENBQUEsTUFBQUEsQ0FBQSxTQUFBNkYsT0FBQSxDQUFBc0MsTUFBQSxLQUFBOUQsU0FBQSxDQUFBckUsQ0FBQSwrQkFBQU0sQ0FBQSxHQUFBTixDQUFBLENBQUE2RCxJQUFBLFNBQUFnQyxPQUFBLENBQUFyQyxPQUFBLENBQUF4RCxDQUFBLENBQUFvQixLQUFBLEVBQUFzQyxJQUFBLFdBQUExRCxDQUFBLGFBQUFvQixLQUFBLEVBQUFwQixDQUFBLEVBQUE2RCxJQUFBLEVBQUF2RCxDQUFBLGlCQUFBMkgscUJBQUEsWUFBQUEsc0JBQUFqSSxDQUFBLFNBQUF5QyxDQUFBLEdBQUF6QyxDQUFBLE9BQUFNLENBQUEsR0FBQU4sQ0FBQSxDQUFBdUUsSUFBQSxLQUFBMEQscUJBQUEsQ0FBQS9HLFNBQUEsS0FBQXVCLENBQUEsUUFBQW5DLENBQUEsUUFBQWlFLElBQUEsV0FBQUEsS0FBQSxXQUFBMkQsaUNBQUEsTUFBQTVILENBQUEsQ0FBQXVILEtBQUEsTUFBQXBGLENBQUEsRUFBQW1GLFNBQUEsMEJBQUFRLFFBQUFwSSxDQUFBLFFBQUFNLENBQUEsUUFBQW1DLENBQUEsOEJBQUFuQyxDQUFBLEdBQUF1RixPQUFBLENBQUFyQyxPQUFBLEdBQUFwQyxLQUFBLEVBQUFwQixDQUFBLEVBQUE2RCxJQUFBLFVBQUFxRSxpQ0FBQSxDQUFBNUgsQ0FBQSxDQUFBdUgsS0FBQSxNQUFBcEYsQ0FBQSxFQUFBbUYsU0FBQSx5QkFBQUcsT0FBQS9ILENBQUEsUUFBQU0sQ0FBQSxRQUFBbUMsQ0FBQSw4QkFBQW5DLENBQUEsR0FBQXVGLE9BQUEsQ0FBQXNDLE1BQUEsQ0FBQW5JLENBQUEsSUFBQWtJLGlDQUFBLENBQUE1SCxDQUFBLENBQUF1SCxLQUFBLE1BQUFwRixDQUFBLEVBQUFtRixTQUFBLGFBQUFLLHFCQUFBLENBQUFqSSxDQUFBO0FBa0JBLElBQU1xSSxrQkFBa0IsR0FBRyxDQUN6QkMsd0JBQVcsRUFDWEMseUJBQVksRUFDWkMsOEJBQWlCLEVBQ2pCQyx5QkFBWSxFQUNaQyx5QkFBWSxFQUNaQywwQkFBYSxFQUNiQyxpQ0FBb0IsRUFDcEJDLHVCQUFVLEVBQ1Y7RUFDRUMsS0FBSyxFQUFFLEdBQUc7RUFDVkMsSUFBSSxFQUFFLGlGQUFpRjtFQUN2RnZELElBQUksRUFBRSxhQUFhO0VBQ25CcEQsSUFBSSxFQUFFNEc7QUFDUixDQUFDLENBQ0Y7QUFDRCxJQUFNQyxPQUFPLEdBQUcsSUFBQUMsMkJBQWUsRUFBQ2Isa0JBQWtCLENBQUM7QUFBQSxTQUVwQ2MsSUFBSUEsQ0FBQTtFQUFBLE9BQUFDLEtBQUEsQ0FBQXZCLEtBQUEsT0FBQUQsU0FBQTtBQUFBO0FBQUEsU0FBQXdCLE1BQUE7RUFBQUEsS0FBQSxHQUFBekIsaUJBQUEsZUFBQTFHLG1CQUFBLEdBQUF3RSxJQUFBLENBQW5CLFNBQUE0RCxRQUFBO0lBQUEsSUFBQUMsV0FBQSxFQUFBQyxjQUFBLEVBQUFDLFFBQUEsRUFBQUMsRUFBQSxFQUFBQyxJQUFBLEVBQUFDLElBQUEsRUFBQUMsR0FBQSxFQUFBQyx5QkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxjQUFBLEVBQUFDLFNBQUEsRUFBQUMsS0FBQSxFQUFBQyxXQUFBLEVBQUFDLGlCQUFBLEVBQUFDLFVBQUEsRUFBQUMseUJBQUEsRUFBQUMsa0JBQUEsRUFBQUMsa0JBQUE7SUFBQSxPQUFBdEosbUJBQUEsR0FBQWEsSUFBQSxVQUFBMEksU0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUF4RSxJQUFBLEdBQUF3RSxRQUFBLENBQUFsRyxJQUFBO1FBQUE7VUFDUStFLFdBQVcsR0FBR0wsT0FBTyxDQUFDeUIsS0FBSyxHQUM3QnpCLE9BQU8sQ0FBQ3lCLEtBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FDeENDLFNBQVM7VUFDYixJQUFJdkIsV0FBVyxLQUFLdUIsU0FBUyxFQUFFO1lBQzdCLElBQUFDLHVCQUFRLGVBQUFDLE1BQUEsQ0FBY3pCLFdBQVcsa0NBQStCO2NBQzlEMEIsR0FBRyxFQUFFL0IsT0FBTyxDQUFDZ0MsT0FBTztjQUNwQkMsR0FBRyxFQUFFQyxPQUFPLENBQUNELEdBQUc7Y0FDaEJFLFFBQVEsRUFBRSxPQUFPO2NBQ2pCQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU07WUFDcEMsQ0FBQyxDQUFDO1VBQ0o7VUFDTTlCLGNBQWMsR0FBRytCLGdCQUFJLENBQUNDLElBQUksQ0FBQ3RDLE9BQU8sQ0FBQ2dDLE9BQU8sRUFBRSx3QkFBd0IsQ0FBQztVQUMzRSxJQUFJaEMsT0FBTyxDQUFDdUMsSUFBSSxFQUFFO1lBQ2hCL0wsR0FBRyxDQUFDZ00sWUFBWSxDQUFDbEMsY0FBYyxDQUFDO1VBQ2xDO1VBQUNrQixRQUFBLENBQUFsRyxJQUFBO1VBQUEsT0FFS21ILG1CQUFFLENBQUNDLFNBQVMsQ0FBQ3BDLGNBQWMsQ0FBQztRQUFBO1VBQzVCQyxRQUFRLEdBQUc4QixnQkFBSSxDQUFDQyxJQUFJLENBQUN0QyxPQUFPLENBQUNnQyxPQUFPLEVBQUUsOEJBQThCLENBQUM7VUFBQXhCLEVBQUEsTUFBQUMsSUFBQSxHQUN4RCxDQUFDLGlCQUFpQixFQUFFLGVBQWUsQ0FBQztRQUFBO1VBQUEsTUFBQUQsRUFBQSxHQUFBQyxJQUFBLENBQUF0RSxNQUFBO1lBQUFxRixRQUFBLENBQUFsRyxJQUFBO1lBQUE7VUFBQTtVQUE1Q29GLElBQUksR0FBQUQsSUFBQSxDQUFBRCxFQUFBO1VBQ1BHLEdBQUcsNkNBQUFtQixNQUFBLENBQ1A5QixPQUFPLENBQUMyQyxXQUFXLHdCQUFBYixNQUFBLENBQ0FjLGtCQUFrQixDQUFDbEMsSUFBSSxDQUFDO1VBQUFFLHlCQUFBO1VBQUFDLGlCQUFBO1VBQUFXLFFBQUEsQ0FBQXhFLElBQUE7VUFBQStELFNBQUEsR0FBQWhDLGNBQUEsQ0FJeEMsSUFBQThELG9DQUEyQixFQUM5QnRDLFFBQVEsRUFDUkksR0FBRyxFQUNIWCxPQUFPLENBQUM4QyxXQUFXLEVBQ25CLElBQUksRUFDSixJQUFJLEVBQ0o7WUFBRUMsTUFBTSxFQUFFL0MsT0FBTyxDQUFDK0MsTUFBTTtZQUFFQyxPQUFPLEVBQUVoRCxPQUFPLENBQUNnRDtVQUFRLENBQ3JELENBQUM7UUFBQTtVQUFBeEIsUUFBQSxDQUFBbEcsSUFBQTtVQUFBLE9BQUF5RixTQUFBLENBQUF6RixJQUFBO1FBQUE7VUFBQSxNQUFBc0YseUJBQUEsS0FBQUksS0FBQSxHQUFBUSxRQUFBLENBQUF4RyxJQUFBLEVBQUFKLElBQUE7WUFBQTRHLFFBQUEsQ0FBQWxHLElBQUE7WUFBQTtVQUFBO1VBQUEyRixXQUFBLEdBQUE5QyxjQUFBLENBQUE2QyxLQUFBLENBQUE3SSxLQUFBLE1BVEMrSSxpQkFBaUIsR0FBQUQsV0FBQSxLQUNqQkUsVUFBVSxHQUFBRixXQUFBO1VBU0pHLHlCQUF5QixHQUFHRixpQkFBaUIsQ0FBRStCLEtBQUssQ0FBQyxHQUFHLENBQUM7VUFDekQ1QixrQkFBa0IsR0FDdEJnQixnQkFBSSxDQUFDQyxJQUFJLENBQUExRCxLQUFBLENBQVR5RCxnQkFBSSxHQUFNL0IsY0FBYyxFQUFBd0IsTUFBQSxDQUFBcEUsa0JBQUEsQ0FBSzBELHlCQUF5QixDQUFDbEUsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFDLEdBQ2hFLE9BQU87VUFBQXNFLFFBQUEsQ0FBQWxHLElBQUE7VUFBQSxPQUNIbUgsbUJBQUUsQ0FBQ0MsU0FBUyxDQUFDTCxnQkFBSSxDQUFDYSxPQUFPLENBQUM3QixrQkFBa0IsQ0FBQyxDQUFDO1FBQUE7VUFBQUcsUUFBQSxDQUFBbEcsSUFBQTtVQUFBLE9BQ2xCbUgsbUJBQUUsQ0FBQ1UsVUFBVSxDQUFDOUIsa0JBQWtCLENBQUM7UUFBQTtVQUFBLEtBQUFHLFFBQUEsQ0FBQXhHLElBQUE7WUFBQXdHLFFBQUEsQ0FBQWxHLElBQUE7WUFBQTtVQUFBO1VBQUFrRyxRQUFBLENBQUFsRyxJQUFBO1VBQUEsT0FDekRtSCxtQkFBRSxDQUFDVyxRQUFRLENBQUMvQixrQkFBa0IsQ0FBQztRQUFBO1VBQUFHLFFBQUEsQ0FBQTZCLEVBQUEsR0FBQTdCLFFBQUEsQ0FBQXhHLElBQUE7VUFBQXdHLFFBQUEsQ0FBQWxHLElBQUE7VUFBQTtRQUFBO1VBQUFrRyxRQUFBLENBQUE2QixFQUFBLEdBQ3JDLElBQUk7UUFBQTtVQUZGL0Isa0JBQWtCLEdBQUFFLFFBQUEsQ0FBQTZCLEVBQUE7VUFBQSxJQUduQixJQUFBQyxxQkFBUyxFQUFDbkMsVUFBVSxFQUFFRyxrQkFBa0IsQ0FBQztZQUFBRSxRQUFBLENBQUFsRyxJQUFBO1lBQUE7VUFBQTtVQUM1QyxJQUFJLENBQUMwRSxPQUFPLENBQUMrQyxNQUFNLEVBQUU7WUFDbkIsSUFBSXpCLGtCQUFrQixLQUFLLElBQUksRUFBRTtjQUMvQmlDLE9BQU8sQ0FBQ0MsR0FBRyw0QkFBQTFCLE1BQUEsQ0FBNEJULGtCQUFrQixXQUFHLENBQUM7WUFDL0QsQ0FBQyxNQUFNO2NBQ0xrQyxPQUFPLENBQUNDLEdBQUcsOEJBQUExQixNQUFBLENBQThCVCxrQkFBa0IsV0FBRyxDQUFDO1lBQ2pFO1VBQ0Y7VUFBQ0csUUFBQSxDQUFBbEcsSUFBQTtVQUFBLE9BQ0ttSCxtQkFBRSxDQUFDZ0IsU0FBUyxDQUFDcEMsa0JBQWtCLEVBQUVGLFVBQVUsRUFBRTtZQUFFdUMsTUFBTSxFQUFFO1VBQUUsQ0FBQyxDQUFDO1FBQUE7VUFBQTlDLHlCQUFBO1VBQUFZLFFBQUEsQ0FBQWxHLElBQUE7VUFBQTtRQUFBO1VBQUFrRyxRQUFBLENBQUFsRyxJQUFBO1VBQUE7UUFBQTtVQUFBa0csUUFBQSxDQUFBeEUsSUFBQTtVQUFBd0UsUUFBQSxDQUFBbUMsRUFBQSxHQUFBbkMsUUFBQTtVQUFBWCxpQkFBQTtVQUFBQyxjQUFBLEdBQUFVLFFBQUEsQ0FBQW1DLEVBQUE7UUFBQTtVQUFBbkMsUUFBQSxDQUFBeEUsSUFBQTtVQUFBd0UsUUFBQSxDQUFBeEUsSUFBQTtVQUFBLE1BQUE0RCx5QkFBQSxJQUFBRyxTQUFBO1lBQUFTLFFBQUEsQ0FBQWxHLElBQUE7WUFBQTtVQUFBO1VBQUFrRyxRQUFBLENBQUFsRyxJQUFBO1VBQUEsT0FBQXlGLFNBQUE7UUFBQTtVQUFBUyxRQUFBLENBQUF4RSxJQUFBO1VBQUEsS0FBQTZELGlCQUFBO1lBQUFXLFFBQUEsQ0FBQWxHLElBQUE7WUFBQTtVQUFBO1VBQUEsTUFBQXdGLGNBQUE7UUFBQTtVQUFBLE9BQUFVLFFBQUEsQ0FBQWpFLE1BQUE7UUFBQTtVQUFBLE9BQUFpRSxRQUFBLENBQUFqRSxNQUFBO1FBQUE7VUFBQWlELEVBQUE7VUFBQWdCLFFBQUEsQ0FBQWxHLElBQUE7VUFBQTtRQUFBO1VBQUEsS0FLbkUwRSxPQUFPLENBQUM0RCxNQUFNO1lBQUFwQyxRQUFBLENBQUFsRyxJQUFBO1lBQUE7VUFBQTtVQUFBLE9BQUFrRyxRQUFBLENBQUFyRyxNQUFBLFdBQ1QzRSxHQUFHLENBQUNxTixhQUFhLENBQUN2RCxjQUFjLEVBQUUsa0JBQWtCLEVBQUVOLE9BQU8sQ0FBQzhELE1BQU0sQ0FBQztRQUFBO1VBQUEsT0FBQXRDLFFBQUEsQ0FBQXJHLE1BQUEsV0FFdkUsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBcUcsUUFBQSxDQUFBckUsSUFBQTtNQUFBO0lBQUEsR0FBQWlELE9BQUE7RUFBQSxDQUNUO0VBQUEsT0FBQUQsS0FBQSxDQUFBdkIsS0FBQSxPQUFBRCxTQUFBO0FBQUE7QUFFRHVCLElBQUksQ0FBQyxDQUFDLENBQ0h6RixJQUFJLENBQUMsVUFBQ3NKLFFBQVE7RUFBQSxPQUFLN0IsT0FBTyxDQUFDOEIsSUFBSSxDQUFDRCxRQUFRLENBQUM7QUFBQSxFQUFDLFNBQ3JDLENBQUMsVUFBQ0UsS0FBSyxFQUFLO0VBQ2hCVixPQUFPLENBQUNDLEdBQUcsQ0FBQ1MsS0FBSyxDQUFDO0VBQ2xCL0IsT0FBTyxDQUFDOEIsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
206
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZGVlcEVxdWFsIiwiX2ZzRXh0cmEiLCJfcGF0aCIsImdpdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3BhcnNlcnMiLCJfY2xpX2hlbHBlcnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwicHJvdG90eXBlIiwibyIsInZhbHVlIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjIiwiYXN5bmNJdGVyYXRvciIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwidG9TdHJpbmciLCJ0ZXN0IiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmd1bWVudHMiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93IiwiX2FzeW5jSXRlcmF0b3IiLCJBc3luY0Zyb21TeW5jSXRlcmF0b3IiLCJBc3luY0Zyb21TeW5jSXRlcmF0b3JDb250aW51YXRpb24iLCJyZWplY3QiLCJfcmV0dXJuIiwib3B0aW9uc0RlZmluaXRpb25zIiwiY2xvbmVPcHRpb24iLCJjb21taXRPcHRpb24iLCJsZWdpc2xhdHVyZU9wdGlvbiIsInJlbW90ZU9wdGlvbiIsInNpbGVudE9wdGlvbiIsInZlcmJvc2VPcHRpb24iLCJkYXRhRGlyRGVmYXVsdE9wdGlvbiIsInB1bGxPcHRpb24iLCJhbGlhcyIsImhlbHAiLCJCb29sZWFuIiwib3B0aW9ucyIsImNvbW1hbmRMaW5lQXJncyIsIm1haW4iLCJfbWFpbiIsIl9jYWxsZWUiLCJnaXRHcm91cFVybCIsImFtZW5kZW1lbnRzRGlyIiwiY2FjaGVEaXIiLCJfaSIsIl9hcnIiLCJldGF0IiwidXJsIiwiX2l0ZXJhdG9yQWJydXB0Q29tcGxldGlvbiIsIl9kaWRJdGVyYXRvckVycm9yIiwiX2l0ZXJhdG9yRXJyb3IiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIl9zdGVwJHZhbHVlIiwiYW1lbmRlbWVudFVybFBhdGgiLCJhbWVuZGVtZW50IiwiYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZCIsImFtZW5kZW1lbnRGaWxlUGF0aCIsImV4aXN0aW5nQW1lbmRlbWVudCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJjbG9uZSIsInRyaW0iLCJyZXBsYWNlIiwidW5kZWZpbmVkIiwiZGF0YURpciIsInBhdGgiLCJqb2luIiwicHVsbCIsInJlc2V0QW5kUHVsbCIsImZzIiwiZW5zdXJlRGlyIiwiY29uY2F0IiwibGVnaXNsYXR1cmUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMiLCJpbmNyZW1lbnRhbCIsInNpbGVudCIsInZlcmJvc2UiLCJzcGxpdCIsImRpcm5hbWUiLCJwYXRoRXhpc3RzIiwicmVhZEpzb24iLCJ0MCIsImRlZXBFcXVhbCIsImNvbnNvbGUiLCJsb2ciLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJ0MSIsImNvbW1pdCIsImNvbW1pdEFuZFB1c2giLCJyZW1vdGUiLCJleGl0Q29kZSIsInByb2Nlc3MiLCJleGl0IiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9yZXRyaWV2ZV9wZW5kaW5nX2FtZW5kbWVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGRlZXBFcXVhbCBmcm9tIFwiZGVlcC1lcXVhbFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuaW1wb3J0ICogYXMgZ2l0IGZyb20gXCIuLi9naXRcIlxuaW1wb3J0IHsgaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzIH0gZnJvbSBcIi4uL3BhcnNlcnNcIlxuaW1wb3J0IHtcbiAgY2xvbmVPcHRpb24sXG4gIGNvbW1pdE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIGxlZ2lzbGF0dXJlT3B0aW9uLFxuICBwdWxsT3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgdmVyYm9zZU9wdGlvbixcbn0gZnJvbSBcIi4vc2hhcmVkL2NsaV9oZWxwZXJzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICBsZWdpc2xhdHVyZU9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIHZlcmJvc2VPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBwdWxsT3B0aW9uLFxuICB7XG4gICAgYWxpYXM6IFwiaVwiLFxuICAgIGhlbHA6IFwiaW5jcmVtZW50YWwgbW9kZTogcmV0cmlldmUgb25seSBhbWVuZG1lbnRzIHdob3NlIHBvc2l0aW9uIGluIHNlYXJjaCBoYXMgY2hhbmdlZFwiLFxuICAgIG5hbWU6IFwiaW5jcmVtZW50YWxcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgY29uc3QgZ2l0R3JvdXBVcmwgPSBvcHRpb25zLmNsb25lXG4gICAgPyBvcHRpb25zLmNsb25lLnRyaW0oKS5yZXBsYWNlKC9cXC8rJC8sIFwiXCIpXG4gICAgOiB1bmRlZmluZWRcbiAgXG4gIGdpdC5jbG9uZShnaXRHcm91cFVybCwgXCJBbWVuZGVtZW50c19lbl9hdHRlbnRlXCIsIG9wdGlvbnMuZGF0YURpcilcbiAgXG4gIGNvbnN0IGFtZW5kZW1lbnRzRGlyID0gcGF0aC5qb2luKG9wdGlvbnMuZGF0YURpciwgXCJBbWVuZGVtZW50c19lbl9hdHRlbnRlXCIpXG4gIGlmIChvcHRpb25zLnB1bGwpIHtcbiAgICBnaXQucmVzZXRBbmRQdWxsKGFtZW5kZW1lbnRzRGlyKVxuICB9XG5cbiAgYXdhaXQgZnMuZW5zdXJlRGlyKGFtZW5kZW1lbnRzRGlyKVxuICBjb25zdCBjYWNoZURpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIFwiQW1lbmRlbWVudHNfZW5fYXR0ZW50ZV9jYWNoZVwiKVxuICBmb3IgKGNvbnN0IGV0YXQgb2YgW1wiRW4gcmVjZXZhYmlsaXTDqVwiLCBcIkVuIHRyYWl0ZW1lbnRcIl0pIHtcbiAgICBjb25zdCB1cmwgPSBgaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9keW4vJHtcbiAgICAgIG9wdGlvbnMubGVnaXNsYXR1cmVcbiAgICB9L2FtZW5kZW1lbnRzP2V0YXQ9JHtlbmNvZGVVUklDb21wb25lbnQoZXRhdCl9YFxuICAgIGZvciBhd2FpdCAoY29uc3QgW1xuICAgICAgYW1lbmRlbWVudFVybFBhdGgsXG4gICAgICBhbWVuZGVtZW50LFxuICAgIF0gb2YgaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzKFxuICAgICAgY2FjaGVEaXIsXG4gICAgICB1cmwsXG4gICAgICBvcHRpb25zLmluY3JlbWVudGFsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICB7IHNpbGVudDogb3B0aW9ucy5zaWxlbnQsIHZlcmJvc2U6IG9wdGlvbnMudmVyYm9zZSB9LFxuICAgICkpIHtcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQgPSBhbWVuZGVtZW50VXJsUGF0aCEuc3BsaXQoXCIvXCIpXG4gICAgICBjb25zdCBhbWVuZGVtZW50RmlsZVBhdGggPVxuICAgICAgICBwYXRoLmpvaW4oYW1lbmRlbWVudHNEaXIsIC4uLmFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQuc2xpY2UoMikpICtcbiAgICAgICAgXCIuanNvblwiXG4gICAgICBhd2FpdCBmcy5lbnN1cmVEaXIocGF0aC5kaXJuYW1lKGFtZW5kZW1lbnRGaWxlUGF0aCkpXG4gICAgICBjb25zdCBleGlzdGluZ0FtZW5kZW1lbnQgPSAoYXdhaXQgZnMucGF0aEV4aXN0cyhhbWVuZGVtZW50RmlsZVBhdGgpKVxuICAgICAgICA/IGF3YWl0IGZzLnJlYWRKc29uKGFtZW5kZW1lbnRGaWxlUGF0aClcbiAgICAgICAgOiBudWxsXG4gICAgICBpZiAoIWRlZXBFcXVhbChhbWVuZGVtZW50LCBleGlzdGluZ0FtZW5kZW1lbnQpKSB7XG4gICAgICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgICAgICBpZiAoZXhpc3RpbmdBbWVuZGVtZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQWRkaW5nIGFtZW5kZW1lbnQgSlNPTjogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYFVwZGF0aW5nIGFtZW5kZW1lbnQgSlNPTjogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgZnMud3JpdGVKc29uKGFtZW5kZW1lbnRGaWxlUGF0aCwgYW1lbmRlbWVudCwgeyBzcGFjZXM6IDIgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAob3B0aW9ucy5jb21taXQpIHtcbiAgICByZXR1cm4gZ2l0LmNvbW1pdEFuZFB1c2goYW1lbmRlbWVudHNEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgfVxuICByZXR1cm4gMFxufVxuXG5tYWluKClcbiAgLnRoZW4oKGV4aXRDb2RlKSA9PiBwcm9jZXNzLmV4aXQoZXhpdENvZGUpKVxuICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgcHJvY2Vzcy5leGl0KDEpXG4gIH0pXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsZ0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFJLEdBQUEsR0FBQUMsdUJBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFlBQUEsR0FBQVAsT0FBQTtBQVM2QixTQUFBUSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUosd0JBQUFJLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FB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
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { execSync } from "child_process";
|
|
2
1
|
import commandLineArgs from "command-line-args";
|
|
3
2
|
import deepEqual from "deep-equal";
|
|
4
3
|
import fs from "fs-extra";
|
|
@@ -15,14 +14,7 @@ const optionsDefinitions = [cloneOption, commitOption, legislatureOption, remote
|
|
|
15
14
|
const options = commandLineArgs(optionsDefinitions);
|
|
16
15
|
async function main() {
|
|
17
16
|
const gitGroupUrl = options.clone ? options.clone.trim().replace(/\/+$/, "") : undefined;
|
|
18
|
-
|
|
19
|
-
execSync(`git clone ${gitGroupUrl}/Amendements_en_attente.git`, {
|
|
20
|
-
cwd: options.dataDir,
|
|
21
|
-
env: process.env,
|
|
22
|
-
encoding: "utf-8",
|
|
23
|
-
stdio: ["ignore", "ignore", "pipe"]
|
|
24
|
-
});
|
|
25
|
-
}
|
|
17
|
+
git.clone(gitGroupUrl, "Amendements_en_attente", options.dataDir);
|
|
26
18
|
const amendementsDir = path.join(options.dataDir, "Amendements_en_attente");
|
|
27
19
|
if (options.pull) {
|
|
28
20
|
git.resetAndPull(amendementsDir);
|
|
@@ -62,4 +54,4 @@ main().then(exitCode => process.exit(exitCode)).catch(error => {
|
|
|
62
54
|
console.log(error);
|
|
63
55
|
process.exit(1);
|
|
64
56
|
});
|
|
65
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kTGluZUFyZ3MiLCJkZWVwRXF1YWwiLCJmcyIsInBhdGgiLCJnaXQiLCJpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMiLCJjbG9uZU9wdGlvbiIsImNvbW1pdE9wdGlvbiIsImRhdGFEaXJEZWZhdWx0T3B0aW9uIiwibGVnaXNsYXR1cmVPcHRpb24iLCJwdWxsT3B0aW9uIiwicmVtb3RlT3B0aW9uIiwic2lsZW50T3B0aW9uIiwidmVyYm9zZU9wdGlvbiIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImFsaWFzIiwiaGVscCIsIm5hbWUiLCJ0eXBlIiwiQm9vbGVhbiIsIm9wdGlvbnMiLCJtYWluIiwiZ2l0R3JvdXBVcmwiLCJjbG9uZSIsInRyaW0iLCJyZXBsYWNlIiwidW5kZWZpbmVkIiwiZGF0YURpciIsImFtZW5kZW1lbnRzRGlyIiwiam9pbiIsInB1bGwiLCJyZXNldEFuZFB1bGwiLCJlbnN1cmVEaXIiLCJjYWNoZURpciIsImV0YXQiLCJ1cmwiLCJsZWdpc2xhdHVyZSIsImVuY29kZVVSSUNvbXBvbmVudCIsImFtZW5kZW1lbnRVcmxQYXRoIiwiYW1lbmRlbWVudCIsImluY3JlbWVudGFsIiwic2lsZW50IiwidmVyYm9zZSIsImFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQiLCJzcGxpdCIsImFtZW5kZW1lbnRGaWxlUGF0aCIsInNsaWNlIiwiZGlybmFtZSIsImV4aXN0aW5nQW1lbmRlbWVudCIsInBhdGhFeGlzdHMiLCJyZWFkSnNvbiIsImNvbnNvbGUiLCJsb2ciLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJjb21taXQiLCJjb21taXRBbmRQdXNoIiwicmVtb3RlIiwidGhlbiIsImV4aXRDb2RlIiwicHJvY2VzcyIsImV4aXQiLCJjYXRjaCIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmV0cmlldmVfcGVuZGluZ19hbWVuZG1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBkZWVwRXF1YWwgZnJvbSBcImRlZXAtZXF1YWxcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmltcG9ydCAqIGFzIGdpdCBmcm9tIFwiLi4vZ2l0XCJcbmltcG9ydCB7IGl0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyB9IGZyb20gXCIuLi9wYXJzZXJzXCJcbmltcG9ydCB7XG4gIGNsb25lT3B0aW9uLFxuICBjb21taXRPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBsZWdpc2xhdHVyZU9wdGlvbixcbiAgcHVsbE9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIHZlcmJvc2VPcHRpb24sXG59IGZyb20gXCIuL3NoYXJlZC9jbGlfaGVscGVyc1wiXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAgY2xvbmVPcHRpb24sXG4gIGNvbW1pdE9wdGlvbixcbiAgbGVnaXNsYXR1cmVPcHRpb24sXG4gIHJlbW90ZU9wdGlvbixcbiAgc2lsZW50T3B0aW9uLFxuICB2ZXJib3NlT3B0aW9uLFxuICBkYXRhRGlyRGVmYXVsdE9wdGlvbixcbiAgcHVsbE9wdGlvbixcbiAge1xuICAgIGFsaWFzOiBcImlcIixcbiAgICBoZWxwOiBcImluY3JlbWVudGFsIG1vZGU6IHJldHJpZXZlIG9ubHkgYW1lbmRtZW50cyB3aG9zZSBwb3NpdGlvbiBpbiBzZWFyY2ggaGFzIGNoYW5nZWRcIixcbiAgICBuYW1lOiBcImluY3JlbWVudGFsXCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuXG5hc3luYyBmdW5jdGlvbiBtYWluKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gIGNvbnN0IGdpdEdyb3VwVXJsID0gb3B0aW9ucy5jbG9uZVxuICAgID8gb3B0aW9ucy5jbG9uZS50cmltKCkucmVwbGFjZSgvXFwvKyQvLCBcIlwiKVxuICAgIDogdW5kZWZpbmVkXG4gIFxuICBnaXQuY2xvbmUoZ2l0R3JvdXBVcmwsIFwiQW1lbmRlbWVudHNfZW5fYXR0ZW50ZVwiLCBvcHRpb25zLmRhdGFEaXIpXG4gIFxuICBjb25zdCBhbWVuZGVtZW50c0RpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIFwiQW1lbmRlbWVudHNfZW5fYXR0ZW50ZVwiKVxuICBpZiAob3B0aW9ucy5wdWxsKSB7XG4gICAgZ2l0LnJlc2V0QW5kUHVsbChhbWVuZGVtZW50c0RpcilcbiAgfVxuXG4gIGF3YWl0IGZzLmVuc3VyZURpcihhbWVuZGVtZW50c0RpcilcbiAgY29uc3QgY2FjaGVEaXIgPSBwYXRoLmpvaW4ob3B0aW9ucy5kYXRhRGlyLCBcIkFtZW5kZW1lbnRzX2VuX2F0dGVudGVfY2FjaGVcIilcbiAgZm9yIChjb25zdCBldGF0IG9mIFtcIkVuIHJlY2V2YWJpbGl0w6lcIiwgXCJFbiB0cmFpdGVtZW50XCJdKSB7XG4gICAgY29uc3QgdXJsID0gYGh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvZHluLyR7XG4gICAgICBvcHRpb25zLmxlZ2lzbGF0dXJlXG4gICAgfS9hbWVuZGVtZW50cz9ldGF0PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGV0YXQpfWBcbiAgICBmb3IgYXdhaXQgKGNvbnN0IFtcbiAgICAgIGFtZW5kZW1lbnRVcmxQYXRoLFxuICAgICAgYW1lbmRlbWVudCxcbiAgICBdIG9mIGl0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyhcbiAgICAgIGNhY2hlRGlyLFxuICAgICAgdXJsLFxuICAgICAgb3B0aW9ucy5pbmNyZW1lbnRhbCxcbiAgICAgIG51bGwsXG4gICAgICBudWxsLFxuICAgICAgeyBzaWxlbnQ6IG9wdGlvbnMuc2lsZW50LCB2ZXJib3NlOiBvcHRpb25zLnZlcmJvc2UgfSxcbiAgICApKSB7XG4gICAgICBjb25zdCBhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkID0gYW1lbmRlbWVudFVybFBhdGghLnNwbGl0KFwiL1wiKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEZpbGVQYXRoID1cbiAgICAgICAgcGF0aC5qb2luKGFtZW5kZW1lbnRzRGlyLCAuLi5hbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkLnNsaWNlKDIpKSArXG4gICAgICAgIFwiLmpzb25cIlxuICAgICAgYXdhaXQgZnMuZW5zdXJlRGlyKHBhdGguZGlybmFtZShhbWVuZGVtZW50RmlsZVBhdGgpKVxuICAgICAgY29uc3QgZXhpc3RpbmdBbWVuZGVtZW50ID0gKGF3YWl0IGZzLnBhdGhFeGlzdHMoYW1lbmRlbWVudEZpbGVQYXRoKSlcbiAgICAgICAgPyBhd2FpdCBmcy5yZWFkSnNvbihhbWVuZGVtZW50RmlsZVBhdGgpXG4gICAgICAgIDogbnVsbFxuICAgICAgaWYgKCFkZWVwRXF1YWwoYW1lbmRlbWVudCwgZXhpc3RpbmdBbWVuZGVtZW50KSkge1xuICAgICAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICAgICAgaWYgKGV4aXN0aW5nQW1lbmRlbWVudCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYEFkZGluZyBhbWVuZGVtZW50IEpTT046ICR7YW1lbmRlbWVudEZpbGVQYXRofeKApmApXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBVcGRhdGluZyBhbWVuZGVtZW50IEpTT046ICR7YW1lbmRlbWVudEZpbGVQYXRofeKApmApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGZzLndyaXRlSnNvbihhbWVuZGVtZW50RmlsZVBhdGgsIGFtZW5kZW1lbnQsIHsgc3BhY2VzOiAyIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKG9wdGlvbnMuY29tbWl0KSB7XG4gICAgcmV0dXJuIGdpdC5jb21taXRBbmRQdXNoKGFtZW5kZW1lbnRzRGlyLCBcIk5vdXZlbGxlIG1vaXNzb25cIiwgb3B0aW9ucy5yZW1vdGUpXG4gIH1cbiAgcmV0dXJuIDBcbn1cblxubWFpbigpXG4gIC50aGVuKChleGl0Q29kZSkgPT4gcHJvY2Vzcy5leGl0KGV4aXRDb2RlKSlcbiAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgIHByb2Nlc3MuZXhpdCgxKVxuICB9KVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxlQUFlLE1BQU0sbUJBQW1CO0FBQy9DLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLEVBQUUsTUFBTSxVQUFVO0FBQ3pCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQUEsT0FFaEIsS0FBS0MsR0FBRztBQUFBLFNBQ05DLDJCQUEyQjtBQUFBLFNBRWxDQyxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsb0JBQW9CLEVBQ3BCQyxpQkFBaUIsRUFDakJDLFVBQVUsRUFDVkMsWUFBWSxFQUNaQyxZQUFZLEVBQ1pDLGFBQWE7QUFHZixNQUFNQyxrQkFBa0IsR0FBRyxDQUN6QlIsV0FBVyxFQUNYQyxZQUFZLEVBQ1pFLGlCQUFpQixFQUNqQkUsWUFBWSxFQUNaQyxZQUFZLEVBQ1pDLGFBQWEsRUFDYkwsb0JBQW9CLEVBQ3BCRSxVQUFVLEVBQ1Y7RUFDRUssS0FBSyxFQUFFLEdBQUc7RUFDVkMsSUFBSSxFQUFFLGlGQUFpRjtFQUN2RkMsSUFBSSxFQUFFLGFBQWE7RUFDbkJDLElBQUksRUFBRUM7QUFDUixDQUFDLENBQ0Y7QUFDRCxNQUFNQyxPQUFPLEdBQUdwQixlQUFlLENBQUNjLGtCQUFrQixDQUFDO0FBRW5ELGVBQWVPLElBQUlBLENBQUEsRUFBb0I7RUFDckMsTUFBTUMsV0FBVyxHQUFHRixPQUFPLENBQUNHLEtBQUssR0FDN0JILE9BQU8sQ0FBQ0csS0FBSyxDQUFDQyxJQUFJLENBQUMsQ0FBQyxDQUFDQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUN4Q0MsU0FBUztFQUVidEIsR0FBRyxDQUFDbUIsS0FBSyxDQUFDRCxX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
|