@decaf-ts/for-fabric 0.12.2 → 0.12.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -58,6 +58,7 @@ const compileCommand = new commander_1.Command()
58
58
  .option("--npmrc", "includes .npmrc in the compiled output", false)
59
59
  .action(async (options) => {
60
60
  const pkg = JSON.parse(fs_1.default.readFileSync(path_1.default.join(process.cwd(), "package.json"), "utf-8"));
61
+ const pkgLock = JSON.parse(fs_1.default.readFileSync(path_1.default.join(process.cwd(), "package-lock.json"), "utf-8"));
61
62
  let npmrcContent = undefined;
62
63
  const version = pkg.version;
63
64
  let {
@@ -84,7 +85,9 @@ const compileCommand = new commander_1.Command()
84
85
  const log = logger.for("compile-contract");
85
86
  try {
86
87
  if (npmrc) {
87
- npmrcContent = JSON.parse(fs_1.default.readFileSync(path_1.default.join(process.cwd(), ".npmrc"), "utf-8"));
88
+ npmrcContent = fs_1.default
89
+ .readFileSync(path_1.default.join(process.cwd(), ".npmrc"), "utf-8")
90
+ .toString();
88
91
  const replaced = npmrcContent.replace(/\$\{([^}]+)\}/g, (_, varName) => {
89
92
  const value = process.env[varName];
90
93
  if (value === undefined) {
@@ -190,6 +193,7 @@ const compileCommand = new commander_1.Command()
190
193
  lint: "eslint . --fix --ext .js",
191
194
  };
192
195
  const contractPackage = pkg;
196
+ const contractPackageLock = pkgLock;
193
197
  contractPackage.name = name;
194
198
  contractPackage.description = description;
195
199
  contractPackage.scripts = scripts;
@@ -200,7 +204,8 @@ const compileCommand = new commander_1.Command()
200
204
  ? `${(0, logging_1.toPascalCase)(name)}.js`
201
205
  : `${input}/index.js`;
202
206
  fs_1.default.writeFileSync(path_1.default.join(output, "package.json"), JSON.stringify(contractPackage));
203
- if (npmrc)
207
+ fs_1.default.writeFileSync(path_1.default.join(output, "package-lock.json"), JSON.stringify(contractPackageLock));
208
+ if (npmrc && npmrcContent)
204
209
  fs_1.default.writeFileSync(path_1.default.join(output, ".npmrc"), npmrcContent);
205
210
  log.info(`Installing and shrinkwrapping dependencies`);
206
211
  (0, child_process_1.execSync)(`npm install`, { cwd: output });
@@ -501,5 +506,5 @@ fabricCmd.addCommand(extractCollections);
501
506
  function fabric() {
502
507
  return fabricCmd;
503
508
  }
504
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGktbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN4QyxPQUFPLE9BQU8sTUFBTSx3QkFBd0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsWUFBWSxHQUNiLGtDQUF5QjtBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUNMLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGVBQWUsRUFDZixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLDRCQUE0QixHQUM3Qix1QkFBb0I7QUFDckIscUNBQTRCO0FBQzVCLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QixPQUFPLEVBQ0wsa0JBQWtCLElBQUksYUFBYSxFQUVuQyxnQkFBZ0IsRUFDaEIseUJBQXlCLEdBQzFCLHNDQUFtQztBQUdwQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRXJDLFNBQVMsdUJBQXVCO0lBQzlCLE9BQU87UUFDTCxJQUFJLEVBQUUsNEJBQTRCO1FB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LENBQ1YsbUVBQW1FLENBQ3BFLENBQUM7QUFFSixTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3JDLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDckMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNsQyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3JDLFNBQVMsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUN4QyxTQUFTLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFekMsTUFBTSxDQUFDLE9BQU8sVUFBVSxNQUFNO0lBQzVCLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuaW1wb3J0IHsgTG9nZ2luZywgdG9QYXNjYWxDYXNlIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgUGx1Z2luLCByb2xsdXAgfSBmcm9tIFwicm9sbHVwXCI7XG5pbXBvcnQgcmVwbGFjZSBmcm9tIFwiQHJvbGx1cC9wbHVnaW4tcmVwbGFjZVwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciwgU2VyaWFsaXphdGlvbkVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQge1xuICBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcyxcbiAgZ2VuZXJhdGVNb2RlbEluZGV4ZXMsXG4gIHJlYWRNb2RlbEZpbGUsXG4gIHJlYWRNb2RlbEZvbGRlcnMsXG4gIHdyaXRlRGVzaWduRG9jcyxcbiAgd3JpdGVJbmRleGVzLFxufSBmcm9tIFwiLi9jbGllbnQvaW5kZXhlc1wiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBhcHByb3ZlQ29udHJhY3QsXG4gIGVuc3VyZUluZnJhc3RydWN0dXJlQm9vdGVkLFxuICBpbnN0YWxsQ29udHJhY3QsXG4gIHBhY2thZ2VDb250cmFjdCxcbiAgY29tbWl0Q2hhaW5jb2RlLFxuICBnZXRDb250cmFjdFN0YXJ0Q29tbWFuZCxcbiAgY29tcGlsZVdpdGhUc2NvbmZpZ092ZXJyaWRlcyxcbn0gZnJvbSBcIi4vY2xpLXV0aWxzXCI7XG5pbXBvcnQgXCIuL3NoYXJlZC9vdmVycmlkZXNcIjtcbmltcG9ydCB0cyBmcm9tIFwidHlwZXNjcmlwdFwiO1xuaW1wb3J0IHtcbiAgZXh0cmFjdENvbGxlY3Rpb25zIGFzIGV4Q29sbGVjdGlvbnMsXG4gIFByaXZhdGVDb2xsZWN0aW9uLFxuICB3cml0ZUNvbGxlY3Rpb25zLFxuICB3cml0ZUNvbGxlY3Rpb25EZXNpZ25Eb2NzLFxufSBmcm9tIFwiLi9jbGllbnQvY29sbGVjdGlvbnMvaW5kZXhcIjtcbmltcG9ydCB7IENvdWNoREJEZXNpZ25Eb2MsIENyZWF0ZUluZGV4UmVxdWVzdCB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLWNvdWNoZGJcIjtcblxuY29uc3QgbG9nZ2VyID0gTG9nZ2luZy5mb3IoXCJmYWJyaWNcIik7XG5cbmZ1bmN0aW9uIHJlc29sdmVCdW5kbGVkSnNJbXBvcnRzKCk6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogXCJyZXNvbHZlLWJ1bmRsZWQtanMtaW1wb3J0c1wiLFxuICAgIHJlc29sdmVJZChzb3VyY2UsIGltcG9ydGVyKSB7XG4gICAgICBpZiAoIWltcG9ydGVyIHx8ICFzb3VyY2Uuc3RhcnRzV2l0aChcIi5cIikpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc29sdmVkUGF0aCA9IHBhdGgucmVzb2x2ZShwYXRoLmRpcm5hbWUoaW1wb3J0ZXIpLCBzb3VyY2UpO1xuICAgICAgY29uc3QgY2FuZGlkYXRlcyA9IFtcbiAgICAgICAgcmVzb2x2ZWRQYXRoLFxuICAgICAgICBgJHtyZXNvbHZlZFBhdGh9LmpzYCxcbiAgICAgICAgcGF0aC5qb2luKHJlc29sdmVkUGF0aCwgXCJpbmRleC5qc1wiKSxcbiAgICAgIF07XG5cbiAgICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoY2FuZGlkYXRlKSAmJiBmcy5zdGF0U3luYyhjYW5kaWRhdGUpLmlzRmlsZSgpKSB7XG4gICAgICAgICAgcmV0dXJuIGNhbmRpZGF0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9LFxuICB9O1xufVxuXG5jb25zdCBjb21waWxlQ29tbWFuZCA9IG5ldyBDb21tYW5kKClcbiAgLm5hbWUoXCJjb21waWxlLWNvbnRyYWN0XCIpXG4gIC5kZXNjcmlwdGlvbihcIkNyZWF0ZXMgYSBnbG9iYWwgY29udHJhY3RcIilcbiAgLm9wdGlvbihcIi0tZGV2XCIsIFwiY29tcGlsZXMgY29udHJhY3RzIHdpdGhvdXQgbWluaWZpY2F0aW9uXCIsIGZhbHNlKVxuICAub3B0aW9uKFwiLS1kZWJ1Z1wiLCBcIm1ha2VzIGF0dGFjaGluZyBkZWJ1Z2dlciBwb3NzaWJsZVwiLCBmYWxzZSlcbiAgLm9wdGlvbihcbiAgICBcIi0tY2NhYXNcIixcbiAgICBcIkFqdXN0cyB0aGUgcGFja2FnZSBjb21tYW5kcyB0byBiZSBkZXBsb3llZCBhcyBjY2Fhc1wiLFxuICAgIGZhbHNlXG4gIClcbiAgLm9wdGlvbihcIi0tbmFtZSA8U3RyaW5nPlwiLCBcImNvbnRyYWN0IG5hbWVcIiwgXCJnbG9iYWwtY29udHJhY3RcIilcbiAgLm9wdGlvbihcIi0tYnVuZGxlXCIsIFwiQnVuZGxlcyB3aXRoIHJvbGx1cCBpbnN0ZWFkIG9mIHVzaW5nIHRzY1wiLCBmYWxzZSlcbiAgLm9wdGlvbihcbiAgICBcIi0tdHMtY29uZmlnLWZpbGUgPHN0cmluZz5cIixcbiAgICBcInJlbGF0aXZlIHBhdGggdG8gdGhlIHRzIGNvbmZpZyBmaWxlIGJhc2VkIG9uIGN3ZCBvciBhYnNvbHV0ZSBwYXRoXCIsXG4gICAgXCIuL3RzY29uZmlnLmpzb25cIlxuICApXG4gIC5vcHRpb24oXG4gICAgXCItLWRlc2NyaXB0aW9uIDxTdHJpbmc+XCIsXG4gICAgXCJjb250cmFjdCBkZXNjcmlwdGlvblwiLFxuICAgIFwiR2xvYmFsIGNvbnRyYWN0IGltcGxlbWVudGF0aW9uXCJcbiAgKVxuICAub3B0aW9uKFwiLS1zdHJpcC1jb250cmFjdC1uYW1lXCIsIFwic3RyaXAgY29udHJhY3QgbmFtZSBmcm9tIG91dHB1dFwiLCBmYWxzZSlcbiAgLm9wdGlvbihcIi0taW5wdXQgPFN0cmluZz5cIiwgXCJpbnB1dCBmb2xkZXIgZm9yIGNvbnRyYWN0c1wiLCBcImxpYi9jb250cmFjdHNcIilcbiAgLm9wdGlvbihcIi0tb3V0cHV0IDxTdHJpbmc+XCIsIFwib3V0cHV0IGZvbGRlciBmb3IgY29udHJhY3RzXCIsIFwiLi9jb250cmFjdHNcIilcbiAgLm9wdGlvbihcIi0tc291cmNlbWFwc1wiLCBcImluY2x1ZGVzIHNvdXJjZW1hcHMgaW4gdGhlIGNvbXBpbGVkIG91dHB1dFwiLCBmYWxzZSlcbiAgLm9wdGlvbihcIi0tbnBtcmNcIiwgXCJpbmNsdWRlcyAubnBtcmMgaW4gdGhlIGNvbXBpbGVkIG91dHB1dFwiLCBmYWxzZSlcbiAgLmFjdGlvbihhc3luYyAob3B0aW9uczogYW55KSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShcbiAgICAgIGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLmpzb25cIiksIFwidXRmLThcIilcbiAgICApO1xuXG4gICAgbGV0IG5wbXJjQ29udGVudCA9IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGxldCB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBkZXYsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBkZWJ1ZyxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIG5hbWUsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIG91dHB1dCxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIGlucHV0LFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgc3RyaXBDb250cmFjdE5hbWUsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBjY2FhcyxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIGJ1bmRsZSxcblxuICAgICAgdHNDb25maWdGaWxlLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgc291cmNlbWFwcyxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIG5wbXJjLFxuICAgIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJjb21waWxlLWNvbnRyYWN0XCIpO1xuICAgIHRyeSB7XG4gICAgICBpZiAobnBtcmMpIHtcbiAgICAgICAgbnBtcmNDb250ZW50ID0gSlNPTi5wYXJzZShcbiAgICAgICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLm5wbXJjXCIpLCBcInV0Zi04XCIpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgcmVwbGFjZWQgPSBucG1yY0NvbnRlbnQucmVwbGFjZShcbiAgICAgICAgICAvXFwkXFx7KFtefV0rKVxcfS9nLFxuICAgICAgICAgIChfOiBhbnksIHZhck5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwcm9jZXNzLmVudlt2YXJOYW1lXTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgIGBXYXJuaW5nOiBFbnZpcm9ubWVudCB2YXJpYWJsZSBcIiR7dmFyTmFtZX1cIiBpcyBub3Qgc2V0YFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBucG1yY0NvbnRlbnQgPSByZXBsYWNlZDtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIGxvZy5pbmZvKGBObyAubnBtcmMgZmlsZSBmb3VuZCwgc2tpcHBpbmcgY29weWluZyAubnBtcmMgdG8gb3V0cHV0YCk7XG4gICAgfVxuXG4gICAgbG9nLmRlYnVnKFxuICAgICAgYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YFxuICAgICk7XG5cbiAgICB0c0NvbmZpZ0ZpbGUgPSBwYXRoLmlzQWJzb2x1dGUodHNDb25maWdGaWxlKVxuICAgICAgPyB0c0NvbmZpZ0ZpbGVcbiAgICAgIDogcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIHRzQ29uZmlnRmlsZSk7XG5cbiAgICBvdXRwdXQgPSBzdHJpcENvbnRyYWN0TmFtZSA/IG91dHB1dCA6IHBhdGguam9pbihvdXRwdXQsIG5hbWUpO1xuICAgIGxvZy5pbmZvKGBEZWxldGluZyBleGlzdGluZyBvdXRwdXQgZm9sZGVyIChpZiBleGlzdHMpIHVuZGVyICR7b3V0cHV0fWApO1xuICAgIGV4ZWNTeW5jKGBybSAtcmYgJHtvdXRwdXR9YCk7XG4gICAgaWYgKGJ1bmRsZSkge1xuICAgICAgbG9nLmluZm8oYGJ1bmRsaW5nIGNvbnRyYWN0IGZyb20gJHtpbnB1dH1gKTtcbiAgICAgIGNvbnN0IHRlbXBCdW5kbGVEaXIgPSBmcy5ta2R0ZW1wU3luYyhcbiAgICAgICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLmNvbnRyYWN0LWJ1bmRsZS1cIilcbiAgICAgICk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBpbnB1dEVudHJ5ID0gcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIGlucHV0LCBcImluZGV4LnRzXCIpO1xuICAgICAgICBjb25zdCBjb25maWdGaWxlID0gdHMucmVhZENvbmZpZ0ZpbGUodHNDb25maWdGaWxlLCB0cy5zeXMucmVhZEZpbGUpO1xuICAgICAgICBpZiAoY29uZmlnRmlsZS5lcnJvcikge1xuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgdHMuZmxhdHRlbkRpYWdub3N0aWNNZXNzYWdlVGV4dChjb25maWdGaWxlLmVycm9yLm1lc3NhZ2VUZXh0LCBcIlxcblwiKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWRDb25maWcgPSB0cy5wYXJzZUpzb25Db25maWdGaWxlQ29udGVudChcbiAgICAgICAgICBjb25maWdGaWxlLmNvbmZpZyxcbiAgICAgICAgICB0cy5zeXMsXG4gICAgICAgICAgcGF0aC5kaXJuYW1lKHRzQ29uZmlnRmlsZSksXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIHRzQ29uZmlnRmlsZVxuICAgICAgICApO1xuICAgICAgICBpZiAocGFyc2VkQ29uZmlnLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICAgIHBhcnNlZENvbmZpZy5lcnJvcnNcbiAgICAgICAgICAgICAgLm1hcCgoZXJyb3IpID0+XG4gICAgICAgICAgICAgICAgdHMuZmxhdHRlbkRpYWdub3N0aWNNZXNzYWdlVGV4dChlcnJvci5tZXNzYWdlVGV4dCwgXCJcXG5cIilcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuam9pbihcIlxcblwiKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0ZW1wQ29tcGlsZXJPcHRpb25zOiB0cy5Db21waWxlck9wdGlvbnMgPSB7XG4gICAgICAgICAgLi4ucGFyc2VkQ29uZmlnLm9wdGlvbnMsXG4gICAgICAgICAgb3V0RGlyOiB0ZW1wQnVuZGxlRGlyLFxuICAgICAgICAgIG1vZHVsZTogdHMuTW9kdWxlS2luZC5FU05leHQsXG4gICAgICAgICAgZGVjbGFyYXRpb246IGZhbHNlLFxuICAgICAgICAgIHNvdXJjZU1hcDogZmFsc2UsXG4gICAgICAgICAgaW5saW5lU291cmNlczogZmFsc2UsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGJ1bmRsZWRFbnRyeVBvaW50ID0gdHNcbiAgICAgICAgICAuZ2V0T3V0cHV0RmlsZU5hbWVzKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5wYXJzZWRDb25maWcsXG4gICAgICAgICAgICAgIG9wdGlvbnM6IHRlbXBDb21waWxlck9wdGlvbnMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW5wdXRFbnRyeSxcbiAgICAgICAgICAgICF0cy5zeXMudXNlQ2FzZVNlbnNpdGl2ZUZpbGVOYW1lc1xuICAgICAgICAgIClcbiAgICAgICAgICAuZmluZCgoZmlsZU5hbWUpID0+IGZpbGVOYW1lLmVuZHNXaXRoKFwiLmpzXCIpKTtcblxuICAgICAgICBpZiAoIWJ1bmRsZWRFbnRyeVBvaW50KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICBgRmFpbGVkIHRvIGRldGVybWluZSB0aGUgZW1pdHRlZCBidW5kbGUgZW50cnkgZm9yICR7aW5wdXRFbnRyeX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbXBpbGVXaXRoVHNjb25maWdPdmVycmlkZXModHNDb25maWdGaWxlLCB0ZW1wQ29tcGlsZXJPcHRpb25zKTtcbiAgICAgICAgY29uc3QgYnVuZGxlZENvbnRyYWN0ID0gYXdhaXQgcm9sbHVwKHtcbiAgICAgICAgICBpbnB1dDogYnVuZGxlZEVudHJ5UG9pbnQsXG4gICAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgICAgcmVzb2x2ZUJ1bmRsZWRKc0ltcG9ydHMoKSxcbiAgICAgICAgICAgIHJlcGxhY2Uoe1xuICAgICAgICAgICAgICBwcmV2ZW50QXNzaWdubWVudDogdHJ1ZSxcbiAgICAgICAgICAgICAgZGVsaW1pdGVyczogW1wiXCIsIFwiXCJdLFxuICAgICAgICAgICAgICB2YWx1ZXM6IHsgXCIjI1ZFUlNJT04jI1wiOiB2ZXJzaW9uLCBcIiMjUEFDS0FHRSMjXCI6IHBrZy5uYW1lIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgbG9nLmluZm8oXG4gICAgICAgICAgYHdpdGhpbmcgY29udHJhY3QgdG8gJHtvdXRwdXR9IHdpdGggbmFtZSAke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgXG4gICAgICAgICk7XG4gICAgICAgIGF3YWl0IGJ1bmRsZWRDb250cmFjdC53cml0ZSh7XG4gICAgICAgICAgZmlsZTogYCR7b3V0cHV0fS8ke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgLFxuICAgICAgICAgIGZvcm1hdDogXCJ1bWRcIixcbiAgICAgICAgICBuYW1lOiBgJHt0b1Bhc2NhbENhc2UobmFtZSl9LmpzYCxcbiAgICAgICAgICBzb3VyY2VtYXA6IHNvdXJjZW1hcHMgPyBcImlubGluZVwiIDogZmFsc2UsXG4gICAgICAgICAgc291cmNlbWFwUGF0aFRyYW5zZm9ybTogKHJlbGF0aXZlU291cmNlUGF0aCwgc291cmNlbWFwUGF0aCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWJzb2x1dGVTb3VyY2VQYXRoID0gcGF0aC5yZXNvbHZlKFxuICAgICAgICAgICAgICBwYXRoLmRpcm5hbWUoc291cmNlbWFwUGF0aCksXG4gICAgICAgICAgICAgIHJlbGF0aXZlU291cmNlUGF0aFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGFic29sdXRlU291cmNlUGF0aC5zdGFydHNXaXRoKHRlbXBCdW5kbGVEaXIpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBwYXRoLnBvc2l4LmpvaW4oXG4gICAgICAgICAgICAgICAgXCIuYnVuZGxlXCIsXG4gICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgLnJlbGF0aXZlKHRlbXBCdW5kbGVEaXIsIGFic29sdXRlU291cmNlUGF0aClcbiAgICAgICAgICAgICAgICAgIC5zcGxpdChwYXRoLnNlcClcbiAgICAgICAgICAgICAgICAgIC5qb2luKFwiL1wiKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVsYXRpdmVTb3VyY2VQYXRoO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCBidW5kbGVkQ29udHJhY3QuY2xvc2UoKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGZzLnJtU3luYyh0ZW1wQnVuZGxlRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbXBpbGVXaXRoVHNjb25maWdPdmVycmlkZXModHNDb25maWdGaWxlLCB7XG4gICAgICAgIG91dERpcjogb3V0cHV0LFxuICAgICAgICBtb2R1bGU6IHRzLk1vZHVsZUtpbmQuRVNOZXh0LFxuICAgICAgICBkZWNsYXJhdGlvbjogZmFsc2UsXG4gICAgICAgIHNvdXJjZU1hcDogc291cmNlbWFwcyxcbiAgICAgICAgaW5saW5lU291cmNlczogc291cmNlbWFwcyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHNjcmlwdHMgPSB7XG4gICAgICBzdGFydDogZ2V0Q29udHJhY3RTdGFydENvbW1hbmQoZGVidWcsIGNjYWFzKSxcbiAgICAgIFwic3RhcnQ6ZGV2XCI6IFwiZmFicmljLWNoYWluY29kZS1ub2RlIHN0YXJ0IC0tdGxzLmVuYWJsZWQgZmFsc2VcIixcbiAgICAgIFwic3RhcnQ6d2F0Y2hcIjogJ25vZGVtb24gLS1leGVjIFwibnBtIHJ1biBzdGFydDpkZXZcIicsXG4gICAgICBidWlsZDogJ2VjaG8gXCJObyBuZWVkIHRvIGJ1aWxkIHRoZSBjaGFpbmNvZGVcIicsXG4gICAgICBsaW50OiBcImVzbGludCAuIC0tZml4IC0tZXh0IC5qc1wiLFxuICAgIH07XG5cbiAgICBjb25zdCBjb250cmFjdFBhY2thZ2UgPSBwa2c7XG5cbiAgICBjb250cmFjdFBhY2thZ2UubmFtZSA9IG5hbWU7XG4gICAgY29udHJhY3RQYWNrYWdlLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgY29udHJhY3RQYWNrYWdlLnNjcmlwdHMgPSBzY3JpcHRzO1xuXG4gICAgZGVsZXRlIGNvbnRyYWN0UGFja2FnZS50eXBlO1xuICAgIGRlbGV0ZSBjb250cmFjdFBhY2thZ2UudHlwZXM7XG4gICAgZGVsZXRlIGNvbnRyYWN0UGFja2FnZS5leHBvcnRzO1xuICAgIGNvbnRyYWN0UGFja2FnZS5tYWluID0gYnVuZGxlXG4gICAgICA/IGAke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgXG4gICAgICA6IGAke2lucHV0fS9pbmRleC5qc2A7XG5cbiAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgcGF0aC5qb2luKG91dHB1dCwgXCJwYWNrYWdlLmpzb25cIiksXG4gICAgICBKU09OLnN0cmluZ2lmeShjb250cmFjdFBhY2thZ2UpXG4gICAgKTtcblxuICAgIGlmIChucG1yYykgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4ob3V0cHV0LCBcIi5ucG1yY1wiKSwgbnBtcmNDb250ZW50KTtcblxuICAgIGxvZy5pbmZvKGBJbnN0YWxsaW5nIGFuZCBzaHJpbmt3cmFwcGluZyBkZXBlbmRlbmNpZXNgKTtcbiAgICBleGVjU3luYyhgbnBtIGluc3RhbGxgLCB7IGN3ZDogb3V0cHV0IH0pO1xuICAgIGV4ZWNTeW5jKGBucG0gc2hyaW5rd3JhcGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgZXhlY1N5bmMoXCJybSAtcmYgbm9kZV9tb2R1bGVzXCIsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oYGRlbGV0aW5nIHRlbXAgZm9sZGVyc2ApO1xuICAgIGV4ZWNTeW5jKGBybSAtcmYgLi9saWIgJiYgcm0gLXJmIC4vZGlzdGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oXG4gICAgICBgQ29udHJhY3QgJHtuYW1lfSBjb21waWxlZCBzdWNjZXNzZnVsbHkhIGluICR7cGF0aC5yZXNvbHZlKG91dHB1dCl9YFxuICAgICk7XG4gICAgaWYgKGRldikge1xuICAgICAgbG9nLmluZm8oYGRldiBtb2RlIGVuYWJsZWQuIGluc3RhbGxpbmcgZGVwZW5kZW5jaWVzIGZvciBkZWJ1Z2dpbmdgKTtcbiAgICAgIGV4ZWNTeW5jKGBucG0gaW5zdGFsbGAsIHtcbiAgICAgICAgY3dkOiBvdXRwdXQsXG4gICAgICAgIGVudjogeyAuLi5wcm9jZXNzLmVudiwgTk9ERV9FTlY6IFwicHJvZHVjdGlvblwiIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG5jb25zdCBleHRyYWN0SW5kZXhlcyA9IG5ldyBDb21tYW5kKClcbiAgLmNvbW1hbmQoXCJleHRyYWN0LWluZGV4ZXNcIilcbiAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gIC5vcHRpb24oXCItLWZvbGRlciBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmb2xkZXJcIilcbiAgLm9wdGlvbihcIi0tb3V0RGlyIDxTdHJpbmc+XCIsIFwidGhlIG91dGRpci4gc2hvdWxkIG1hdGNoIHlvdXIgY29udHJhY3QgZm9sZGVyXCIpXG4gIC5kZXNjcmlwdGlvbihcbiAgICBcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIlxuICApXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJleHRyYWN0LWluZGV4ZXNcIik7XG4gICAgbG9nLmRlYnVnKFxuICAgICAgYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YFxuICAgICk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgbGV0IHsgZmlsZSwgZm9sZGVyLCBvdXREaXIgfSA9IG9wdGlvbnM7XG5cbiAgICBjb25zdCBtb2RlbHM6IGFueVtdID0gW107XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIG1vZGVscy5wdXNoKC4uLnJlYWRNb2RlbEZpbGUoZmlsZSkpO1xuICAgIH1cblxuICAgIGlmIChmb2xkZXIpIHtcbiAgICAgIGxvZy5pbmZvKGBMb2FkaW5nIG1vZGVscyBmcm9tICR7Zm9sZGVyfS4uLmApO1xuICAgICAgbW9kZWxzLnB1c2goLi4uKGF3YWl0IHJlYWRNb2RlbEZvbGRlcnMoZm9sZGVyKSkpO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBjb25zdCBkZXNpZ25Eb2NzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cbiAgICBpZiAoIWZpbGUgJiYgIWZvbGRlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBNdXN0IHBhc3MgYSBmaWxlIG9yIGEgZm9sZGVyYCk7XG5cbiAgICBmb3IgKGNvbnN0IG0gb2YgbW9kZWxzKSB7XG4gICAgICBsb2cudmVyYm9zZShgRXh0cmFjdGluZyBpbmRleGVzIGZvciB0YWJsZSAke01vZGVsLnRhYmxlTmFtZShtKX1gKTtcbiAgICAgIGNvbnN0IGluZGV4ZXMgPSBnZW5lcmF0ZU1vZGVsSW5kZXhlcyhtKTtcbiAgICAgIGluZGV4ZXMuZm9yRWFjaCgoaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGluZGV4Lm5hbWUpIHtcbiAgICAgICAgICByZXN1bHRbaW5kZXgubmFtZV0gPSBpbmRleDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcyhtLCBkZXNpZ25Eb2NzKTtcbiAgICB9XG4gICAgY29uc3QgaW5kZXhlc1RvV3JpdGUgPSBPYmplY3QudmFsdWVzKHJlc3VsdCk7XG4gICAgY29uc3QgZG9jc1RvV3JpdGUgPSBPYmplY3QudmFsdWVzKGRlc2lnbkRvY3MpO1xuICAgIGxvZy52ZXJib3NlKGBGb3VuZCAke2luZGV4ZXNUb1dyaXRlLmxlbmd0aH0gaW5kZXhlcyB0byBjcmVhdGVgKTtcbiAgICBsb2cudmVyYm9zZShgRm91bmQgJHtkb2NzVG9Xcml0ZS5sZW5ndGh9IGRlc2lnbiBkb2NzIHRvIGNyZWF0ZWApO1xuICAgIGxvZy5kZWJ1ZyhgSW5kZXhlczogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQpfWApO1xuICAgIGxvZy5kZWJ1ZyhgRGVzaWduRG9jczogJHtKU09OLnN0cmluZ2lmeShkZXNpZ25Eb2NzKX1gKTtcbiAgICB3cml0ZUluZGV4ZXMoaW5kZXhlc1RvV3JpdGUsIG91dERpcik7XG4gICAgd3JpdGVEZXNpZ25Eb2NzKGRvY3NUb1dyaXRlLCBvdXREaXIpO1xuICB9KTtcblxuY29uc3QgZXh0cmFjdENvbGxlY3Rpb25zID0gbmV3IENvbW1hbmQoKVxuICAuY29tbWFuZChcImV4dHJhY3QtY29sbGVjdGlvbnNcIilcbiAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gIC5vcHRpb24oXCItLWZvbGRlciBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmb2xkZXJcIilcbiAgLm9wdGlvbihcIi0tb3V0RGlyIDxTdHJpbmc+XCIsIFwidGhlIG91dGRpci4gc2hvdWxkIG1hdGNoIHlvdXIgY29udHJhY3QgZm9sZGVyXCIpXG4gIC5vcHRpb24oXCItLW1zcElkcyA8U3RyaW5nPlwiLCBcInNpbmdsZSBtc3BJZCBvciBzdHJpbmdpZmllZCBhcnJheVwiKVxuICAub3B0aW9uKFwiLS1tYWluTXNwSWQgPFN0cmluZz5cIiwgXCJzaW5nbGUgbXNwSWRcIilcbiAgLm9wdGlvbihcbiAgICBcIi0tb3ZlcnJpZGVzIFtTdHJpbmddXCIsXG4gICAgXCJzdHJpbmdpZmllZCBvdmVycmlkZSBvYmplY3Qge3JlcXVpcmVkUGVlckNvdW50OiBudW1iZXIsIG1heFBlZXJDb3VudDogbnVtYmVyLCBibG9ja1RvTGl2ZTogbnVtYmVyLCBtZW1iZXJPbmx5UmVhZDogbnVtYmVyLCBtZW1iZXJPbmx5V3JpdGU6IG51bWJlciwgZW5kb3JzZW1lbnRQb2xpY3k6ICB7fX1cIlxuICApXG4gIC5kZXNjcmlwdGlvbihcbiAgICBcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIlxuICApXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJleHRyYWN0LWNvbGxlY3Rpb25zXCIpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWBcbiAgICApO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCB7IGZpbGUsIGZvbGRlciwgb3V0RGlyLCBtc3BJZHMsIG1haW5Nc3BJZCB9ID0gb3B0aW9ucztcblxuICAgIHRyeSB7XG4gICAgICB0cnkge1xuICAgICAgICBtc3BJZHMgPSBtc3BJZHMgPyBKU09OLnBhcnNlKG1zcElkcykgOiB1bmRlZmluZWQ7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgLy8gIGRvIG5vdGhpbmdcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKGBVbmFibGUgdG8gZXh0cmFjdCBtc3BpZHM6ICAke2V9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgbW9kZWxzOiBhbnlbXSA9IFtdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICBtb2RlbHMucHVzaCguLi5yZWFkTW9kZWxGaWxlKGZpbGUpKTtcbiAgICB9XG5cbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICBsb2cuaW5mbyhgTG9hZGluZyBtb2RlbHMgZnJvbSAke2ZvbGRlcn0uLi5gKTtcbiAgICAgIG1vZGVscy5wdXNoKC4uLihhd2FpdCByZWFkTW9kZWxGb2xkZXJzKGZvbGRlcikpKTtcbiAgICB9XG5cbiAgICBpZiAoIWZpbGUgJiYgIWZvbGRlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBNdXN0IHBhc3MgYSBmaWxlIG9yIGEgZm9sZGVyYCk7XG5cbiAgICBjb25zdCBpbmplY3RhYmxlTW9kZWxzID0gbW9kZWxzLmZpbHRlcihcbiAgICAgIChtb2RlbCkgPT5cbiAgICAgICAgTW9kZWwuaXNTaGFyZWQobW9kZWwpIHx8XG4gICAgICAgIE1vZGVsLmlzUHJpdmF0ZShtb2RlbCkgfHxcbiAgICAgICAgISFNb2RlbC5taXJyb3JlZEF0KG1vZGVsKVxuICAgICk7XG4gICAgaWYgKCFpbmplY3RhYmxlTW9kZWxzLmxlbmd0aCkge1xuICAgICAgbG9nLmluZm8oXG4gICAgICAgIGBObyBzaGFyZWQsIHByaXZhdGUsIG9yIG1pcnJvcmVkIG1vZGVscyBmb3VuZCB0byBleHRyYWN0IGNvbGxlY3Rpb25zYFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiBnZXRDb2xzKG1zcElkc0xpc3Q/OiBzdHJpbmdbXSkge1xuICAgICAgY29uc3QgY29sczoge1xuICAgICAgICBpbmRleGVzOiBDcmVhdGVJbmRleFJlcXVlc3RbXTtcbiAgICAgICAgZGVzaWduRG9jczogQ291Y2hEQkRlc2lnbkRvY1tdO1xuICAgICAgICBtaXJyb3I/OiBQcml2YXRlQ29sbGVjdGlvbjtcbiAgICAgICAgY29sbGVjdGlvbnM6IFByaXZhdGVDb2xsZWN0aW9uW107XG4gICAgICB9W10gPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgaW5qZWN0YWJsZU1vZGVscy5tYXAoYXN5bmMgKGNsYXp6KSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFibGVOYW1lID0gTW9kZWwudGFibGVOYW1lKGNsYXp6KTtcbiAgICAgICAgICBjb25zdCBtaXJyb3JNZXRhID0gTW9kZWwubWlycm9yZWRBdChjbGF6eik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyh0YWJsZU5hbWUpO1xuICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgICAgICAgZm9yIChjb25zdCBtc3Agb2YgbXNwSWRzTGlzdCB8fCBtc3BJZHMgfHwgW10pIHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb25zW21zcF0gPSBhd2FpdCBleENvbGxlY3Rpb25zKFxuICAgICAgICAgICAgICBjbGF6eixcbiAgICAgICAgICAgICAgW21zcCwgbWFpbk1zcElkXSxcbiAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgICAgLy8gICBzaGFyZWRDb2xzOiBPYmplY3QuYXNzaWduKHt9LCBvdmVycmlkZXMuc2hhcmVkQ29scyksXG4gICAgICAgICAgICAgIC8vICAgcHJpdmF0ZUNvbHM6IE9iamVjdC5hc3NpZ24oe30sIG92ZXJyaWRlcy5wcml2YXRlQ29scyksXG4gICAgICAgICAgICAgIC8vIH0sXG4gICAgICAgICAgICAgICEhbWlycm9yTWV0YVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgbWlycm9yQ29sbGVjdGlvbjogUHJpdmF0ZUNvbGxlY3Rpb24gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICBpZiAobWlycm9yTWV0YSkge1xuICAgICAgICAgICAgY29sbGVjdGlvbnNbbWFpbk1zcElkXSA9IGNvbGxlY3Rpb25zW21haW5Nc3BJZF0gfHwge307XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhjb2xsZWN0aW9ucykuZm9yRWFjaCgobXNwOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbnNbbWFpbk1zcElkXS5wcml2YXRlcyA9IGNvbGxlY3Rpb25zW1xuICAgICAgICAgICAgICAgIG1zcFxuICAgICAgICAgICAgICBdLnByaXZhdGVzPy5maWx0ZXIoKHA6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwLm5hbWUgIT09IChtaXJyb3JNZXRhLnJlc29sdmVyIGFzIHN0cmluZykpIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIG1pcnJvckNvbGxlY3Rpb24gPSBwIGFzIGFueTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcHJpdmF0ZXNDb3VudCA9IE9iamVjdC52YWx1ZXMoY29sbGVjdGlvbnMpXG4gICAgICAgICAgICAubWFwKChjKSA9PiBjLnByaXZhdGVzKVxuICAgICAgICAgICAgLmZsYXQoKS5sZW5ndGg7XG4gICAgICAgICAgaWYgKHByaXZhdGVzQ291bnQpXG4gICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAuaW5mbyhgRm91bmQgJHtwcml2YXRlc0NvdW50fSBwcml2YXRlIGNvbGxlY3Rpb25zIHRvIGNyZWF0ZWApO1xuICAgICAgICAgIGNvbnN0IHNoYXJlZENvdW50ID0gT2JqZWN0LnZhbHVlcyhjb2xsZWN0aW9ucylcbiAgICAgICAgICAgIC5tYXAoKGMpID0+IGMuc2hhcmVkKVxuICAgICAgICAgICAgLmZsYXQoKS5sZW5ndGg7XG5cbiAgICAgICAgICBsb2dcbiAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgIC5pbmZvKGBGb3VuZCAke3NoYXJlZENvdW50fSBzaGFyZWQgY29sbGVjdGlvbnMgdG8gY3JlYXRlYCk7XG4gICAgICAgICAgaWYgKG1pcnJvckNvbGxlY3Rpb24pXG4gICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAuaW5mbyhcbiAgICAgICAgICAgICAgICBgRm91bmQgb25lIG1pcnJvciBjb2xsZWN0aW9uICR7bWlycm9yTWV0YT8ucmVzb2x2ZXIgYXMgc3RyaW5nfWBcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IGNvbExpc3QgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKVxuICAgICAgICAgICAgLm1hcCgoYykgPT4gWy4uLihjLnByaXZhdGVzIHx8IFtdKSwgLi4uKGMuc2hhcmVkIHx8IFtdKV0pXG4gICAgICAgICAgICAuZmxhdCgpO1xuICAgICAgICAgIGxldCBpbmRleGVzOiBDcmVhdGVJbmRleFJlcXVlc3RbXSA9IFtdO1xuICAgICAgICAgIGxldCBkZXNpZ25Eb2NzOiBDb3VjaERCRGVzaWduRG9jW10gPSBbXTtcbiAgICAgICAgICBpZiAoY29sTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGxvZ1xuICAgICAgICAgICAgICAuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpXG4gICAgICAgICAgICAgIC52ZXJib3NlKGBnZW5lcmF0aW5nIGluZGV4ZXMgZm9yIGNvbGxlY3Rpb25zYCk7XG4gICAgICAgICAgICBpbmRleGVzID0gZ2VuZXJhdGVNb2RlbEluZGV4ZXMoY2xhenopO1xuICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgICAgLmluZm8oYGZvdW5kICR7aW5kZXhlcy5sZW5ndGh9IGluZGV4ZXNgKTtcbiAgICAgICAgICAgIGRlc2lnbkRvY3MgPSBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcyhjbGF6eik7XG4gICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAuaW5mbyhgZm91bmQgJHtkZXNpZ25Eb2NzLmxlbmd0aH0gZGVzaWduIGRvY3NgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGluZGV4ZXMsXG4gICAgICAgICAgICBkZXNpZ25Eb2NzLFxuICAgICAgICAgICAgY29sbGVjdGlvbnM6IGNvbExpc3QsXG4gICAgICAgICAgICBtaXJyb3I6IG1pcnJvckNvbGxlY3Rpb24sXG4gICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gY29scztcbiAgICB9XG5cbiAgICBjb25zdCBjb2xzID0gYXdhaXQgZ2V0Q29scygpO1xuICAgIGNvbnN0IG9ubHlNaXJyb3IgPSBhd2FpdCBnZXRDb2xzKFttYWluTXNwSWRdKTtcblxuICAgIGNvbnN0IGNvbGxlY3Rpb25zVG8gPSBbXG4gICAgICAuLi5vbmx5TWlycm9yLmZpbHRlcigoYykgPT4gYy5taXJyb3IpLm1hcCgoYykgPT4gYy5taXJyb3IpLFxuICAgICAgLi4uY29scy5tYXAoKGMpID0+IGMuY29sbGVjdGlvbnMpLmZsYXQoKSxcbiAgICAgIC4uLmNvbHMuZmlsdGVyKChjKSA9PiBjLm1pcnJvcikubWFwKChjKSA9PiBjLm1pcnJvciksXG4gICAgXSBhcyBQcml2YXRlQ29sbGVjdGlvbltdO1xuXG4gICAgY29uc3QgdW5pcXVlQnlDb2xsZWN0aW9uID0gW1xuICAgICAgLi4ubmV3IE1hcChcbiAgICAgICAgY29sbGVjdGlvbnNUby5tYXAoKGl0ZW06IFByaXZhdGVDb2xsZWN0aW9uKSA9PiBbaXRlbS5uYW1lLCBpdGVtXSlcbiAgICAgICkudmFsdWVzKCksXG4gICAgXTtcblxuICAgIGlmICh1bmlxdWVCeUNvbGxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICB3cml0ZUNvbGxlY3Rpb25zKHVuaXF1ZUJ5Q29sbGVjdGlvbiwgb3V0RGlyKTtcbiAgICAgIGNvbnN0IG1ldGFDb2xsZWN0aW9uc0NvbmZpZyA9IHBhdGguam9pbihcbiAgICAgICAgb3V0RGlyLFxuICAgICAgICBcIk1FVEEtSU5GXCIsXG4gICAgICAgIFwiY29sbGVjdGlvbnNfY29uZmlnLmpzb25cIlxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNvbnRyYWN0Q29sbGVjdGlvbnNDb25maWcgPSBwYXRoLmpvaW4oXG4gICAgICAgIG91dERpcixcbiAgICAgICAgXCJjb2xsZWN0aW9uc19jb25maWcuanNvblwiXG4gICAgICApO1xuICAgICAgZnMuY29weUZpbGVTeW5jKG1ldGFDb2xsZWN0aW9uc0NvbmZpZywgY29udHJhY3RDb2xsZWN0aW9uc0NvbmZpZyk7XG4gICAgICBsb2cuaW5mbyhcbiAgICAgICAgYFN0b3JlZCAke2NvbGxlY3Rpb25zVG8ubGVuZ3RofSBjb2xsZWN0aW9ucyB0byAke21ldGFDb2xsZWN0aW9uc0NvbmZpZ31gXG4gICAgICApO1xuICAgICAgbG9nLmluZm8oXG4gICAgICAgIGBDb3BpZWQgY29sbGVjdGlvbnNfY29uZmlnIHRvICR7Y29udHJhY3RDb2xsZWN0aW9uc0NvbmZpZ30gYWxvbmdzaWRlIHRoZSBwYWNrYWdlLmpzb25gXG4gICAgICApO1xuXG4gICAgICBjb2xzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgY29uc3QgeyBpbmRleGVzLCBkZXNpZ25Eb2NzLCBjb2xsZWN0aW9ucywgbWlycm9yIH0gPSBjO1xuICAgICAgICBjb25zdCB0b0luZGV4OiBQcml2YXRlQ29sbGVjdGlvbltdID0gWy4uLmNvbGxlY3Rpb25zLCBtaXJyb3JdLmZpbHRlcihcbiAgICAgICAgICBCb29sZWFuXG4gICAgICAgICkgYXMgUHJpdmF0ZUNvbGxlY3Rpb25bXTtcbiAgICAgICAgdG9JbmRleC5mb3JFYWNoKChpKSA9PiB7XG4gICAgICAgICAgd3JpdGVJbmRleGVzKGluZGV4ZXMsIG91dERpciwgaS5uYW1lKTtcbiAgICAgICAgICB3cml0ZUNvbGxlY3Rpb25EZXNpZ25Eb2NzKGRlc2lnbkRvY3MgfHwgW10sIG91dERpciwgaS5uYW1lKTtcbiAgICAgICAgICBsb2cuaW5mbyhcbiAgICAgICAgICAgIGBTdG9yZWQgJHtpbmRleGVzPy5sZW5ndGggfHwgMH0gaW5kZXhlcyBhbmQgJHtkZXNpZ25Eb2NzPy5sZW5ndGggfHwgMH0gZGVzaWduIGRvY3MgdG8gY29sbGVjdGlvbiAke2kubmFtZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG5jb25zdCBlbnN1cmVJbmZyYSA9IG5ldyBDb21tYW5kKClcbiAgLm5hbWUoXCJhd2FpdC1pbmZyYVwiKVxuICAuZGVzY3JpcHRpb24oXCJ3YWl0cyBmb3IgdGhlIGluZnJhc3RydWN0dXJlIHRvIGJlIHVwIGFuZCBydW5uaW5nXCIpXG4gIC5vcHRpb24oXG4gICAgXCItLWNvbnRhaW5lciA8U3RyaW5nPlwiLFxuICAgIFwiZG9ja2VyIGNvbnRhaW5lciBuYW1lIHRvIHRlc3QgKHVzdWFsbHkgbGFzdCBwZWVyKVwiLFxuICAgIFwiYm9vdC1vcmctYy1wZWVyLTBcIlxuICApXG4gIC5vcHRpb24oXCItLXRpbWVvdXQgPFN0cmluZz5cIiwgXCJ0aW1lb3V0IGJldHdlZW4gdGVzdHMgaW4gbWlsbGlzZWNvbmRzXCIsIFwiNTAwMFwiKVxuICAub3B0aW9uKFwiLS1hdHRlbXB0cyA8U3RyaW5nPlwiLCBcIm51bWJlciBvZiBhdHRlbXB0cyBiZWZvcmUgZ2l2aW5nIHVwXCIsIFwiMTBcIilcbiAgLmFjdGlvbihhc3luYyAob3B0aW9uczogYW55KSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShcbiAgICAgIGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLmpzb25cIiksIFwidXRmLThcIilcbiAgICApO1xuXG4gICAgY29uc3QgdmVyc2lvbiA9IHBrZy52ZXJzaW9uO1xuXG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImF3YWl0LWluZnJhXCIpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWBcbiAgICApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBsZXQgeyBjb250YWluZXIsIHRpbWVvdXQsIGF0dGVtcHRzIH0gPSBvcHRpb25zO1xuICAgIHRpbWVvdXQgPSBwYXJzZUludCh0aW1lb3V0KSB8fCA1MDAwO1xuICAgIGF0dGVtcHRzID0gcGFyc2VJbnQoYXR0ZW1wdHMpIHx8IDEwO1xuXG4gICAgYXdhaXQgZW5zdXJlSW5mcmFzdHJ1Y3R1cmVCb290ZWQoXCJib290LW9yZy1jLXBlZXItMFwiLCB0aW1lb3V0LCBhdHRlbXB0cyk7XG5cbiAgICBsb2cuaW5mbyhcbiAgICAgIGBJbmZyYXN0cnVjdHVyZSBib290ZWQgc3VjY2Vzc2Z1bGx5IChhY2NvcmRpbmcgdG8gY29udGFpbmVyICR7Y29udGFpbmVyfSkhYFxuICAgICk7XG4gIH0pO1xuXG5jb25zdCBkZXBsb3lDb250cmFjdCA9IG5ldyBDb21tYW5kKClcbiAgLm5hbWUoXCJkZXBsb3ktY29udHJhY3RcIilcbiAgLmRlc2NyaXB0aW9uKFwiZGVwbG95cyB0aGUgc2VsZWN0ZWQgY29udHJhY3RcIilcbiAgLm9wdGlvbihcIi0tbmFtZSA8U3RyaW5nPlwiLCBcIkNvbnRyYWN0IE5hbWUgKGFuZCBmb2xkZXIpXCIpXG4gIC5vcHRpb24oXCItLWlucHV0IDxTdHJpbmc+XCIsIFwiaW5wdXQgZm9sZGVyXCIpXG4gIC5vcHRpb24oXG4gICAgXCItLWNvbGxlY3Rpb25zLWNvbmZpZyA8U3RyaW5nPlwiLFxuICAgIFwicGF0aCB0byBjb2xsZWN0aW9uc19jb25maWcuanNvbiB0byBjb25maWd1cmUgcHJpdmF0ZSBjb2xsZWN0aW9uc1wiXG4gIClcbiAgLm9wdGlvbihcbiAgICBcIi0taW5jcmVtZW50VmVyc2lvbiA8U3RyaW5nPlwiLFxuICAgIFwiKHRydWUgfCBmYWxzZSkgaWYgc2hvdWxkIHVzZSB2ZXJzaW9uIG9yIHNlcXVlbmNlIHRvIHVwZGF0ZSBjb250cmFjdHNcIixcbiAgICBmYWxzZVxuICApXG4gIC5vcHRpb24oXG4gICAgXCItLXRyYWNrZXJGb2xkZXIgPFN0cmluZz5cIixcbiAgICBcImNvbnRyYWN0IHZlcnNpb24gdHJhY2tlciBmb2xkZXIgKHNob3VsZCBiZSBkZWxldGVkIG9uIGluZnJhc3RydWN0dXJlOmRvd24pXCIsXG4gICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwidGVzdHNcIiwgXCJpbnRlZ3JhdGlvblwiLCBcImNoYWluY29kZVRyYWNrZXJzXCIpXG4gIClcbiAgLm9wdGlvbihcbiAgICBcIi0tcGVlcnMgPFN0cmluZz5cIixcbiAgICBcImNvbW1hIHNlcGFyYXRlZCBwZWVyIGlkc1wiLFxuICAgIFwib3JnLWEtcGVlci0wLG9yZy1iLXBlZXItMCxvcmctYy1wZWVyLTBcIlxuICApXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJkZXBsb3ktY29udHJhY3RcIik7XG4gICAgbG9nLmRlYnVnKFxuICAgICAgYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YFxuICAgICk7XG5cbiAgICBjb25zdCB7XG4gICAgICBuYW1lLFxuICAgICAgaW5wdXQsXG4gICAgICBwZWVycyxcbiAgICAgIHRyYWNrZXJGb2xkZXIsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICBpbmNyZW1lbnRWZXJzaW9uLFxuICAgICAgY29sbGVjdGlvbnNDb25maWcsXG4gICAgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgcGVlcklkcyA9IHBlZXJzLnNwbGl0KFwiLFwiKTtcblxuICAgIGNvbnN0IGNvdW50UGF0aCA9IHBhdGgucmVzb2x2ZShwYXRoLmpvaW4odHJhY2tlckZvbGRlciwgYCR7bmFtZX0uY291bnRgKSk7XG5cbiAgICBsZXQgc2VxdWVuY2U6IG51bWJlcjtcblxuICAgIHRyeSB7XG4gICAgICBzZXF1ZW5jZSA9IHBhcnNlSW50KGZzLnJlYWRGaWxlU3luYyhjb3VudFBhdGgpLnRvU3RyaW5nKFwidXRmLThcIikpO1xuICAgICAgaWYgKGlzTmFOKHNlcXVlbmNlKSkgc2VxdWVuY2UgPSAxO1xuICAgICAgZWxzZSBzZXF1ZW5jZSArPSAxO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHNlcXVlbmNlID0gMTtcbiAgICB9XG4gICAgLy9cbiAgICAvLyBpZiAoaW5jcmVtZW50VmVyc2lvbikge1xuICAgIC8vICAgdmVyc2lvbiA9IHZlcnNpb24gKyBgLSR7c2VxdWVuY2V9YDtcbiAgICAvLyAgIC8vIHNlcXVlbmNlID0gMTtcbiAgICAvLyB9XG5cbiAgICB0cnkge1xuICAgICAgZm9yIChjb25zdCBwZWVyIG9mIHBlZXJJZHMpIHtcbiAgICAgICAgcGFja2FnZUNvbnRyYWN0KHBlZXIsIGlucHV0LCBuYW1lLCB2ZXJzaW9uKTtcbiAgICAgICAgaW5zdGFsbENvbnRyYWN0KHBlZXIsIG5hbWUpO1xuICAgICAgICBhcHByb3ZlQ29udHJhY3QoXG4gICAgICAgICAgcGVlcixcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHBlZXIgPT09IFwib3JnLWEtcGVlci0wXCJcbiAgICAgICAgICAgID8gXCJ0bHMtY2EtY2VydC5wZW1cIlxuICAgICAgICAgICAgOiBcIm9yZGVyZXItdGxzLWNhLWNlcnQucGVtXCIsXG4gICAgICAgICAgc2VxdWVuY2UsXG4gICAgICAgICAgdmVyc2lvbixcbiAgICAgICAgICBjb2xsZWN0aW9uc0NvbmZpZ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgZnMud3JpdGVGaWxlU3luYyhjb3VudFBhdGgsIHNlcXVlbmNlLnRvU3RyaW5nKCkpO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICBsb2cuZXJyb3IoXCJFcnJvciBkZXBsb3lpbmcgY29udHJhY3Q6XCIsIGVycik7XG4gICAgfVxuICAgIGNvbW1pdENoYWluY29kZShuYW1lLCBzZXF1ZW5jZSwgdmVyc2lvbiwgY29sbGVjdGlvbnNDb25maWcpO1xuICB9KTtcblxuY29uc3QgZ2V0Q3J5cHRvTWF0ZXJpYWwgPSBuZXcgQ29tbWFuZCgpXG4gIC5uYW1lKFwiZ2V0LWNyeXB0by1tYXRlcmlhbFwiKVxuICAuZGVzY3JpcHRpb24oXCJjb3BpZXMgdGhlIGNyeXB0byBtYXRlcmlhbCB0byB0aGUgc2VsZWN0ZWQgZm9sZGVyXCIpXG4gIC5vcHRpb24oXCItLWZvbGRlciA8U3RyaW5nPlwiLCBcIm91dHB1dCBmb2xkZXJcIiwgXCJkb2NrZXIvZG9ja2VyLWRhdGFcIilcbiAgLm9wdGlvbihcIi0tb3JnIFtTdHJpbmddXCIsIFwidGhlIG9yZy9wZWVyIHRvIGV4dHJhY3QgZnJvbVwiLCBcIm9yZy1hXCIpXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJnZXQtY3J5cHRvLW1hdGVyaWFsXCIpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWBcbiAgICApO1xuICAgIGNvbnN0IHsgZm9sZGVyLCBvcmcgfSA9IG9wdGlvbnM7XG4gICAgZXhlY1N5bmMoYGRvY2tlciBjcCAke29yZ306L3dlYXZlci9jbGllbnQvLiAke2ZvbGRlcn1gLCB7XG4gICAgICBjd2Q6IHByb2Nlc3MuY3dkKCksXG4gICAgfSk7XG4gIH0pO1xuXG5jb25zdCBmYWJyaWNDbWQgPSBuZXcgQ29tbWFuZCgpXG4gIC5uYW1lKFwiZm9yLWZhYnJpY1wiKVxuICAuY29tbWFuZChcImZhYnJpY1wiKVxuICAuZGVzY3JpcHRpb24oXG4gICAgXCJleHBvc2VzIHNldmVyYWwgY29tbWFuZHMgdG8gaGVscCBtYW5hZ2UgdGhlIGZhYnJpYyBpbmZyYXN0cnVjdHVyZVwiXG4gICk7XG5cbmZhYnJpY0NtZC5hZGRDb21tYW5kKGNvbXBpbGVDb21tYW5kKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGV4dHJhY3RJbmRleGVzKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGVuc3VyZUluZnJhKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGRlcGxveUNvbnRyYWN0KTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGdldENyeXB0b01hdGVyaWFsKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGV4dHJhY3RDb2xsZWN0aW9ucyk7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZhYnJpYygpIHtcbiAgcmV0dXJuIGZhYnJpY0NtZDtcbn1cbiJdfQ==
505
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNsaS1tb2R1bGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUE4ZUEseUJBRUM7QUFoZkQseUNBQW9DO0FBQ3BDLCtDQUEwRDtBQUMxRCxpREFBeUM7QUFDekMsNENBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QixtQ0FBZ0M7QUFDaEMsNEVBQTZDO0FBQzdDLDJEQUE0RTtBQUM1RSx3REFBMko7QUFDM0oseUVBQXVEO0FBQ3ZELGlEQUF3TDtBQUN4TCx1Q0FBcUM7QUFDckMsNERBQTRCO0FBQzVCLDREQUFrSTtBQUNsSSxNQUFNLE1BQU0sR0FBRyxpQkFBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyQyxTQUFTLHVCQUF1QjtJQUM1QixPQUFPO1FBQ0gsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVE7WUFDdEIsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELE1BQU0sWUFBWSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsRSxNQUFNLFVBQVUsR0FBRztnQkFDZixZQUFZO2dCQUNaLEdBQUcsWUFBWSxLQUFLO2dCQUNwQixjQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7YUFDdEMsQ0FBQztZQUNGLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksWUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxZQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7b0JBQzlELE9BQU8s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LENBQUM7QUFDckIsQ0FBQztBQUNELDAwMERBQTAwMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuaW1wb3J0IHsgTG9nZ2luZywgdG9QYXNjYWxDYXNlIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgcm9sbHVwIH0gZnJvbSBcInJvbGx1cFwiO1xuaW1wb3J0IHJlcGxhY2UgZnJvbSBcIkByb2xsdXAvcGx1Z2luLXJlcGxhY2VcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IsIFNlcmlhbGl6YXRpb25FcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgZ2VuZXJhdGVNb2RlbERlc2lnbkRvY3MsIGdlbmVyYXRlTW9kZWxJbmRleGVzLCByZWFkTW9kZWxGaWxlLCByZWFkTW9kZWxGb2xkZXJzLCB3cml0ZURlc2lnbkRvY3MsIHdyaXRlSW5kZXhlcywgfSBmcm9tIFwiLi9jbGllbnQvaW5kZXhlcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBhcHByb3ZlQ29udHJhY3QsIGVuc3VyZUluZnJhc3RydWN0dXJlQm9vdGVkLCBpbnN0YWxsQ29udHJhY3QsIHBhY2thZ2VDb250cmFjdCwgY29tbWl0Q2hhaW5jb2RlLCBnZXRDb250cmFjdFN0YXJ0Q29tbWFuZCwgY29tcGlsZVdpdGhUc2NvbmZpZ092ZXJyaWRlcywgfSBmcm9tIFwiLi9jbGktdXRpbHMuanNcIjtcbmltcG9ydCBcIi4vc2hhcmVkL292ZXJyaWRlcy9pbmRleC5qc1wiO1xuaW1wb3J0IHRzIGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBleHRyYWN0Q29sbGVjdGlvbnMgYXMgZXhDb2xsZWN0aW9ucywgd3JpdGVDb2xsZWN0aW9ucywgd3JpdGVDb2xsZWN0aW9uRGVzaWduRG9jcywgfSBmcm9tIFwiLi9jbGllbnQvY29sbGVjdGlvbnMvaW5kZXguanNcIjtcbmNvbnN0IGxvZ2dlciA9IExvZ2dpbmcuZm9yKFwiZmFicmljXCIpO1xuZnVuY3Rpb24gcmVzb2x2ZUJ1bmRsZWRKc0ltcG9ydHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogXCJyZXNvbHZlLWJ1bmRsZWQtanMtaW1wb3J0c1wiLFxuICAgICAgICByZXNvbHZlSWQoc291cmNlLCBpbXBvcnRlcikge1xuICAgICAgICAgICAgaWYgKCFpbXBvcnRlciB8fCAhc291cmNlLnN0YXJ0c1dpdGgoXCIuXCIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZXNvbHZlZFBhdGggPSBwYXRoLnJlc29sdmUocGF0aC5kaXJuYW1lKGltcG9ydGVyKSwgc291cmNlKTtcbiAgICAgICAgICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBbXG4gICAgICAgICAgICAgICAgcmVzb2x2ZWRQYXRoLFxuICAgICAgICAgICAgICAgIGAke3Jlc29sdmVkUGF0aH0uanNgLFxuICAgICAgICAgICAgICAgIHBhdGguam9pbihyZXNvbHZlZFBhdGgsIFwiaW5kZXguanNcIiksXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBjYW5kaWRhdGUgb2YgY2FuZGlkYXRlcykge1xuICAgICAgICAgICAgICAgIGlmIChmcy5leGlzdHNTeW5jKGNhbmRpZGF0ZSkgJiYgZnMuc3RhdFN5bmMoY2FuZGlkYXRlKS5pc0ZpbGUoKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FuZGlkYXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9LFxuICAgIH07XG59XG5jb25zdCBjb21waWxlQ29tbWFuZCA9IG5ldyBDb21tYW5kKClcbiAgICAubmFtZShcImNvbXBpbGUtY29udHJhY3RcIilcbiAgICAuZGVzY3JpcHRpb24oXCJDcmVhdGVzIGEgZ2xvYmFsIGNvbnRyYWN0XCIpXG4gICAgLm9wdGlvbihcIi0tZGV2XCIsIFwiY29tcGlsZXMgY29udHJhY3RzIHdpdGhvdXQgbWluaWZpY2F0aW9uXCIsIGZhbHNlKVxuICAgIC5vcHRpb24oXCItLWRlYnVnXCIsIFwibWFrZXMgYXR0YWNoaW5nIGRlYnVnZ2VyIHBvc3NpYmxlXCIsIGZhbHNlKVxuICAgIC5vcHRpb24oXCItLWNjYWFzXCIsIFwiQWp1c3RzIHRoZSBwYWNrYWdlIGNvbW1hbmRzIHRvIGJlIGRlcGxveWVkIGFzIGNjYWFzXCIsIGZhbHNlKVxuICAgIC5vcHRpb24oXCItLW5hbWUgPFN0cmluZz5cIiwgXCJjb250cmFjdCBuYW1lXCIsIFwiZ2xvYmFsLWNvbnRyYWN0XCIpXG4gICAgLm9wdGlvbihcIi0tYnVuZGxlXCIsIFwiQnVuZGxlcyB3aXRoIHJvbGx1cCBpbnN0ZWFkIG9mIHVzaW5nIHRzY1wiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS10cy1jb25maWctZmlsZSA8c3RyaW5nPlwiLCBcInJlbGF0aXZlIHBhdGggdG8gdGhlIHRzIGNvbmZpZyBmaWxlIGJhc2VkIG9uIGN3ZCBvciBhYnNvbHV0ZSBwYXRoXCIsIFwiLi90c2NvbmZpZy5qc29uXCIpXG4gICAgLm9wdGlvbihcIi0tZGVzY3JpcHRpb24gPFN0cmluZz5cIiwgXCJjb250cmFjdCBkZXNjcmlwdGlvblwiLCBcIkdsb2JhbCBjb250cmFjdCBpbXBsZW1lbnRhdGlvblwiKVxuICAgIC5vcHRpb24oXCItLXN0cmlwLWNvbnRyYWN0LW5hbWVcIiwgXCJzdHJpcCBjb250cmFjdCBuYW1lIGZyb20gb3V0cHV0XCIsIGZhbHNlKVxuICAgIC5vcHRpb24oXCItLWlucHV0IDxTdHJpbmc+XCIsIFwiaW5wdXQgZm9sZGVyIGZvciBjb250cmFjdHNcIiwgXCJsaWIvY29udHJhY3RzXCIpXG4gICAgLm9wdGlvbihcIi0tb3V0cHV0IDxTdHJpbmc+XCIsIFwib3V0cHV0IGZvbGRlciBmb3IgY29udHJhY3RzXCIsIFwiLi9jb250cmFjdHNcIilcbiAgICAub3B0aW9uKFwiLS1zb3VyY2VtYXBzXCIsIFwiaW5jbHVkZXMgc291cmNlbWFwcyBpbiB0aGUgY29tcGlsZWQgb3V0cHV0XCIsIGZhbHNlKVxuICAgIC5vcHRpb24oXCItLW5wbXJjXCIsIFwiaW5jbHVkZXMgLm5wbXJjIGluIHRoZSBjb21waWxlZCBvdXRwdXRcIiwgZmFsc2UpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGYtOFwiKSk7XG4gICAgbGV0IG5wbXJjQ29udGVudCA9IHVuZGVmaW5lZDtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgbGV0IHsgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGRldiwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGRlYnVnLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgbmFtZSwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGRlc2NyaXB0aW9uLCBvdXRwdXQsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBpbnB1dCwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIHN0cmlwQ29udHJhY3ROYW1lLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgY2NhYXMsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBidW5kbGUsIHRzQ29uZmlnRmlsZSwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIHNvdXJjZW1hcHMsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBucG1yYywgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImNvbXBpbGUtY29udHJhY3RcIik7XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKG5wbXJjKSB7XG4gICAgICAgICAgICBucG1yY0NvbnRlbnQgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCIubnBtcmNcIiksIFwidXRmLThcIikpO1xuICAgICAgICAgICAgY29uc3QgcmVwbGFjZWQgPSBucG1yY0NvbnRlbnQucmVwbGFjZSgvXFwkXFx7KFtefV0rKVxcfS9nLCAoXywgdmFyTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcHJvY2Vzcy5lbnZbdmFyTmFtZV07XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBXYXJuaW5nOiBFbnZpcm9ubWVudCB2YXJpYWJsZSBcIiR7dmFyTmFtZX1cIiBpcyBub3Qgc2V0YCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG5wbXJjQ29udGVudCA9IHJlcGxhY2VkO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNhdGNoIHtcbiAgICAgICAgbG9nLmluZm8oYE5vIC5ucG1yYyBmaWxlIGZvdW5kLCBza2lwcGluZyBjb3B5aW5nIC5ucG1yYyB0byBvdXRwdXRgKTtcbiAgICB9XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIHRzQ29uZmlnRmlsZSA9IHBhdGguaXNBYnNvbHV0ZSh0c0NvbmZpZ0ZpbGUpXG4gICAgICAgID8gdHNDb25maWdGaWxlXG4gICAgICAgIDogcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIHRzQ29uZmlnRmlsZSk7XG4gICAgb3V0cHV0ID0gc3RyaXBDb250cmFjdE5hbWUgPyBvdXRwdXQgOiBwYXRoLmpvaW4ob3V0cHV0LCBuYW1lKTtcbiAgICBsb2cuaW5mbyhgRGVsZXRpbmcgZXhpc3Rpbmcgb3V0cHV0IGZvbGRlciAoaWYgZXhpc3RzKSB1bmRlciAke291dHB1dH1gKTtcbiAgICBleGVjU3luYyhgcm0gLXJmICR7b3V0cHV0fWApO1xuICAgIGlmIChidW5kbGUpIHtcbiAgICAgICAgbG9nLmluZm8oYGJ1bmRsaW5nIGNvbnRyYWN0IGZyb20gJHtpbnB1dH1gKTtcbiAgICAgICAgY29uc3QgdGVtcEJ1bmRsZURpciA9IGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi5jb250cmFjdC1idW5kbGUtXCIpKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0RW50cnkgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgaW5wdXQsIFwiaW5kZXgudHNcIik7XG4gICAgICAgICAgICBjb25zdCBjb25maWdGaWxlID0gdHMucmVhZENvbmZpZ0ZpbGUodHNDb25maWdGaWxlLCB0cy5zeXMucmVhZEZpbGUpO1xuICAgICAgICAgICAgaWYgKGNvbmZpZ0ZpbGUuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcih0cy5mbGF0dGVuRGlhZ25vc3RpY01lc3NhZ2VUZXh0KGNvbmZpZ0ZpbGUuZXJyb3IubWVzc2FnZVRleHQsIFwiXFxuXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZENvbmZpZyA9IHRzLnBhcnNlSnNvbkNvbmZpZ0ZpbGVDb250ZW50KGNvbmZpZ0ZpbGUuY29uZmlnLCB0cy5zeXMsIHBhdGguZGlybmFtZSh0c0NvbmZpZ0ZpbGUpLCB1bmRlZmluZWQsIHRzQ29uZmlnRmlsZSk7XG4gICAgICAgICAgICBpZiAocGFyc2VkQ29uZmlnLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihwYXJzZWRDb25maWcuZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKGVycm9yKSA9PiB0cy5mbGF0dGVuRGlhZ25vc3RpY01lc3NhZ2VUZXh0KGVycm9yLm1lc3NhZ2VUZXh0LCBcIlxcblwiKSlcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCJcXG5cIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdGVtcENvbXBpbGVyT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAuLi5wYXJzZWRDb25maWcub3B0aW9ucyxcbiAgICAgICAgICAgICAgICBvdXREaXI6IHRlbXBCdW5kbGVEaXIsXG4gICAgICAgICAgICAgICAgbW9kdWxlOiB0cy5Nb2R1bGVLaW5kLkVTTmV4dCxcbiAgICAgICAgICAgICAgICBkZWNsYXJhdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgc291cmNlTWFwOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBpbmxpbmVTb3VyY2VzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBidW5kbGVkRW50cnlQb2ludCA9IHRzXG4gICAgICAgICAgICAgICAgLmdldE91dHB1dEZpbGVOYW1lcyh7XG4gICAgICAgICAgICAgICAgLi4ucGFyc2VkQ29uZmlnLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHRlbXBDb21waWxlck9wdGlvbnMsXG4gICAgICAgICAgICB9LCBpbnB1dEVudHJ5LCAhdHMuc3lzLnVzZUNhc2VTZW5zaXRpdmVGaWxlTmFtZXMpXG4gICAgICAgICAgICAgICAgLmZpbmQoKGZpbGVOYW1lKSA9PiBmaWxlTmFtZS5lbmRzV2l0aChcIi5qc1wiKSk7XG4gICAgICAgICAgICBpZiAoIWJ1bmRsZWRFbnRyeVBvaW50KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYEZhaWxlZCB0byBkZXRlcm1pbmUgdGhlIGVtaXR0ZWQgYnVuZGxlIGVudHJ5IGZvciAke2lucHV0RW50cnl9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb21waWxlV2l0aFRzY29uZmlnT3ZlcnJpZGVzKHRzQ29uZmlnRmlsZSwgdGVtcENvbXBpbGVyT3B0aW9ucyk7XG4gICAgICAgICAgICBjb25zdCBidW5kbGVkQ29udHJhY3QgPSBhd2FpdCByb2xsdXAoe1xuICAgICAgICAgICAgICAgIGlucHV0OiBidW5kbGVkRW50cnlQb2ludCxcbiAgICAgICAgICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVCdW5kbGVkSnNJbXBvcnRzKCksXG4gICAgICAgICAgICAgICAgICAgIHJlcGxhY2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJldmVudEFzc2lnbm1lbnQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxpbWl0ZXJzOiBbXCJcIiwgXCJcIl0sXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHsgXCIjI1ZFUlNJT04jI1wiOiB2ZXJzaW9uLCBcIiMjUEFDS0FHRSMjXCI6IHBrZy5uYW1lIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGxvZy5pbmZvKGB3aXRoaW5nIGNvbnRyYWN0IHRvICR7b3V0cHV0fSB3aXRoIG5hbWUgJHt0b1Bhc2NhbENhc2UobmFtZSl9LmpzYCk7XG4gICAgICAgICAgICBhd2FpdCBidW5kbGVkQ29udHJhY3Qud3JpdGUoe1xuICAgICAgICAgICAgICAgIGZpbGU6IGAke291dHB1dH0vJHt0b1Bhc2NhbENhc2UobmFtZSl9LmpzYCxcbiAgICAgICAgICAgICAgICBmb3JtYXQ6IFwidW1kXCIsXG4gICAgICAgICAgICAgICAgbmFtZTogYCR7dG9QYXNjYWxDYXNlKG5hbWUpfS5qc2AsXG4gICAgICAgICAgICAgICAgc291cmNlbWFwOiBzb3VyY2VtYXBzID8gXCJpbmxpbmVcIiA6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNvdXJjZW1hcFBhdGhUcmFuc2Zvcm06IChyZWxhdGl2ZVNvdXJjZVBhdGgsIHNvdXJjZW1hcFBhdGgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWJzb2x1dGVTb3VyY2VQYXRoID0gcGF0aC5yZXNvbHZlKHBhdGguZGlybmFtZShzb3VyY2VtYXBQYXRoKSwgcmVsYXRpdmVTb3VyY2VQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFic29sdXRlU291cmNlUGF0aC5zdGFydHNXaXRoKHRlbXBCdW5kbGVEaXIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGF0aC5wb3NpeC5qb2luKFwiLmJ1bmRsZVwiLCBwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlbGF0aXZlKHRlbXBCdW5kbGVEaXIsIGFic29sdXRlU291cmNlUGF0aClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3BsaXQocGF0aC5zZXApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCIvXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVsYXRpdmVTb3VyY2VQYXRoO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGF3YWl0IGJ1bmRsZWRDb250cmFjdC5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgZnMucm1TeW5jKHRlbXBCdW5kbGVEaXIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29tcGlsZVdpdGhUc2NvbmZpZ092ZXJyaWRlcyh0c0NvbmZpZ0ZpbGUsIHtcbiAgICAgICAgICAgIG91dERpcjogb3V0cHV0LFxuICAgICAgICAgICAgbW9kdWxlOiB0cy5Nb2R1bGVLaW5kLkVTTmV4dCxcbiAgICAgICAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIHNvdXJjZU1hcDogc291cmNlbWFwcyxcbiAgICAgICAgICAgIGlubGluZVNvdXJjZXM6IHNvdXJjZW1hcHMsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBzY3JpcHRzID0ge1xuICAgICAgICBzdGFydDogZ2V0Q29udHJhY3RTdGFydENvbW1hbmQoZGVidWcsIGNjYWFzKSxcbiAgICAgICAgXCJzdGFydDpkZXZcIjogXCJmYWJyaWMtY2hhaW5jb2RlLW5vZGUgc3RhcnQgLS10bHMuZW5hYmxlZCBmYWxzZVwiLFxuICAgICAgICBcInN0YXJ0OndhdGNoXCI6ICdub2RlbW9uIC0tZXhlYyBcIm5wbSBydW4gc3RhcnQ6ZGV2XCInLFxuICAgICAgICBidWlsZDogJ2VjaG8gXCJObyBuZWVkIHRvIGJ1aWxkIHRoZSBjaGFpbmNvZGVcIicsXG4gICAgICAgIGxpbnQ6IFwiZXNsaW50IC4gLS1maXggLS1leHQgLmpzXCIsXG4gICAgfTtcbiAgICBjb25zdCBjb250cmFjdFBhY2thZ2UgPSBwa2c7XG4gICAgY29udHJhY3RQYWNrYWdlLm5hbWUgPSBuYW1lO1xuICAgIGNvbnRyYWN0UGFja2FnZS5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgIGNvbnRyYWN0UGFja2FnZS5zY3JpcHRzID0gc2NyaXB0cztcbiAgICBkZWxldGUgY29udHJhY3RQYWNrYWdlLnR5cGU7XG4gICAgZGVsZXRlIGNvbnRyYWN0UGFja2FnZS50eXBlcztcbiAgICBkZWxldGUgY29udHJhY3RQYWNrYWdlLmV4cG9ydHM7XG4gICAgY29udHJhY3RQYWNrYWdlLm1haW4gPSBidW5kbGVcbiAgICAgICAgPyBgJHt0b1Bhc2NhbENhc2UobmFtZSl9LmpzYFxuICAgICAgICA6IGAke2lucHV0fS9pbmRleC5qc2A7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4ob3V0cHV0LCBcInBhY2thZ2UuanNvblwiKSwgSlNPTi5zdHJpbmdpZnkoY29udHJhY3RQYWNrYWdlKSk7XG4gICAgaWYgKG5wbXJjKVxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXQsIFwiLm5wbXJjXCIpLCBucG1yY0NvbnRlbnQpO1xuICAgIGxvZy5pbmZvKGBJbnN0YWxsaW5nIGFuZCBzaHJpbmt3cmFwcGluZyBkZXBlbmRlbmNpZXNgKTtcbiAgICBleGVjU3luYyhgbnBtIGluc3RhbGxgLCB7IGN3ZDogb3V0cHV0IH0pO1xuICAgIGV4ZWNTeW5jKGBucG0gc2hyaW5rd3JhcGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgZXhlY1N5bmMoXCJybSAtcmYgbm9kZV9tb2R1bGVzXCIsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oYGRlbGV0aW5nIHRlbXAgZm9sZGVyc2ApO1xuICAgIGV4ZWNTeW5jKGBybSAtcmYgLi9saWIgJiYgcm0gLXJmIC4vZGlzdGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oYENvbnRyYWN0ICR7bmFtZX0gY29tcGlsZWQgc3VjY2Vzc2Z1bGx5ISBpbiAke3BhdGgucmVzb2x2ZShvdXRwdXQpfWApO1xuICAgIGlmIChkZXYpIHtcbiAgICAgICAgbG9nLmluZm8oYGRldiBtb2RlIGVuYWJsZWQuIGluc3RhbGxpbmcgZGVwZW5kZW5jaWVzIGZvciBkZWJ1Z2dpbmdgKTtcbiAgICAgICAgZXhlY1N5bmMoYG5wbSBpbnN0YWxsYCwge1xuICAgICAgICAgICAgY3dkOiBvdXRwdXQsXG4gICAgICAgICAgICBlbnY6IHsgLi4ucHJvY2Vzcy5lbnYsIE5PREVfRU5WOiBcInByb2R1Y3Rpb25cIiB9LFxuICAgICAgICB9KTtcbiAgICB9XG59KTtcbmNvbnN0IGV4dHJhY3RJbmRleGVzID0gbmV3IENvbW1hbmQoKVxuICAgIC5jb21tYW5kKFwiZXh0cmFjdC1pbmRleGVzXCIpXG4gICAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gICAgLm9wdGlvbihcIi0tZm9sZGVyIFtTdHJpbmddXCIsIFwidGhlIG1vZGVsIGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLW91dERpciA8U3RyaW5nPlwiLCBcInRoZSBvdXRkaXIuIHNob3VsZCBtYXRjaCB5b3VyIGNvbnRyYWN0IGZvbGRlclwiKVxuICAgIC5kZXNjcmlwdGlvbihcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIilcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpKTtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImV4dHJhY3QtaW5kZXhlc1wiKTtcbiAgICBsb2cuZGVidWcoYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCB7IGZpbGUsIGZvbGRlciwgb3V0RGlyIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IG1vZGVscyA9IFtdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIG1vZGVscy5wdXNoKC4uLnJlYWRNb2RlbEZpbGUoZmlsZSkpO1xuICAgIH1cbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIGxvZy5pbmZvKGBMb2FkaW5nIG1vZGVscyBmcm9tICR7Zm9sZGVyfS4uLmApO1xuICAgICAgICBtb2RlbHMucHVzaCguLi4oYXdhaXQgcmVhZE1vZGVsRm9sZGVycyhmb2xkZXIpKSk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGNvbnN0IGRlc2lnbkRvY3MgPSB7fTtcbiAgICBpZiAoIWZpbGUgJiYgIWZvbGRlcilcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE11c3QgcGFzcyBhIGZpbGUgb3IgYSBmb2xkZXJgKTtcbiAgICBmb3IgKGNvbnN0IG0gb2YgbW9kZWxzKSB7XG4gICAgICAgIGxvZy52ZXJib3NlKGBFeHRyYWN0aW5nIGluZGV4ZXMgZm9yIHRhYmxlICR7TW9kZWwudGFibGVOYW1lKG0pfWApO1xuICAgICAgICBjb25zdCBpbmRleGVzID0gZ2VuZXJhdGVNb2RlbEluZGV4ZXMobSk7XG4gICAgICAgIGluZGV4ZXMuZm9yRWFjaCgoaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleC5uYW1lKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2luZGV4Lm5hbWVdID0gaW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcyhtLCBkZXNpZ25Eb2NzKTtcbiAgICB9XG4gICAgY29uc3QgaW5kZXhlc1RvV3JpdGUgPSBPYmplY3QudmFsdWVzKHJlc3VsdCk7XG4gICAgY29uc3QgZG9jc1RvV3JpdGUgPSBPYmplY3QudmFsdWVzKGRlc2lnbkRvY3MpO1xuICAgIGxvZy52ZXJib3NlKGBGb3VuZCAke2luZGV4ZXNUb1dyaXRlLmxlbmd0aH0gaW5kZXhlcyB0byBjcmVhdGVgKTtcbiAgICBsb2cudmVyYm9zZShgRm91bmQgJHtkb2NzVG9Xcml0ZS5sZW5ndGh9IGRlc2lnbiBkb2NzIHRvIGNyZWF0ZWApO1xuICAgIGxvZy5kZWJ1ZyhgSW5kZXhlczogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQpfWApO1xuICAgIGxvZy5kZWJ1ZyhgRGVzaWduRG9jczogJHtKU09OLnN0cmluZ2lmeShkZXNpZ25Eb2NzKX1gKTtcbiAgICB3cml0ZUluZGV4ZXMoaW5kZXhlc1RvV3JpdGUsIG91dERpcik7XG4gICAgd3JpdGVEZXNpZ25Eb2NzKGRvY3NUb1dyaXRlLCBvdXREaXIpO1xufSk7XG5jb25zdCBleHRyYWN0Q29sbGVjdGlvbnMgPSBuZXcgQ29tbWFuZCgpXG4gICAgLmNvbW1hbmQoXCJleHRyYWN0LWNvbGxlY3Rpb25zXCIpXG4gICAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gICAgLm9wdGlvbihcIi0tZm9sZGVyIFtTdHJpbmddXCIsIFwidGhlIG1vZGVsIGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLW91dERpciA8U3RyaW5nPlwiLCBcInRoZSBvdXRkaXIuIHNob3VsZCBtYXRjaCB5b3VyIGNvbnRyYWN0IGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLW1zcElkcyA8U3RyaW5nPlwiLCBcInNpbmdsZSBtc3BJZCBvciBzdHJpbmdpZmllZCBhcnJheVwiKVxuICAgIC5vcHRpb24oXCItLW1haW5Nc3BJZCA8U3RyaW5nPlwiLCBcInNpbmdsZSBtc3BJZFwiKVxuICAgIC5vcHRpb24oXCItLW92ZXJyaWRlcyBbU3RyaW5nXVwiLCBcInN0cmluZ2lmaWVkIG92ZXJyaWRlIG9iamVjdCB7cmVxdWlyZWRQZWVyQ291bnQ6IG51bWJlciwgbWF4UGVlckNvdW50OiBudW1iZXIsIGJsb2NrVG9MaXZlOiBudW1iZXIsIG1lbWJlck9ubHlSZWFkOiBudW1iZXIsIG1lbWJlck9ubHlXcml0ZTogbnVtYmVyLCBlbmRvcnNlbWVudFBvbGljeTogIHt9fVwiKVxuICAgIC5kZXNjcmlwdGlvbihcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIilcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpKTtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImV4dHJhY3QtY29sbGVjdGlvbnNcIik7XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBsZXQgeyBmaWxlLCBmb2xkZXIsIG91dERpciwgbXNwSWRzLCBtYWluTXNwSWQgfSA9IG9wdGlvbnM7XG4gICAgdHJ5IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIG1zcElkcyA9IG1zcElkcyA/IEpTT04ucGFyc2UobXNwSWRzKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgLy8gIGRvIG5vdGhpbmdcbiAgICAgICAgfVxuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKGBVbmFibGUgdG8gZXh0cmFjdCBtc3BpZHM6ICAke2V9YCk7XG4gICAgfVxuICAgIGNvbnN0IG1vZGVscyA9IFtdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIG1vZGVscy5wdXNoKC4uLnJlYWRNb2RlbEZpbGUoZmlsZSkpO1xuICAgIH1cbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIGxvZy5pbmZvKGBMb2FkaW5nIG1vZGVscyBmcm9tICR7Zm9sZGVyfS4uLmApO1xuICAgICAgICBtb2RlbHMucHVzaCguLi4oYXdhaXQgcmVhZE1vZGVsRm9sZGVycyhmb2xkZXIpKSk7XG4gICAgfVxuICAgIGlmICghZmlsZSAmJiAhZm9sZGVyKVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTXVzdCBwYXNzIGEgZmlsZSBvciBhIGZvbGRlcmApO1xuICAgIGNvbnN0IGluamVjdGFibGVNb2RlbHMgPSBtb2RlbHMuZmlsdGVyKChtb2RlbCkgPT4gTW9kZWwuaXNTaGFyZWQobW9kZWwpIHx8XG4gICAgICAgIE1vZGVsLmlzUHJpdmF0ZShtb2RlbCkgfHxcbiAgICAgICAgISFNb2RlbC5taXJyb3JlZEF0KG1vZGVsKSk7XG4gICAgaWYgKCFpbmplY3RhYmxlTW9kZWxzLmxlbmd0aCkge1xuICAgICAgICBsb2cuaW5mbyhgTm8gc2hhcmVkLCBwcml2YXRlLCBvciBtaXJyb3JlZCBtb2RlbHMgZm91bmQgdG8gZXh0cmFjdCBjb2xsZWN0aW9uc2ApO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGFzeW5jIGZ1bmN0aW9uIGdldENvbHMobXNwSWRzTGlzdCkge1xuICAgICAgICBjb25zdCBjb2xzID0gYXdhaXQgUHJvbWlzZS5hbGwoaW5qZWN0YWJsZU1vZGVscy5tYXAoYXN5bmMgKGNsYXp6KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoY2xhenopO1xuICAgICAgICAgICAgY29uc3QgbWlycm9yTWV0YSA9IE1vZGVsLm1pcnJvcmVkQXQoY2xhenopO1xuICAgICAgICAgICAgY29uc29sZS5sb2codGFibGVOYW1lKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb25zID0ge307XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1zcCBvZiBtc3BJZHNMaXN0IHx8IG1zcElkcyB8fCBbXSkge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25zW21zcF0gPSBhd2FpdCBleENvbGxlY3Rpb25zKGNsYXp6LCBbbXNwLCBtYWluTXNwSWRdLCB7fSwgXG4gICAgICAgICAgICAgICAgLy8ge1xuICAgICAgICAgICAgICAgIC8vICAgc2hhcmVkQ29sczogT2JqZWN0LmFzc2lnbih7fSwgb3ZlcnJpZGVzLnNoYXJlZENvbHMpLFxuICAgICAgICAgICAgICAgIC8vICAgcHJpdmF0ZUNvbHM6IE9iamVjdC5hc3NpZ24oe30sIG92ZXJyaWRlcy5wcml2YXRlQ29scyksXG4gICAgICAgICAgICAgICAgLy8gfSxcbiAgICAgICAgICAgICAgICAhIW1pcnJvck1ldGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IG1pcnJvckNvbGxlY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBpZiAobWlycm9yTWV0YSkge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25zW21haW5Nc3BJZF0gPSBjb2xsZWN0aW9uc1ttYWluTXNwSWRdIHx8IHt9O1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGNvbGxlY3Rpb25zKS5mb3JFYWNoKChtc3ApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbnNbbWFpbk1zcElkXS5wcml2YXRlcyA9IGNvbGxlY3Rpb25zW21zcF0ucHJpdmF0ZXM/LmZpbHRlcigocCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHAubmFtZSAhPT0gbWlycm9yTWV0YS5yZXNvbHZlcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pcnJvckNvbGxlY3Rpb24gPSBwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHByaXZhdGVzQ291bnQgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKVxuICAgICAgICAgICAgICAgIC5tYXAoKGMpID0+IGMucHJpdmF0ZXMpXG4gICAgICAgICAgICAgICAgLmZsYXQoKS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAocHJpdmF0ZXNDb3VudClcbiAgICAgICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgICAgICAuaW5mbyhgRm91bmQgJHtwcml2YXRlc0NvdW50fSBwcml2YXRlIGNvbGxlY3Rpb25zIHRvIGNyZWF0ZWApO1xuICAgICAgICAgICAgY29uc3Qgc2hhcmVkQ291bnQgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKVxuICAgICAgICAgICAgICAgIC5tYXAoKGMpID0+IGMuc2hhcmVkKVxuICAgICAgICAgICAgICAgIC5mbGF0KCkubGVuZ3RoO1xuICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgIC5pbmZvKGBGb3VuZCAke3NoYXJlZENvdW50fSBzaGFyZWQgY29sbGVjdGlvbnMgdG8gY3JlYXRlYCk7XG4gICAgICAgICAgICBpZiAobWlycm9yQ29sbGVjdGlvbilcbiAgICAgICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgICAgICAuaW5mbyhgRm91bmQgb25lIG1pcnJvciBjb2xsZWN0aW9uICR7bWlycm9yTWV0YT8ucmVzb2x2ZXJ9YCk7XG4gICAgICAgICAgICBjb25zdCBjb2xMaXN0ID0gT2JqZWN0LnZhbHVlcyhjb2xsZWN0aW9ucylcbiAgICAgICAgICAgICAgICAubWFwKChjKSA9PiBbLi4uKGMucHJpdmF0ZXMgfHwgW10pLCAuLi4oYy5zaGFyZWQgfHwgW10pXSlcbiAgICAgICAgICAgICAgICAuZmxhdCgpO1xuICAgICAgICAgICAgbGV0IGluZGV4ZXMgPSBbXTtcbiAgICAgICAgICAgIGxldCBkZXNpZ25Eb2NzID0gW107XG4gICAgICAgICAgICBpZiAoY29sTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgICAgICAudmVyYm9zZShgZ2VuZXJhdGluZyBpbmRleGVzIGZvciBjb2xsZWN0aW9uc2ApO1xuICAgICAgICAgICAgICAgIGluZGV4ZXMgPSBnZW5lcmF0ZU1vZGVsSW5kZXhlcyhjbGF6eik7XG4gICAgICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgICAgICAgICAgLmluZm8oYGZvdW5kICR7aW5kZXhlcy5sZW5ndGh9IGluZGV4ZXNgKTtcbiAgICAgICAgICAgICAgICBkZXNpZ25Eb2NzID0gZ2VuZXJhdGVNb2RlbERlc2lnbkRvY3MoY2xhenopO1xuICAgICAgICAgICAgICAgIGxvZ1xuICAgICAgICAgICAgICAgICAgICAuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpXG4gICAgICAgICAgICAgICAgICAgIC5pbmZvKGBmb3VuZCAke2Rlc2lnbkRvY3MubGVuZ3RofSBkZXNpZ24gZG9jc2ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgICAgICAgIGRlc2lnbkRvY3MsXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbnM6IGNvbExpc3QsXG4gICAgICAgICAgICAgICAgbWlycm9yOiBtaXJyb3JDb2xsZWN0aW9uLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm4gY29scztcbiAgICB9XG4gICAgY29uc3QgY29scyA9IGF3YWl0IGdldENvbHMoKTtcbiAgICBjb25zdCBvbmx5TWlycm9yID0gYXdhaXQgZ2V0Q29scyhbbWFpbk1zcElkXSk7XG4gICAgY29uc3QgY29sbGVjdGlvbnNUbyA9IFtcbiAgICAgICAgLi4ub25seU1pcnJvci5maWx0ZXIoKGMpID0+IGMubWlycm9yKS5tYXAoKGMpID0+IGMubWlycm9yKSxcbiAgICAgICAgLi4uY29scy5tYXAoKGMpID0+IGMuY29sbGVjdGlvbnMpLmZsYXQoKSxcbiAgICAgICAgLi4uY29scy5maWx0ZXIoKGMpID0+IGMubWlycm9yKS5tYXAoKGMpID0+IGMubWlycm9yKSxcbiAgICBdO1xuICAgIGNvbnN0IHVuaXF1ZUJ5Q29sbGVjdGlvbiA9IFtcbiAgICAgICAgLi4ubmV3IE1hcChjb2xsZWN0aW9uc1RvLm1hcCgoaXRlbSkgPT4gW2l0ZW0ubmFtZSwgaXRlbV0pKS52YWx1ZXMoKSxcbiAgICBdO1xuICAgIGlmICh1bmlxdWVCeUNvbGxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICAgIHdyaXRlQ29sbGVjdGlvbnModW5pcXVlQnlDb2xsZWN0aW9uLCBvdXREaXIpO1xuICAgICAgICBjb25zdCBtZXRhQ29sbGVjdGlvbnNDb25maWcgPSBwYXRoLmpvaW4ob3V0RGlyLCBcIk1FVEEtSU5GXCIsIFwiY29sbGVjdGlvbnNfY29uZmlnLmpzb25cIik7XG4gICAgICAgIGNvbnN0IGNvbnRyYWN0Q29sbGVjdGlvbnNDb25maWcgPSBwYXRoLmpvaW4ob3V0RGlyLCBcImNvbGxlY3Rpb25zX2NvbmZpZy5qc29uXCIpO1xuICAgICAgICBmcy5jb3B5RmlsZVN5bmMobWV0YUNvbGxlY3Rpb25zQ29uZmlnLCBjb250cmFjdENvbGxlY3Rpb25zQ29uZmlnKTtcbiAgICAgICAgbG9nLmluZm8oYFN0b3JlZCAke2NvbGxlY3Rpb25zVG8ubGVuZ3RofSBjb2xsZWN0aW9ucyB0byAke21ldGFDb2xsZWN0aW9uc0NvbmZpZ31gKTtcbiAgICAgICAgbG9nLmluZm8oYENvcGllZCBjb2xsZWN0aW9uc19jb25maWcgdG8gJHtjb250cmFjdENvbGxlY3Rpb25zQ29uZmlnfSBhbG9uZ3NpZGUgdGhlIHBhY2thZ2UuanNvbmApO1xuICAgICAgICBjb2xzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgaW5kZXhlcywgZGVzaWduRG9jcywgY29sbGVjdGlvbnMsIG1pcnJvciB9ID0gYztcbiAgICAgICAgICAgIGNvbnN0IHRvSW5kZXggPSBbLi4uY29sbGVjdGlvbnMsIG1pcnJvcl0uZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAgICAgdG9JbmRleC5mb3JFYWNoKChpKSA9PiB7XG4gICAgICAgICAgICAgICAgd3JpdGVJbmRleGVzKGluZGV4ZXMsIG91dERpciwgaS5uYW1lKTtcbiAgICAgICAgICAgICAgICB3cml0ZUNvbGxlY3Rpb25EZXNpZ25Eb2NzKGRlc2lnbkRvY3MgfHwgW10sIG91dERpciwgaS5uYW1lKTtcbiAgICAgICAgICAgICAgICBsb2cuaW5mbyhgU3RvcmVkICR7aW5kZXhlcz8ubGVuZ3RoIHx8IDB9IGluZGV4ZXMgYW5kICR7ZGVzaWduRG9jcz8ubGVuZ3RoIHx8IDB9IGRlc2lnbiBkb2NzIHRvIGNvbGxlY3Rpb24gJHtpLm5hbWV9YCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufSk7XG5jb25zdCBlbnN1cmVJbmZyYSA9IG5ldyBDb21tYW5kKClcbiAgICAubmFtZShcImF3YWl0LWluZnJhXCIpXG4gICAgLmRlc2NyaXB0aW9uKFwid2FpdHMgZm9yIHRoZSBpbmZyYXN0cnVjdHVyZSB0byBiZSB1cCBhbmQgcnVubmluZ1wiKVxuICAgIC5vcHRpb24oXCItLWNvbnRhaW5lciA8U3RyaW5nPlwiLCBcImRvY2tlciBjb250YWluZXIgbmFtZSB0byB0ZXN0ICh1c3VhbGx5IGxhc3QgcGVlcilcIiwgXCJib290LW9yZy1jLXBlZXItMFwiKVxuICAgIC5vcHRpb24oXCItLXRpbWVvdXQgPFN0cmluZz5cIiwgXCJ0aW1lb3V0IGJldHdlZW4gdGVzdHMgaW4gbWlsbGlzZWNvbmRzXCIsIFwiNTAwMFwiKVxuICAgIC5vcHRpb24oXCItLWF0dGVtcHRzIDxTdHJpbmc+XCIsIFwibnVtYmVyIG9mIGF0dGVtcHRzIGJlZm9yZSBnaXZpbmcgdXBcIiwgXCIxMFwiKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLmpzb25cIiksIFwidXRmLThcIikpO1xuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcbiAgICBjb25zdCBsb2cgPSBsb2dnZXIuZm9yKFwiYXdhaXQtaW5mcmFcIik7XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBsZXQgeyBjb250YWluZXIsIHRpbWVvdXQsIGF0dGVtcHRzIH0gPSBvcHRpb25zO1xuICAgIHRpbWVvdXQgPSBwYXJzZUludCh0aW1lb3V0KSB8fCA1MDAwO1xuICAgIGF0dGVtcHRzID0gcGFyc2VJbnQoYXR0ZW1wdHMpIHx8IDEwO1xuICAgIGF3YWl0IGVuc3VyZUluZnJhc3RydWN0dXJlQm9vdGVkKFwiYm9vdC1vcmctYy1wZWVyLTBcIiwgdGltZW91dCwgYXR0ZW1wdHMpO1xuICAgIGxvZy5pbmZvKGBJbmZyYXN0cnVjdHVyZSBib290ZWQgc3VjY2Vzc2Z1bGx5IChhY2NvcmRpbmcgdG8gY29udGFpbmVyICR7Y29udGFpbmVyfSkhYCk7XG59KTtcbmNvbnN0IGRlcGxveUNvbnRyYWN0ID0gbmV3IENvbW1hbmQoKVxuICAgIC5uYW1lKFwiZGVwbG95LWNvbnRyYWN0XCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiZGVwbG95cyB0aGUgc2VsZWN0ZWQgY29udHJhY3RcIilcbiAgICAub3B0aW9uKFwiLS1uYW1lIDxTdHJpbmc+XCIsIFwiQ29udHJhY3QgTmFtZSAoYW5kIGZvbGRlcilcIilcbiAgICAub3B0aW9uKFwiLS1pbnB1dCA8U3RyaW5nPlwiLCBcImlucHV0IGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLWNvbGxlY3Rpb25zLWNvbmZpZyA8U3RyaW5nPlwiLCBcInBhdGggdG8gY29sbGVjdGlvbnNfY29uZmlnLmpzb24gdG8gY29uZmlndXJlIHByaXZhdGUgY29sbGVjdGlvbnNcIilcbiAgICAub3B0aW9uKFwiLS1pbmNyZW1lbnRWZXJzaW9uIDxTdHJpbmc+XCIsIFwiKHRydWUgfCBmYWxzZSkgaWYgc2hvdWxkIHVzZSB2ZXJzaW9uIG9yIHNlcXVlbmNlIHRvIHVwZGF0ZSBjb250cmFjdHNcIiwgZmFsc2UpXG4gICAgLm9wdGlvbihcIi0tdHJhY2tlckZvbGRlciA8U3RyaW5nPlwiLCBcImNvbnRyYWN0IHZlcnNpb24gdHJhY2tlciBmb2xkZXIgKHNob3VsZCBiZSBkZWxldGVkIG9uIGluZnJhc3RydWN0dXJlOmRvd24pXCIsIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInRlc3RzXCIsIFwiaW50ZWdyYXRpb25cIiwgXCJjaGFpbmNvZGVUcmFja2Vyc1wiKSlcbiAgICAub3B0aW9uKFwiLS1wZWVycyA8U3RyaW5nPlwiLCBcImNvbW1hIHNlcGFyYXRlZCBwZWVyIGlkc1wiLCBcIm9yZy1hLXBlZXItMCxvcmctYi1wZWVyLTAsb3JnLWMtcGVlci0wXCIpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGYtOFwiKSk7XG4gICAgY29uc3QgdmVyc2lvbiA9IHBrZy52ZXJzaW9uO1xuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJkZXBsb3ktY29udHJhY3RcIik7XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIGNvbnN0IHsgbmFtZSwgaW5wdXQsIHBlZXJzLCB0cmFja2VyRm9sZGVyLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgaW5jcmVtZW50VmVyc2lvbiwgY29sbGVjdGlvbnNDb25maWcsIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHBlZXJJZHMgPSBwZWVycy5zcGxpdChcIixcIik7XG4gICAgY29uc3QgY291bnRQYXRoID0gcGF0aC5yZXNvbHZlKHBhdGguam9pbih0cmFja2VyRm9sZGVyLCBgJHtuYW1lfS5jb3VudGApKTtcbiAgICBsZXQgc2VxdWVuY2U7XG4gICAgdHJ5IHtcbiAgICAgICAgc2VxdWVuY2UgPSBwYXJzZUludChmcy5yZWFkRmlsZVN5bmMoY291bnRQYXRoKS50b1N0cmluZyhcInV0Zi04XCIpKTtcbiAgICAgICAgaWYgKGlzTmFOKHNlcXVlbmNlKSlcbiAgICAgICAgICAgIHNlcXVlbmNlID0gMTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgc2VxdWVuY2UgKz0gMTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICBzZXF1ZW5jZSA9IDE7XG4gICAgfVxuICAgIC8vXG4gICAgLy8gaWYgKGluY3JlbWVudFZlcnNpb24pIHtcbiAgICAvLyAgIHZlcnNpb24gPSB2ZXJzaW9uICsgYC0ke3NlcXVlbmNlfWA7XG4gICAgLy8gICAvLyBzZXF1ZW5jZSA9IDE7XG4gICAgLy8gfVxuICAgIHRyeSB7XG4gICAgICAgIGZvciAoY29uc3QgcGVlciBvZiBwZWVySWRzKSB7XG4gICAgICAgICAgICBwYWNrYWdlQ29udHJhY3QocGVlciwgaW5wdXQsIG5hbWUsIHZlcnNpb24pO1xuICAgICAgICAgICAgaW5zdGFsbENvbnRyYWN0KHBlZXIsIG5hbWUpO1xuICAgICAgICAgICAgYXBwcm92ZUNvbnRyYWN0KHBlZXIsIG5hbWUsIHBlZXIgPT09IFwib3JnLWEtcGVlci0wXCJcbiAgICAgICAgICAgICAgICA/IFwidGxzLWNhLWNlcnQucGVtXCJcbiAgICAgICAgICAgICAgICA6IFwib3JkZXJlci10bHMtY2EtY2VydC5wZW1cIiwgc2VxdWVuY2UsIHZlcnNpb24sIGNvbGxlY3Rpb25zQ29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKGNvdW50UGF0aCwgc2VxdWVuY2UudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgbG9nLmVycm9yKFwiRXJyb3IgZGVwbG95aW5nIGNvbnRyYWN0OlwiLCBlcnIpO1xuICAgIH1cbiAgICBjb21taXRDaGFpbmNvZGUobmFtZSwgc2VxdWVuY2UsIHZlcnNpb24sIGNvbGxlY3Rpb25zQ29uZmlnKTtcbn0pO1xuY29uc3QgZ2V0Q3J5cHRvTWF0ZXJpYWwgPSBuZXcgQ29tbWFuZCgpXG4gICAgLm5hbWUoXCJnZXQtY3J5cHRvLW1hdGVyaWFsXCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiY29waWVzIHRoZSBjcnlwdG8gbWF0ZXJpYWwgdG8gdGhlIHNlbGVjdGVkIGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLWZvbGRlciA8U3RyaW5nPlwiLCBcIm91dHB1dCBmb2xkZXJcIiwgXCJkb2NrZXIvZG9ja2VyLWRhdGFcIilcbiAgICAub3B0aW9uKFwiLS1vcmcgW1N0cmluZ11cIiwgXCJ0aGUgb3JnL3BlZXIgdG8gZXh0cmFjdCBmcm9tXCIsIFwib3JnLWFcIilcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpKTtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImdldC1jcnlwdG8tbWF0ZXJpYWxcIik7XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIGNvbnN0IHsgZm9sZGVyLCBvcmcgfSA9IG9wdGlvbnM7XG4gICAgZXhlY1N5bmMoYGRvY2tlciBjcCAke29yZ306L3dlYXZlci9jbGllbnQvLiAke2ZvbGRlcn1gLCB7XG4gICAgICAgIGN3ZDogcHJvY2Vzcy5jd2QoKSxcbiAgICB9KTtcbn0pO1xuY29uc3QgZmFicmljQ21kID0gbmV3IENvbW1hbmQoKVxuICAgIC5uYW1lKFwiZm9yLWZhYnJpY1wiKVxuICAgIC5jb21tYW5kKFwiZmFicmljXCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiZXhwb3NlcyBzZXZlcmFsIGNvbW1hbmRzIHRvIGhlbHAgbWFuYWdlIHRoZSBmYWJyaWMgaW5mcmFzdHJ1Y3R1cmVcIik7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChjb21waWxlQ29tbWFuZCk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChleHRyYWN0SW5kZXhlcyk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChlbnN1cmVJbmZyYSk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChkZXBsb3lDb250cmFjdCk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChnZXRDcnlwdG9NYXRlcmlhbCk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChleHRyYWN0Q29sbGVjdGlvbnMpO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZmFicmljKCkge1xuICAgIHJldHVybiBmYWJyaWNDbWQ7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lZMnhwTFcxdlpIVnNaUzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1TDNOeVl5OWpiR2t0Ylc5a2RXeGxMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFOUJRVThzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4WFFVRlhMRU5CUVVNN1FVRkRjRU1zVDBGQlR5eEZRVUZGTEU5QlFVOHNSVUZCUlN4WlFVRlpMRVZCUVVVc1RVRkJUU3h0UWtGQmJVSXNRMEZCUXp0QlFVTXhSQ3hQUVVGUExFVkJRVVVzVVVGQlVTeEZRVUZGTEUxQlFVMHNaVUZCWlN4RFFVRkRPMEZCUTNwRExFOUJRVThzUlVGQlJTeE5RVUZOTEVsQlFVa3NRMEZCUXp0QlFVTndRaXhQUVVGUExFbEJRVWtzVFVGQlRTeE5RVUZOTEVOQlFVTTdRVUZEZUVJc1QwRkJUeXhGUVVGVkxFMUJRVTBzUlVGQlJTeE5RVUZOTEZGQlFWRXNRMEZCUXp0QlFVTjRReXhQUVVGUExFOUJRVThzVFVGQlRTeDNRa0ZCZDBJc1EwRkJRenRCUVVNM1F5eFBRVUZQTEVWQlFVVXNZVUZCWVN4RlFVRkZMR3RDUVVGclFpeEZRVUZGTEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGRE5VVXNUMEZCVHl4RlFVTk1MSFZDUVVGMVFpeEZRVU4yUWl4dlFrRkJiMElzUlVGRGNFSXNZVUZCWVN4RlFVTmlMR2RDUVVGblFpeEZRVU5vUWl4bFFVRmxMRVZCUTJZc1dVRkJXU3hIUVVOaUxHdERRVUY1UWp0QlFVTXhRaXhQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZGTEUxQlFVMHNaME5CUVdkRExFTkJRVU03UVVGRGRrUXNUMEZCVHl4RlFVTk1MR1ZCUVdVc1JVRkRaaXd3UWtGQk1FSXNSVUZETVVJc1pVRkJaU3hGUVVObUxHVkJRV1VzUlVGRFppeGxRVUZsTEVWQlEyWXNkVUpCUVhWQ0xFVkJRM1pDTERSQ1FVRTBRaXhIUVVNM1FpeDFRa0ZCYjBJN1FVRkRja0lzY1VOQlFUUkNPMEZCUXpWQ0xFOUJRVThzUlVGQlJTeE5RVUZOTEZsQlFWa3NRMEZCUXp0QlFVTTFRaXhQUVVGUExFVkJRMHdzYTBKQlFXdENMRWxCUVVrc1lVRkJZU3hGUVVWdVF5eG5Ra0ZCWjBJc1JVRkRhRUlzZVVKQlFYbENMRWRCUXpGQ0xITkRRVUZ0UXp0QlFVZHdReXhOUVVGTkxFMUJRVTBzUjBGQlJ5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJSWEpETEZOQlFWTXNkVUpCUVhWQ08wbEJRemxDTEU5QlFVODdVVUZEVEN4SlFVRkpMRVZCUVVVc05FSkJRVFJDTzFGQlEyeERMRk5CUVZNc1EwRkJReXhOUVVGTkxFVkJRVVVzVVVGQlVUdFpRVU40UWl4SlFVRkpMRU5CUVVNc1VVRkJVU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRE8yZENRVU42UXl4UFFVRlBMRWxCUVVrc1EwRkJRenRaUVVOa0xFTkJRVU03V1VGRlJDeE5RVUZOTEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNVVUZCVVN4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGJFVXNUVUZCVFN4VlFVRlZMRWRCUVVjN1owSkJRMnBDTEZsQlFWazdaMEpCUTFvc1IwRkJSeXhaUVVGWkxFdEJRVXM3WjBKQlEzQkNMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTEZWQlFWVXNRMEZCUXp0aFFVTndReXhEUVVGRE8xbEJSVVlzUzBGQlN5eE5RVUZOTEZOQlFWTXNTVUZCU1N4VlFVRlZMRVZCUVVVc1EwRkJRenRuUWtGRGJrTXNTVUZCU1N4RlFVRkZMRU5CUVVNc1ZVRkJWU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXp0dlFrRkRhRVVzVDBGQlR5eFRRVUZUTEVOQlFVTTdaMEpCUTI1Q0xFTkJRVU03V1VGRFNDeERRVUZETzFsQlJVUXNUMEZCVHl4SlFVRkpMRU5CUVVNN1VVRkRaQ3hEUVVGRE8wdEJRMFlzUTBGQlF6dEJRVU5LTEVOQlFVTTdRVUZGUkN4TlFVRk5MR05CUVdNc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdExRVU5xUXl4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTTdTMEZEZUVJc1YwRkJWeXhEUVVGRExESkNRVUV5UWl4RFFVRkRPMHRCUTNoRExFMUJRVTBzUTBGQlF5eFBRVUZQTEVWQlFVVXNlVU5CUVhsRExFVkJRVVVzUzBGQlN5eERRVUZETzB0QlEycEZMRTFCUVUwc1EwRkJReXhUUVVGVExFVkJRVVVzYlVOQlFXMURMRVZCUVVVc1MwRkJTeXhEUVVGRE8wdEJRemRFTEUxQlFVMHNRMEZEVEN4VFFVRlRMRVZCUTFRc2NVUkJRWEZFTEVWQlEzSkVMRXRCUVVzc1EwRkRUanRMUVVOQkxFMUJRVTBzUTBGQlF5eHBRa0ZCYVVJc1JVRkJSU3hsUVVGbExFVkJRVVVzYVVKQlFXbENMRU5CUVVNN1MwRkROMFFzVFVGQlRTeERRVUZETEZWQlFWVXNSVUZCUlN3d1EwRkJNRU1zUlVGQlJTeExRVUZMTEVOQlFVTTdTMEZEY2tVc1RVRkJUU3hEUVVOTUxESkNRVUV5UWl4RlFVTXpRaXh0UlVGQmJVVXNSVUZEYmtVc2FVSkJRV2xDTEVOQlEyeENPMHRCUTBFc1RVRkJUU3hEUVVOTUxIZENRVUYzUWl4RlFVTjRRaXh6UWtGQmMwSXNSVUZEZEVJc1owTkJRV2RETEVOQlEycERPMHRCUTBFc1RVRkJUU3hEUVVGRExIVkNRVUYxUWl4RlFVRkZMR2xEUVVGcFF5eEZRVUZGTEV0QlFVc3NRMEZCUXp0TFFVTjZSU3hOUVVGTkxFTkJRVU1zYTBKQlFXdENMRVZCUVVVc05FSkJRVFJDTEVWQlFVVXNaVUZCWlN4RFFVRkRPMHRCUTNwRkxFMUJRVTBzUTBGQlF5eHRRa0ZCYlVJc1JVRkJSU3cyUWtGQk5rSXNSVUZCUlN4aFFVRmhMRU5CUVVNN1MwRkRla1VzVFVGQlRTeERRVUZETEdOQlFXTXNSVUZCUlN3MFEwRkJORU1zUlVGQlJTeExRVUZMTEVOQlFVTTdTMEZETTBVc1RVRkJUU3hEUVVGRExGTkJRVk1zUlVGQlJTeDNRMEZCZDBNc1JVRkJSU3hMUVVGTExFTkJRVU03UzBGRGJFVXNUVUZCVFN4RFFVRkRMRXRCUVVzc1JVRkJSU3hQUVVGWkxFVkJRVVVzUlVGQlJUdEpRVU0zUWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVU53UWl4RlFVRkZMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxHTkJRV01zUTBGQlF5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVTnVSU3hEUVVGRE8wbEJSVVlzU1VGQlNTeFpRVUZaTEVkQlFVY3NVMEZCVXl4RFFVRkRPMGxCUlRkQ0xFMUJRVTBzVDBGQlR5eEhRVUZITEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNN1NVRkZOVUlzU1VGQlNUdEpRVU5HTEhkRFFVRjNRenRKUVVONFF5eEhRVUZITzBsQlEwZ3NkME5CUVhkRE8wbEJRM2hETEV0QlFVczdTVUZEVEN4M1EwRkJkME03U1VGRGVFTXNTVUZCU1R0SlFVTktMSGREUVVGM1F6dEpRVU40UXl4WFFVRlhMRVZCUTFnc1RVRkJUVHRKUVVOT0xIZERRVUYzUXp0SlFVTjRReXhMUVVGTE8wbEJRMHdzZDBOQlFYZERPMGxCUTNoRExHbENRVUZwUWp0SlFVTnFRaXgzUTBGQmQwTTdTVUZEZUVNc1MwRkJTenRKUVVOTUxIZERRVUYzUXp0SlFVTjRReXhOUVVGTkxFVkJSVTRzV1VGQldUdEpRVU5hTEhkRFFVRjNRenRKUVVONFF5eFZRVUZWTzBsQlExWXNkME5CUVhkRE8wbEJRM2hETEV0QlFVc3NSMEZEVGl4SFFVRkhMRTlCUVU4c1EwRkJRenRKUVVOYUxFMUJRVTBzUjBGQlJ5eEhRVUZITEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNRMEZCUXp0SlFVTXpReXhKUVVGSkxFTkJRVU03VVVGRFNDeEpRVUZKTEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTFZc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlEzWkNMRVZCUVVVc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzVVVGQlVTeERRVUZETEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUXpkRUxFTkJRVU03V1VGRlJpeE5RVUZOTEZGQlFWRXNSMEZCUnl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVOdVF5eG5Ra0ZCWjBJc1JVRkRhRUlzUTBGQlF5eERRVUZOTEVWQlFVVXNUMEZCWlN4RlFVRkZMRVZCUVVVN1owSkJRekZDTEUxQlFVMHNTMEZCU3l4SFFVRkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdaMEpCUlc1RExFbEJRVWtzUzBGQlN5eExRVUZMTEZOQlFWTXNSVUZCUlN4RFFVRkRPMjlDUVVONFFpeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVTldMR3REUVVGclF5eFBRVUZQTEdOQlFXTXNRMEZEZUVRc1EwRkJRenR2UWtGRFJpeFBRVUZQTEVWQlFVVXNRMEZCUXp0blFrRkRXaXhEUVVGRE8yZENRVVZFTEU5QlFVOHNTMEZCU3l4RFFVRkRPMWxCUTJZc1EwRkJReXhEUVVOR0xFTkJRVU03V1VGRlJpeFpRVUZaTEVkQlFVY3NVVUZCVVN4RFFVRkRPMUZCUXpGQ0xFTkJRVU03U1VGRFNDeERRVUZETzBsQlFVTXNUVUZCVFN4RFFVRkRPMUZCUTFBc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eDVSRUZCZVVRc1EwRkJReXhEUVVGRE8wbEJRM1JGTEVOQlFVTTdTVUZGUkN4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVOUUxIbENRVUY1UWl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUTBGQlF5eFJRVUZSTEVkQlFVY3NRMEZCUXl4SlFVRkpMRmxCUVZrc1QwRkJUeXhGUVVGRkxFTkJRM1JHTEVOQlFVTTdTVUZGUml4WlFVRlpMRWRCUVVjc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFpRVUZaTEVOQlFVTTdVVUZETVVNc1EwRkJReXhEUVVGRExGbEJRVms3VVVGRFpDeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVXNXVUZCV1N4RFFVRkRMRU5CUVVNN1NVRkZNME1zVFVGQlRTeEhRVUZITEdsQ1FVRnBRaXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpsRUxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNjVVJCUVhGRUxFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTTdTVUZEZUVVc1VVRkJVU3hEUVVGRExGVkJRVlVzVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTTNRaXhKUVVGSkxFMUJRVTBzUlVGQlJTeERRVUZETzFGQlExZ3NSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNTMEZCU3l4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVNMVF5eE5RVUZOTEdGQlFXRXNSMEZCUnl4RlFVRkZMRU5CUVVNc1YwRkJWeXhEUVVOc1F5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXhEUVVNNVF5eERRVUZETzFGQlEwWXNTVUZCU1N4RFFVRkRPMWxCUTBnc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRPMWxCUTJ4RkxFMUJRVTBzVlVGQlZTeEhRVUZITEVWQlFVVXNRMEZCUXl4alFVRmpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1dVRkRjRVVzU1VGQlNTeFZRVUZWTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNN1owSkJRM0pDTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUTNKQ0xFVkJRVVVzUTBGQlF5dzBRa0ZCTkVJc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQlN5eERRVUZETEZkQlFWY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRjRVVzUTBGQlF6dFpRVU5LTEVOQlFVTTdXVUZGUkN4TlFVRk5MRmxCUVZrc1IwRkJSeXhGUVVGRkxFTkJRVU1zTUVKQlFUQkNMRU5CUTJoRUxGVkJRVlVzUTBGQlF5eE5RVUZOTEVWQlEycENMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRMDRzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4WlFVRlpMRU5CUVVNc1JVRkRNVUlzVTBGQlV5eEZRVU5VTEZsQlFWa3NRMEZEWWl4RFFVRkRPMWxCUTBZc1NVRkJTU3haUVVGWkxFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMmRDUVVNdlFpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXhaUVVGWkxFTkJRVU1zVFVGQlRUdHhRa0ZEYUVJc1IwRkJSeXhEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEVWQlFVVXNRMEZEWWl4RlFVRkZMRU5CUVVNc05FSkJRVFJDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRmRCUVZjc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRGVrUTdjVUpCUTBFc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVU5rTEVOQlFVTTdXVUZEU2l4RFFVRkRPMWxCUlVRc1RVRkJUU3h0UWtGQmJVSXNSMEZCZFVJN1owSkJRemxETEVkQlFVY3NXVUZCV1N4RFFVRkRMRTlCUVU4N1owSkJRM1pDTEUxQlFVMHNSVUZCUlN4aFFVRmhPMmRDUVVOeVFpeE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhOUVVGTk8yZENRVU0xUWl4WFFVRlhMRVZCUVVVc1MwRkJTenRuUWtGRGJFSXNVMEZCVXl4RlFVRkZMRXRCUVVzN1owSkJRMmhDTEdGQlFXRXNSVUZCUlN4TFFVRkxPMkZCUTNKQ0xFTkJRVU03V1VGRFJpeE5RVUZOTEdsQ1FVRnBRaXhIUVVGSExFVkJRVVU3YVVKQlEzcENMR3RDUVVGclFpeERRVU5xUWp0blFrRkRSU3hIUVVGSExGbEJRVms3WjBKQlEyWXNUMEZCVHl4RlFVRkZMRzFDUVVGdFFqdGhRVU0zUWl4RlFVTkVMRlZCUVZVc1JVRkRWaXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNlVUpCUVhsQ0xFTkJRMnhETzJsQ1FVTkJMRWxCUVVrc1EwRkJReXhEUVVGRExGRkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNVVUZCVVN4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlJXaEVMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNSVUZCUlN4RFFVRkRPMmRDUVVOMlFpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXh2UkVGQmIwUXNWVUZCVlN4RlFVRkZMRU5CUTJwRkxFTkJRVU03V1VGRFNpeERRVUZETzFsQlJVUXNORUpCUVRSQ0xFTkJRVU1zV1VGQldTeEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExFTkJRVU03V1VGRGFFVXNUVUZCVFN4bFFVRmxMRWRCUVVjc1RVRkJUU3hOUVVGTkxFTkJRVU03WjBKQlEyNURMRXRCUVVzc1JVRkJSU3hwUWtGQmFVSTdaMEpCUTNoQ0xFOUJRVThzUlVGQlJUdHZRa0ZEVUN4MVFrRkJkVUlzUlVGQlJUdHZRa0ZEZWtJc1QwRkJUeXhEUVVGRE8zZENRVU5PTEdsQ1FVRnBRaXhGUVVGRkxFbEJRVWs3ZDBKQlEzWkNMRlZCUVZVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTTdkMEpCUTNCQ0xFMUJRVTBzUlVGQlJTeEZRVUZGTEdGQlFXRXNSVUZCUlN4UFFVRlBMRVZCUVVVc1lVRkJZU3hGUVVGRkxFZEJRVWNzUTBGQlF5eEpRVUZKTEVWQlFVVTdjVUpCUXpWRUxFTkJRVU03YVVKQlEwZzdZVUZEUml4RFFVRkRMRU5CUVVNN1dVRkRTQ3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVU5PTEhWQ1FVRjFRaXhOUVVGTkxHTkJRV01zV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUTI1RkxFTkJRVU03V1VGRFJpeE5RVUZOTEdWQlFXVXNRMEZCUXl4TFFVRkxMRU5CUVVNN1owSkJRekZDTEVsQlFVa3NSVUZCUlN4SFFVRkhMRTFCUVUwc1NVRkJTU3haUVVGWkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVczdaMEpCUXpGRExFMUJRVTBzUlVGQlJTeExRVUZMTzJkQ1FVTmlMRWxCUVVrc1JVRkJSU3hIUVVGSExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3p0blFrRkRhRU1zVTBGQlV5eEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTzJkQ1FVTjRReXh6UWtGQmMwSXNSVUZCUlN4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEdGQlFXRXNSVUZCUlN4RlFVRkZPMjlDUVVNMVJDeE5RVUZOTEd0Q1FVRnJRaXhIUVVGSExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlEzSkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zWVVGQllTeERRVUZETEVWQlF6TkNMR3RDUVVGclFpeERRVU51UWl4RFFVRkRPMjlDUVVWR0xFbEJRVWtzYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTEVOQlFVTTdkMEpCUTJwRUxFOUJRVThzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUTNCQ0xGTkJRVk1zUlVGRFZDeEpRVUZKT3paQ1FVTkVMRkZCUVZFc1EwRkJReXhoUVVGaExFVkJRVVVzYTBKQlFXdENMRU5CUVVNN05rSkJRek5ETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRE96WkNRVU5tTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkRZaXhEUVVGRE8yOUNRVU5LTEVOQlFVTTdiMEpCUlVRc1QwRkJUeXhyUWtGQmEwSXNRMEZCUXp0blFrRkROVUlzUTBGQlF6dGhRVU5HTEVOQlFVTXNRMEZCUXp0WlFVTklMRTFCUVUwc1pVRkJaU3hEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETzFGQlEyaERMRU5CUVVNN1owSkJRVk1zUTBGQlF6dFpRVU5VTEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1lVRkJZU3hGUVVGRkxFVkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF6dFJRVU0zUkN4RFFVRkRPMGxCUTBnc1EwRkJRenRUUVVGTkxFTkJRVU03VVVGRFRpdzBRa0ZCTkVJc1EwRkJReXhaUVVGWkxFVkJRVVU3V1VGRGVrTXNUVUZCVFN4RlFVRkZMRTFCUVUwN1dVRkRaQ3hOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEZWQlFWVXNRMEZCUXl4TlFVRk5PMWxCUXpWQ0xGZEJRVmNzUlVGQlJTeExRVUZMTzFsQlEyeENMRk5CUVZNc1JVRkJSU3hWUVVGVk8xbEJRM0pDTEdGQlFXRXNSVUZCUlN4VlFVRlZPMU5CUXpGQ0xFTkJRVU1zUTBGQlF6dEpRVU5NTEVOQlFVTTdTVUZGUkN4TlFVRk5MRTlCUVU4c1IwRkJSenRSUVVOa0xFdEJRVXNzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXhMUVVGTExFVkJRVVVzUzBGQlN5eERRVUZETzFGQlF6VkRMRmRCUVZjc1JVRkJSU3hwUkVGQmFVUTdVVUZET1VRc1lVRkJZU3hGUVVGRkxHOURRVUZ2UXp0UlFVTnVSQ3hMUVVGTExFVkJRVVVzZFVOQlFYVkRPMUZCUXpsRExFbEJRVWtzUlVGQlJTd3dRa0ZCTUVJN1MwRkRha01zUTBGQlF6dEpRVVZHTEUxQlFVMHNaVUZCWlN4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVVMVFpeGxRVUZsTEVOQlFVTXNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJRenRKUVVNMVFpeGxRVUZsTEVOQlFVTXNWMEZCVnl4SFFVRkhMRmRCUVZjc1EwRkJRenRKUVVNeFF5eGxRVUZsTEVOQlFVTXNUMEZCVHl4SFFVRkhMRTlCUVU4c1EwRkJRenRKUVVWc1F5eFBRVUZQTEdWQlFXVXNRMEZCUXl4SlFVRkpMRU5CUVVNN1NVRkROVUlzVDBGQlR5eGxRVUZsTEVOQlFVTXNTMEZCU3l4RFFVRkRPMGxCUXpkQ0xFOUJRVThzWlVGQlpTeERRVUZETEU5QlFVOHNRMEZCUXp0SlFVTXZRaXhsUVVGbExFTkJRVU1zU1VGQlNTeEhRVUZITEUxQlFVMDdVVUZETTBJc1EwRkJReXhEUVVGRExFZEJRVWNzV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxPMUZCUXpWQ0xFTkJRVU1zUTBGQlF5eEhRVUZITEV0QlFVc3NWMEZCVnl4RFFVRkRPMGxCUlhoQ0xFVkJRVVVzUTBGQlF5eGhRVUZoTEVOQlEyUXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFVkJRVVVzWTBGQll5eERRVUZETEVWQlEycERMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zWlVGQlpTeERRVUZETEVOQlEyaERMRU5CUVVNN1NVRkZSaXhKUVVGSkxFdEJRVXM3VVVGQlJTeEZRVUZGTEVOQlFVTXNZVUZCWVN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RlFVRkZMRmxCUVZrc1EwRkJReXhEUVVGRE8wbEJSWFpGTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc05FTkJRVFJETEVOQlFVTXNRMEZCUXp0SlFVTjJSQ3hSUVVGUkxFTkJRVU1zWVVGQllTeEZRVUZGTEVWQlFVVXNSMEZCUnl4RlFVRkZMRTFCUVUwc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRGVrTXNVVUZCVVN4RFFVRkRMR2RDUVVGblFpeEZRVUZGTEVWQlFVVXNSMEZCUnl4RlFVRkZMRTFCUVUwc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRE5VTXNVVUZCVVN4RFFVRkRMSEZDUVVGeFFpeEZRVUZGTEVWQlFVVXNSMEZCUnl4RlFVRkZMRTFCUVUwc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRGFrUXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4RFFVRkRPMGxCUTJ4RExGRkJRVkVzUTBGQlF5d3JRa0ZCSzBJc1JVRkJSU3hGUVVGRkxFZEJRVWNzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUXpORUxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlEwNHNXVUZCV1N4SlFVRkpMRGhDUVVFNFFpeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFTkJRM0pGTEVOQlFVTTdTVUZEUml4SlFVRkpMRWRCUVVjc1JVRkJSU3hEUVVGRE8xRkJRMUlzUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4NVJFRkJlVVFzUTBGQlF5eERRVUZETzFGQlEzQkZMRkZCUVZFc1EwRkJReXhoUVVGaExFVkJRVVU3V1VGRGRFSXNSMEZCUnl4RlFVRkZMRTFCUVUwN1dVRkRXQ3hIUVVGSExFVkJRVVVzUlVGQlJTeEhRVUZITEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVc1VVRkJVU3hGUVVGRkxGbEJRVmtzUlVGQlJUdFRRVU5vUkN4RFFVRkRMRU5CUVVNN1NVRkRUQ3hEUVVGRE8wRkJRMGdzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZGVEN4TlFVRk5MR05CUVdNc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdExRVU5xUXl4UFFVRlBMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTTdTMEZETVVJc1RVRkJUU3hEUVVGRExHbENRVUZwUWl4RlFVRkZMR2RDUVVGblFpeERRVUZETzB0QlF6TkRMRTFCUVUwc1EwRkJReXh0UWtGQmJVSXNSVUZCUlN4clFrRkJhMElzUTBGQlF6dExRVU12UXl4TlFVRk5MRU5CUVVNc2JVSkJRVzFDTEVWQlFVVXNLME5CUVN0RExFTkJRVU03UzBGRE5VVXNWMEZCVnl4RFFVTldMREpGUVVFeVJTeERRVU0xUlR0TFFVTkJMRTFCUVUwc1EwRkJReXhMUVVGTExFVkJRVVVzVDBGQldTeEZRVUZGTEVWQlFVVTdTVUZETjBJc1RVRkJUU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZEY0VJc1JVRkJSU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeGpRVUZqTEVOQlFVTXNSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkRia1VzUTBGQlF6dEpRVVZHTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU03U1VGRk5VSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhEUVVGRE8wbEJRekZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUTFBc2VVSkJRWGxDTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhEUVVGRExGRkJRVkVzUjBGQlJ5eERRVUZETEVsQlFVa3NXVUZCV1N4UFFVRlBMRVZCUVVVc1EwRkRkRVlzUTBGQlF6dEpRVVZHTEhkRFFVRjNRenRKUVVONFF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hOUVVGTkxFVkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTTdTVUZGZGtNc1RVRkJUU3hOUVVGTkxFZEJRVlVzUlVGQlJTeERRVUZETzBsQlEzcENMRWxCUVVrc1NVRkJTU3hGUVVGRkxFTkJRVU03VVVGRFZDeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1lVRkJZU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEZEVNc1EwRkJRenRKUVVWRUxFbEJRVWtzVFVGQlRTeEZRVUZGTEVOQlFVTTdVVUZEV0N4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4TlFVRk5MRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJRemRETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFMUJRVTBzWjBKQlFXZENMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEyNUVMRU5CUVVNN1NVRkRSQ3hOUVVGTkxFMUJRVTBzUjBGQmQwSXNSVUZCUlN4RFFVRkRPMGxCUTNaRExFMUJRVTBzVlVGQlZTeEhRVUYzUWl4RlFVRkZMRU5CUVVNN1NVRkZNME1zU1VGQlNTeERRVUZETEVsQlFVa3NTVUZCU1N4RFFVRkRMRTFCUVUwN1VVRkRiRUlzVFVGQlRTeEpRVUZKTEdGQlFXRXNRMEZCUXl3NFFrRkJPRUlzUTBGQlF5eERRVUZETzBsQlJURkVMRXRCUVVzc1RVRkJUU3hEUVVGRExFbEJRVWtzVFVGQlRTeEZRVUZGTEVOQlFVTTdVVUZEZGtJc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5eG5RMEZCWjBNc1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRiRVVzVFVGQlRTeFBRVUZQTEVkQlFVY3NiMEpCUVc5Q0xFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEZUVNc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4RlFVRkZPMWxCUTNoQ0xFbEJRVWtzUzBGQlN5eERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMmRDUVVObUxFMUJRVTBzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRE8xbEJRemRDTEVOQlFVTTdVVUZEU0N4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOSUxIVkNRVUYxUWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hWUVVGVkxFTkJRVU1zUTBGQlF6dEpRVU42UXl4RFFVRkRPMGxCUTBRc1RVRkJUU3hqUVVGakxFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRKUVVNM1F5eE5RVUZOTEZkQlFWY3NSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzBsQlF6bERMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zVTBGQlV5eGpRVUZqTEVOQlFVTXNUVUZCVFN4dlFrRkJiMElzUTBGQlF5eERRVUZETzBsQlEyaEZMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zVTBGQlV5eFhRVUZYTEVOQlFVTXNUVUZCVFN4M1FrRkJkMElzUTBGQlF5eERRVUZETzBsQlEycEZMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zV1VGQldTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVU5vUkN4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExHVkJRV1VzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4VlFVRlZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRGRrUXNXVUZCV1N4RFFVRkRMR05CUVdNc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVU55UXl4bFFVRmxMRU5CUVVNc1YwRkJWeXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzBGQlEzWkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVXdzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdExRVU55UXl4UFFVRlBMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTTdTMEZET1VJc1RVRkJUU3hEUVVGRExHbENRVUZwUWl4RlFVRkZMR2RDUVVGblFpeERRVUZETzB0QlF6TkRMRTFCUVUwc1EwRkJReXh0UWtGQmJVSXNSVUZCUlN4clFrRkJhMElzUTBGQlF6dExRVU12UXl4TlFVRk5MRU5CUVVNc2JVSkJRVzFDTEVWQlFVVXNLME5CUVN0RExFTkJRVU03UzBGRE5VVXNUVUZCVFN4RFFVRkRMRzFDUVVGdFFpeEZRVUZGTEcxRFFVRnRReXhEUVVGRE8wdEJRMmhGTEUxQlFVMHNRMEZCUXl4elFrRkJjMElzUlVGQlJTeGpRVUZqTEVOQlFVTTdTMEZET1VNc1RVRkJUU3hEUVVOTUxITkNRVUZ6UWl4RlFVTjBRaXcyUzBGQk5rc3NRMEZET1VzN1MwRkRRU3hYUVVGWExFTkJRMVlzTWtWQlFUSkZMRU5CUXpWRk8wdEJRMEVzVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4UFFVRlpMRVZCUVVVc1JVRkJSVHRKUVVNM1FpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVOd1FpeEZRVUZGTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZMR05CUVdNc1EwRkJReXhGUVVGRkxFOUJRVThzUTBGQlF5eERRVU51UlN4RFFVRkRPMGxCUlVZc1RVRkJUU3hQUVVGUExFZEJRVWNzUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXp0SlFVVTFRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMSEZDUVVGeFFpeERRVUZETEVOQlFVTTdTVUZET1VNc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGRFVDeDVRa0ZCZVVJc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eFBRVUZQTEVOQlFVTXNVVUZCVVN4SFFVRkhMRU5CUVVNc1NVRkJTU3haUVVGWkxFOUJRVThzUlVGQlJTeERRVU4wUml4RFFVRkRPMGxCUlVZc2QwTkJRWGRETzBsQlEzaERMRWxCUVVrc1JVRkJSU3hKUVVGSkxFVkJRVVVzVFVGQlRTeEZRVUZGTEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1UwRkJVeXhGUVVGRkxFZEJRVWNzVDBGQlR5eERRVUZETzBsQlJURkVMRWxCUVVrc1EwRkJRenRSUVVOSUxFbEJRVWtzUTBGQlF6dFpRVU5JTEUxQlFVMHNSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk1zUTBGQlF6dFpRVU5xUkN3MlJFRkJOa1E3VVVGREwwUXNRMEZCUXp0UlFVRkRMRTlCUVU4c1EwRkJWU3hGUVVGRkxFTkJRVU03V1VGRGNFSXNZMEZCWXp0UlFVTm9RaXhEUVVGRE8wbEJRMGdzUTBGQlF6dEpRVUZETEU5QlFVOHNRMEZCVlN4RlFVRkZMRU5CUVVNN1VVRkRjRUlzVFVGQlRTeEpRVUZKTEd0Q1FVRnJRaXhEUVVGRExEaENRVUU0UWl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRE8wbEJRMnhGTEVOQlFVTTdTVUZGUkN4TlFVRk5MRTFCUVUwc1IwRkJWU3hGUVVGRkxFTkJRVU03U1VGRGVrSXNTVUZCU1N4SlFVRkpMRVZCUVVVc1EwRkJRenRSUVVOVUxFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4aFFVRmhMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU4wUXl4RFFVRkRPMGxCUlVRc1NVRkJTU3hOUVVGTkxFVkJRVVVzUTBGQlF6dFJRVU5ZTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc2RVSkJRWFZDTEUxQlFVMHNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkROME1zVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1RVRkJUU3huUWtGQlowSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGJrUXNRMEZCUXp0SlFVVkVMRWxCUVVrc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTzFGQlEyeENMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRVU1zT0VKQlFUaENMRU5CUVVNc1EwRkJRenRKUVVVeFJDeE5RVUZOTEdkQ1FVRm5RaXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlEzQkRMRU5CUVVNc1MwRkJTeXhGUVVGRkxFVkJRVVVzUTBGRFVpeExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJRenRSUVVOeVFpeExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1EwRkJRenRSUVVOMFFpeERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGRE5VSXNRMEZCUXp0SlFVTkdMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRSUVVNM1FpeEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVTk9MSEZGUVVGeFJTeERRVU4wUlN4RFFVRkRPMUZCUTBZc1QwRkJUenRKUVVOVUxFTkJRVU03U1VGRlJDeExRVUZMTEZWQlFWVXNUMEZCVHl4RFFVRkRMRlZCUVhGQ08xRkJRekZETEUxQlFVMHNTVUZCU1N4SFFVdEtMRTFCUVUwc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGRGNrSXNaMEpCUVdkQ0xFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NSVUZCUlN4TFFVRkxMRVZCUVVVc1JVRkJSVHRaUVVOdVF5eE5RVUZOTEZOQlFWTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFsQlEzcERMRTFCUVUwc1ZVRkJWU3hIUVVGSExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1dVRkZNME1zVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRaUVVOMlFpeE5RVUZOTEZkQlFWY3NSMEZCZDBJc1JVRkJSU3hEUVVGRE8xbEJRelZETEV0QlFVc3NUVUZCVFN4SFFVRkhMRWxCUVVrc1ZVRkJWU3hKUVVGSkxFMUJRVTBzU1VGQlNTeEZRVUZGTEVWQlFVVXNRMEZCUXp0blFrRkROME1zVjBGQlZ5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRTFCUVUwc1lVRkJZU3hEUVVOd1F5eExRVUZMTEVWQlEwd3NRMEZCUXl4SFFVRkhMRVZCUVVVc1UwRkJVeXhEUVVGRExFVkJRMmhDTEVWQlFVVTdaMEpCUTBZc1NVRkJTVHRuUWtGRFNpeDVSRUZCZVVRN1owSkJRM3BFTERKRVFVRXlSRHRuUWtGRE0wUXNTMEZCU3p0blFrRkRUQ3hEUVVGRExFTkJRVU1zVlVGQlZTeERRVU5pTEVOQlFVTTdXVUZEU2l4RFFVRkRPMWxCUlVRc1NVRkJTU3huUWtGQlowSXNSMEZCYTBNc1UwRkJVeXhEUVVGRE8xbEJSV2hGTEVsQlFVa3NWVUZCVlN4RlFVRkZMRU5CUVVNN1owSkJRMllzVjBGQlZ5eERRVUZETEZOQlFWTXNRMEZCUXl4SFFVRkhMRmRCUVZjc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdaMEpCUTNSRUxFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUjBGQlZ5eEZRVUZGTEVWQlFVVTdiMEpCUXk5RExGZEJRVmNzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4UlFVRlJMRWRCUVVjc1YwRkJWeXhEUVVNelF5eEhRVUZITEVOQlEwb3NRMEZCUXl4UlFVRlJMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlRTeEZRVUZGTEVWQlFVVTdkMEpCUXpWQ0xFbEJRVWtzUTBGQlF5eERRVUZETEVsQlFVa3NTMEZCVFN4VlFVRlZMRU5CUVVNc1VVRkJiVUk3TkVKQlFVVXNUMEZCVHl4SlFVRkpMRU5CUVVNN2QwSkJRelZFTEdkQ1FVRm5RaXhIUVVGSExFTkJRVkVzUTBGQlF6dDNRa0ZETlVJc1QwRkJUeXhMUVVGTExFTkJRVU03YjBKQlEyWXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRMHdzUTBGQlF5eERRVUZETEVOQlFVTTdXVUZEVEN4RFFVRkRPMWxCUlVRc1RVRkJUU3hoUVVGaExFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4WFFVRlhMRU5CUVVNN2FVSkJRemRETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEZGQlFWRXNRMEZCUXp0cFFrRkRkRUlzU1VGQlNTeEZRVUZGTEVOQlFVTXNUVUZCVFN4RFFVRkRPMWxCUTJwQ0xFbEJRVWtzWVVGQllUdG5Ra0ZEWml4SFFVRkhPM0ZDUVVOQkxFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8zRkNRVU16UWl4SlFVRkpMRU5CUVVNc1UwRkJVeXhoUVVGaExHZERRVUZuUXl4RFFVRkRMRU5CUVVNN1dVRkRiRVVzVFVGQlRTeFhRVUZYTEVkQlFVY3NUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhYUVVGWExFTkJRVU03YVVKQlF6TkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRwUWtGRGNFSXNTVUZCU1N4RlFVRkZMRU5CUVVNc1RVRkJUU3hEUVVGRE8xbEJSV3BDTEVkQlFVYzdhVUpCUTBFc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eFRRVUZUTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN2FVSkJRek5DTEVsQlFVa3NRMEZCUXl4VFFVRlRMRmRCUVZjc0swSkJRU3RDTEVOQlFVTXNRMEZCUXp0WlFVTTNSQ3hKUVVGSkxHZENRVUZuUWp0blFrRkRiRUlzUjBGQlJ6dHhRa0ZEUVN4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0eFFrRkRNMElzU1VGQlNTeERRVU5JTEN0Q1FVRXJRaXhWUVVGVkxFVkJRVVVzVVVGQmEwSXNSVUZCUlN4RFFVTm9SU3hEUVVGRE8xbEJSVTRzVFVGQlRTeFBRVUZQTEVkQlFVY3NUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhYUVVGWExFTkJRVU03YVVKQlEzWkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExGRkJRVkVzU1VGQlNTeEZRVUZGTEVOQlFVTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzU1VGQlNTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMmxDUVVONFJDeEpRVUZKTEVWQlFVVXNRMEZCUXp0WlFVTldMRWxCUVVrc1QwRkJUeXhIUVVGNVFpeEZRVUZGTEVOQlFVTTdXVUZEZGtNc1NVRkJTU3hWUVVGVkxFZEJRWFZDTEVWQlFVVXNRMEZCUXp0WlFVTjRReXhKUVVGSkxFOUJRVThzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXp0blFrRkRia0lzUjBGQlJ6dHhRa0ZEUVN4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0eFFrRkRNMElzVDBGQlR5eERRVUZETEc5RFFVRnZReXhEUVVGRExFTkJRVU03WjBKQlEycEVMRTlCUVU4c1IwRkJSeXh2UWtGQmIwSXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRuUWtGRGRFTXNSMEZCUnp0eFFrRkRRU3hIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenR4UWtGRE0wSXNTVUZCU1N4RFFVRkRMRk5CUVZNc1QwRkJUeXhEUVVGRExFMUJRVTBzVlVGQlZTeERRVUZETEVOQlFVTTdaMEpCUXpORExGVkJRVlVzUjBGQlJ5eDFRa0ZCZFVJc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dG5Ra0ZETlVNc1IwRkJSenR4UWtGRFFTeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dHhRa0ZETTBJc1NVRkJTU3hEUVVGRExGTkJRVk1zVlVGQlZTeERRVUZETEUxQlFVMHNZMEZCWXl4RFFVRkRMRU5CUVVNN1dVRkRjRVFzUTBGQlF6dFpRVU5FTEU5QlFVODdaMEpCUTB3c1QwRkJUenRuUWtGRFVDeFZRVUZWTzJkQ1FVTldMRmRCUVZjc1JVRkJSU3hQUVVGUE8yZENRVU53UWl4TlFVRk5MRVZCUVVVc1owSkJRV2RDTzJGQlEzcENMRU5CUVVNN1VVRkRTaXhEUVVGRExFTkJRVU1zUTBGRFNDeERRVUZETzFGQlEwWXNUMEZCVHl4SlFVRkpMRU5CUVVNN1NVRkRaQ3hEUVVGRE8wbEJSVVFzVFVGQlRTeEpRVUZKTEVkQlFVY3NUVUZCVFN4UFFVRlBMRVZCUVVVc1EwRkJRenRKUVVNM1FpeE5RVUZOTEZWQlFWVXNSMEZCUnl4TlFVRk5MRTlCUVU4c1EwRkJReXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZGT1VNc1RVRkJUU3hoUVVGaExFZEJRVWM3VVVGRGNFSXNSMEZCUnl4VlFVRlZMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzFGQlF6RkVMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETEVsQlFVa3NSVUZCUlR0UlFVTjRReXhIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNN1MwRkRPVUlzUTBGQlF6dEpRVVY2UWl4TlFVRk5MR3RDUVVGclFpeEhRVUZITzFGQlEzcENMRWRCUVVjc1NVRkJTU3hIUVVGSExFTkJRMUlzWVVGQllTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWxCUVhWQ0xFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVU5zUlN4RFFVRkRMRTFCUVUwc1JVRkJSVHRMUVVOWUxFTkJRVU03U1VGRlJpeEpRVUZKTEd0Q1FVRnJRaXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETzFGQlF6bENMR2RDUVVGblFpeERRVUZETEd0Q1FVRnJRaXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFGQlF6ZERMRTFCUVUwc2NVSkJRWEZDTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkRja01zVFVGQlRTeEZRVU5PTEZWQlFWVXNSVUZEVml4NVFrRkJlVUlzUTBGRE1VSXNRMEZCUXp0UlFVTkdMRTFCUVUwc2VVSkJRWGxDTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkRla01zVFVGQlRTeEZRVU5PTEhsQ1FVRjVRaXhEUVVNeFFpeERRVUZETzFGQlEwWXNSVUZCUlN4RFFVRkRMRmxCUVZrc1EwRkJReXh4UWtGQmNVSXNSVUZCUlN4NVFrRkJlVUlzUTBGQlF5eERRVUZETzFGQlEyeEZMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRMDRzVlVGQlZTeGhRVUZoTEVOQlFVTXNUVUZCVFN4dFFrRkJiVUlzY1VKQlFYRkNMRVZCUVVVc1EwRkRla1VzUTBGQlF6dFJRVU5HTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUTA0c1owTkJRV2RETEhsQ1FVRjVRaXcyUWtGQk5rSXNRMEZEZGtZc1EwRkJRenRSUVVWR0xFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVOcVFpeE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRlZCUVZVc1JVRkJSU3hYUVVGWExFVkJRVVVzVFVGQlRTeEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUTNaRUxFMUJRVTBzVDBGQlR5eEhRVUYzUWl4RFFVRkRMRWRCUVVjc1YwRkJWeXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZEYkVVc1QwRkJUeXhEUVVObExFTkJRVU03V1VGRGVrSXNUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTzJkQ1FVTndRaXhaUVVGWkxFTkJRVU1zVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03WjBKQlEzUkRMSGxDUVVGNVFpeERRVUZETEZWQlFWVXNTVUZCU1N4RlFVRkZMRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0blFrRkROVVFzUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZEVGl4VlFVRlZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1ZVRkJWU3hGUVVGRkxFMUJRVTBzU1VGQlNTeERRVUZETERoQ1FVRTRRaXhEUVVGRExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlF6VkhMRU5CUVVNN1dVRkRTaXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5NTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTB3c1EwRkJRenRCUVVOSUxFTkJRVU1zUTBGQlF5eERRVUZETzBGQlJVd3NUVUZCVFN4WFFVRlhMRWRCUVVjc1NVRkJTU3hQUVVGUExFVkJRVVU3UzBGRE9VSXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJRenRMUVVOdVFpeFhRVUZYTEVOQlFVTXNiVVJCUVcxRUxFTkJRVU03UzBGRGFFVXNUVUZCVFN4RFFVTk1MSE5DUVVGelFpeEZRVU4wUWl4dFJFRkJiVVFzUlVGRGJrUXNiVUpCUVcxQ0xFTkJRM0JDTzB0QlEwRXNUVUZCVFN4RFFVRkRMRzlDUVVGdlFpeEZRVUZGTEhWRFFVRjFReXhGUVVGRkxFMUJRVTBzUTBGQlF6dExRVU0zUlN4TlFVRk5MRU5CUVVNc2NVSkJRWEZDTEVWQlFVVXNjVU5CUVhGRExFVkJRVVVzU1VGQlNTeERRVUZETzB0QlF6RkZMRTFCUVUwc1EwRkJReXhMUVVGTExFVkJRVVVzVDBGQldTeEZRVUZGTEVWQlFVVTdTVUZETjBJc1RVRkJUU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZEY0VJc1JVRkJSU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeGpRVUZqTEVOQlFVTXNSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkRia1VzUTBGQlF6dEpRVVZHTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU03U1VGRk5VSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eGhRVUZoTEVOQlFVTXNRMEZCUXp0SlFVTjBReXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVU5RTEhsQ1FVRjVRaXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNRMEZCUXl4UlFVRlJMRWRCUVVjc1EwRkJReXhKUVVGSkxGbEJRVmtzVDBGQlR5eEZRVUZGTEVOQlEzUkdMRU5CUVVNN1NVRkRSaXgzUTBGQmQwTTdTVUZEZUVNc1NVRkJTU3hGUVVGRkxGTkJRVk1zUlVGQlJTeFBRVUZQTEVWQlFVVXNVVUZCVVN4RlFVRkZMRWRCUVVjc1QwRkJUeXhEUVVGRE8wbEJReTlETEU5QlFVOHNSMEZCUnl4UlFVRlJMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETzBsQlEzQkRMRkZCUVZFc1IwRkJSeXhSUVVGUkxFTkJRVU1zVVVGQlVTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMGxCUlhCRExFMUJRVTBzTUVKQlFUQkNMRU5CUVVNc2JVSkJRVzFDTEVWQlFVVXNUMEZCVHl4RlFVRkZMRkZCUVZFc1EwRkJReXhEUVVGRE8wbEJSWHBGTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUTA0c09FUkJRVGhFTEZOQlFWTXNTVUZCU1N4RFFVTTFSU3hEUVVGRE8wRkJRMG9zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZGVEN4TlFVRk5MR05CUVdNc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdExRVU5xUXl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTTdTMEZEZGtJc1YwRkJWeXhEUVVGRExDdENRVUVyUWl4RFFVRkRPMHRCUXpWRExFMUJRVTBzUTBGQlF5eHBRa0ZCYVVJc1JVRkJSU3cwUWtGQk5FSXNRMEZCUXp0TFFVTjJSQ3hOUVVGTkxFTkJRVU1zYTBKQlFXdENMRVZCUVVVc1kwRkJZeXhEUVVGRE8wdEJRekZETEUxQlFVMHNRMEZEVEN3clFrRkJLMElzUlVGREwwSXNhMFZCUVd0RkxFTkJRMjVGTzB0QlEwRXNUVUZCVFN4RFFVTk1MRFpDUVVFMlFpeEZRVU0zUWl4elJVRkJjMFVzUlVGRGRFVXNTMEZCU3l4RFFVTk9PMHRCUTBFc1RVRkJUU3hEUVVOTUxEQkNRVUV3UWl4RlFVTXhRaXcwUlVGQk5FVXNSVUZETlVVc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1QwRkJUeXhGUVVGRkxHRkJRV0VzUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXhEUVVOMFJUdExRVU5CTEUxQlFVMHNRMEZEVEN4clFrRkJhMElzUlVGRGJFSXNNRUpCUVRCQ0xFVkJRekZDTEhkRFFVRjNReXhEUVVONlF6dExRVU5CTEUxQlFVMHNRMEZCUXl4TFFVRkxMRVZCUVVVc1QwRkJXU3hGUVVGRkxFVkJRVVU3U1VGRE4wSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGRGNFSXNSVUZCUlN4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkJSU3hqUVVGakxFTkJRVU1zUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZEYmtVc1EwRkJRenRKUVVWR0xFMUJRVTBzVDBGQlR5eEhRVUZITEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNN1NVRkZOVUlzVFVGQlRTeEhRVUZITEVkQlFVY3NUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMGxCUXpGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlExQXNlVUpCUVhsQ0xFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUMEZCVHl4RFFVRkRMRkZCUVZFc1IwRkJSeXhEUVVGRExFbEJRVWtzV1VGQldTeFBRVUZQTEVWQlFVVXNRMEZEZEVZc1EwRkJRenRKUVVWR0xFMUJRVTBzUlVGRFNpeEpRVUZKTEVWQlEwb3NTMEZCU3l4RlFVTk1MRXRCUVVzc1JVRkRUQ3hoUVVGaE8wbEJRMklzTmtSQlFUWkVPMGxCUXpkRUxHZENRVUZuUWl4RlFVTm9RaXhwUWtGQmFVSXNSMEZEYkVJc1IwRkJSeXhQUVVGUExFTkJRVU03U1VGRFdpeE5RVUZOTEU5QlFVOHNSMEZCUnl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlJXcERMRTFCUVUwc1UwRkJVeXhIUVVGSExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhoUVVGaExFVkJRVVVzUjBGQlJ5eEpRVUZKTEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZNVVVzU1VGQlNTeFJRVUZuUWl4RFFVRkRPMGxCUlhKQ0xFbEJRVWtzUTBGQlF6dFJRVU5JTEZGQlFWRXNSMEZCUnl4UlFVRlJMRU5CUVVNc1JVRkJSU3hEUVVGRExGbEJRVmtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5zUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU03V1VGQlJTeFJRVUZSTEVkQlFVY3NRMEZCUXl4RFFVRkRPenRaUVVNM1FpeFJRVUZSTEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTI1Q0xEWkVRVUUyUkR0SlFVTXZSQ3hEUVVGRE8wbEJRVU1zVDBGQlR5eERRVUZWTEVWQlFVVXNRMEZCUXp0UlFVTndRaXhSUVVGUkxFZEJRVWNzUTBGQlF5eERRVUZETzBsQlEyWXNRMEZCUXp0SlFVTkVMRVZCUVVVN1NVRkRSaXd3UWtGQk1FSTdTVUZETVVJc2QwTkJRWGRETzBsQlEzaERMSEZDUVVGeFFqdEpRVU55UWl4SlFVRkpPMGxCUlVvc1NVRkJTU3hEUVVGRE8xRkJRMGdzUzBGQlN5eE5RVUZOTEVsQlFVa3NTVUZCU1N4UFFVRlBMRVZCUVVVc1EwRkJRenRaUVVNelFpeGxRVUZsTEVOQlFVTXNTVUZCU1N4RlFVRkZMRXRCUVVzc1JVRkJSU3hKUVVGSkxFVkJRVVVzVDBGQlR5eERRVUZETEVOQlFVTTdXVUZETlVNc1pVRkJaU3hEUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0WlFVTTFRaXhsUVVGbExFTkJRMklzU1VGQlNTeEZRVU5LTEVsQlFVa3NSVUZEU2l4SlFVRkpMRXRCUVVzc1kwRkJZenRuUWtGRGNrSXNRMEZCUXl4RFFVRkRMR2xDUVVGcFFqdG5Ra0ZEYmtJc1EwRkJReXhEUVVGRExIbENRVUY1UWl4RlFVTTNRaXhSUVVGUkxFVkJRMUlzVDBGQlR5eEZRVU5RTEdsQ1FVRnBRaXhEUVVOc1FpeERRVUZETzFGQlEwb3NRMEZCUXp0UlFVTkVMRVZCUVVVc1EwRkJReXhoUVVGaExFTkJRVU1zVTBGQlV5eEZRVUZGTEZGQlFWRXNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJReXhEUVVGRE8wbEJRMjVFTEVOQlFVTTdTVUZCUXl4UFFVRlBMRWRCUVZFc1JVRkJSU3hEUVVGRE8xRkJRMnhDTEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc01rSkJRVEpDTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRPVU1zUTBGQlF6dEpRVU5FTEdWQlFXVXNRMEZCUXl4SlFVRkpMRVZCUVVVc1VVRkJVU3hGUVVGRkxFOUJRVThzUlVGQlJTeHBRa0ZCYVVJc1EwRkJReXhEUVVGRE8wRkJRemxFTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlV3c1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4SlFVRkpMRTlCUVU4c1JVRkJSVHRMUVVOd1F5eEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU03UzBGRE0wSXNWMEZCVnl4RFFVRkRMRzFFUVVGdFJDeERRVUZETzB0QlEyaEZMRTFCUVUwc1EwRkJReXh0UWtGQmJVSXNSVUZCUlN4bFFVRmxMRVZCUVVVc2IwSkJRVzlDTEVOQlFVTTdTMEZEYkVVc1RVRkJUU3hEUVVGRExHZENRVUZuUWl4RlFVRkZMRGhDUVVFNFFpeEZRVUZGTEU5QlFVOHNRMEZCUXp0TFFVTnFSU3hOUVVGTkxFTkJRVU1zUzBGQlN5eEZRVUZGTEU5QlFWa3NSVUZCUlN4RlFVRkZPMGxCUXpkQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUTNCQ0xFVkJRVVVzUTBGQlF5eFpRVUZaTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVXNZMEZCWXl4RFFVRkRMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRMjVGTEVOQlFVTTdTVUZGUml4TlFVRk5MRTlCUVU4c1IwRkJSeXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETzBsQlJUVkNMRTFCUVUwc1IwRkJSeXhIUVVGSExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zUTBGQlF6dEpRVU01UXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVOUUxIbENRVUY1UWl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUTBGQlF5eFJRVUZSTEVkQlFVY3NRMEZCUXl4SlFVRkpMRmxCUVZrc1QwRkJUeXhGUVVGRkxFTkJRM1JHTEVOQlFVTTdTVUZEUml4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEU5QlFVOHNRMEZCUXp0SlFVTm9ReXhSUVVGUkxFTkJRVU1zWVVGQllTeEhRVUZITEhGQ1FVRnhRaXhOUVVGTkxFVkJRVVVzUlVGQlJUdFJRVU4wUkN4SFFVRkhMRVZCUVVVc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJUdExRVU51UWl4RFFVRkRMRU5CUVVNN1FVRkRUQ3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVVZNTEUxQlFVMHNVMEZCVXl4SFFVRkhMRWxCUVVrc1QwRkJUeXhGUVVGRk8wdEJRelZDTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNN1MwRkRiRUlzVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXp0TFFVTnFRaXhYUVVGWExFTkJRMVlzYlVWQlFXMUZMRU5CUTNCRkxFTkJRVU03UVVGRlNpeFRRVUZUTEVOQlFVTXNWVUZCVlN4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRE8wRkJRM0pETEZOQlFWTXNRMEZCUXl4VlFVRlZMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU03UVVGRGNrTXNVMEZCVXl4RFFVRkRMRlZCUVZVc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dEJRVU5zUXl4VFFVRlRMRU5CUVVNc1ZVRkJWU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETzBGQlEzSkRMRk5CUVZNc1EwRkJReXhWUVVGVkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1EwRkJRenRCUVVONFF5eFRRVUZUTEVOQlFVTXNWVUZCVlN4RFFVRkRMR3RDUVVGclFpeERRVUZETEVOQlFVTTdRVUZGZWtNc1RVRkJUU3hEUVVGRExFOUJRVThzVlVGQlZTeE5RVUZOTzBsQlF6VkNMRTlCUVU4c1UwRkJVeXhEUVVGRE8wRkJRMjVDTEVOQlFVTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdleUJEYjIxdFlXNWtJSDBnWm5KdmJTQmNJbU52YlcxaGJtUmxjbHdpTzF4dWFXMXdiM0owSUhzZ1RHOW5aMmx1Wnl3Z2RHOVFZWE5qWVd4RFlYTmxJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlzYjJkbmFXNW5YQ0k3WEc1cGJYQnZjblFnZXlCbGVHVmpVM2x1WXlCOUlHWnliMjBnWENKamFHbHNaRjl3Y205alpYTnpYQ0k3WEc1cGJYQnZjblFnWm5NZ1puSnZiU0JjSW1aelhDSTdYRzVwYlhCdmNuUWdjR0YwYUNCbWNtOXRJRndpY0dGMGFGd2lPMXh1YVcxd2IzSjBJSHNnVUd4MVoybHVMQ0J5YjJ4c2RYQWdmU0JtY205dElGd2ljbTlzYkhWd1hDSTdYRzVwYlhCdmNuUWdjbVZ3YkdGalpTQm1jbTl0SUZ3aVFISnZiR3gxY0M5d2JIVm5hVzR0Y21Wd2JHRmpaVndpTzF4dWFXMXdiM0owSUhzZ1NXNTBaWEp1WVd4RmNuSnZjaXdnVTJWeWFXRnNhWHBoZEdsdmJrVnljbTl5SUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1lpMWtaV052Y21GMGIzSnpYQ0k3WEc1cGJYQnZjblFnZTF4dUlDQm5aVzVsY21GMFpVMXZaR1ZzUkdWemFXZHVSRzlqY3l4Y2JpQWdaMlZ1WlhKaGRHVk5iMlJsYkVsdVpHVjRaWE1zWEc0Z0lISmxZV1JOYjJSbGJFWnBiR1VzWEc0Z0lISmxZV1JOYjJSbGJFWnZiR1JsY25Nc1hHNGdJSGR5YVhSbFJHVnphV2R1Ukc5amN5eGNiaUFnZDNKcGRHVkpibVJsZUdWekxGeHVmU0JtY205dElGd2lMaTlqYkdsbGJuUXZhVzVrWlhobGMxd2lPMXh1YVcxd2IzSjBJSHNnVFc5a1pXd2dmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnZjaTEyWVd4cFpHRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JoY0hCeWIzWmxRMjl1ZEhKaFkzUXNYRzRnSUdWdWMzVnlaVWx1Wm5KaGMzUnlkV04wZFhKbFFtOXZkR1ZrTEZ4dUlDQnBibk4wWVd4c1EyOXVkSEpoWTNRc1hHNGdJSEJoWTJ0aFoyVkRiMjUwY21GamRDeGNiaUFnWTI5dGJXbDBRMmhoYVc1amIyUmxMRnh1SUNCblpYUkRiMjUwY21GamRGTjBZWEowUTI5dGJXRnVaQ3hjYmlBZ1kyOXRjR2xzWlZkcGRHaFVjMk52Ym1acFowOTJaWEp5YVdSbGN5eGNibjBnWm5KdmJTQmNJaTR2WTJ4cExYVjBhV3h6WENJN1hHNXBiWEJ2Y25RZ1hDSXVMM05vWVhKbFpDOXZkbVZ5Y21sa1pYTmNJanRjYm1sdGNHOXlkQ0IwY3lCbWNtOXRJRndpZEhsd1pYTmpjbWx3ZEZ3aU8xeHVhVzF3YjNKMElIdGNiaUFnWlhoMGNtRmpkRU52Ykd4bFkzUnBiMjV6SUdGeklHVjRRMjlzYkdWamRHbHZibk1zWEc0Z0lGQnlhWFpoZEdWRGIyeHNaV04wYVc5dUxGeHVJQ0IzY21sMFpVTnZiR3hsWTNScGIyNXpMRnh1SUNCM2NtbDBaVU52Ykd4bFkzUnBiMjVFWlhOcFoyNUViMk56TEZ4dWZTQm1jbTl0SUZ3aUxpOWpiR2xsYm5RdlkyOXNiR1ZqZEdsdmJuTXZhVzVrWlhoY0lqdGNibWx0Y0c5eWRDQjdJRU52ZFdOb1JFSkVaWE5wWjI1RWIyTXNJRU55WldGMFpVbHVaR1Y0VW1WeGRXVnpkQ0I5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12Wm05eUxXTnZkV05vWkdKY0lqdGNibHh1WTI5dWMzUWdiRzluWjJWeUlEMGdURzluWjJsdVp5NW1iM0lvWENKbVlXSnlhV05jSWlrN1hHNWNibVoxYm1OMGFXOXVJSEpsYzI5c2RtVkNkVzVrYkdWa1NuTkpiWEJ2Y25SektDazZJRkJzZFdkcGJpQjdYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdibUZ0WlRvZ1hDSnlaWE52YkhabExXSjFibVJzWldRdGFuTXRhVzF3YjNKMGMxd2lMRnh1SUNBZ0lISmxjMjlzZG1WSlpDaHpiM1Z5WTJVc0lHbHRjRzl5ZEdWeUtTQjdYRzRnSUNBZ0lDQnBaaUFvSVdsdGNHOXlkR1Z5SUh4OElDRnpiM1Z5WTJVdWMzUmhjblJ6VjJsMGFDaGNJaTVjSWlrcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJSEpsYzI5c2RtVmtVR0YwYUNBOUlIQmhkR2d1Y21WemIyeDJaU2h3WVhSb0xtUnBjbTVoYldVb2FXMXdiM0owWlhJcExDQnpiM1Z5WTJVcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnWTJGdVpHbGtZWFJsY3lBOUlGdGNiaUFnSUNBZ0lDQWdjbVZ6YjJ4MlpXUlFZWFJvTEZ4dUlDQWdJQ0FnSUNCZ0pIdHlaWE52YkhabFpGQmhkR2g5TG1wellDeGNiaUFnSUNBZ0lDQWdjR0YwYUM1cWIybHVLSEpsYzI5c2RtVmtVR0YwYUN3Z1hDSnBibVJsZUM1cWMxd2lLU3hjYmlBZ0lDQWdJRjA3WEc1Y2JpQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ1kyRnVaR2xrWVhSbElHOW1JR05oYm1ScFpHRjBaWE1wSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR1p6TG1WNGFYTjBjMU41Ym1Nb1kyRnVaR2xrWVhSbEtTQW1KaUJtY3k1emRHRjBVM2x1WXloallXNWthV1JoZEdVcExtbHpSbWxzWlNncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR05oYm1ScFpHRjBaVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOUxGeHVJQ0I5TzF4dWZWeHVYRzVqYjI1emRDQmpiMjF3YVd4bFEyOXRiV0Z1WkNBOUlHNWxkeUJEYjIxdFlXNWtLQ2xjYmlBZ0xtNWhiV1VvWENKamIyMXdhV3hsTFdOdmJuUnlZV04wWENJcFhHNGdJQzVrWlhOamNtbHdkR2x2YmloY0lrTnlaV0YwWlhNZ1lTQm5iRzlpWVd3Z1kyOXVkSEpoWTNSY0lpbGNiaUFnTG05d2RHbHZiaWhjSWkwdFpHVjJYQ0lzSUZ3aVkyOXRjR2xzWlhNZ1kyOXVkSEpoWTNSeklIZHBkR2h2ZFhRZ2JXbHVhV1pwWTJGMGFXOXVYQ0lzSUdaaGJITmxLVnh1SUNBdWIzQjBhVzl1S0Z3aUxTMWtaV0oxWjF3aUxDQmNJbTFoYTJWeklHRjBkR0ZqYUdsdVp5QmtaV0oxWjJkbGNpQndiM056YVdKc1pWd2lMQ0JtWVd4elpTbGNiaUFnTG05d2RHbHZiaWhjYmlBZ0lDQmNJaTB0WTJOaFlYTmNJaXhjYmlBZ0lDQmNJa0ZxZFhOMGN5QjBhR1VnY0dGamEyRm5aU0JqYjIxdFlXNWtjeUIwYnlCaVpTQmtaWEJzYjNsbFpDQmhjeUJqWTJGaGMxd2lMRnh1SUNBZ0lHWmhiSE5sWEc0Z0lDbGNiaUFnTG05d2RHbHZiaWhjSWkwdGJtRnRaU0E4VTNSeWFXNW5QbHdpTENCY0ltTnZiblJ5WVdOMElHNWhiV1ZjSWl3Z1hDSm5iRzlpWVd3dFkyOXVkSEpoWTNSY0lpbGNiaUFnTG05d2RHbHZiaWhjSWkwdFluVnVaR3hsWENJc0lGd2lRblZ1Wkd4bGN5QjNhWFJvSUhKdmJHeDFjQ0JwYm5OMFpXRmtJRzltSUhWemFXNW5JSFJ6WTF3aUxDQm1ZV3h6WlNsY2JpQWdMbTl3ZEdsdmJpaGNiaUFnSUNCY0lpMHRkSE10WTI5dVptbG5MV1pwYkdVZ1BITjBjbWx1Wno1Y0lpeGNiaUFnSUNCY0luSmxiR0YwYVhabElIQmhkR2dnZEc4Z2RHaGxJSFJ6SUdOdmJtWnBaeUJtYVd4bElHSmhjMlZrSUc5dUlHTjNaQ0J2Y2lCaFluTnZiSFYwWlNCd1lYUm9YQ0lzWEc0Z0lDQWdYQ0l1TDNSelkyOXVabWxuTG1wemIyNWNJbHh1SUNBcFhHNGdJQzV2Y0hScGIyNG9YRzRnSUNBZ1hDSXRMV1JsYzJOeWFYQjBhVzl1SUR4VGRISnBibWMrWENJc1hHNGdJQ0FnWENKamIyNTBjbUZqZENCa1pYTmpjbWx3ZEdsdmJsd2lMRnh1SUNBZ0lGd2lSMnh2WW1Gc0lHTnZiblJ5WVdOMElHbHRjR3hsYldWdWRHRjBhVzl1WENKY2JpQWdLVnh1SUNBdWIzQjBhVzl1S0Z3aUxTMXpkSEpwY0MxamIyNTBjbUZqZEMxdVlXMWxYQ0lzSUZ3aWMzUnlhWEFnWTI5dWRISmhZM1FnYm1GdFpTQm1jbTl0SUc5MWRIQjFkRndpTENCbVlXeHpaU2xjYmlBZ0xtOXdkR2x2YmloY0lpMHRhVzV3ZFhRZ1BGTjBjbWx1Wno1Y0lpd2dYQ0pwYm5CMWRDQm1iMnhrWlhJZ1ptOXlJR052Ym5SeVlXTjBjMXdpTENCY0lteHBZaTlqYjI1MGNtRmpkSE5jSWlsY2JpQWdMbTl3ZEdsdmJpaGNJaTB0YjNWMGNIVjBJRHhUZEhKcGJtYytYQ0lzSUZ3aWIzVjBjSFYwSUdadmJHUmxjaUJtYjNJZ1kyOXVkSEpoWTNSelhDSXNJRndpTGk5amIyNTBjbUZqZEhOY0lpbGNiaUFnTG05d2RHbHZiaWhjSWkwdGMyOTFjbU5sYldGd2Mxd2lMQ0JjSW1sdVkyeDFaR1Z6SUhOdmRYSmpaVzFoY0hNZ2FXNGdkR2hsSUdOdmJYQnBiR1ZrSUc5MWRIQjFkRndpTENCbVlXeHpaU2xjYmlBZ0xtOXdkR2x2YmloY0lpMHRibkJ0Y21OY0lpd2dYQ0pwYm1Oc2RXUmxjeUF1Ym5CdGNtTWdhVzRnZEdobElHTnZiWEJwYkdWa0lHOTFkSEIxZEZ3aUxDQm1ZV3h6WlNsY2JpQWdMbUZqZEdsdmJpaGhjM2x1WXlBb2IzQjBhVzl1Y3pvZ1lXNTVLU0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdjR3RuSUQwZ1NsTlBUaTV3WVhKelpTaGNiaUFnSUNBZ0lHWnpMbkpsWVdSR2FXeGxVM2x1WXlod1lYUm9MbXB2YVc0b2NISnZZMlZ6Y3k1amQyUW9LU3dnWENKd1lXTnJZV2RsTG1wemIyNWNJaWtzSUZ3aWRYUm1MVGhjSWlsY2JpQWdJQ0FwTzF4dVhHNGdJQ0FnYkdWMElHNXdiWEpqUTI5dWRHVnVkQ0E5SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUdOdmJuTjBJSFpsY25OcGIyNGdQU0J3YTJjdWRtVnljMmx2Ymp0Y2JseHVJQ0FnSUd4bGRDQjdYRzRnSUNBZ0lDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdjSEpsWm1WeUxXTnZibk4wWEc0Z0lDQWdJQ0JrWlhZc1hHNGdJQ0FnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2NISmxabVZ5TFdOdmJuTjBYRzRnSUNBZ0lDQmtaV0oxWnl4Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCd2NtVm1aWEl0WTI5dWMzUmNiaUFnSUNBZ0lHNWhiV1VzWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnY0hKbFptVnlMV052Ym5OMFhHNGdJQ0FnSUNCa1pYTmpjbWx3ZEdsdmJpeGNiaUFnSUNBZ0lHOTFkSEIxZEN4Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCd2NtVm1aWEl0WTI5dWMzUmNiaUFnSUNBZ0lHbHVjSFYwTEZ4dUlDQWdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUhCeVpXWmxjaTFqYjI1emRGeHVJQ0FnSUNBZ2MzUnlhWEJEYjI1MGNtRmpkRTVoYldVc1hHNGdJQ0FnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2NISmxabVZ5TFdOdmJuTjBYRzRnSUNBZ0lDQmpZMkZoY3l4Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCd2NtVm1aWEl0WTI5dWMzUmNiaUFnSUNBZ0lHSjFibVJzWlN4Y2JseHVJQ0FnSUNBZ2RITkRiMjVtYVdkR2FXeGxMRnh1SUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJSEJ5WldabGNpMWpiMjV6ZEZ4dUlDQWdJQ0FnYzI5MWNtTmxiV0Z3Y3l4Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCd2NtVm1aWEl0WTI5dWMzUmNiaUFnSUNBZ0lHNXdiWEpqTEZ4dUlDQWdJSDBnUFNCdmNIUnBiMjV6TzF4dUlDQWdJR052Ym5OMElHeHZaeUE5SUd4dloyZGxjaTVtYjNJb1hDSmpiMjF3YVd4bExXTnZiblJ5WVdOMFhDSXBPMXh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0JwWmlBb2JuQnRjbU1wSUh0Y2JpQWdJQ0FnSUNBZ2JuQnRjbU5EYjI1MFpXNTBJRDBnU2xOUFRpNXdZWEp6WlNoY2JpQWdJQ0FnSUNBZ0lDQm1jeTV5WldGa1JtbHNaVk41Ym1Nb2NHRjBhQzVxYjJsdUtIQnliMk5sYzNNdVkzZGtLQ2tzSUZ3aUxtNXdiWEpqWENJcExDQmNJblYwWmkwNFhDSXBYRzRnSUNBZ0lDQWdJQ2s3WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnY21Wd2JHRmpaV1FnUFNCdWNHMXlZME52Ym5SbGJuUXVjbVZ3YkdGalpTaGNiaUFnSUNBZ0lDQWdJQ0F2WEZ3a1hGeDdLRnRlZlYwcktWeGNmUzluTEZ4dUlDQWdJQ0FnSUNBZ0lDaGZPaUJoYm5rc0lIWmhjazVoYldVNklITjBjbWx1WnlrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZG1Gc2RXVWdQU0J3Y205alpYTnpMbVZ1ZGx0MllYSk9ZVzFsWFR0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1YzI5c1pTNTNZWEp1S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdCWFlYSnVhVzVuT2lCRmJuWnBjbTl1YldWdWRDQjJZWEpwWVdKc1pTQmNJaVI3ZG1GeVRtRnRaWDFjSWlCcGN5QnViM1FnYzJWMFlGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWENKY0lqdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFpoYkhWbE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnS1R0Y2JseHVJQ0FnSUNBZ0lDQnVjRzF5WTBOdmJuUmxiblFnUFNCeVpYQnNZV05sWkR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdOaGRHTm9JSHRjYmlBZ0lDQWdJR3h2Wnk1cGJtWnZLR0JPYnlBdWJuQnRjbU1nWm1sc1pTQm1iM1Z1WkN3Z2MydHBjSEJwYm1jZ1kyOXdlV2x1WnlBdWJuQnRjbU1nZEc4Z2IzVjBjSFYwWUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYkc5bkxtUmxZblZuS0Z4dUlDQWdJQ0FnWUhKMWJtNXBibWNnZDJsMGFDQnZjSFJwYjI1ek9pQWtlMHBUVDA0dWMzUnlhVzVuYVdaNUtHOXdkR2x2Ym5NcGZTQm1iM0lnSkh0d2EyY3VibUZ0WlgwZ2RtVnljMmx2YmlBa2UzWmxjbk5wYjI1OVlGeHVJQ0FnSUNrN1hHNWNiaUFnSUNCMGMwTnZibVpwWjBacGJHVWdQU0J3WVhSb0xtbHpRV0p6YjJ4MWRHVW9kSE5EYjI1bWFXZEdhV3hsS1Z4dUlDQWdJQ0FnUHlCMGMwTnZibVpwWjBacGJHVmNiaUFnSUNBZ0lEb2djR0YwYUM1cWIybHVLSEJ5YjJObGMzTXVZM2RrS0Nrc0lIUnpRMjl1Wm1sblJtbHNaU2s3WEc1Y2JpQWdJQ0J2ZFhSd2RYUWdQU0J6ZEhKcGNFTnZiblJ5WVdOMFRtRnRaU0EvSUc5MWRIQjFkQ0E2SUhCaGRHZ3VhbTlwYmlodmRYUndkWFFzSUc1aGJXVXBPMXh1SUNBZ0lHeHZaeTVwYm1adktHQkVaV3hsZEdsdVp5QmxlR2x6ZEdsdVp5QnZkWFJ3ZFhRZ1ptOXNaR1Z5SUNocFppQmxlR2x6ZEhNcElIVnVaR1Z5SUNSN2IzVjBjSFYwZldBcE8xeHVJQ0FnSUdWNFpXTlRlVzVqS0dCeWJTQXRjbVlnSkh0dmRYUndkWFI5WUNrN1hHNGdJQ0FnYVdZZ0tHSjFibVJzWlNrZ2UxeHVJQ0FnSUNBZ2JHOW5MbWx1Wm04b1lHSjFibVJzYVc1bklHTnZiblJ5WVdOMElHWnliMjBnSkh0cGJuQjFkSDFnS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJSFJsYlhCQ2RXNWtiR1ZFYVhJZ1BTQm1jeTV0YTJSMFpXMXdVM2x1WXloY2JpQWdJQ0FnSUNBZ2NHRjBhQzVxYjJsdUtIQnliMk5sYzNNdVkzZGtLQ2tzSUZ3aUxtTnZiblJ5WVdOMExXSjFibVJzWlMxY0lpbGNiaUFnSUNBZ0lDazdYRzRnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JwYm5CMWRFVnVkSEo1SUQwZ2NHRjBhQzV5WlhOdmJIWmxLSEJ5YjJObGMzTXVZM2RrS0Nrc0lHbHVjSFYwTENCY0ltbHVaR1Y0TG5SelhDSXBPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmpiMjVtYVdkR2FXeGxJRDBnZEhNdWNtVmhaRU52Ym1acFowWnBiR1VvZEhORGIyNW1hV2RHYVd4bExDQjBjeTV6ZVhNdWNtVmhaRVpwYkdVcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWTI5dVptbG5SbWxzWlM1bGNuSnZjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdkSE11Wm14aGRIUmxia1JwWVdkdWIzTjBhV05OWlhOellXZGxWR1Y0ZENoamIyNW1hV2RHYVd4bExtVnljbTl5TG0xbGMzTmhaMlZVWlhoMExDQmNJbHhjYmx3aUtWeHVJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCd1lYSnpaV1JEYjI1bWFXY2dQU0IwY3k1d1lYSnpaVXB6YjI1RGIyNW1hV2RHYVd4bFEyOXVkR1Z1ZENoY2JpQWdJQ0FnSUNBZ0lDQmpiMjVtYVdkR2FXeGxMbU52Ym1acFp5eGNiaUFnSUNBZ0lDQWdJQ0IwY3k1emVYTXNYRzRnSUNBZ0lDQWdJQ0FnY0dGMGFDNWthWEp1WVcxbEtIUnpRMjl1Wm1sblJtbHNaU2tzWEc0Z0lDQWdJQ0FnSUNBZ2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ0lDQWdJSFJ6UTI5dVptbG5SbWxzWlZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvY0dGeWMyVmtRMjl1Wm1sbkxtVnljbTl5Y3k1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY2JpQWdJQ0FnSUNBZ0lDQWdJSEJoY25ObFpFTnZibVpwWnk1bGNuSnZjbk5jYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMbTFoY0Nnb1pYSnliM0lwSUQwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RITXVabXhoZEhSbGJrUnBZV2R1YjNOMGFXTk5aWE56WVdkbFZHVjRkQ2hsY25KdmNpNXRaWE56WVdkbFZHVjRkQ3dnWENKY1hHNWNJaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXVhbTlwYmloY0lseGNibHdpS1Z4dUlDQWdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCamIyNXpkQ0IwWlcxd1EyOXRjR2xzWlhKUGNIUnBiMjV6T2lCMGN5NURiMjF3YVd4bGNrOXdkR2x2Ym5NZ1BTQjdYRzRnSUNBZ0lDQWdJQ0FnTGk0dWNHRnljMlZrUTI5dVptbG5MbTl3ZEdsdmJuTXNYRzRnSUNBZ0lDQWdJQ0FnYjNWMFJHbHlPaUIwWlcxd1FuVnVaR3hsUkdseUxGeHVJQ0FnSUNBZ0lDQWdJRzF2WkhWc1pUb2dkSE11VFc5a2RXeGxTMmx1WkM1RlUwNWxlSFFzWEc0Z0lDQWdJQ0FnSUNBZ1pHVmpiR0Z5WVhScGIyNDZJR1poYkhObExGeHVJQ0FnSUNBZ0lDQWdJSE52ZFhKalpVMWhjRG9nWm1Gc2MyVXNYRzRnSUNBZ0lDQWdJQ0FnYVc1c2FXNWxVMjkxY21ObGN6b2dabUZzYzJVc1hHNGdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQWdJR052Ym5OMElHSjFibVJzWldSRmJuUnllVkJ2YVc1MElEMGdkSE5jYmlBZ0lDQWdJQ0FnSUNBdVoyVjBUM1YwY0hWMFJtbHNaVTVoYldWektGeHVJQ0FnSUNBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1TGk1d1lYSnpaV1JEYjI1bWFXY3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHOXdkR2x2Ym5NNklIUmxiWEJEYjIxd2FXeGxjazl3ZEdsdmJuTXNYRzRnSUNBZ0lDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnYVc1d2RYUkZiblJ5ZVN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0YwY3k1emVYTXVkWE5sUTJGelpWTmxibk5wZEdsMlpVWnBiR1ZPWVcxbGMxeHVJQ0FnSUNBZ0lDQWdJQ2xjYmlBZ0lDQWdJQ0FnSUNBdVptbHVaQ2dvWm1sc1pVNWhiV1VwSUQwK0lHWnBiR1ZPWVcxbExtVnVaSE5YYVhSb0tGd2lMbXB6WENJcEtUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb0lXSjFibVJzWldSRmJuUnllVkJ2YVc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YRzRnSUNBZ0lDQWdJQ0FnSUNCZ1JtRnBiR1ZrSUhSdklHUmxkR1Z5YldsdVpTQjBhR1VnWlcxcGRIUmxaQ0JpZFc1a2JHVWdaVzUwY25rZ1ptOXlJQ1I3YVc1d2RYUkZiblJ5ZVgxZ1hHNGdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHTnZiWEJwYkdWWGFYUm9WSE5qYjI1bWFXZFBkbVZ5Y21sa1pYTW9kSE5EYjI1bWFXZEdhV3hsTENCMFpXMXdRMjl0Y0dsc1pYSlBjSFJwYjI1ektUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1luVnVaR3hsWkVOdmJuUnlZV04wSUQwZ1lYZGhhWFFnY205c2JIVndLSHRjYmlBZ0lDQWdJQ0FnSUNCcGJuQjFkRG9nWW5WdVpHeGxaRVZ1ZEhKNVVHOXBiblFzWEc0Z0lDQWdJQ0FnSUNBZ2NHeDFaMmx1Y3pvZ1cxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WemIyeDJaVUoxYm1Sc1pXUktjMGx0Y0c5eWRITW9LU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjR3hoWTJVb2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCd2NtVjJaVzUwUVhOemFXZHViV1Z1ZERvZ2RISjFaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZzYVcxcGRHVnljem9nVzF3aVhDSXNJRndpWENKZExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllXeDFaWE02SUhzZ1hDSWpJMVpGVWxOSlQwNGpJMXdpT2lCMlpYSnphVzl1TENCY0lpTWpVRUZEUzBGSFJTTWpYQ0k2SUhCclp5NXVZVzFsSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5S1N4Y2JpQWdJQ0FnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ2JHOW5MbWx1Wm04b1hHNGdJQ0FnSUNBZ0lDQWdZSGRwZEdocGJtY2dZMjl1ZEhKaFkzUWdkRzhnSkh0dmRYUndkWFI5SUhkcGRHZ2dibUZ0WlNBa2UzUnZVR0Z6WTJGc1EyRnpaU2h1WVcxbEtYMHVhbk5nWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lHRjNZV2wwSUdKMWJtUnNaV1JEYjI1MGNtRmpkQzUzY21sMFpTaDdYRzRnSUNBZ0lDQWdJQ0FnWm1sc1pUb2dZQ1I3YjNWMGNIVjBmUzhrZTNSdlVHRnpZMkZzUTJGelpTaHVZVzFsS1gwdWFuTmdMRnh1SUNBZ0lDQWdJQ0FnSUdadmNtMWhkRG9nWENKMWJXUmNJaXhjYmlBZ0lDQWdJQ0FnSUNCdVlXMWxPaUJnSkh0MGIxQmhjMk5oYkVOaGMyVW9ibUZ0WlNsOUxtcHpZQ3hjYmlBZ0lDQWdJQ0FnSUNCemIzVnlZMlZ0WVhBNklITnZkWEpqWlcxaGNITWdQeUJjSW1sdWJHbHVaVndpSURvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0FnSUNBZ2MyOTFjbU5sYldGd1VHRjBhRlJ5WVc1elptOXliVG9nS0hKbGJHRjBhWFpsVTI5MWNtTmxVR0YwYUN3Z2MyOTFjbU5sYldGd1VHRjBhQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdZV0p6YjJ4MWRHVlRiM1Z5WTJWUVlYUm9JRDBnY0dGMGFDNXlaWE52YkhabEtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCd1lYUm9MbVJwY201aGJXVW9jMjkxY21ObGJXRndVR0YwYUNrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGJHRjBhWFpsVTI5MWNtTmxVR0YwYUZ4dUlDQWdJQ0FnSUNBZ0lDQWdLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dGaWMyOXNkWFJsVTI5MWNtTmxVR0YwYUM1emRHRnlkSE5YYVhSb0tIUmxiWEJDZFc1a2JHVkVhWElwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ3WVhSb0xuQnZjMmw0TG1wdmFXNG9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYQ0l1WW5WdVpHeGxYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY0dGMGFGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMbkpsYkdGMGFYWmxLSFJsYlhCQ2RXNWtiR1ZFYVhJc0lHRmljMjlzZFhSbFUyOTFjbU5sVUdGMGFDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzV6Y0d4cGRDaHdZWFJvTG5ObGNDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzVxYjJsdUtGd2lMMXdpS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnNZWFJwZG1WVGIzVnlZMlZRWVhSb08xeHVJQ0FnSUNBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQmhkMkZwZENCaWRXNWtiR1ZrUTI5dWRISmhZM1F1WTJ4dmMyVW9LVHRjYmlBZ0lDQWdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdJQ0FnSUdaekxuSnRVM2x1WXloMFpXMXdRblZ1Wkd4bFJHbHlMQ0I3SUhKbFkzVnljMmwyWlRvZ2RISjFaU3dnWm05eVkyVTZJSFJ5ZFdVZ2ZTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdOdmJYQnBiR1ZYYVhSb1ZITmpiMjVtYVdkUGRtVnljbWxrWlhNb2RITkRiMjVtYVdkR2FXeGxMQ0I3WEc0Z0lDQWdJQ0FnSUc5MWRFUnBjam9nYjNWMGNIVjBMRnh1SUNBZ0lDQWdJQ0J0YjJSMWJHVTZJSFJ6TGsxdlpIVnNaVXRwYm1RdVJWTk9aWGgwTEZ4dUlDQWdJQ0FnSUNCa1pXTnNZWEpoZEdsdmJqb2dabUZzYzJVc1hHNGdJQ0FnSUNBZ0lITnZkWEpqWlUxaGNEb2djMjkxY21ObGJXRndjeXhjYmlBZ0lDQWdJQ0FnYVc1c2FXNWxVMjkxY21ObGN6b2djMjkxY21ObGJXRndjeXhjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElITmpjbWx3ZEhNZ1BTQjdYRzRnSUNBZ0lDQnpkR0Z5ZERvZ1oyVjBRMjl1ZEhKaFkzUlRkR0Z5ZEVOdmJXMWhibVFvWkdWaWRXY3NJR05qWVdGektTeGNiaUFnSUNBZ0lGd2ljM1JoY25RNlpHVjJYQ0k2SUZ3aVptRmljbWxqTFdOb1lXbHVZMjlrWlMxdWIyUmxJSE4wWVhKMElDMHRkR3h6TG1WdVlXSnNaV1FnWm1Gc2MyVmNJaXhjYmlBZ0lDQWdJRndpYzNSaGNuUTZkMkYwWTJoY0lqb2dKMjV2WkdWdGIyNGdMUzFsZUdWaklGd2libkJ0SUhKMWJpQnpkR0Z5ZERwa1pYWmNJaWNzWEc0Z0lDQWdJQ0JpZFdsc1pEb2dKMlZqYUc4Z1hDSk9ieUJ1WldWa0lIUnZJR0oxYVd4a0lIUm9aU0JqYUdGcGJtTnZaR1ZjSWljc1hHNGdJQ0FnSUNCc2FXNTBPaUJjSW1WemJHbHVkQ0F1SUMwdFptbDRJQzB0WlhoMElDNXFjMXdpTEZ4dUlDQWdJSDA3WEc1Y2JpQWdJQ0JqYjI1emRDQmpiMjUwY21GamRGQmhZMnRoWjJVZ1BTQndhMmM3WEc1Y2JpQWdJQ0JqYjI1MGNtRmpkRkJoWTJ0aFoyVXVibUZ0WlNBOUlHNWhiV1U3WEc0Z0lDQWdZMjl1ZEhKaFkzUlFZV05yWVdkbExtUmxjMk55YVhCMGFXOXVJRDBnWkdWelkzSnBjSFJwYjI0N1hHNGdJQ0FnWTI5dWRISmhZM1JRWVdOcllXZGxMbk5qY21sd2RITWdQU0J6WTNKcGNIUnpPMXh1WEc0Z0lDQWdaR1ZzWlhSbElHTnZiblJ5WVdOMFVHRmphMkZuWlM1MGVYQmxPMXh1SUNBZ0lHUmxiR1YwWlNCamIyNTBjbUZqZEZCaFkydGhaMlV1ZEhsd1pYTTdYRzRnSUNBZ1pHVnNaWFJsSUdOdmJuUnlZV04wVUdGamEyRm5aUzVsZUhCdmNuUnpPMXh1SUNBZ0lHTnZiblJ5WVdOMFVHRmphMkZuWlM1dFlXbHVJRDBnWW5WdVpHeGxYRzRnSUNBZ0lDQS9JR0FrZTNSdlVHRnpZMkZzUTJGelpTaHVZVzFsS1gwdWFuTmdYRzRnSUNBZ0lDQTZJR0FrZTJsdWNIVjBmUzlwYm1SbGVDNXFjMkE3WEc1Y2JpQWdJQ0JtY3k1M2NtbDBaVVpwYkdWVGVXNWpLRnh1SUNBZ0lDQWdjR0YwYUM1cWIybHVLRzkxZEhCMWRDd2dYQ0p3WVdOcllXZGxMbXB6YjI1Y0lpa3NYRzRnSUNBZ0lDQktVMDlPTG5OMGNtbHVaMmxtZVNoamIyNTBjbUZqZEZCaFkydGhaMlVwWEc0Z0lDQWdLVHRjYmx4dUlDQWdJR2xtSUNodWNHMXlZeWtnWm5NdWQzSnBkR1ZHYVd4bFUzbHVZeWh3WVhSb0xtcHZhVzRvYjNWMGNIVjBMQ0JjSWk1dWNHMXlZMXdpS1N3Z2JuQnRjbU5EYjI1MFpXNTBLVHRjYmx4dUlDQWdJR3h2Wnk1cGJtWnZLR0JKYm5OMFlXeHNhVzVuSUdGdVpDQnphSEpwYm10M2NtRndjR2x1WnlCa1pYQmxibVJsYm1OcFpYTmdLVHRjYmlBZ0lDQmxlR1ZqVTNsdVl5aGdibkJ0SUdsdWMzUmhiR3hnTENCN0lHTjNaRG9nYjNWMGNIVjBJSDBwTzF4dUlDQWdJR1Y0WldOVGVXNWpLR0J1Y0cwZ2MyaHlhVzVyZDNKaGNHQXNJSHNnWTNka09pQnZkWFJ3ZFhRZ2ZTazdYRzRnSUNBZ1pYaGxZMU41Ym1Nb1hDSnliU0F0Y21ZZ2JtOWtaVjl0YjJSMWJHVnpYQ0lzSUhzZ1kzZGtPaUJ2ZFhSd2RYUWdmU2s3WEc0Z0lDQWdiRzluTG1sdVptOG9ZR1JsYkdWMGFXNW5JSFJsYlhBZ1ptOXNaR1Z5YzJBcE8xeHVJQ0FnSUdWNFpXTlRlVzVqS0dCeWJTQXRjbVlnTGk5c2FXSWdKaVlnY20wZ0xYSm1JQzR2WkdsemRHQXNJSHNnWTNka09pQnZkWFJ3ZFhRZ2ZTazdYRzRnSUNBZ2JHOW5MbWx1Wm04b1hHNGdJQ0FnSUNCZ1EyOXVkSEpoWTNRZ0pIdHVZVzFsZlNCamIyMXdhV3hsWkNCemRXTmpaWE56Wm5Wc2JIa2hJR2x1SUNSN2NHRjBhQzV5WlhOdmJIWmxLRzkxZEhCMWRDbDlZRnh1SUNBZ0lDazdYRzRnSUNBZ2FXWWdLR1JsZGlrZ2UxeHVJQ0FnSUNBZ2JHOW5MbWx1Wm04b1lHUmxkaUJ0YjJSbElHVnVZV0pzWldRdUlHbHVjM1JoYkd4cGJtY2daR1Z3Wlc1a1pXNWphV1Z6SUdadmNpQmtaV0oxWjJkcGJtZGdLVHRjYmlBZ0lDQWdJR1Y0WldOVGVXNWpLR0J1Y0cwZ2FXNXpkR0ZzYkdBc0lIdGNiaUFnSUNBZ0lDQWdZM2RrT2lCdmRYUndkWFFzWEc0Z0lDQWdJQ0FnSUdWdWRqb2dleUF1TGk1d2NtOWpaWE56TG1WdWRpd2dUazlFUlY5RlRsWTZJRndpY0hKdlpIVmpkR2x2Ymx3aUlIMHNYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzVqYjI1emRDQmxlSFJ5WVdOMFNXNWtaWGhsY3lBOUlHNWxkeUJEYjIxdFlXNWtLQ2xjYmlBZ0xtTnZiVzFoYm1Rb1hDSmxlSFJ5WVdOMExXbHVaR1Y0WlhOY0lpbGNiaUFnTG05d2RHbHZiaWhjSWkwdFptbHNaU0JiVTNSeWFXNW5YVndpTENCY0luUm9aU0J0YjJSbGJDQm1hV3hsWENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFdadmJHUmxjaUJiVTNSeWFXNW5YVndpTENCY0luUm9aU0J0YjJSbGJDQm1iMnhrWlhKY0lpbGNiaUFnTG05d2RHbHZiaWhjSWkwdGIzVjBSR2x5SUR4VGRISnBibWMrWENJc0lGd2lkR2hsSUc5MWRHUnBjaTRnYzJodmRXeGtJRzFoZEdOb0lIbHZkWElnWTI5dWRISmhZM1FnWm05c1pHVnlYQ0lwWEc0Z0lDNWtaWE5qY21sd2RHbHZiaWhjYmlBZ0lDQmNJa055WldGMFpYTWdZU0IwYUdVZ1NsTlBUaUJwYm1SbGVDQm1hV3hsY3lCMGJ5QmlaU0J6ZFdKdGFYUjBaV1FnZEc4Z1lXeHZibWNnZDJsMGFDQjBhR1VnWTI5dWRISmhZM1JjSWx4dUlDQXBYRzRnSUM1aFkzUnBiMjRvWVhONWJtTWdLRzl3ZEdsdmJuTTZJR0Z1ZVNrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUhCclp5QTlJRXBUVDA0dWNHRnljMlVvWEc0Z0lDQWdJQ0JtY3k1eVpXRmtSbWxzWlZONWJtTW9jR0YwYUM1cWIybHVLSEJ5YjJObGMzTXVZM2RrS0Nrc0lGd2ljR0ZqYTJGblpTNXFjMjl1WENJcExDQmNJblYwWmkwNFhDSXBYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhabGNuTnBiMjRnUFNCd2EyY3VkbVZ5YzJsdmJqdGNibHh1SUNBZ0lHTnZibk4wSUd4dlp5QTlJR3h2WjJkbGNpNW1iM0lvWENKbGVIUnlZV04wTFdsdVpHVjRaWE5jSWlrN1hHNGdJQ0FnYkc5bkxtUmxZblZuS0Z4dUlDQWdJQ0FnWUhKMWJtNXBibWNnZDJsMGFDQnZjSFJwYjI1ek9pQWtlMHBUVDA0dWMzUnlhVzVuYVdaNUtHOXdkR2x2Ym5NcGZTQm1iM0lnSkh0d2EyY3VibUZ0WlgwZ2RtVnljMmx2YmlBa2UzWmxjbk5wYjI1OVlGeHVJQ0FnSUNrN1hHNWNiaUFnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2NISmxabVZ5TFdOdmJuTjBYRzRnSUNBZ2JHVjBJSHNnWm1sc1pTd2dabTlzWkdWeUxDQnZkWFJFYVhJZ2ZTQTlJRzl3ZEdsdmJuTTdYRzVjYmlBZ0lDQmpiMjV6ZENCdGIyUmxiSE02SUdGdWVWdGRJRDBnVzEwN1hHNGdJQ0FnYVdZZ0tHWnBiR1VwSUh0Y2JpQWdJQ0FnSUcxdlpHVnNjeTV3ZFhOb0tDNHVMbkpsWVdSTmIyUmxiRVpwYkdVb1ptbHNaU2twTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobWIyeGtaWElwSUh0Y2JpQWdJQ0FnSUd4dlp5NXBibVp2S0dCTWIyRmthVzVuSUcxdlpHVnNjeUJtY205dElDUjdabTlzWkdWeWZTNHVMbUFwTzF4dUlDQWdJQ0FnYlc5a1pXeHpMbkIxYzJnb0xpNHVLR0YzWVdsMElISmxZV1JOYjJSbGJFWnZiR1JsY25Nb1ptOXNaR1Z5S1NrcE8xeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRDQnlaWE4xYkhRNklGSmxZMjl5WkR4emRISnBibWNzSUdGdWVUNGdQU0I3ZlR0Y2JpQWdJQ0JqYjI1emRDQmtaWE5wWjI1RWIyTnpPaUJTWldOdmNtUThjM1J5YVc1bkxDQmhibmsrSUQwZ2UzMDdYRzVjYmlBZ0lDQnBaaUFvSVdacGJHVWdKaVlnSVdadmJHUmxjaWxjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJKYm5SbGNtNWhiRVZ5Y205eUtHQk5kWE4wSUhCaGMzTWdZU0JtYVd4bElHOXlJR0VnWm05c1pHVnlZQ2s3WEc1Y2JpQWdJQ0JtYjNJZ0tHTnZibk4wSUcwZ2IyWWdiVzlrWld4ektTQjdYRzRnSUNBZ0lDQnNiMmN1ZG1WeVltOXpaU2hnUlhoMGNtRmpkR2x1WnlCcGJtUmxlR1Z6SUdadmNpQjBZV0pzWlNBa2UwMXZaR1ZzTG5SaFlteGxUbUZ0WlNodEtYMWdLVHRjYmlBZ0lDQWdJR052Ym5OMElHbHVaR1Y0WlhNZ1BTQm5aVzVsY21GMFpVMXZaR1ZzU1c1a1pYaGxjeWh0S1R0Y2JpQWdJQ0FnSUdsdVpHVjRaWE11Wm05eVJXRmphQ2dvYVc1a1pYZ3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR2x1WkdWNExtNWhiV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWE4xYkhSYmFXNWtaWGd1Ym1GdFpWMGdQU0JwYm1SbGVEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0JuWlc1bGNtRjBaVTF2WkdWc1JHVnphV2R1Ukc5amN5aHRMQ0JrWlhOcFoyNUViMk56S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ2FXNWtaWGhsYzFSdlYzSnBkR1VnUFNCUFltcGxZM1F1ZG1Gc2RXVnpLSEpsYzNWc2RDazdYRzRnSUNBZ1kyOXVjM1FnWkc5amMxUnZWM0pwZEdVZ1BTQlBZbXBsWTNRdWRtRnNkV1Z6S0dSbGMybG5ia1J2WTNNcE8xeHVJQ0FnSUd4dlp5NTJaWEppYjNObEtHQkdiM1Z1WkNBa2UybHVaR1Y0WlhOVWIxZHlhWFJsTG14bGJtZDBhSDBnYVc1a1pYaGxjeUIwYnlCamNtVmhkR1ZnS1R0Y2JpQWdJQ0JzYjJjdWRtVnlZbTl6WlNoZ1JtOTFibVFnSkh0a2IyTnpWRzlYY21sMFpTNXNaVzVuZEdoOUlHUmxjMmxuYmlCa2IyTnpJSFJ2SUdOeVpXRjBaV0FwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhnU1c1a1pYaGxjem9nSkh0S1UwOU9Mbk4wY21sdVoybG1lU2h5WlhOMWJIUXBmV0FwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhnUkdWemFXZHVSRzlqY3pvZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNoa1pYTnBaMjVFYjJOektYMWdLVHRjYmlBZ0lDQjNjbWwwWlVsdVpHVjRaWE1vYVc1a1pYaGxjMVJ2VjNKcGRHVXNJRzkxZEVScGNpazdYRzRnSUNBZ2QzSnBkR1ZFWlhOcFoyNUViMk56S0dSdlkzTlViMWR5YVhSbExDQnZkWFJFYVhJcE8xeHVJQ0I5S1R0Y2JseHVZMjl1YzNRZ1pYaDBjbUZqZEVOdmJHeGxZM1JwYjI1eklEMGdibVYzSUVOdmJXMWhibVFvS1Z4dUlDQXVZMjl0YldGdVpDaGNJbVY0ZEhKaFkzUXRZMjlzYkdWamRHbHZibk5jSWlsY2JpQWdMbTl3ZEdsdmJpaGNJaTB0Wm1sc1pTQmJVM1J5YVc1blhWd2lMQ0JjSW5Sb1pTQnRiMlJsYkNCbWFXeGxYQ0lwWEc0Z0lDNXZjSFJwYjI0b1hDSXRMV1p2YkdSbGNpQmJVM1J5YVc1blhWd2lMQ0JjSW5Sb1pTQnRiMlJsYkNCbWIyeGtaWEpjSWlsY2JpQWdMbTl3ZEdsdmJpaGNJaTB0YjNWMFJHbHlJRHhUZEhKcGJtYytYQ0lzSUZ3aWRHaGxJRzkxZEdScGNpNGdjMmh2ZFd4a0lHMWhkR05vSUhsdmRYSWdZMjl1ZEhKaFkzUWdabTlzWkdWeVhDSXBYRzRnSUM1dmNIUnBiMjRvWENJdExXMXpjRWxrY3lBOFUzUnlhVzVuUGx3aUxDQmNJbk5wYm1kc1pTQnRjM0JKWkNCdmNpQnpkSEpwYm1kcFptbGxaQ0JoY25KaGVWd2lLVnh1SUNBdWIzQjBhVzl1S0Z3aUxTMXRZV2x1VFhOd1NXUWdQRk4wY21sdVp6NWNJaXdnWENKemFXNW5iR1VnYlhOd1NXUmNJaWxjYmlBZ0xtOXdkR2x2YmloY2JpQWdJQ0JjSWkwdGIzWmxjbkpwWkdWeklGdFRkSEpwYm1kZFhDSXNYRzRnSUNBZ1hDSnpkSEpwYm1kcFptbGxaQ0J2ZG1WeWNtbGtaU0J2WW1wbFkzUWdlM0psY1hWcGNtVmtVR1ZsY2tOdmRXNTBPaUJ1ZFcxaVpYSXNJRzFoZUZCbFpYSkRiM1Z1ZERvZ2JuVnRZbVZ5TENCaWJHOWphMVJ2VEdsMlpUb2diblZ0WW1WeUxDQnRaVzFpWlhKUGJteDVVbVZoWkRvZ2JuVnRZbVZ5TENCdFpXMWlaWEpQYm14NVYzSnBkR1U2SUc1MWJXSmxjaXdnWlc1a2IzSnpaVzFsYm5SUWIyeHBZM2s2SUNCN2ZYMWNJbHh1SUNBcFhHNGdJQzVrWlhOamNtbHdkR2x2YmloY2JpQWdJQ0JjSWtOeVpXRjBaWE1nWVNCMGFHVWdTbE5QVGlCcGJtUmxlQ0JtYVd4bGN5QjBieUJpWlNCemRXSnRhWFIwWldRZ2RHOGdZV3h2Ym1jZ2QybDBhQ0IwYUdVZ1kyOXVkSEpoWTNSY0lseHVJQ0FwWEc0Z0lDNWhZM1JwYjI0b1lYTjVibU1nS0c5d2RHbHZibk02SUdGdWVTa2dQVDRnZTF4dUlDQWdJR052Ym5OMElIQnJaeUE5SUVwVFQwNHVjR0Z5YzJVb1hHNGdJQ0FnSUNCbWN5NXlaV0ZrUm1sc1pWTjVibU1vY0dGMGFDNXFiMmx1S0hCeWIyTmxjM011WTNka0tDa3NJRndpY0dGamEyRm5aUzVxYzI5dVhDSXBMQ0JjSW5WMFppMDRYQ0lwWEc0Z0lDQWdLVHRjYmx4dUlDQWdJR052Ym5OMElIWmxjbk5wYjI0Z1BTQndhMmN1ZG1WeWMybHZianRjYmx4dUlDQWdJR052Ym5OMElHeHZaeUE5SUd4dloyZGxjaTVtYjNJb1hDSmxlSFJ5WVdOMExXTnZiR3hsWTNScGIyNXpYQ0lwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhjYmlBZ0lDQWdJR0J5ZFc1dWFXNW5JSGRwZEdnZ2IzQjBhVzl1Y3pvZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNodmNIUnBiMjV6S1gwZ1ptOXlJQ1I3Y0d0bkxtNWhiV1Y5SUhabGNuTnBiMjRnSkh0MlpYSnphVzl1ZldCY2JpQWdJQ0FwTzF4dVhHNGdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUhCeVpXWmxjaTFqYjI1emRGeHVJQ0FnSUd4bGRDQjdJR1pwYkdVc0lHWnZiR1JsY2l3Z2IzVjBSR2x5TENCdGMzQkpaSE1zSUcxaGFXNU5jM0JKWkNCOUlEMGdiM0IwYVc5dWN6dGNibHh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQnRjM0JKWkhNZ1BTQnRjM0JKWkhNZ1B5QktVMDlPTG5CaGNuTmxLRzF6Y0Vsa2N5a2dPaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtOHRkVzUxYzJWa0xYWmhjbk5jYmlBZ0lDQWdJSDBnWTJGMFkyZ2dLR1U2SUhWdWEyNXZkMjRwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdJR1J2SUc1dmRHaHBibWRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR05oZEdOb0lDaGxPaUIxYm10dWIzZHVLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnVTJWeWFXRnNhWHBoZEdsdmJrVnljbTl5S0dCVmJtRmliR1VnZEc4Z1pYaDBjbUZqZENCdGMzQnBaSE02SUNBa2UyVjlZQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2JXOWtaV3h6T2lCaGJubGJYU0E5SUZ0ZE8xeHVJQ0FnSUdsbUlDaG1hV3hsS1NCN1hHNGdJQ0FnSUNCdGIyUmxiSE11Y0hWemFDZ3VMaTV5WldGa1RXOWtaV3hHYVd4bEtHWnBiR1VwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1ptOXNaR1Z5S1NCN1hHNGdJQ0FnSUNCc2IyY3VhVzVtYnloZ1RHOWhaR2x1WnlCdGIyUmxiSE1nWm5KdmJTQWtlMlp2YkdSbGNuMHVMaTVnS1R0Y2JpQWdJQ0FnSUcxdlpHVnNjeTV3ZFhOb0tDNHVMaWhoZDJGcGRDQnlaV0ZrVFc5a1pXeEdiMnhrWlhKektHWnZiR1JsY2lrcEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9JV1pwYkdVZ0ppWWdJV1p2YkdSbGNpbGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0dCTmRYTjBJSEJoYzNNZ1lTQm1hV3hsSUc5eUlHRWdabTlzWkdWeVlDazdYRzVjYmlBZ0lDQmpiMjV6ZENCcGJtcGxZM1JoWW14bFRXOWtaV3h6SUQwZ2JXOWtaV3h6TG1acGJIUmxjaWhjYmlBZ0lDQWdJQ2h0YjJSbGJDa2dQVDVjYmlBZ0lDQWdJQ0FnVFc5a1pXd3VhWE5UYUdGeVpXUW9iVzlrWld3cElIeDhYRzRnSUNBZ0lDQWdJRTF2WkdWc0xtbHpVSEpwZG1GMFpTaHRiMlJsYkNrZ2ZIeGNiaUFnSUNBZ0lDQWdJU0ZOYjJSbGJDNXRhWEp5YjNKbFpFRjBLRzF2WkdWc0tWeHVJQ0FnSUNrN1hHNGdJQ0FnYVdZZ0tDRnBibXBsWTNSaFlteGxUVzlrWld4ekxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ2JHOW5MbWx1Wm04b1hHNGdJQ0FnSUNBZ0lHQk9ieUJ6YUdGeVpXUXNJSEJ5YVhaaGRHVXNJRzl5SUcxcGNuSnZjbVZrSUcxdlpHVnNjeUJtYjNWdVpDQjBieUJsZUhSeVlXTjBJR052Ykd4bFkzUnBiMjV6WUZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhjM2x1WXlCbWRXNWpkR2x2YmlCblpYUkRiMnh6S0cxemNFbGtjMHhwYzNRL09pQnpkSEpwYm1kYlhTa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1kyOXNjem9nZTF4dUlDQWdJQ0FnSUNCcGJtUmxlR1Z6T2lCRGNtVmhkR1ZKYm1SbGVGSmxjWFZsYzNSYlhUdGNiaUFnSUNBZ0lDQWdaR1Z6YVdkdVJHOWpjem9nUTI5MVkyaEVRa1JsYzJsbmJrUnZZMXRkTzF4dUlDQWdJQ0FnSUNCdGFYSnliM0kvT2lCUWNtbDJZWFJsUTI5c2JHVmpkR2x2Ymp0Y2JpQWdJQ0FnSUNBZ1kyOXNiR1ZqZEdsdmJuTTZJRkJ5YVhaaGRHVkRiMnhzWldOMGFXOXVXMTA3WEc0Z0lDQWdJQ0I5VzEwZ1BTQmhkMkZwZENCUWNtOXRhWE5sTG1Gc2JDaGNiaUFnSUNBZ0lDQWdhVzVxWldOMFlXSnNaVTF2WkdWc2N5NXRZWEFvWVhONWJtTWdLR05zWVhwNktTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZEdGaWJHVk9ZVzFsSUQwZ1RXOWtaV3d1ZEdGaWJHVk9ZVzFsS0dOc1lYcDZLVHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0YVhKeWIzSk5aWFJoSUQwZ1RXOWtaV3d1YldseWNtOXlaV1JCZENoamJHRjZlaWs3WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExteHZaeWgwWVdKc1pVNWhiV1VwTzF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUdOdmJHeGxZM1JwYjI1ek9pQlNaV052Y21ROGMzUnlhVzVuTENCaGJuaytJRDBnZTMwN1hHNGdJQ0FnSUNBZ0lDQWdabTl5SUNoamIyNXpkQ0J0YzNBZ2IyWWdiWE53U1dSelRHbHpkQ0I4ZkNCdGMzQkpaSE1nZkh3Z1cxMHBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZiR3hsWTNScGIyNXpXMjF6Y0YwZ1BTQmhkMkZwZENCbGVFTnZiR3hsWTNScGIyNXpLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiR0Y2ZWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnVzIxemNDd2diV0ZwYmsxemNFbGtYU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdlMzBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z0lDQnphR0Z5WldSRGIyeHpPaUJQWW1wbFkzUXVZWE56YVdkdUtIdDlMQ0J2ZG1WeWNtbGtaWE11YzJoaGNtVmtRMjlzY3lrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklDQWdjSEpwZG1GMFpVTnZiSE02SUU5aWFtVmpkQzVoYzNOcFoyNG9lMzBzSUc5MlpYSnlhV1JsY3k1d2NtbDJZWFJsUTI5c2N5a3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJSDBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0VoYldseWNtOXlUV1YwWVZ4dUlDQWdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JzWlhRZ2JXbHljbTl5UTI5c2JHVmpkR2x2YmpvZ1VISnBkbUYwWlVOdmJHeGxZM1JwYjI0Z2ZDQjFibVJsWm1sdVpXUWdQU0IxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYldseWNtOXlUV1YwWVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2JHVmpkR2x2Ym5OYmJXRnBiazF6Y0Vsa1hTQTlJR052Ykd4bFkzUnBiMjV6VzIxaGFXNU5jM0JKWkYwZ2ZId2dlMzA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQlBZbXBsWTNRdWEyVjVjeWhqYjJ4c1pXTjBhVzl1Y3lrdVptOXlSV0ZqYUNnb2JYTndPaUJ6ZEhKcGJtY3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2JHVmpkR2x2Ym5OYmJXRnBiazF6Y0Vsa1hTNXdjbWwyWVhSbGN5QTlJR052Ykd4bFkzUnBiMjV6VzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxemNGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCZExuQnlhWFpoZEdWelB5NW1hV3gwWlhJb0tIQTZJR0Z1ZVNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNod0xtNWhiV1VnSVQwOUlDaHRhWEp5YjNKTlpYUmhMbkpsYzI5c2RtVnlJR0Z6SUhOMGNtbHVaeWtwSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMXBjbkp2Y2tOdmJHeGxZM1JwYjI0Z1BTQndJR0Z6SUdGdWVUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjSEpwZG1GMFpYTkRiM1Z1ZENBOUlFOWlhbVZqZEM1MllXeDFaWE1vWTI5c2JHVmpkR2x2Ym5NcFhHNGdJQ0FnSUNBZ0lDQWdJQ0F1YldGd0tDaGpLU0E5UGlCakxuQnlhWFpoZEdWektWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG1ac1lYUW9LUzVzWlc1bmRHZzdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIQnlhWFpoZEdWelEyOTFiblFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnNiMmRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMbVp2Y2loTmIyUmxiQzUwWVdKc1pVNWhiV1VvWTJ4aGVub3BLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXVhVzVtYnloZ1JtOTFibVFnSkh0d2NtbDJZWFJsYzBOdmRXNTBmU0J3Y21sMllYUmxJR052Ykd4bFkzUnBiMjV6SUhSdklHTnlaV0YwWldBcE8xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElITm9ZWEpsWkVOdmRXNTBJRDBnVDJKcVpXTjBMblpoYkhWbGN5aGpiMnhzWldOMGFXOXVjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDNXRZWEFvS0dNcElEMCtJR011YzJoaGNtVmtLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtWnNZWFFvS1M1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnNiMmRjYmlBZ0lDQWdJQ0FnSUNBZ0lDNW1iM0lvVFc5a1pXd3VkR0ZpYkdWT1lXMWxLR05zWVhwNktTbGNiaUFnSUNBZ0lDQWdJQ0FnSUM1cGJtWnZLR0JHYjNWdVpDQWtlM05vWVhKbFpFTnZkVzUwZlNCemFHRnlaV1FnWTI5c2JHVmpkR2x2Ym5NZ2RHOGdZM0psWVhSbFlDazdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHMXBjbkp2Y2tOdmJHeGxZM1JwYjI0cFhHNGdJQ0FnSUNBZ0lDQWdJQ0JzYjJkY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTG1admNpaE5iMlJsYkM1MFlXSnNaVTVoYldVb1kyeGhlbm9wS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1YVc1bWJ5aGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmdSbTkxYm1RZ2IyNWxJRzFwY25KdmNpQmpiMnhzWldOMGFXOXVJQ1I3YldseWNtOXlUV1YwWVQ4dWNtVnpiMngyWlhJZ1lYTWdjM1J5YVc1bmZXQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0tUdGNibHh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR052YkV4cGMzUWdQU0JQWW1wbFkzUXVkbUZzZFdWektHTnZiR3hsWTNScGIyNXpLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtMWhjQ2dvWXlrZ1BUNGdXeTR1TGloakxuQnlhWFpoZEdWeklIeDhJRnRkS1N3Z0xpNHVLR011YzJoaGNtVmtJSHg4SUZ0ZEtWMHBYRzRnSUNBZ0lDQWdJQ0FnSUNBdVpteGhkQ2dwTzF4dUlDQWdJQ0FnSUNBZ0lHeGxkQ0JwYm1SbGVHVnpPaUJEY21WaGRHVkpibVJsZUZKbGNYVmxjM1JiWFNBOUlGdGRPMXh1SUNBZ0lDQWdJQ0FnSUd4bGRDQmtaWE5wWjI1RWIyTnpPaUJEYjNWamFFUkNSR1Z6YVdkdVJHOWpXMTBnUFNCYlhUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1kyOXNUR2x6ZEM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3h2WjF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1Wm05eUtFMXZaR1ZzTG5SaFlteGxUbUZ0WlNoamJHRjZlaWtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzUyWlhKaWIzTmxLR0JuWlc1bGNtRjBhVzVuSUdsdVpHVjRaWE1nWm05eUlHTnZiR3hsWTNScGIyNXpZQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBibVJsZUdWeklEMGdaMlZ1WlhKaGRHVk5iMlJsYkVsdVpHVjRaWE1vWTJ4aGVub3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JHOW5YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDNW1iM0lvVFc5a1pXd3VkR0ZpYkdWT1lXMWxLR05zWVhwNktTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0xtbHVabThvWUdadmRXNWtJQ1I3YVc1a1pYaGxjeTVzWlc1bmRHaDlJR2x1WkdWNFpYTmdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjMmxuYmtSdlkzTWdQU0JuWlc1bGNtRjBaVTF2WkdWc1JHVnphV2R1Ukc5amN5aGpiR0Y2ZWlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzYjJkY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTG1admNpaE5iMlJsYkM1MFlXSnNaVTVoYldVb1kyeGhlbm9wS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1YVc1bWJ5aGdabTkxYm1RZ0pIdGtaWE5wWjI1RWIyTnpMbXhsYm1kMGFIMGdaR1Z6YVdkdUlHUnZZM05nS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbHVaR1Y0WlhNc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOcFoyNUViMk56TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdZMjlzYkdWamRHbHZibk02SUdOdmJFeHBjM1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnRhWEp5YjNJNklHMXBjbkp2Y2tOdmJHeGxZM1JwYjI0c1hHNGdJQ0FnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJQ0FnZlNsY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWTI5c2N6dGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0JqYjJ4eklEMGdZWGRoYVhRZ1oyVjBRMjlzY3lncE8xeHVJQ0FnSUdOdmJuTjBJRzl1YkhsTmFYSnliM0lnUFNCaGQyRnBkQ0JuWlhSRGIyeHpLRnR0WVdsdVRYTndTV1JkS1R0Y2JseHVJQ0FnSUdOdmJuTjBJR052Ykd4bFkzUnBiMjV6Vkc4Z1BTQmJYRzRnSUNBZ0lDQXVMaTV2Ym14NVRXbHljbTl5TG1acGJIUmxjaWdvWXlrZ1BUNGdZeTV0YVhKeWIzSXBMbTFoY0Nnb1l5a2dQVDRnWXk1dGFYSnliM0lwTEZ4dUlDQWdJQ0FnTGk0dVkyOXNjeTV0WVhBb0tHTXBJRDArSUdNdVkyOXNiR1ZqZEdsdmJuTXBMbVpzWVhRb0tTeGNiaUFnSUNBZ0lDNHVMbU52YkhNdVptbHNkR1Z5S0NoaktTQTlQaUJqTG0xcGNuSnZjaWt1YldGd0tDaGpLU0E5UGlCakxtMXBjbkp2Y2lrc1hHNGdJQ0FnWFNCaGN5QlFjbWwyWVhSbFEyOXNiR1ZqZEdsdmJsdGRPMXh1WEc0Z0lDQWdZMjl1YzNRZ2RXNXBjWFZsUW5sRGIyeHNaV04wYVc5dUlEMGdXMXh1SUNBZ0lDQWdMaTR1Ym1WM0lFMWhjQ2hjYmlBZ0lDQWdJQ0FnWTI5c2JHVmpkR2x2Ym5OVWJ5NXRZWEFvS0dsMFpXMDZJRkJ5YVhaaGRHVkRiMnhzWldOMGFXOXVLU0E5UGlCYmFYUmxiUzV1WVcxbExDQnBkR1Z0WFNsY2JpQWdJQ0FnSUNrdWRtRnNkV1Z6S0Nrc1hHNGdJQ0FnWFR0Y2JseHVJQ0FnSUdsbUlDaDFibWx4ZFdWQ2VVTnZiR3hsWTNScGIyNHViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQjNjbWwwWlVOdmJHeGxZM1JwYjI1ektIVnVhWEYxWlVKNVEyOXNiR1ZqZEdsdmJpd2diM1YwUkdseUtUdGNiaUFnSUNBZ0lHTnZibk4wSUcxbGRHRkRiMnhzWldOMGFXOXVjME52Ym1acFp5QTlJSEJoZEdndWFtOXBiaWhjYmlBZ0lDQWdJQ0FnYjNWMFJHbHlMRnh1SUNBZ0lDQWdJQ0JjSWsxRlZFRXRTVTVHWENJc1hHNGdJQ0FnSUNBZ0lGd2lZMjlzYkdWamRHbHZibk5mWTI5dVptbG5MbXB6YjI1Y0lseHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lHTnZibk4wSUdOdmJuUnlZV04wUTI5c2JHVmpkR2x2Ym5ORGIyNW1hV2NnUFNCd1lYUm9MbXB2YVc0b1hHNGdJQ0FnSUNBZ0lHOTFkRVJwY2l4Y2JpQWdJQ0FnSUNBZ1hDSmpiMnhzWldOMGFXOXVjMTlqYjI1bWFXY3Vhbk52Ymx3aVhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ1puTXVZMjl3ZVVacGJHVlRlVzVqS0cxbGRHRkRiMnhzWldOMGFXOXVjME52Ym1acFp5d2dZMjl1ZEhKaFkzUkRiMnhzWldOMGFXOXVjME52Ym1acFp5azdYRzRnSUNBZ0lDQnNiMmN1YVc1bWJ5aGNiaUFnSUNBZ0lDQWdZRk4wYjNKbFpDQWtlMk52Ykd4bFkzUnBiMjV6Vkc4dWJHVnVaM1JvZlNCamIyeHNaV04wYVc5dWN5QjBieUFrZTIxbGRHRkRiMnhzWldOMGFXOXVjME52Ym1acFozMWdYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdiRzluTG1sdVptOG9YRzRnSUNBZ0lDQWdJR0JEYjNCcFpXUWdZMjlzYkdWamRHbHZibk5mWTI5dVptbG5JSFJ2SUNSN1kyOXVkSEpoWTNSRGIyeHNaV04wYVc5dWMwTnZibVpwWjMwZ1lXeHZibWR6YVdSbElIUm9aU0J3WVdOcllXZGxMbXB6YjI1Z1hHNGdJQ0FnSUNBcE8xeHVYRzRnSUNBZ0lDQmpiMnh6TG1admNrVmhZMmdvS0dNcElEMCtJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdleUJwYm1SbGVHVnpMQ0JrWlhOcFoyNUViMk56TENCamIyeHNaV04wYVc5dWN5d2diV2x5Y205eUlIMGdQU0JqTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0IwYjBsdVpHVjRPaUJRY21sMllYUmxRMjlzYkdWamRHbHZibHRkSUQwZ1d5NHVMbU52Ykd4bFkzUnBiMjV6TENCdGFYSnliM0pkTG1acGJIUmxjaWhjYmlBZ0lDQWdJQ0FnSUNCQ2IyOXNaV0Z1WEc0Z0lDQWdJQ0FnSUNrZ1lYTWdVSEpwZG1GMFpVTnZiR3hsWTNScGIyNWJYVHRjYmlBZ0lDQWdJQ0FnZEc5SmJtUmxlQzVtYjNKRllXTm9LQ2hwS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnZDNKcGRHVkpibVJsZUdWektHbHVaR1Y0WlhNc0lHOTFkRVJwY2l3Z2FTNXVZVzFsS1R0Y2JpQWdJQ0FnSUNBZ0lDQjNjbWwwWlVOdmJHeGxZM1JwYjI1RVpYTnBaMjVFYjJOektHUmxjMmxuYmtSdlkzTWdmSHdnVzEwc0lHOTFkRVJwY2l3Z2FTNXVZVzFsS1R0Y2JpQWdJQ0FnSUNBZ0lDQnNiMmN1YVc1bWJ5aGNiaUFnSUNBZ0lDQWdJQ0FnSUdCVGRHOXlaV1FnSkh0cGJtUmxlR1Z6UHk1c1pXNW5kR2dnZkh3Z01IMGdhVzVrWlhobGN5QmhibVFnSkh0a1pYTnBaMjVFYjJOelB5NXNaVzVuZEdnZ2ZId2dNSDBnWkdWemFXZHVJR1J2WTNNZ2RHOGdZMjlzYkdWamRHbHZiaUFrZTJrdWJtRnRaWDFnWEc0Z0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc0Z0lIMHBPMXh1WEc1amIyNXpkQ0JsYm5OMWNtVkpibVp5WVNBOUlHNWxkeUJEYjIxdFlXNWtLQ2xjYmlBZ0xtNWhiV1VvWENKaGQyRnBkQzFwYm1aeVlWd2lLVnh1SUNBdVpHVnpZM0pwY0hScGIyNG9YQ0ozWVdsMGN5Qm1iM0lnZEdobElHbHVabkpoYzNSeWRXTjBkWEpsSUhSdklHSmxJSFZ3SUdGdVpDQnlkVzV1YVc1blhDSXBYRzRnSUM1dmNIUnBiMjRvWEc0Z0lDQWdYQ0l0TFdOdmJuUmhhVzVsY2lBOFUzUnlhVzVuUGx3aUxGeHVJQ0FnSUZ3aVpHOWphMlZ5SUdOdmJuUmhhVzVsY2lCdVlXMWxJSFJ2SUhSbGMzUWdLSFZ6ZFdGc2JIa2diR0Z6ZENCd1pXVnlLVndpTEZ4dUlDQWdJRndpWW05dmRDMXZjbWN0WXkxd1pXVnlMVEJjSWx4dUlDQXBYRzRnSUM1dmNIUnBiMjRvWENJdExYUnBiV1Z2ZFhRZ1BGTjBjbWx1Wno1Y0lpd2dYQ0owYVcxbGIzVjBJR0psZEhkbFpXNGdkR1Z6ZEhNZ2FXNGdiV2xzYkdselpXTnZibVJ6WENJc0lGd2lOVEF3TUZ3aUtWeHVJQ0F1YjNCMGFXOXVLRndpTFMxaGRIUmxiWEIwY3lBOFUzUnlhVzVuUGx3aUxDQmNJbTUxYldKbGNpQnZaaUJoZEhSbGJYQjBjeUJpWldadmNtVWdaMmwyYVc1bklIVndYQ0lzSUZ3aU1UQmNJaWxjYmlBZ0xtRmpkR2x2YmloaGMzbHVZeUFvYjNCMGFXOXVjem9nWVc1NUtTQTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2NHdG5JRDBnU2xOUFRpNXdZWEp6WlNoY2JpQWdJQ0FnSUdaekxuSmxZV1JHYVd4bFUzbHVZeWh3WVhSb0xtcHZhVzRvY0hKdlkyVnpjeTVqZDJRb0tTd2dYQ0p3WVdOcllXZGxMbXB6YjI1Y0lpa3NJRndpZFhSbUxUaGNJaWxjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2RtVnljMmx2YmlBOUlIQnJaeTUyWlhKemFXOXVPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JHOW5JRDBnYkc5bloyVnlMbVp2Y2loY0ltRjNZV2wwTFdsdVpuSmhYQ0lwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhjYmlBZ0lDQWdJR0J5ZFc1dWFXNW5JSGRwZEdnZ2IzQjBhVzl1Y3pvZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNodmNIUnBiMjV6S1gwZ1ptOXlJQ1I3Y0d0bkxtNWhiV1Y5SUhabGNuTnBiMjRnSkh0MlpYSnphVzl1ZldCY2JpQWdJQ0FwTzF4dUlDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J3Y21WbVpYSXRZMjl1YzNSY2JpQWdJQ0JzWlhRZ2V5QmpiMjUwWVdsdVpYSXNJSFJwYldWdmRYUXNJR0YwZEdWdGNIUnpJSDBnUFNCdmNIUnBiMjV6TzF4dUlDQWdJSFJwYldWdmRYUWdQU0J3WVhKelpVbHVkQ2gwYVcxbGIzVjBLU0I4ZkNBMU1EQXdPMXh1SUNBZ0lHRjBkR1Z0Y0hSeklEMGdjR0Z5YzJWSmJuUW9ZWFIwWlcxd2RITXBJSHg4SURFd08xeHVYRzRnSUNBZ1lYZGhhWFFnWlc1emRYSmxTVzVtY21GemRISjFZM1IxY21WQ2IyOTBaV1FvWENKaWIyOTBMVzl5WnkxakxYQmxaWEl0TUZ3aUxDQjBhVzFsYjNWMExDQmhkSFJsYlhCMGN5azdYRzVjYmlBZ0lDQnNiMmN1YVc1bWJ5aGNiaUFnSUNBZ0lHQkpibVp5WVhOMGNuVmpkSFZ5WlNCaWIyOTBaV1FnYzNWalkyVnpjMloxYkd4NUlDaGhZMk52Y21ScGJtY2dkRzhnWTI5dWRHRnBibVZ5SUNSN1kyOXVkR0ZwYm1WeWZTa2hZRnh1SUNBZ0lDazdYRzRnSUgwcE8xeHVYRzVqYjI1emRDQmtaWEJzYjNsRGIyNTBjbUZqZENBOUlHNWxkeUJEYjIxdFlXNWtLQ2xjYmlBZ0xtNWhiV1VvWENKa1pYQnNiM2t0WTI5dWRISmhZM1JjSWlsY2JpQWdMbVJsYzJOeWFYQjBhVzl1S0Z3aVpHVndiRzk1Y3lCMGFHVWdjMlZzWldOMFpXUWdZMjl1ZEhKaFkzUmNJaWxjYmlBZ0xtOXdkR2x2YmloY0lpMHRibUZ0WlNBOFUzUnlhVzVuUGx3aUxDQmNJa052Ym5SeVlXTjBJRTVoYldVZ0tHRnVaQ0JtYjJ4a1pYSXBYQ0lwWEc0Z0lDNXZjSFJwYjI0b1hDSXRMV2x1Y0hWMElEeFRkSEpwYm1jK1hDSXNJRndpYVc1d2RYUWdabTlzWkdWeVhDSXBYRzRnSUM1dmNIUnBiMjRvWEc0Z0lDQWdYQ0l0TFdOdmJHeGxZM1JwYjI1ekxXTnZibVpwWnlBOFUzUnlhVzVuUGx3aUxGeHVJQ0FnSUZ3aWNHRjBhQ0IwYnlCamIyeHNaV04wYVc5dWMxOWpiMjVtYVdjdWFuTnZiaUIwYnlCamIyNW1hV2QxY21VZ2NISnBkbUYwWlNCamIyeHNaV04wYVc5dWMxd2lYRzRnSUNsY2JpQWdMbTl3ZEdsdmJpaGNiaUFnSUNCY0lpMHRhVzVqY21WdFpXNTBWbVZ5YzJsdmJpQThVM1J5YVc1blBsd2lMRnh1SUNBZ0lGd2lLSFJ5ZFdVZ2ZDQm1ZV3h6WlNrZ2FXWWdjMmh2ZFd4a0lIVnpaU0IyWlhKemFXOXVJRzl5SUhObGNYVmxibU5sSUhSdklIVndaR0YwWlNCamIyNTBjbUZqZEhOY0lpeGNiaUFnSUNCbVlXeHpaVnh1SUNBcFhHNGdJQzV2Y0hScGIyNG9YRzRnSUNBZ1hDSXRMWFJ5WVdOclpYSkdiMnhrWlhJZ1BGTjBjbWx1Wno1Y0lpeGNiaUFnSUNCY0ltTnZiblJ5WVdOMElIWmxjbk5wYjI0Z2RISmhZMnRsY2lCbWIyeGtaWElnS0hOb2IzVnNaQ0JpWlNCa1pXeGxkR1ZrSUc5dUlHbHVabkpoYzNSeWRXTjBkWEpsT21SdmQyNHBYQ0lzWEc0Z0lDQWdjR0YwYUM1cWIybHVLSEJ5YjJObGMzTXVZM2RrS0Nrc0lGd2lkR1Z6ZEhOY0lpd2dYQ0pwYm5SbFozSmhkR2x2Ymx3aUxDQmNJbU5vWVdsdVkyOWtaVlJ5WVdOclpYSnpYQ0lwWEc0Z0lDbGNiaUFnTG05d2RHbHZiaWhjYmlBZ0lDQmNJaTB0Y0dWbGNuTWdQRk4wY21sdVp6NWNJaXhjYmlBZ0lDQmNJbU52YlcxaElITmxjR0Z5WVhSbFpDQndaV1Z5SUdsa2Mxd2lMRnh1SUNBZ0lGd2liM0puTFdFdGNHVmxjaTB3TEc5eVp5MWlMWEJsWlhJdE1DeHZjbWN0WXkxd1pXVnlMVEJjSWx4dUlDQXBYRzRnSUM1aFkzUnBiMjRvWVhONWJtTWdLRzl3ZEdsdmJuTTZJR0Z1ZVNrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUhCclp5QTlJRXBUVDA0dWNHRnljMlVvWEc0Z0lDQWdJQ0JtY3k1eVpXRmtSbWxzWlZONWJtTW9jR0YwYUM1cWIybHVLSEJ5YjJObGMzTXVZM2RrS0Nrc0lGd2ljR0ZqYTJGblpTNXFjMjl1WENJcExDQmNJblYwWmkwNFhDSXBYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhabGNuTnBiMjRnUFNCd2EyY3VkbVZ5YzJsdmJqdGNibHh1SUNBZ0lHTnZibk4wSUd4dlp5QTlJR3h2WjJkbGNpNW1iM0lvWENKa1pYQnNiM2t0WTI5dWRISmhZM1JjSWlrN1hHNGdJQ0FnYkc5bkxtUmxZblZuS0Z4dUlDQWdJQ0FnWUhKMWJtNXBibWNnZDJsMGFDQnZjSFJwYjI1ek9pQWtlMHBUVDA0dWMzUnlhVzVuYVdaNUtHOXdkR2x2Ym5NcGZTQm1iM0lnSkh0d2EyY3VibUZ0WlgwZ2RtVnljMmx2YmlBa2UzWmxjbk5wYjI1OVlGeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0I3WEc0Z0lDQWdJQ0J1WVcxbExGeHVJQ0FnSUNBZ2FXNXdkWFFzWEc0Z0lDQWdJQ0J3WldWeWN5eGNiaUFnSUNBZ0lIUnlZV05yWlhKR2IyeGtaWElzWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1dkxYVnVkWE5sWkMxMllYSnpYRzRnSUNBZ0lDQnBibU55WlcxbGJuUldaWEp6YVc5dUxGeHVJQ0FnSUNBZ1kyOXNiR1ZqZEdsdmJuTkRiMjVtYVdjc1hHNGdJQ0FnZlNBOUlHOXdkR2x2Ym5NN1hHNGdJQ0FnWTI5dWMzUWdjR1ZsY2tsa2N5QTlJSEJsWlhKekxuTndiR2wwS0Z3aUxGd2lLVHRjYmx4dUlDQWdJR052Ym5OMElHTnZkVzUwVUdGMGFDQTlJSEJoZEdndWNtVnpiMngyWlNod1lYUm9MbXB2YVc0b2RISmhZMnRsY2tadmJHUmxjaXdnWUNSN2JtRnRaWDB1WTI5MWJuUmdLU2s3WEc1Y2JpQWdJQ0JzWlhRZ2MyVnhkV1Z1WTJVNklHNTFiV0psY2p0Y2JseHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnpaWEYxWlc1alpTQTlJSEJoY25ObFNXNTBLR1p6TG5KbFlXUkdhV3hsVTNsdVl5aGpiM1Z1ZEZCaGRHZ3BMblJ2VTNSeWFXNW5LRndpZFhSbUxUaGNJaWtwTzF4dUlDQWdJQ0FnYVdZZ0tHbHpUbUZPS0hObGNYVmxibU5sS1NrZ2MyVnhkV1Z1WTJVZ1BTQXhPMXh1SUNBZ0lDQWdaV3h6WlNCelpYRjFaVzVqWlNBclBTQXhPMXh1SUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl1YnkxMWJuVnpaV1F0ZG1GeWMxeHVJQ0FnSUgwZ1kyRjBZMmdnS0dVNklIVnVhMjV2ZDI0cElIdGNiaUFnSUNBZ0lITmxjWFZsYm1ObElEMGdNVHRjYmlBZ0lDQjlYRzRnSUNBZ0x5OWNiaUFnSUNBdkx5QnBaaUFvYVc1amNtVnRaVzUwVm1WeWMybHZiaWtnZTF4dUlDQWdJQzh2SUNBZ2RtVnljMmx2YmlBOUlIWmxjbk5wYjI0Z0t5QmdMU1I3YzJWeGRXVnVZMlY5WUR0Y2JpQWdJQ0F2THlBZ0lDOHZJSE5sY1hWbGJtTmxJRDBnTVR0Y2JpQWdJQ0F2THlCOVhHNWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdabTl5SUNoamIyNXpkQ0J3WldWeUlHOW1JSEJsWlhKSlpITXBJSHRjYmlBZ0lDQWdJQ0FnY0dGamEyRm5aVU52Ym5SeVlXTjBLSEJsWlhJc0lHbHVjSFYwTENCdVlXMWxMQ0IyWlhKemFXOXVLVHRjYmlBZ0lDQWdJQ0FnYVc1emRHRnNiRU52Ym5SeVlXTjBLSEJsWlhJc0lHNWhiV1VwTzF4dUlDQWdJQ0FnSUNCaGNIQnliM1psUTI5dWRISmhZM1FvWEc0Z0lDQWdJQ0FnSUNBZ2NHVmxjaXhjYmlBZ0lDQWdJQ0FnSUNCdVlXMWxMRnh1SUNBZ0lDQWdJQ0FnSUhCbFpYSWdQVDA5SUZ3aWIzSm5MV0V0Y0dWbGNpMHdYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lEOGdYQ0owYkhNdFkyRXRZMlZ5ZEM1d1pXMWNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ09pQmNJbTl5WkdWeVpYSXRkR3h6TFdOaExXTmxjblF1Y0dWdFhDSXNYRzRnSUNBZ0lDQWdJQ0FnYzJWeGRXVnVZMlVzWEc0Z0lDQWdJQ0FnSUNBZ2RtVnljMmx2Yml4Y2JpQWdJQ0FnSUNBZ0lDQmpiMnhzWldOMGFXOXVjME52Ym1acFoxeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdabk11ZDNKcGRHVkdhV3hsVTNsdVl5aGpiM1Z1ZEZCaGRHZ3NJSE5sY1hWbGJtTmxMblJ2VTNSeWFXNW5LQ2twTzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1Z5Y2pvZ1lXNTVLU0I3WEc0Z0lDQWdJQ0JzYjJjdVpYSnliM0lvWENKRmNuSnZjaUJrWlhCc2IzbHBibWNnWTI5dWRISmhZM1E2WENJc0lHVnljaWs3WEc0Z0lDQWdmVnh1SUNBZ0lHTnZiVzFwZEVOb1lXbHVZMjlrWlNodVlXMWxMQ0J6WlhGMVpXNWpaU3dnZG1WeWMybHZiaXdnWTI5c2JHVmpkR2x2Ym5ORGIyNW1hV2NwTzF4dUlDQjlLVHRjYmx4dVkyOXVjM1FnWjJWMFEzSjVjSFJ2VFdGMFpYSnBZV3dnUFNCdVpYY2dRMjl0YldGdVpDZ3BYRzRnSUM1dVlXMWxLRndpWjJWMExXTnllWEIwYnkxdFlYUmxjbWxoYkZ3aUtWeHVJQ0F1WkdWelkzSnBjSFJwYjI0b1hDSmpiM0JwWlhNZ2RHaGxJR055ZVhCMGJ5QnRZWFJsY21saGJDQjBieUIwYUdVZ2MyVnNaV04wWldRZ1ptOXNaR1Z5WENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFdadmJHUmxjaUE4VTNSeWFXNW5QbHdpTENCY0ltOTFkSEIxZENCbWIyeGtaWEpjSWl3Z1hDSmtiMk5yWlhJdlpHOWphMlZ5TFdSaGRHRmNJaWxjYmlBZ0xtOXdkR2x2YmloY0lpMHRiM0puSUZ0VGRISnBibWRkWENJc0lGd2lkR2hsSUc5eVp5OXdaV1Z5SUhSdklHVjRkSEpoWTNRZ1puSnZiVndpTENCY0ltOXlaeTFoWENJcFhHNGdJQzVoWTNScGIyNG9ZWE41Ym1NZ0tHOXdkR2x2Ym5NNklHRnVlU2tnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSEJyWnlBOUlFcFRUMDR1Y0dGeWMyVW9YRzRnSUNBZ0lDQm1jeTV5WldGa1JtbHNaVk41Ym1Nb2NHRjBhQzVxYjJsdUtIQnliMk5sYzNNdVkzZGtLQ2tzSUZ3aWNHRmphMkZuWlM1cWMyOXVYQ0lwTENCY0luVjBaaTA0WENJcFhHNGdJQ0FnS1R0Y2JseHVJQ0FnSUdOdmJuTjBJSFpsY25OcGIyNGdQU0J3YTJjdWRtVnljMmx2Ymp0Y2JseHVJQ0FnSUdOdmJuTjBJR3h2WnlBOUlHeHZaMmRsY2k1bWIzSW9YQ0puWlhRdFkzSjVjSFJ2TFcxaGRHVnlhV0ZzWENJcE8xeHVJQ0FnSUd4dlp5NWtaV0oxWnloY2JpQWdJQ0FnSUdCeWRXNXVhVzVuSUhkcGRHZ2diM0IwYVc5dWN6b2dKSHRLVTA5T0xuTjBjbWx1WjJsbWVTaHZjSFJwYjI1ektYMGdabTl5SUNSN2NHdG5MbTVoYldWOUlIWmxjbk5wYjI0Z0pIdDJaWEp6YVc5dWZXQmNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSHNnWm05c1pHVnlMQ0J2Y21jZ2ZTQTlJRzl3ZEdsdmJuTTdYRzRnSUNBZ1pYaGxZMU41Ym1Nb1lHUnZZMnRsY2lCamNDQWtlMjl5WjMwNkwzZGxZWFpsY2k5amJHbGxiblF2TGlBa2UyWnZiR1JsY24xZ0xDQjdYRzRnSUNBZ0lDQmpkMlE2SUhCeWIyTmxjM011WTNka0tDa3NYRzRnSUNBZ2ZTazdYRzRnSUgwcE8xeHVYRzVqYjI1emRDQm1ZV0p5YVdORGJXUWdQU0J1WlhjZ1EyOXRiV0Z1WkNncFhHNGdJQzV1WVcxbEtGd2labTl5TFdaaFluSnBZMXdpS1Z4dUlDQXVZMjl0YldGdVpDaGNJbVpoWW5KcFkxd2lLVnh1SUNBdVpHVnpZM0pwY0hScGIyNG9YRzRnSUNBZ1hDSmxlSEJ2YzJWeklITmxkbVZ5WVd3Z1kyOXRiV0Z1WkhNZ2RHOGdhR1ZzY0NCdFlXNWhaMlVnZEdobElHWmhZbkpwWXlCcGJtWnlZWE4wY25WamRIVnlaVndpWEc0Z0lDazdYRzVjYm1aaFluSnBZME50WkM1aFpHUkRiMjF0WVc1a0tHTnZiWEJwYkdWRGIyMXRZVzVrS1R0Y2JtWmhZbkpwWTBOdFpDNWhaR1JEYjIxdFlXNWtLR1Y0ZEhKaFkzUkpibVJsZUdWektUdGNibVpoWW5KcFkwTnRaQzVoWkdSRGIyMXRZVzVrS0dWdWMzVnlaVWx1Wm5KaEtUdGNibVpoWW5KcFkwTnRaQzVoWkdSRGIyMXRZVzVrS0dSbGNHeHZlVU52Ym5SeVlXTjBLVHRjYm1aaFluSnBZME50WkM1aFpHUkRiMjF0WVc1a0tHZGxkRU55ZVhCMGIwMWhkR1Z5YVdGc0tUdGNibVpoWW5KcFkwTnRaQzVoWkdSRGIyMXRZVzVrS0dWNGRISmhZM1JEYjJ4c1pXTjBhVzl1Y3lrN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElHWjFibU4wYVc5dUlHWmhZbkpwWXlncElIdGNiaUFnY21WMGRYSnVJR1poWW5KcFkwTnRaRHRjYm4xY2JpSmRmUT09Il19
509
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGktbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN4QyxPQUFPLE9BQU8sTUFBTSx3QkFBd0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsWUFBWSxHQUNiLGtDQUF5QjtBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUNMLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGVBQWUsRUFDZixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLDRCQUE0QixHQUM3Qix1QkFBb0I7QUFDckIscUNBQTRCO0FBQzVCLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QixPQUFPLEVBQ0wsa0JBQWtCLElBQUksYUFBYSxFQUVuQyxnQkFBZ0IsRUFDaEIseUJBQXlCLEdBQzFCLHNDQUFtQztBQUdwQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRXJDLFNBQVMsdUJBQXVCO0lBQzlCLE9BQU87UUFDTCxJQUFJLEVBQUUsNEJBQTRCO1FBQ2xDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUTtZQUN4QixJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEUsTUFBTSxVQUFVLEdBQUc7Z0JBQ2pCLFlBQVk7Z0JBQ1osR0FBRyxZQUFZLEtBQUs7Z0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQzthQUNwQyxDQUFDO1lBRUYsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztvQkFDaEUsT0FBTyxTQUFTLENBQUM7Z0JBQ25CLENBQUM7WUFDSCxDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLE9BQU8sRUFBRTtLQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUM7S0FDeEIsV0FBVyxDQUFDLDJCQUEyQixDQUFDO0tBQ3hDLE1BQU0sQ0FBQyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsS0FBSyxDQUFDO0tBQ2pFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsbUNBQW1DLEVBQUUsS0FBSyxDQUFDO0tBQzdELE1BQU0sQ0FDTCxTQUFTLEVBQ1QscURBQXFELEVBQ3JELEtBQUssQ0FDTjtLQUNBLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUM7S0FDN0QsTUFBTSxDQUFDLFVBQVUsRUFBRSwwQ0FBMEMsRUFBRSxLQUFLLENBQUM7S0FDckUsTUFBTSxDQUNMLDJCQUEyQixFQUMzQixtRUFBbUUsRUFDbkUsaUJBQWlCLENBQ2xCO0tBQ0EsTUFBTSxDQUNMLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsZ0NBQWdDLENBQ2pDO0tBQ0EsTUFBTSxDQUFDLHVCQUF1QixFQUFFLGlDQUFpQyxFQUFFLEtBQUssQ0FBQztLQUN6RSxNQUFNLENBQUMsa0JBQWtCLEVBQUUsNEJBQTRCLEVBQUUsZUFBZSxDQUFDO0tBQ3pFLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSw2QkFBNkIsRUFBRSxhQUFhLENBQUM7S0FDekUsTUFBTSxDQUFDLGNBQWMsRUFBRSw0Q0FBNEMsRUFBRSxLQUFLLENBQUM7S0FDM0UsTUFBTSxDQUFDLFNBQVMsRUFBRSx3Q0FBd0MsRUFBRSxLQUFLLENBQUM7S0FDbEUsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFZLEVBQUUsRUFBRTtJQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNwQixFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUNuRSxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDeEIsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUN4RSxDQUFDO0lBRUYsSUFBSSxZQUFZLEdBQUcsU0FBUyxDQUFDO0lBRTdCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFFNUIsSUFBSTtJQUNGLHdDQUF3QztJQUN4QyxHQUFHO0lBQ0gsd0NBQXdDO0lBQ3hDLEtBQUs7SUFDTCx3Q0FBd0M7SUFDeEMsSUFBSTtJQUNKLHdDQUF3QztJQUN4QyxXQUFXLEVBQ1gsTUFBTTtJQUNOLHdDQUF3QztJQUN4QyxLQUFLO0lBQ0wsd0NBQXdDO0lBQ3hDLGlCQUFpQjtJQUNqQix3Q0FBd0M7SUFDeEMsS0FBSztJQUNMLHdDQUF3QztJQUN4QyxNQUFNLEVBRU4sWUFBWTtJQUNaLHdDQUF3QztJQUN4QyxVQUFVO0lBQ1Ysd0NBQXdDO0lBQ3hDLEtBQUssR0FDTixHQUFHLE9BQU8sQ0FBQztJQUNaLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzQyxJQUFJLENBQUM7UUFDSCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsWUFBWSxHQUFHLEVBQUU7aUJBQ2QsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQztpQkFDekQsUUFBUSxFQUFFLENBQUM7WUFFZCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUNuQyxnQkFBZ0IsRUFDaEIsQ0FBQyxDQUFNLEVBQUUsT0FBZSxFQUFFLEVBQUU7Z0JBQzFCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRW5DLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN4QixPQUFPLENBQUMsSUFBSSxDQUNWLGtDQUFrQyxPQUFPLGNBQWMsQ0FDeEQsQ0FBQztvQkFDRixPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDO2dCQUVELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQyxDQUNGLENBQUM7WUFFRixZQUFZLEdBQUcsUUFBUSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsR0FBRyxDQUFDLElBQUksQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBSyxDQUNQLHlCQUF5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLFlBQVksT0FBTyxFQUFFLENBQ3RGLENBQUM7SUFFRixZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFDMUMsQ0FBQyxDQUFDLFlBQVk7UUFDZCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFFM0MsTUFBTSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMscURBQXFELE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEUsUUFBUSxDQUFDLFVBQVUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3QixJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsR0FBRyxDQUFDLElBQUksQ0FBQywwQkFBMEIsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM1QyxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxDQUM5QyxDQUFDO1FBQ0YsSUFBSSxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sSUFBSSxhQUFhLENBQ3JCLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FDcEUsQ0FBQztZQUNKLENBQUM7WUFFRCxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQ2hELFVBQVUsQ0FBQyxNQUFNLEVBQ2pCLEVBQUUsQ0FBQyxHQUFHLEVBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFDMUIsU0FBUyxFQUNULFlBQVksQ0FDYixDQUFDO1lBQ0YsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMvQixNQUFNLElBQUksYUFBYSxDQUNyQixZQUFZLENBQUMsTUFBTTtxQkFDaEIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDYixFQUFFLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FDekQ7cUJBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUNkLENBQUM7WUFDSixDQUFDO1lBRUQsTUFBTSxtQkFBbUIsR0FBdUI7Z0JBQzlDLEdBQUcsWUFBWSxDQUFDLE9BQU87Z0JBQ3ZCLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixNQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNO2dCQUM1QixXQUFXLEVBQUUsS0FBSztnQkFDbEIsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLGFBQWEsRUFBRSxLQUFLO2FBQ3JCLENBQUM7WUFDRixNQUFNLGlCQUFpQixHQUFHLEVBQUU7aUJBQ3pCLGtCQUFrQixDQUNqQjtnQkFDRSxHQUFHLFlBQVk7Z0JBQ2YsT0FBTyxFQUFFLG1CQUFtQjthQUM3QixFQUNELFVBQVUsRUFDVixDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQ2xDO2lCQUNBLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBRWhELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN2QixNQUFNLElBQUksYUFBYSxDQUNyQixvREFBb0QsVUFBVSxFQUFFLENBQ2pFLENBQUM7WUFDSixDQUFDO1lBRUQsNEJBQTRCLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDLENBQUM7WUFDaEUsTUFBTSxlQUFlLEdBQUcsTUFBTSxNQUFNLENBQUM7Z0JBQ25DLEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLE9BQU8sRUFBRTtvQkFDUCx1QkFBdUIsRUFBRTtvQkFDekIsT0FBTyxDQUFDO3dCQUNOLGlCQUFpQixFQUFFLElBQUk7d0JBQ3ZCLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7d0JBQ3BCLE1BQU0sRUFBRSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUU7cUJBQzVELENBQUM7aUJBQ0g7YUFDRixDQUFDLENBQUM7WUFDSCxHQUFHLENBQUMsSUFBSSxDQUNOLHVCQUF1QixNQUFNLGNBQWMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQ25FLENBQUM7WUFDRixNQUFNLGVBQWUsQ0FBQyxLQUFLLENBQUM7Z0JBQzFCLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQzFDLE1BQU0sRUFBRSxLQUFLO2dCQUNiLElBQUksRUFBRSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSztnQkFDaEMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLO2dCQUN4QyxzQkFBc0IsRUFBRSxDQUFDLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxFQUFFO29CQUM1RCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQzNCLGtCQUFrQixDQUNuQixDQUFDO29CQUVGLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7d0JBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3BCLFNBQVMsRUFDVCxJQUFJOzZCQUNELFFBQVEsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUM7NkJBQzNDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDOzZCQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDYixDQUFDO29CQUNKLENBQUM7b0JBRUQsT0FBTyxrQkFBa0IsQ0FBQztnQkFDNUIsQ0FBQzthQUNGLENBQUMsQ0FBQztZQUNILE1BQU0sZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hDLENBQUM7Z0JBQVMsQ0FBQztZQUNULEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztTQUFNLENBQUM7UUFDTiw0QkFBNEIsQ0FBQyxZQUFZLEVBQUU7WUFDekMsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQzVCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLGFBQWEsRUFBRSxVQUFVO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRztRQUNkLEtBQUssRUFBRSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQzVDLFdBQVcsRUFBRSxpREFBaUQ7UUFDOUQsYUFBYSxFQUFFLG9DQUFvQztRQUNuRCxLQUFLLEVBQUUsdUNBQXVDO1FBQzlDLElBQUksRUFBRSwwQkFBMEI7S0FDakMsQ0FBQztJQUVGLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztJQUM1QixNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQztJQUVwQyxlQUFlLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUM1QixlQUFlLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUMxQyxlQUFlLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUVsQyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDNUIsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQzdCLE9BQU8sZUFBZSxDQUFDLE9BQU8sQ0FBQztJQUMvQixlQUFlLENBQUMsSUFBSSxHQUFHLE1BQU07UUFDM0IsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLO1FBQzVCLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDO0lBRXhCLEVBQUUsQ0FBQyxhQUFhLENBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLEVBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQ2hDLENBQUM7SUFFRixFQUFFLENBQUMsYUFBYSxDQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLEVBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FDcEMsQ0FBQztJQUVGLElBQUksS0FBSyxJQUFJLFlBQVk7UUFDdkIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUU5RCxHQUFHLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDdkQsUUFBUSxDQUFDLGFBQWEsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNsQyxRQUFRLENBQUMsK0JBQStCLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMzRCxHQUFHLENBQUMsSUFBSSxDQUNOLFlBQVksSUFBSSw4QkFBOEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNyRSxDQUFDO0lBQ0YsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNSLEdBQUcsQ0FBQyxJQUFJLENBQUMseURBQXlELENBQUMsQ0FBQztRQUNwRSxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ3RCLEdBQUcsRUFBRSxNQUFNO1lBQ1gsR0FBRyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUU7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDO0FBRUwsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUU7S0FDakMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0tBQzFCLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQztLQUMzQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUM7S0FDL0MsTUFBTSxDQUFDLG1CQUFtQixFQUFFLCtDQUErQyxDQUFDO0tBQzVFLFdBQVcsQ0FDViwyRUFBMkUsQ0FDNUU7S0FDQSxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3BCLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQ25FLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBRTVCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxQyxHQUFHLENBQUMsS0FBSyxDQUNQLHlCQUF5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLFlBQVksT0FBTyxFQUFFLENBQ3RGLENBQUM7SUFFRix3Q0FBd0M7SUFDeEMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRXZDLE1BQU0sTUFBTSxHQUFVLEVBQUUsQ0FBQztJQUN6QixJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQXdCLEVBQUUsQ0FBQztJQUN2QyxNQUFNLFVBQVUsR0FBd0IsRUFBRSxDQUFDO0lBRTNDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNO1FBQ2xCLE1BQU0sSUFBSSxhQUFhLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUUxRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN4QixJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZixNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsY0FBYyxDQUFDLE1BQU0sb0JBQW9CLENBQUMsQ0FBQztJQUNoRSxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsV0FBVyxDQUFDLE1BQU0sd0JBQXdCLENBQUMsQ0FBQztJQUNqRSxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEQsR0FBRyxDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELFlBQVksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckMsZUFBZSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQztBQUVMLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQUU7S0FDckMsT0FBTyxDQUFDLHFCQUFxQixDQUFDO0tBQzlCLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQztLQUMzQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUM7S0FDL0MsTUFBTSxDQUFDLG1CQUFtQixFQUFFLCtDQUErQyxDQUFDO0tBQzVFLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxtQ0FBbUMsQ0FBQztLQUNoRSxNQUFNLENBQUMsc0JBQXNCLEVBQUUsY0FBYyxDQUFDO0tBQzlDLE1BQU0sQ0FDTCxzQkFBc0IsRUFDdEIsNktBQTZLLENBQzlLO0tBQ0EsV0FBVyxDQUNWLDJFQUEyRSxDQUM1RTtLQUNBLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBWSxFQUFFLEVBQUU7SUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDcEIsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDbkUsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFFNUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlDLEdBQUcsQ0FBQyxLQUFLLENBQ1AseUJBQXlCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksWUFBWSxPQUFPLEVBQUUsQ0FDdEYsQ0FBQztJQUVGLHdDQUF3QztJQUN4QyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUUxRCxJQUFJLENBQUM7UUFDSCxJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDakQsNkRBQTZEO1FBQy9ELENBQUM7UUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1lBQ3BCLGNBQWM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO0lBQ3pCLElBQUksSUFBSSxFQUFFLENBQUM7UUFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksTUFBTSxFQUFFLENBQUM7UUFDWCxHQUFHLENBQUMsSUFBSSxDQUFDLHVCQUF1QixNQUFNLEtBQUssQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTTtRQUNsQixNQUFNLElBQUksYUFBYSxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFFMUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNwQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ1IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDckIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQzVCLENBQUM7SUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsR0FBRyxDQUFDLElBQUksQ0FDTixxRUFBcUUsQ0FDdEUsQ0FBQztRQUNGLE9BQU87SUFDVCxDQUFDO0lBRUQsS0FBSyxVQUFVLE9BQU8sQ0FBQyxVQUFxQjtRQUMxQyxNQUFNLElBQUksR0FLSixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3JCLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkIsTUFBTSxXQUFXLEdBQXdCLEVBQUUsQ0FBQztZQUM1QyxLQUFLLE1BQU0sR0FBRyxJQUFJLFVBQVUsSUFBSSxNQUFNLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQzdDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLGFBQWEsQ0FDcEMsS0FBSyxFQUNMLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUNoQixFQUFFO2dCQUNGLElBQUk7Z0JBQ0oseURBQXlEO2dCQUN6RCwyREFBMkQ7Z0JBQzNELEtBQUs7Z0JBQ0wsQ0FBQyxDQUFDLFVBQVUsQ0FDYixDQUFDO1lBQ0osQ0FBQztZQUVELElBQUksZ0JBQWdCLEdBQWtDLFNBQVMsQ0FBQztZQUVoRSxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN0RCxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO29CQUMvQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FDM0MsR0FBRyxDQUNKLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO3dCQUM1QixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQU0sVUFBVSxDQUFDLFFBQW1COzRCQUFFLE9BQU8sSUFBSSxDQUFDO3dCQUM1RCxnQkFBZ0IsR0FBRyxDQUFRLENBQUM7d0JBQzVCLE9BQU8sS0FBSyxDQUFDO29CQUNmLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUM3QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7aUJBQ3RCLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixJQUFJLGFBQWE7Z0JBQ2YsR0FBRztxQkFDQSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDM0IsSUFBSSxDQUFDLFNBQVMsYUFBYSxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUMzQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7aUJBQ3BCLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUVqQixHQUFHO2lCQUNBLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMzQixJQUFJLENBQUMsU0FBUyxXQUFXLCtCQUErQixDQUFDLENBQUM7WUFDN0QsSUFBSSxnQkFBZ0I7Z0JBQ2xCLEdBQUc7cUJBQ0EsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzNCLElBQUksQ0FDSCwrQkFBK0IsVUFBVSxFQUFFLFFBQWtCLEVBQUUsQ0FDaEUsQ0FBQztZQUVOLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUN2QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDeEQsSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLE9BQU8sR0FBeUIsRUFBRSxDQUFDO1lBQ3ZDLElBQUksVUFBVSxHQUF1QixFQUFFLENBQUM7WUFDeEMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25CLEdBQUc7cUJBQ0EsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzNCLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2dCQUNqRCxPQUFPLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RDLEdBQUc7cUJBQ0EsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzNCLElBQUksQ0FBQyxTQUFTLE9BQU8sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxDQUFDO2dCQUMzQyxVQUFVLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVDLEdBQUc7cUJBQ0EsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzNCLElBQUksQ0FBQyxTQUFTLFVBQVUsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFDRCxPQUFPO2dCQUNMLE9BQU87Z0JBQ1AsVUFBVTtnQkFDVixXQUFXLEVBQUUsT0FBTztnQkFDcEIsTUFBTSxFQUFFLGdCQUFnQjthQUN6QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTyxFQUFFLENBQUM7SUFDN0IsTUFBTSxVQUFVLEdBQUcsTUFBTSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sYUFBYSxHQUFHO1FBQ3BCLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMxRCxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLEVBQUU7UUFDeEMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0tBQzlCLENBQUM7SUFFekIsTUFBTSxrQkFBa0IsR0FBRztRQUN6QixHQUFHLElBQUksR0FBRyxDQUNSLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FDbEUsQ0FBQyxNQUFNLEVBQUU7S0FDWCxDQUFDO0lBRUYsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5QixnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQ3JDLE1BQU0sRUFDTixVQUFVLEVBQ1YseUJBQXlCLENBQzFCLENBQUM7UUFDRixNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQyxJQUFJLENBQ3pDLE1BQU0sRUFDTix5QkFBeUIsQ0FDMUIsQ0FBQztRQUNGLEVBQUUsQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUNsRSxHQUFHLENBQUMsSUFBSSxDQUNOLFVBQVUsYUFBYSxDQUFDLE1BQU0sbUJBQW1CLHFCQUFxQixFQUFFLENBQ3pFLENBQUM7UUFDRixHQUFHLENBQUMsSUFBSSxDQUNOLGdDQUFnQyx5QkFBeUIsNkJBQTZCLENBQ3ZGLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDakIsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2RCxNQUFNLE9BQU8sR0FBd0IsQ0FBQyxHQUFHLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQ2xFLE9BQU8sQ0FDZSxDQUFDO1lBQ3pCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDcEIsWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0Qyx5QkFBeUIsQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVELEdBQUcsQ0FBQyxJQUFJLENBQ04sVUFBVSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUM1RyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVMLE1BQU0sV0FBVyxHQUFHLElBQUksT0FBTyxFQUFFO0tBQzlCLElBQUksQ0FBQyxhQUFhLENBQUM7S0FDbkIsV0FBVyxDQUFDLG1EQUFtRCxDQUFDO0tBQ2hFLE1BQU0sQ0FDTCxzQkFBc0IsRUFDdEIsbURBQW1ELEVBQ25ELG1CQUFtQixDQUNwQjtLQUNBLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLENBQUM7S0FDN0UsTUFBTSxDQUFDLHFCQUFxQixFQUFFLHFDQUFxQyxFQUFFLElBQUksQ0FBQztLQUMxRSxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3BCLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQ25FLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBRTVCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsR0FBRyxDQUFDLEtBQUssQ0FDUCx5QkFBeUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxZQUFZLE9BQU8sRUFBRSxDQUN0RixDQUFDO0lBQ0Ysd0NBQXdDO0lBQ3hDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUMvQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNwQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVwQyxNQUFNLDBCQUEwQixDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUV6RSxHQUFHLENBQUMsSUFBSSxDQUNOLDhEQUE4RCxTQUFTLElBQUksQ0FDNUUsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUwsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUU7S0FDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0tBQ3ZCLFdBQVcsQ0FBQywrQkFBK0IsQ0FBQztLQUM1QyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsNEJBQTRCLENBQUM7S0FDdkQsTUFBTSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsQ0FBQztLQUMxQyxNQUFNLENBQ0wsK0JBQStCLEVBQy9CLGtFQUFrRSxDQUNuRTtLQUNBLE1BQU0sQ0FDTCw2QkFBNkIsRUFDN0Isc0VBQXNFLEVBQ3RFLEtBQUssQ0FDTjtLQUNBLE1BQU0sQ0FDTCwwQkFBMEIsRUFDMUIsNEVBQTRFLEVBQzVFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FDdEU7S0FDQSxNQUFNLENBQ0wsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUMxQix3Q0FBd0MsQ0FDekM7S0FDQSxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3BCLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQ25FLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBRTVCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxQyxHQUFHLENBQUMsS0FBSyxDQUNQLHlCQUF5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLFlBQVksT0FBTyxFQUFFLENBQ3RGLENBQUM7SUFFRixNQUFNLEVBQ0osSUFBSSxFQUNKLEtBQUssRUFDTCxLQUFLLEVBQ0wsYUFBYTtJQUNiLDZEQUE2RDtJQUM3RCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ2xCLEdBQUcsT0FBTyxDQUFDO0lBQ1osTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRTFFLElBQUksUUFBZ0IsQ0FBQztJQUVyQixJQUFJLENBQUM7UUFDSCxRQUFRLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDbEUsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQzs7WUFDN0IsUUFBUSxJQUFJLENBQUMsQ0FBQztRQUNuQiw2REFBNkQ7SUFDL0QsQ0FBQztJQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7UUFDcEIsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNmLENBQUM7SUFDRCxFQUFFO0lBQ0YsMEJBQTBCO0lBQzFCLHdDQUF3QztJQUN4QyxxQkFBcUI7SUFDckIsSUFBSTtJQUVKLElBQUksQ0FBQztRQUNILEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7WUFDM0IsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUIsZUFBZSxDQUNiLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxLQUFLLGNBQWM7Z0JBQ3JCLENBQUMsQ0FBQyxpQkFBaUI7Z0JBQ25CLENBQUMsQ0FBQyx5QkFBeUIsRUFDN0IsUUFBUSxFQUNSLE9BQU8sRUFDUCxpQkFBaUIsQ0FDbEIsQ0FBQztRQUNKLENBQUM7UUFDRCxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQUMsT0FBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixHQUFHLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxlQUFlLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUM5RCxDQUFDLENBQUMsQ0FBQztBQUVMLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQUU7S0FDcEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO0tBQzNCLFdBQVcsQ0FBQyxtREFBbUQsQ0FBQztLQUNoRSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixDQUFDO0tBQ2xFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSw4QkFBOEIsRUFBRSxPQUFPLENBQUM7S0FDakUsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFZLEVBQUUsRUFBRTtJQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNwQixFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUNuRSxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztJQUU1QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDOUMsR0FBRyxDQUFDLEtBQUssQ0FDUCx5QkFBeUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxZQUFZLE9BQU8sRUFBRSxDQUN0RixDQUFDO0lBQ0YsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDaEMsUUFBUSxDQUFDLGFBQWEsR0FBRyxxQkFBcUIsTUFBTSxFQUFFLEVBQUU7UUFDdEQsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7S0FDbkIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFTCxNQUFNLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRTtLQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDO0tBQ2xCLE9BQU8sQ0FBQyxRQUFRLENBQUM7S0FDakIsV0FBVyxDQUNWLG1FQUFtRSxDQUNwRSxDQUFDO0FBRUosU0FBUyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNyQyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3JDLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDbEMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNyQyxTQUFTLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDeEMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBRXpDLE1BQU0sQ0FBQyxPQUFPLFVBQVUsTUFBTTtJQUM1QixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gXCJjb21tYW5kZXJcIjtcbmltcG9ydCB7IExvZ2dpbmcsIHRvUGFzY2FsQ2FzZSB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFBsdWdpbiwgcm9sbHVwIH0gZnJvbSBcInJvbGx1cFwiO1xuaW1wb3J0IHJlcGxhY2UgZnJvbSBcIkByb2xsdXAvcGx1Z2luLXJlcGxhY2VcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IsIFNlcmlhbGl6YXRpb25FcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHtcbiAgZ2VuZXJhdGVNb2RlbERlc2lnbkRvY3MsXG4gIGdlbmVyYXRlTW9kZWxJbmRleGVzLFxuICByZWFkTW9kZWxGaWxlLFxuICByZWFkTW9kZWxGb2xkZXJzLFxuICB3cml0ZURlc2lnbkRvY3MsXG4gIHdyaXRlSW5kZXhlcyxcbn0gZnJvbSBcIi4vY2xpZW50L2luZGV4ZXNcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtcbiAgYXBwcm92ZUNvbnRyYWN0LFxuICBlbnN1cmVJbmZyYXN0cnVjdHVyZUJvb3RlZCxcbiAgaW5zdGFsbENvbnRyYWN0LFxuICBwYWNrYWdlQ29udHJhY3QsXG4gIGNvbW1pdENoYWluY29kZSxcbiAgZ2V0Q29udHJhY3RTdGFydENvbW1hbmQsXG4gIGNvbXBpbGVXaXRoVHNjb25maWdPdmVycmlkZXMsXG59IGZyb20gXCIuL2NsaS11dGlsc1wiO1xuaW1wb3J0IFwiLi9zaGFyZWQvb3ZlcnJpZGVzXCI7XG5pbXBvcnQgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcbmltcG9ydCB7XG4gIGV4dHJhY3RDb2xsZWN0aW9ucyBhcyBleENvbGxlY3Rpb25zLFxuICBQcml2YXRlQ29sbGVjdGlvbixcbiAgd3JpdGVDb2xsZWN0aW9ucyxcbiAgd3JpdGVDb2xsZWN0aW9uRGVzaWduRG9jcyxcbn0gZnJvbSBcIi4vY2xpZW50L2NvbGxlY3Rpb25zL2luZGV4XCI7XG5pbXBvcnQgeyBDb3VjaERCRGVzaWduRG9jLCBDcmVhdGVJbmRleFJlcXVlc3QgfSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1jb3VjaGRiXCI7XG5cbmNvbnN0IGxvZ2dlciA9IExvZ2dpbmcuZm9yKFwiZmFicmljXCIpO1xuXG5mdW5jdGlvbiByZXNvbHZlQnVuZGxlZEpzSW1wb3J0cygpOiBQbHVnaW4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IFwicmVzb2x2ZS1idW5kbGVkLWpzLWltcG9ydHNcIixcbiAgICByZXNvbHZlSWQoc291cmNlLCBpbXBvcnRlcikge1xuICAgICAgaWYgKCFpbXBvcnRlciB8fCAhc291cmNlLnN0YXJ0c1dpdGgoXCIuXCIpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXNvbHZlZFBhdGggPSBwYXRoLnJlc29sdmUocGF0aC5kaXJuYW1lKGltcG9ydGVyKSwgc291cmNlKTtcbiAgICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBbXG4gICAgICAgIHJlc29sdmVkUGF0aCxcbiAgICAgICAgYCR7cmVzb2x2ZWRQYXRofS5qc2AsXG4gICAgICAgIHBhdGguam9pbihyZXNvbHZlZFBhdGgsIFwiaW5kZXguanNcIiksXG4gICAgICBdO1xuXG4gICAgICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBjYW5kaWRhdGVzKSB7XG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKGNhbmRpZGF0ZSkgJiYgZnMuc3RhdFN5bmMoY2FuZGlkYXRlKS5pc0ZpbGUoKSkge1xuICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSxcbiAgfTtcbn1cblxuY29uc3QgY29tcGlsZUNvbW1hbmQgPSBuZXcgQ29tbWFuZCgpXG4gIC5uYW1lKFwiY29tcGlsZS1jb250cmFjdFwiKVxuICAuZGVzY3JpcHRpb24oXCJDcmVhdGVzIGEgZ2xvYmFsIGNvbnRyYWN0XCIpXG4gIC5vcHRpb24oXCItLWRldlwiLCBcImNvbXBpbGVzIGNvbnRyYWN0cyB3aXRob3V0IG1pbmlmaWNhdGlvblwiLCBmYWxzZSlcbiAgLm9wdGlvbihcIi0tZGVidWdcIiwgXCJtYWtlcyBhdHRhY2hpbmcgZGVidWdnZXIgcG9zc2libGVcIiwgZmFsc2UpXG4gIC5vcHRpb24oXG4gICAgXCItLWNjYWFzXCIsXG4gICAgXCJBanVzdHMgdGhlIHBhY2thZ2UgY29tbWFuZHMgdG8gYmUgZGVwbG95ZWQgYXMgY2NhYXNcIixcbiAgICBmYWxzZVxuICApXG4gIC5vcHRpb24oXCItLW5hbWUgPFN0cmluZz5cIiwgXCJjb250cmFjdCBuYW1lXCIsIFwiZ2xvYmFsLWNvbnRyYWN0XCIpXG4gIC5vcHRpb24oXCItLWJ1bmRsZVwiLCBcIkJ1bmRsZXMgd2l0aCByb2xsdXAgaW5zdGVhZCBvZiB1c2luZyB0c2NcIiwgZmFsc2UpXG4gIC5vcHRpb24oXG4gICAgXCItLXRzLWNvbmZpZy1maWxlIDxzdHJpbmc+XCIsXG4gICAgXCJyZWxhdGl2ZSBwYXRoIHRvIHRoZSB0cyBjb25maWcgZmlsZSBiYXNlZCBvbiBjd2Qgb3IgYWJzb2x1dGUgcGF0aFwiLFxuICAgIFwiLi90c2NvbmZpZy5qc29uXCJcbiAgKVxuICAub3B0aW9uKFxuICAgIFwiLS1kZXNjcmlwdGlvbiA8U3RyaW5nPlwiLFxuICAgIFwiY29udHJhY3QgZGVzY3JpcHRpb25cIixcbiAgICBcIkdsb2JhbCBjb250cmFjdCBpbXBsZW1lbnRhdGlvblwiXG4gIClcbiAgLm9wdGlvbihcIi0tc3RyaXAtY29udHJhY3QtbmFtZVwiLCBcInN0cmlwIGNvbnRyYWN0IG5hbWUgZnJvbSBvdXRwdXRcIiwgZmFsc2UpXG4gIC5vcHRpb24oXCItLWlucHV0IDxTdHJpbmc+XCIsIFwiaW5wdXQgZm9sZGVyIGZvciBjb250cmFjdHNcIiwgXCJsaWIvY29udHJhY3RzXCIpXG4gIC5vcHRpb24oXCItLW91dHB1dCA8U3RyaW5nPlwiLCBcIm91dHB1dCBmb2xkZXIgZm9yIGNvbnRyYWN0c1wiLCBcIi4vY29udHJhY3RzXCIpXG4gIC5vcHRpb24oXCItLXNvdXJjZW1hcHNcIiwgXCJpbmNsdWRlcyBzb3VyY2VtYXBzIGluIHRoZSBjb21waWxlZCBvdXRwdXRcIiwgZmFsc2UpXG4gIC5vcHRpb24oXCItLW5wbXJjXCIsIFwiaW5jbHVkZXMgLm5wbXJjIGluIHRoZSBjb21waWxlZCBvdXRwdXRcIiwgZmFsc2UpXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHBrZ0xvY2sgPSBKU09OLnBhcnNlKFxuICAgICAgZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UtbG9jay5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGxldCBucG1yY0NvbnRlbnQgPSB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG5cbiAgICBsZXQge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgZGV2LFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgZGVidWcsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBuYW1lLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBvdXRwdXQsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBpbnB1dCxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIHN0cmlwQ29udHJhY3ROYW1lLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgY2NhYXMsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBidW5kbGUsXG5cbiAgICAgIHRzQ29uZmlnRmlsZSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIHNvdXJjZW1hcHMsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgICBucG1yYyxcbiAgICB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBsb2cgPSBsb2dnZXIuZm9yKFwiY29tcGlsZS1jb250cmFjdFwiKTtcbiAgICB0cnkge1xuICAgICAgaWYgKG5wbXJjKSB7XG4gICAgICAgIG5wbXJjQ29udGVudCA9IGZzXG4gICAgICAgICAgLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCIubnBtcmNcIiksIFwidXRmLThcIilcbiAgICAgICAgICAudG9TdHJpbmcoKTtcblxuICAgICAgICBjb25zdCByZXBsYWNlZCA9IG5wbXJjQ29udGVudC5yZXBsYWNlKFxuICAgICAgICAgIC9cXCRcXHsoW159XSspXFx9L2csXG4gICAgICAgICAgKF86IGFueSwgdmFyTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHByb2Nlc3MuZW52W3Zhck5hbWVdO1xuXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgYFdhcm5pbmc6IEVudmlyb25tZW50IHZhcmlhYmxlIFwiJHt2YXJOYW1lfVwiIGlzIG5vdCBzZXRgXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIG5wbXJjQ29udGVudCA9IHJlcGxhY2VkO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgbG9nLmluZm8oYE5vIC5ucG1yYyBmaWxlIGZvdW5kLCBza2lwcGluZyBjb3B5aW5nIC5ucG1yYyB0byBvdXRwdXRgKTtcbiAgICB9XG5cbiAgICBsb2cuZGVidWcoXG4gICAgICBgcnVubmluZyB3aXRoIG9wdGlvbnM6ICR7SlNPTi5zdHJpbmdpZnkob3B0aW9ucyl9IGZvciAke3BrZy5uYW1lfSB2ZXJzaW9uICR7dmVyc2lvbn1gXG4gICAgKTtcblxuICAgIHRzQ29uZmlnRmlsZSA9IHBhdGguaXNBYnNvbHV0ZSh0c0NvbmZpZ0ZpbGUpXG4gICAgICA/IHRzQ29uZmlnRmlsZVxuICAgICAgOiBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgdHNDb25maWdGaWxlKTtcblxuICAgIG91dHB1dCA9IHN0cmlwQ29udHJhY3ROYW1lID8gb3V0cHV0IDogcGF0aC5qb2luKG91dHB1dCwgbmFtZSk7XG4gICAgbG9nLmluZm8oYERlbGV0aW5nIGV4aXN0aW5nIG91dHB1dCBmb2xkZXIgKGlmIGV4aXN0cykgdW5kZXIgJHtvdXRwdXR9YCk7XG4gICAgZXhlY1N5bmMoYHJtIC1yZiAke291dHB1dH1gKTtcbiAgICBpZiAoYnVuZGxlKSB7XG4gICAgICBsb2cuaW5mbyhgYnVuZGxpbmcgY29udHJhY3QgZnJvbSAke2lucHV0fWApO1xuICAgICAgY29uc3QgdGVtcEJ1bmRsZURpciA9IGZzLm1rZHRlbXBTeW5jKFxuICAgICAgICBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCIuY29udHJhY3QtYnVuZGxlLVwiKVxuICAgICAgKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGlucHV0RW50cnkgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgaW5wdXQsIFwiaW5kZXgudHNcIik7XG4gICAgICAgIGNvbnN0IGNvbmZpZ0ZpbGUgPSB0cy5yZWFkQ29uZmlnRmlsZSh0c0NvbmZpZ0ZpbGUsIHRzLnN5cy5yZWFkRmlsZSk7XG4gICAgICAgIGlmIChjb25maWdGaWxlLmVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICB0cy5mbGF0dGVuRGlhZ25vc3RpY01lc3NhZ2VUZXh0KGNvbmZpZ0ZpbGUuZXJyb3IubWVzc2FnZVRleHQsIFwiXFxuXCIpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcnNlZENvbmZpZyA9IHRzLnBhcnNlSnNvbkNvbmZpZ0ZpbGVDb250ZW50KFxuICAgICAgICAgIGNvbmZpZ0ZpbGUuY29uZmlnLFxuICAgICAgICAgIHRzLnN5cyxcbiAgICAgICAgICBwYXRoLmRpcm5hbWUodHNDb25maWdGaWxlKSxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgdHNDb25maWdGaWxlXG4gICAgICAgICk7XG4gICAgICAgIGlmIChwYXJzZWRDb25maWcuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgcGFyc2VkQ29uZmlnLmVycm9yc1xuICAgICAgICAgICAgICAubWFwKChlcnJvcikgPT5cbiAgICAgICAgICAgICAgICB0cy5mbGF0dGVuRGlhZ25vc3RpY01lc3NhZ2VUZXh0KGVycm9yLm1lc3NhZ2VUZXh0LCBcIlxcblwiKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRlbXBDb21waWxlck9wdGlvbnM6IHRzLkNvbXBpbGVyT3B0aW9ucyA9IHtcbiAgICAgICAgICAuLi5wYXJzZWRDb25maWcub3B0aW9ucyxcbiAgICAgICAgICBvdXREaXI6IHRlbXBCdW5kbGVEaXIsXG4gICAgICAgICAgbW9kdWxlOiB0cy5Nb2R1bGVLaW5kLkVTTmV4dCxcbiAgICAgICAgICBkZWNsYXJhdGlvbjogZmFsc2UsXG4gICAgICAgICAgc291cmNlTWFwOiBmYWxzZSxcbiAgICAgICAgICBpbmxpbmVTb3VyY2VzOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgYnVuZGxlZEVudHJ5UG9pbnQgPSB0c1xuICAgICAgICAgIC5nZXRPdXRwdXRGaWxlTmFtZXMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC4uLnBhcnNlZENvbmZpZyxcbiAgICAgICAgICAgICAgb3B0aW9uczogdGVtcENvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbnB1dEVudHJ5LFxuICAgICAgICAgICAgIXRzLnN5cy51c2VDYXNlU2Vuc2l0aXZlRmlsZU5hbWVzXG4gICAgICAgICAgKVxuICAgICAgICAgIC5maW5kKChmaWxlTmFtZSkgPT4gZmlsZU5hbWUuZW5kc1dpdGgoXCIuanNcIikpO1xuXG4gICAgICAgIGlmICghYnVuZGxlZEVudHJ5UG9pbnQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICAgIGBGYWlsZWQgdG8gZGV0ZXJtaW5lIHRoZSBlbWl0dGVkIGJ1bmRsZSBlbnRyeSBmb3IgJHtpbnB1dEVudHJ5fWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29tcGlsZVdpdGhUc2NvbmZpZ092ZXJyaWRlcyh0c0NvbmZpZ0ZpbGUsIHRlbXBDb21waWxlck9wdGlvbnMpO1xuICAgICAgICBjb25zdCBidW5kbGVkQ29udHJhY3QgPSBhd2FpdCByb2xsdXAoe1xuICAgICAgICAgIGlucHV0OiBidW5kbGVkRW50cnlQb2ludCxcbiAgICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgICByZXNvbHZlQnVuZGxlZEpzSW1wb3J0cygpLFxuICAgICAgICAgICAgcmVwbGFjZSh7XG4gICAgICAgICAgICAgIHByZXZlbnRBc3NpZ25tZW50OiB0cnVlLFxuICAgICAgICAgICAgICBkZWxpbWl0ZXJzOiBbXCJcIiwgXCJcIl0sXG4gICAgICAgICAgICAgIHZhbHVlczogeyBcIiMjVkVSU0lPTiMjXCI6IHZlcnNpb24sIFwiIyNQQUNLQUdFIyNcIjogcGtnLm5hbWUgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgICAgICBsb2cuaW5mbyhcbiAgICAgICAgICBgd2l0aGluZyBjb250cmFjdCB0byAke291dHB1dH0gd2l0aCBuYW1lICR7dG9QYXNjYWxDYXNlKG5hbWUpfS5qc2BcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgYnVuZGxlZENvbnRyYWN0LndyaXRlKHtcbiAgICAgICAgICBmaWxlOiBgJHtvdXRwdXR9LyR7dG9QYXNjYWxDYXNlKG5hbWUpfS5qc2AsXG4gICAgICAgICAgZm9ybWF0OiBcInVtZFwiLFxuICAgICAgICAgIG5hbWU6IGAke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgLFxuICAgICAgICAgIHNvdXJjZW1hcDogc291cmNlbWFwcyA/IFwiaW5saW5lXCIgOiBmYWxzZSxcbiAgICAgICAgICBzb3VyY2VtYXBQYXRoVHJhbnNmb3JtOiAocmVsYXRpdmVTb3VyY2VQYXRoLCBzb3VyY2VtYXBQYXRoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhYnNvbHV0ZVNvdXJjZVBhdGggPSBwYXRoLnJlc29sdmUoXG4gICAgICAgICAgICAgIHBhdGguZGlybmFtZShzb3VyY2VtYXBQYXRoKSxcbiAgICAgICAgICAgICAgcmVsYXRpdmVTb3VyY2VQYXRoXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoYWJzb2x1dGVTb3VyY2VQYXRoLnN0YXJ0c1dpdGgodGVtcEJ1bmRsZURpcikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHBhdGgucG9zaXguam9pbihcbiAgICAgICAgICAgICAgICBcIi5idW5kbGVcIixcbiAgICAgICAgICAgICAgICBwYXRoXG4gICAgICAgICAgICAgICAgICAucmVsYXRpdmUodGVtcEJ1bmRsZURpciwgYWJzb2x1dGVTb3VyY2VQYXRoKVxuICAgICAgICAgICAgICAgICAgLnNwbGl0KHBhdGguc2VwKVxuICAgICAgICAgICAgICAgICAgLmpvaW4oXCIvXCIpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZWxhdGl2ZVNvdXJjZVBhdGg7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IGJ1bmRsZWRDb250cmFjdC5jbG9zZSgpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgZnMucm1TeW5jKHRlbXBCdW5kbGVEaXIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29tcGlsZVdpdGhUc2NvbmZpZ092ZXJyaWRlcyh0c0NvbmZpZ0ZpbGUsIHtcbiAgICAgICAgb3V0RGlyOiBvdXRwdXQsXG4gICAgICAgIG1vZHVsZTogdHMuTW9kdWxlS2luZC5FU05leHQsXG4gICAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSxcbiAgICAgICAgc291cmNlTWFwOiBzb3VyY2VtYXBzLFxuICAgICAgICBpbmxpbmVTb3VyY2VzOiBzb3VyY2VtYXBzLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2NyaXB0cyA9IHtcbiAgICAgIHN0YXJ0OiBnZXRDb250cmFjdFN0YXJ0Q29tbWFuZChkZWJ1ZywgY2NhYXMpLFxuICAgICAgXCJzdGFydDpkZXZcIjogXCJmYWJyaWMtY2hhaW5jb2RlLW5vZGUgc3RhcnQgLS10bHMuZW5hYmxlZCBmYWxzZVwiLFxuICAgICAgXCJzdGFydDp3YXRjaFwiOiAnbm9kZW1vbiAtLWV4ZWMgXCJucG0gcnVuIHN0YXJ0OmRldlwiJyxcbiAgICAgIGJ1aWxkOiAnZWNobyBcIk5vIG5lZWQgdG8gYnVpbGQgdGhlIGNoYWluY29kZVwiJyxcbiAgICAgIGxpbnQ6IFwiZXNsaW50IC4gLS1maXggLS1leHQgLmpzXCIsXG4gICAgfTtcblxuICAgIGNvbnN0IGNvbnRyYWN0UGFja2FnZSA9IHBrZztcbiAgICBjb25zdCBjb250cmFjdFBhY2thZ2VMb2NrID0gcGtnTG9jaztcblxuICAgIGNvbnRyYWN0UGFja2FnZS5uYW1lID0gbmFtZTtcbiAgICBjb250cmFjdFBhY2thZ2UuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICBjb250cmFjdFBhY2thZ2Uuc2NyaXB0cyA9IHNjcmlwdHM7XG5cbiAgICBkZWxldGUgY29udHJhY3RQYWNrYWdlLnR5cGU7XG4gICAgZGVsZXRlIGNvbnRyYWN0UGFja2FnZS50eXBlcztcbiAgICBkZWxldGUgY29udHJhY3RQYWNrYWdlLmV4cG9ydHM7XG4gICAgY29udHJhY3RQYWNrYWdlLm1haW4gPSBidW5kbGVcbiAgICAgID8gYCR7dG9QYXNjYWxDYXNlKG5hbWUpfS5qc2BcbiAgICAgIDogYCR7aW5wdXR9L2luZGV4LmpzYDtcblxuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4ob3V0cHV0LCBcInBhY2thZ2UuanNvblwiKSxcbiAgICAgIEpTT04uc3RyaW5naWZ5KGNvbnRyYWN0UGFja2FnZSlcbiAgICApO1xuXG4gICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgIHBhdGguam9pbihvdXRwdXQsIFwicGFja2FnZS1sb2NrLmpzb25cIiksXG4gICAgICBKU09OLnN0cmluZ2lmeShjb250cmFjdFBhY2thZ2VMb2NrKVxuICAgICk7XG5cbiAgICBpZiAobnBtcmMgJiYgbnBtcmNDb250ZW50KVxuICAgICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4ob3V0cHV0LCBcIi5ucG1yY1wiKSwgbnBtcmNDb250ZW50KTtcblxuICAgIGxvZy5pbmZvKGBJbnN0YWxsaW5nIGFuZCBzaHJpbmt3cmFwcGluZyBkZXBlbmRlbmNpZXNgKTtcbiAgICBleGVjU3luYyhgbnBtIGluc3RhbGxgLCB7IGN3ZDogb3V0cHV0IH0pO1xuICAgIGV4ZWNTeW5jKGBucG0gc2hyaW5rd3JhcGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgZXhlY1N5bmMoXCJybSAtcmYgbm9kZV9tb2R1bGVzXCIsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oYGRlbGV0aW5nIHRlbXAgZm9sZGVyc2ApO1xuICAgIGV4ZWNTeW5jKGBybSAtcmYgLi9saWIgJiYgcm0gLXJmIC4vZGlzdGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oXG4gICAgICBgQ29udHJhY3QgJHtuYW1lfSBjb21waWxlZCBzdWNjZXNzZnVsbHkhIGluICR7cGF0aC5yZXNvbHZlKG91dHB1dCl9YFxuICAgICk7XG4gICAgaWYgKGRldikge1xuICAgICAgbG9nLmluZm8oYGRldiBtb2RlIGVuYWJsZWQuIGluc3RhbGxpbmcgZGVwZW5kZW5jaWVzIGZvciBkZWJ1Z2dpbmdgKTtcbiAgICAgIGV4ZWNTeW5jKGBucG0gaW5zdGFsbGAsIHtcbiAgICAgICAgY3dkOiBvdXRwdXQsXG4gICAgICAgIGVudjogeyAuLi5wcm9jZXNzLmVudiwgTk9ERV9FTlY6IFwicHJvZHVjdGlvblwiIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG5jb25zdCBleHRyYWN0SW5kZXhlcyA9IG5ldyBDb21tYW5kKClcbiAgLmNvbW1hbmQoXCJleHRyYWN0LWluZGV4ZXNcIilcbiAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gIC5vcHRpb24oXCItLWZvbGRlciBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmb2xkZXJcIilcbiAgLm9wdGlvbihcIi0tb3V0RGlyIDxTdHJpbmc+XCIsIFwidGhlIG91dGRpci4gc2hvdWxkIG1hdGNoIHlvdXIgY29udHJhY3QgZm9sZGVyXCIpXG4gIC5kZXNjcmlwdGlvbihcbiAgICBcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIlxuICApXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJleHRyYWN0LWluZGV4ZXNcIik7XG4gICAgbG9nLmRlYnVnKFxuICAgICAgYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YFxuICAgICk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgbGV0IHsgZmlsZSwgZm9sZGVyLCBvdXREaXIgfSA9IG9wdGlvbnM7XG5cbiAgICBjb25zdCBtb2RlbHM6IGFueVtdID0gW107XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIG1vZGVscy5wdXNoKC4uLnJlYWRNb2RlbEZpbGUoZmlsZSkpO1xuICAgIH1cblxuICAgIGlmIChmb2xkZXIpIHtcbiAgICAgIGxvZy5pbmZvKGBMb2FkaW5nIG1vZGVscyBmcm9tICR7Zm9sZGVyfS4uLmApO1xuICAgICAgbW9kZWxzLnB1c2goLi4uKGF3YWl0IHJlYWRNb2RlbEZvbGRlcnMoZm9sZGVyKSkpO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBjb25zdCBkZXNpZ25Eb2NzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cbiAgICBpZiAoIWZpbGUgJiYgIWZvbGRlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBNdXN0IHBhc3MgYSBmaWxlIG9yIGEgZm9sZGVyYCk7XG5cbiAgICBmb3IgKGNvbnN0IG0gb2YgbW9kZWxzKSB7XG4gICAgICBsb2cudmVyYm9zZShgRXh0cmFjdGluZyBpbmRleGVzIGZvciB0YWJsZSAke01vZGVsLnRhYmxlTmFtZShtKX1gKTtcbiAgICAgIGNvbnN0IGluZGV4ZXMgPSBnZW5lcmF0ZU1vZGVsSW5kZXhlcyhtKTtcbiAgICAgIGluZGV4ZXMuZm9yRWFjaCgoaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGluZGV4Lm5hbWUpIHtcbiAgICAgICAgICByZXN1bHRbaW5kZXgubmFtZV0gPSBpbmRleDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcyhtLCBkZXNpZ25Eb2NzKTtcbiAgICB9XG4gICAgY29uc3QgaW5kZXhlc1RvV3JpdGUgPSBPYmplY3QudmFsdWVzKHJlc3VsdCk7XG4gICAgY29uc3QgZG9jc1RvV3JpdGUgPSBPYmplY3QudmFsdWVzKGRlc2lnbkRvY3MpO1xuICAgIGxvZy52ZXJib3NlKGBGb3VuZCAke2luZGV4ZXNUb1dyaXRlLmxlbmd0aH0gaW5kZXhlcyB0byBjcmVhdGVgKTtcbiAgICBsb2cudmVyYm9zZShgRm91bmQgJHtkb2NzVG9Xcml0ZS5sZW5ndGh9IGRlc2lnbiBkb2NzIHRvIGNyZWF0ZWApO1xuICAgIGxvZy5kZWJ1ZyhgSW5kZXhlczogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQpfWApO1xuICAgIGxvZy5kZWJ1ZyhgRGVzaWduRG9jczogJHtKU09OLnN0cmluZ2lmeShkZXNpZ25Eb2NzKX1gKTtcbiAgICB3cml0ZUluZGV4ZXMoaW5kZXhlc1RvV3JpdGUsIG91dERpcik7XG4gICAgd3JpdGVEZXNpZ25Eb2NzKGRvY3NUb1dyaXRlLCBvdXREaXIpO1xuICB9KTtcblxuY29uc3QgZXh0cmFjdENvbGxlY3Rpb25zID0gbmV3IENvbW1hbmQoKVxuICAuY29tbWFuZChcImV4dHJhY3QtY29sbGVjdGlvbnNcIilcbiAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gIC5vcHRpb24oXCItLWZvbGRlciBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmb2xkZXJcIilcbiAgLm9wdGlvbihcIi0tb3V0RGlyIDxTdHJpbmc+XCIsIFwidGhlIG91dGRpci4gc2hvdWxkIG1hdGNoIHlvdXIgY29udHJhY3QgZm9sZGVyXCIpXG4gIC5vcHRpb24oXCItLW1zcElkcyA8U3RyaW5nPlwiLCBcInNpbmdsZSBtc3BJZCBvciBzdHJpbmdpZmllZCBhcnJheVwiKVxuICAub3B0aW9uKFwiLS1tYWluTXNwSWQgPFN0cmluZz5cIiwgXCJzaW5nbGUgbXNwSWRcIilcbiAgLm9wdGlvbihcbiAgICBcIi0tb3ZlcnJpZGVzIFtTdHJpbmddXCIsXG4gICAgXCJzdHJpbmdpZmllZCBvdmVycmlkZSBvYmplY3Qge3JlcXVpcmVkUGVlckNvdW50OiBudW1iZXIsIG1heFBlZXJDb3VudDogbnVtYmVyLCBibG9ja1RvTGl2ZTogbnVtYmVyLCBtZW1iZXJPbmx5UmVhZDogbnVtYmVyLCBtZW1iZXJPbmx5V3JpdGU6IG51bWJlciwgZW5kb3JzZW1lbnRQb2xpY3k6ICB7fX1cIlxuICApXG4gIC5kZXNjcmlwdGlvbihcbiAgICBcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIlxuICApXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJleHRyYWN0LWNvbGxlY3Rpb25zXCIpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWBcbiAgICApO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCB7IGZpbGUsIGZvbGRlciwgb3V0RGlyLCBtc3BJZHMsIG1haW5Nc3BJZCB9ID0gb3B0aW9ucztcblxuICAgIHRyeSB7XG4gICAgICB0cnkge1xuICAgICAgICBtc3BJZHMgPSBtc3BJZHMgPyBKU09OLnBhcnNlKG1zcElkcykgOiB1bmRlZmluZWQ7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgLy8gIGRvIG5vdGhpbmdcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKGBVbmFibGUgdG8gZXh0cmFjdCBtc3BpZHM6ICAke2V9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgbW9kZWxzOiBhbnlbXSA9IFtdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICBtb2RlbHMucHVzaCguLi5yZWFkTW9kZWxGaWxlKGZpbGUpKTtcbiAgICB9XG5cbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICBsb2cuaW5mbyhgTG9hZGluZyBtb2RlbHMgZnJvbSAke2ZvbGRlcn0uLi5gKTtcbiAgICAgIG1vZGVscy5wdXNoKC4uLihhd2FpdCByZWFkTW9kZWxGb2xkZXJzKGZvbGRlcikpKTtcbiAgICB9XG5cbiAgICBpZiAoIWZpbGUgJiYgIWZvbGRlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBNdXN0IHBhc3MgYSBmaWxlIG9yIGEgZm9sZGVyYCk7XG5cbiAgICBjb25zdCBpbmplY3RhYmxlTW9kZWxzID0gbW9kZWxzLmZpbHRlcihcbiAgICAgIChtb2RlbCkgPT5cbiAgICAgICAgTW9kZWwuaXNTaGFyZWQobW9kZWwpIHx8XG4gICAgICAgIE1vZGVsLmlzUHJpdmF0ZShtb2RlbCkgfHxcbiAgICAgICAgISFNb2RlbC5taXJyb3JlZEF0KG1vZGVsKVxuICAgICk7XG4gICAgaWYgKCFpbmplY3RhYmxlTW9kZWxzLmxlbmd0aCkge1xuICAgICAgbG9nLmluZm8oXG4gICAgICAgIGBObyBzaGFyZWQsIHByaXZhdGUsIG9yIG1pcnJvcmVkIG1vZGVscyBmb3VuZCB0byBleHRyYWN0IGNvbGxlY3Rpb25zYFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiBnZXRDb2xzKG1zcElkc0xpc3Q/OiBzdHJpbmdbXSkge1xuICAgICAgY29uc3QgY29sczoge1xuICAgICAgICBpbmRleGVzOiBDcmVhdGVJbmRleFJlcXVlc3RbXTtcbiAgICAgICAgZGVzaWduRG9jczogQ291Y2hEQkRlc2lnbkRvY1tdO1xuICAgICAgICBtaXJyb3I/OiBQcml2YXRlQ29sbGVjdGlvbjtcbiAgICAgICAgY29sbGVjdGlvbnM6IFByaXZhdGVDb2xsZWN0aW9uW107XG4gICAgICB9W10gPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgaW5qZWN0YWJsZU1vZGVscy5tYXAoYXN5bmMgKGNsYXp6KSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFibGVOYW1lID0gTW9kZWwudGFibGVOYW1lKGNsYXp6KTtcbiAgICAgICAgICBjb25zdCBtaXJyb3JNZXRhID0gTW9kZWwubWlycm9yZWRBdChjbGF6eik7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZyh0YWJsZU5hbWUpO1xuICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgICAgICAgZm9yIChjb25zdCBtc3Agb2YgbXNwSWRzTGlzdCB8fCBtc3BJZHMgfHwgW10pIHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb25zW21zcF0gPSBhd2FpdCBleENvbGxlY3Rpb25zKFxuICAgICAgICAgICAgICBjbGF6eixcbiAgICAgICAgICAgICAgW21zcCwgbWFpbk1zcElkXSxcbiAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgICAgLy8gICBzaGFyZWRDb2xzOiBPYmplY3QuYXNzaWduKHt9LCBvdmVycmlkZXMuc2hhcmVkQ29scyksXG4gICAgICAgICAgICAgIC8vICAgcHJpdmF0ZUNvbHM6IE9iamVjdC5hc3NpZ24oe30sIG92ZXJyaWRlcy5wcml2YXRlQ29scyksXG4gICAgICAgICAgICAgIC8vIH0sXG4gICAgICAgICAgICAgICEhbWlycm9yTWV0YVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgbWlycm9yQ29sbGVjdGlvbjogUHJpdmF0ZUNvbGxlY3Rpb24gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICBpZiAobWlycm9yTWV0YSkge1xuICAgICAgICAgICAgY29sbGVjdGlvbnNbbWFpbk1zcElkXSA9IGNvbGxlY3Rpb25zW21haW5Nc3BJZF0gfHwge307XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhjb2xsZWN0aW9ucykuZm9yRWFjaCgobXNwOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbnNbbWFpbk1zcElkXS5wcml2YXRlcyA9IGNvbGxlY3Rpb25zW1xuICAgICAgICAgICAgICAgIG1zcFxuICAgICAgICAgICAgICBdLnByaXZhdGVzPy5maWx0ZXIoKHA6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwLm5hbWUgIT09IChtaXJyb3JNZXRhLnJlc29sdmVyIGFzIHN0cmluZykpIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIG1pcnJvckNvbGxlY3Rpb24gPSBwIGFzIGFueTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcHJpdmF0ZXNDb3VudCA9IE9iamVjdC52YWx1ZXMoY29sbGVjdGlvbnMpXG4gICAgICAgICAgICAubWFwKChjKSA9PiBjLnByaXZhdGVzKVxuICAgICAgICAgICAgLmZsYXQoKS5sZW5ndGg7XG4gICAgICAgICAgaWYgKHByaXZhdGVzQ291bnQpXG4gICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAuaW5mbyhgRm91bmQgJHtwcml2YXRlc0NvdW50fSBwcml2YXRlIGNvbGxlY3Rpb25zIHRvIGNyZWF0ZWApO1xuICAgICAgICAgIGNvbnN0IHNoYXJlZENvdW50ID0gT2JqZWN0LnZhbHVlcyhjb2xsZWN0aW9ucylcbiAgICAgICAgICAgIC5tYXAoKGMpID0+IGMuc2hhcmVkKVxuICAgICAgICAgICAgLmZsYXQoKS5sZW5ndGg7XG5cbiAgICAgICAgICBsb2dcbiAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgIC5pbmZvKGBGb3VuZCAke3NoYXJlZENvdW50fSBzaGFyZWQgY29sbGVjdGlvbnMgdG8gY3JlYXRlYCk7XG4gICAgICAgICAgaWYgKG1pcnJvckNvbGxlY3Rpb24pXG4gICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAuaW5mbyhcbiAgICAgICAgICAgICAgICBgRm91bmQgb25lIG1pcnJvciBjb2xsZWN0aW9uICR7bWlycm9yTWV0YT8ucmVzb2x2ZXIgYXMgc3RyaW5nfWBcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IGNvbExpc3QgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKVxuICAgICAgICAgICAgLm1hcCgoYykgPT4gWy4uLihjLnByaXZhdGVzIHx8IFtdKSwgLi4uKGMuc2hhcmVkIHx8IFtdKV0pXG4gICAgICAgICAgICAuZmxhdCgpO1xuICAgICAgICAgIGxldCBpbmRleGVzOiBDcmVhdGVJbmRleFJlcXVlc3RbXSA9IFtdO1xuICAgICAgICAgIGxldCBkZXNpZ25Eb2NzOiBDb3VjaERCRGVzaWduRG9jW10gPSBbXTtcbiAgICAgICAgICBpZiAoY29sTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGxvZ1xuICAgICAgICAgICAgICAuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpXG4gICAgICAgICAgICAgIC52ZXJib3NlKGBnZW5lcmF0aW5nIGluZGV4ZXMgZm9yIGNvbGxlY3Rpb25zYCk7XG4gICAgICAgICAgICBpbmRleGVzID0gZ2VuZXJhdGVNb2RlbEluZGV4ZXMoY2xhenopO1xuICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgICAgLmluZm8oYGZvdW5kICR7aW5kZXhlcy5sZW5ndGh9IGluZGV4ZXNgKTtcbiAgICAgICAgICAgIGRlc2lnbkRvY3MgPSBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcyhjbGF6eik7XG4gICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAuaW5mbyhgZm91bmQgJHtkZXNpZ25Eb2NzLmxlbmd0aH0gZGVzaWduIGRvY3NgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGluZGV4ZXMsXG4gICAgICAgICAgICBkZXNpZ25Eb2NzLFxuICAgICAgICAgICAgY29sbGVjdGlvbnM6IGNvbExpc3QsXG4gICAgICAgICAgICBtaXJyb3I6IG1pcnJvckNvbGxlY3Rpb24sXG4gICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gY29scztcbiAgICB9XG5cbiAgICBjb25zdCBjb2xzID0gYXdhaXQgZ2V0Q29scygpO1xuICAgIGNvbnN0IG9ubHlNaXJyb3IgPSBhd2FpdCBnZXRDb2xzKFttYWluTXNwSWRdKTtcblxuICAgIGNvbnN0IGNvbGxlY3Rpb25zVG8gPSBbXG4gICAgICAuLi5vbmx5TWlycm9yLmZpbHRlcigoYykgPT4gYy5taXJyb3IpLm1hcCgoYykgPT4gYy5taXJyb3IpLFxuICAgICAgLi4uY29scy5tYXAoKGMpID0+IGMuY29sbGVjdGlvbnMpLmZsYXQoKSxcbiAgICAgIC4uLmNvbHMuZmlsdGVyKChjKSA9PiBjLm1pcnJvcikubWFwKChjKSA9PiBjLm1pcnJvciksXG4gICAgXSBhcyBQcml2YXRlQ29sbGVjdGlvbltdO1xuXG4gICAgY29uc3QgdW5pcXVlQnlDb2xsZWN0aW9uID0gW1xuICAgICAgLi4ubmV3IE1hcChcbiAgICAgICAgY29sbGVjdGlvbnNUby5tYXAoKGl0ZW06IFByaXZhdGVDb2xsZWN0aW9uKSA9PiBbaXRlbS5uYW1lLCBpdGVtXSlcbiAgICAgICkudmFsdWVzKCksXG4gICAgXTtcblxuICAgIGlmICh1bmlxdWVCeUNvbGxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICB3cml0ZUNvbGxlY3Rpb25zKHVuaXF1ZUJ5Q29sbGVjdGlvbiwgb3V0RGlyKTtcbiAgICAgIGNvbnN0IG1ldGFDb2xsZWN0aW9uc0NvbmZpZyA9IHBhdGguam9pbihcbiAgICAgICAgb3V0RGlyLFxuICAgICAgICBcIk1FVEEtSU5GXCIsXG4gICAgICAgIFwiY29sbGVjdGlvbnNfY29uZmlnLmpzb25cIlxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNvbnRyYWN0Q29sbGVjdGlvbnNDb25maWcgPSBwYXRoLmpvaW4oXG4gICAgICAgIG91dERpcixcbiAgICAgICAgXCJjb2xsZWN0aW9uc19jb25maWcuanNvblwiXG4gICAgICApO1xuICAgICAgZnMuY29weUZpbGVTeW5jKG1ldGFDb2xsZWN0aW9uc0NvbmZpZywgY29udHJhY3RDb2xsZWN0aW9uc0NvbmZpZyk7XG4gICAgICBsb2cuaW5mbyhcbiAgICAgICAgYFN0b3JlZCAke2NvbGxlY3Rpb25zVG8ubGVuZ3RofSBjb2xsZWN0aW9ucyB0byAke21ldGFDb2xsZWN0aW9uc0NvbmZpZ31gXG4gICAgICApO1xuICAgICAgbG9nLmluZm8oXG4gICAgICAgIGBDb3BpZWQgY29sbGVjdGlvbnNfY29uZmlnIHRvICR7Y29udHJhY3RDb2xsZWN0aW9uc0NvbmZpZ30gYWxvbmdzaWRlIHRoZSBwYWNrYWdlLmpzb25gXG4gICAgICApO1xuXG4gICAgICBjb2xzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgY29uc3QgeyBpbmRleGVzLCBkZXNpZ25Eb2NzLCBjb2xsZWN0aW9ucywgbWlycm9yIH0gPSBjO1xuICAgICAgICBjb25zdCB0b0luZGV4OiBQcml2YXRlQ29sbGVjdGlvbltdID0gWy4uLmNvbGxlY3Rpb25zLCBtaXJyb3JdLmZpbHRlcihcbiAgICAgICAgICBCb29sZWFuXG4gICAgICAgICkgYXMgUHJpdmF0ZUNvbGxlY3Rpb25bXTtcbiAgICAgICAgdG9JbmRleC5mb3JFYWNoKChpKSA9PiB7XG4gICAgICAgICAgd3JpdGVJbmRleGVzKGluZGV4ZXMsIG91dERpciwgaS5uYW1lKTtcbiAgICAgICAgICB3cml0ZUNvbGxlY3Rpb25EZXNpZ25Eb2NzKGRlc2lnbkRvY3MgfHwgW10sIG91dERpciwgaS5uYW1lKTtcbiAgICAgICAgICBsb2cuaW5mbyhcbiAgICAgICAgICAgIGBTdG9yZWQgJHtpbmRleGVzPy5sZW5ndGggfHwgMH0gaW5kZXhlcyBhbmQgJHtkZXNpZ25Eb2NzPy5sZW5ndGggfHwgMH0gZGVzaWduIGRvY3MgdG8gY29sbGVjdGlvbiAke2kubmFtZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG5jb25zdCBlbnN1cmVJbmZyYSA9IG5ldyBDb21tYW5kKClcbiAgLm5hbWUoXCJhd2FpdC1pbmZyYVwiKVxuICAuZGVzY3JpcHRpb24oXCJ3YWl0cyBmb3IgdGhlIGluZnJhc3RydWN0dXJlIHRvIGJlIHVwIGFuZCBydW5uaW5nXCIpXG4gIC5vcHRpb24oXG4gICAgXCItLWNvbnRhaW5lciA8U3RyaW5nPlwiLFxuICAgIFwiZG9ja2VyIGNvbnRhaW5lciBuYW1lIHRvIHRlc3QgKHVzdWFsbHkgbGFzdCBwZWVyKVwiLFxuICAgIFwiYm9vdC1vcmctYy1wZWVyLTBcIlxuICApXG4gIC5vcHRpb24oXCItLXRpbWVvdXQgPFN0cmluZz5cIiwgXCJ0aW1lb3V0IGJldHdlZW4gdGVzdHMgaW4gbWlsbGlzZWNvbmRzXCIsIFwiNTAwMFwiKVxuICAub3B0aW9uKFwiLS1hdHRlbXB0cyA8U3RyaW5nPlwiLCBcIm51bWJlciBvZiBhdHRlbXB0cyBiZWZvcmUgZ2l2aW5nIHVwXCIsIFwiMTBcIilcbiAgLmFjdGlvbihhc3luYyAob3B0aW9uczogYW55KSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShcbiAgICAgIGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLmpzb25cIiksIFwidXRmLThcIilcbiAgICApO1xuXG4gICAgY29uc3QgdmVyc2lvbiA9IHBrZy52ZXJzaW9uO1xuXG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImF3YWl0LWluZnJhXCIpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWBcbiAgICApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBsZXQgeyBjb250YWluZXIsIHRpbWVvdXQsIGF0dGVtcHRzIH0gPSBvcHRpb25zO1xuICAgIHRpbWVvdXQgPSBwYXJzZUludCh0aW1lb3V0KSB8fCA1MDAwO1xuICAgIGF0dGVtcHRzID0gcGFyc2VJbnQoYXR0ZW1wdHMpIHx8IDEwO1xuXG4gICAgYXdhaXQgZW5zdXJlSW5mcmFzdHJ1Y3R1cmVCb290ZWQoXCJib290LW9yZy1jLXBlZXItMFwiLCB0aW1lb3V0LCBhdHRlbXB0cyk7XG5cbiAgICBsb2cuaW5mbyhcbiAgICAgIGBJbmZyYXN0cnVjdHVyZSBib290ZWQgc3VjY2Vzc2Z1bGx5IChhY2NvcmRpbmcgdG8gY29udGFpbmVyICR7Y29udGFpbmVyfSkhYFxuICAgICk7XG4gIH0pO1xuXG5jb25zdCBkZXBsb3lDb250cmFjdCA9IG5ldyBDb21tYW5kKClcbiAgLm5hbWUoXCJkZXBsb3ktY29udHJhY3RcIilcbiAgLmRlc2NyaXB0aW9uKFwiZGVwbG95cyB0aGUgc2VsZWN0ZWQgY29udHJhY3RcIilcbiAgLm9wdGlvbihcIi0tbmFtZSA8U3RyaW5nPlwiLCBcIkNvbnRyYWN0IE5hbWUgKGFuZCBmb2xkZXIpXCIpXG4gIC5vcHRpb24oXCItLWlucHV0IDxTdHJpbmc+XCIsIFwiaW5wdXQgZm9sZGVyXCIpXG4gIC5vcHRpb24oXG4gICAgXCItLWNvbGxlY3Rpb25zLWNvbmZpZyA8U3RyaW5nPlwiLFxuICAgIFwicGF0aCB0byBjb2xsZWN0aW9uc19jb25maWcuanNvbiB0byBjb25maWd1cmUgcHJpdmF0ZSBjb2xsZWN0aW9uc1wiXG4gIClcbiAgLm9wdGlvbihcbiAgICBcIi0taW5jcmVtZW50VmVyc2lvbiA8U3RyaW5nPlwiLFxuICAgIFwiKHRydWUgfCBmYWxzZSkgaWYgc2hvdWxkIHVzZSB2ZXJzaW9uIG9yIHNlcXVlbmNlIHRvIHVwZGF0ZSBjb250cmFjdHNcIixcbiAgICBmYWxzZVxuICApXG4gIC5vcHRpb24oXG4gICAgXCItLXRyYWNrZXJGb2xkZXIgPFN0cmluZz5cIixcbiAgICBcImNvbnRyYWN0IHZlcnNpb24gdHJhY2tlciBmb2xkZXIgKHNob3VsZCBiZSBkZWxldGVkIG9uIGluZnJhc3RydWN0dXJlOmRvd24pXCIsXG4gICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwidGVzdHNcIiwgXCJpbnRlZ3JhdGlvblwiLCBcImNoYWluY29kZVRyYWNrZXJzXCIpXG4gIClcbiAgLm9wdGlvbihcbiAgICBcIi0tcGVlcnMgPFN0cmluZz5cIixcbiAgICBcImNvbW1hIHNlcGFyYXRlZCBwZWVyIGlkc1wiLFxuICAgIFwib3JnLWEtcGVlci0wLG9yZy1iLXBlZXItMCxvcmctYy1wZWVyLTBcIlxuICApXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJkZXBsb3ktY29udHJhY3RcIik7XG4gICAgbG9nLmRlYnVnKFxuICAgICAgYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YFxuICAgICk7XG5cbiAgICBjb25zdCB7XG4gICAgICBuYW1lLFxuICAgICAgaW5wdXQsXG4gICAgICBwZWVycyxcbiAgICAgIHRyYWNrZXJGb2xkZXIsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICBpbmNyZW1lbnRWZXJzaW9uLFxuICAgICAgY29sbGVjdGlvbnNDb25maWcsXG4gICAgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgcGVlcklkcyA9IHBlZXJzLnNwbGl0KFwiLFwiKTtcblxuICAgIGNvbnN0IGNvdW50UGF0aCA9IHBhdGgucmVzb2x2ZShwYXRoLmpvaW4odHJhY2tlckZvbGRlciwgYCR7bmFtZX0uY291bnRgKSk7XG5cbiAgICBsZXQgc2VxdWVuY2U6IG51bWJlcjtcblxuICAgIHRyeSB7XG4gICAgICBzZXF1ZW5jZSA9IHBhcnNlSW50KGZzLnJlYWRGaWxlU3luYyhjb3VudFBhdGgpLnRvU3RyaW5nKFwidXRmLThcIikpO1xuICAgICAgaWYgKGlzTmFOKHNlcXVlbmNlKSkgc2VxdWVuY2UgPSAxO1xuICAgICAgZWxzZSBzZXF1ZW5jZSArPSAxO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHNlcXVlbmNlID0gMTtcbiAgICB9XG4gICAgLy9cbiAgICAvLyBpZiAoaW5jcmVtZW50VmVyc2lvbikge1xuICAgIC8vICAgdmVyc2lvbiA9IHZlcnNpb24gKyBgLSR7c2VxdWVuY2V9YDtcbiAgICAvLyAgIC8vIHNlcXVlbmNlID0gMTtcbiAgICAvLyB9XG5cbiAgICB0cnkge1xuICAgICAgZm9yIChjb25zdCBwZWVyIG9mIHBlZXJJZHMpIHtcbiAgICAgICAgcGFja2FnZUNvbnRyYWN0KHBlZXIsIGlucHV0LCBuYW1lLCB2ZXJzaW9uKTtcbiAgICAgICAgaW5zdGFsbENvbnRyYWN0KHBlZXIsIG5hbWUpO1xuICAgICAgICBhcHByb3ZlQ29udHJhY3QoXG4gICAgICAgICAgcGVlcixcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHBlZXIgPT09IFwib3JnLWEtcGVlci0wXCJcbiAgICAgICAgICAgID8gXCJ0bHMtY2EtY2VydC5wZW1cIlxuICAgICAgICAgICAgOiBcIm9yZGVyZXItdGxzLWNhLWNlcnQucGVtXCIsXG4gICAgICAgICAgc2VxdWVuY2UsXG4gICAgICAgICAgdmVyc2lvbixcbiAgICAgICAgICBjb2xsZWN0aW9uc0NvbmZpZ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgZnMud3JpdGVGaWxlU3luYyhjb3VudFBhdGgsIHNlcXVlbmNlLnRvU3RyaW5nKCkpO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICBsb2cuZXJyb3IoXCJFcnJvciBkZXBsb3lpbmcgY29udHJhY3Q6XCIsIGVycik7XG4gICAgfVxuICAgIGNvbW1pdENoYWluY29kZShuYW1lLCBzZXF1ZW5jZSwgdmVyc2lvbiwgY29sbGVjdGlvbnNDb25maWcpO1xuICB9KTtcblxuY29uc3QgZ2V0Q3J5cHRvTWF0ZXJpYWwgPSBuZXcgQ29tbWFuZCgpXG4gIC5uYW1lKFwiZ2V0LWNyeXB0by1tYXRlcmlhbFwiKVxuICAuZGVzY3JpcHRpb24oXCJjb3BpZXMgdGhlIGNyeXB0byBtYXRlcmlhbCB0byB0aGUgc2VsZWN0ZWQgZm9sZGVyXCIpXG4gIC5vcHRpb24oXCItLWZvbGRlciA8U3RyaW5nPlwiLCBcIm91dHB1dCBmb2xkZXJcIiwgXCJkb2NrZXIvZG9ja2VyLWRhdGFcIilcbiAgLm9wdGlvbihcIi0tb3JnIFtTdHJpbmddXCIsIFwidGhlIG9yZy9wZWVyIHRvIGV4dHJhY3QgZnJvbVwiLCBcIm9yZy1hXCIpXG4gIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcblxuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJnZXQtY3J5cHRvLW1hdGVyaWFsXCIpO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWBcbiAgICApO1xuICAgIGNvbnN0IHsgZm9sZGVyLCBvcmcgfSA9IG9wdGlvbnM7XG4gICAgZXhlY1N5bmMoYGRvY2tlciBjcCAke29yZ306L3dlYXZlci9jbGllbnQvLiAke2ZvbGRlcn1gLCB7XG4gICAgICBjd2Q6IHByb2Nlc3MuY3dkKCksXG4gICAgfSk7XG4gIH0pO1xuXG5jb25zdCBmYWJyaWNDbWQgPSBuZXcgQ29tbWFuZCgpXG4gIC5uYW1lKFwiZm9yLWZhYnJpY1wiKVxuICAuY29tbWFuZChcImZhYnJpY1wiKVxuICAuZGVzY3JpcHRpb24oXG4gICAgXCJleHBvc2VzIHNldmVyYWwgY29tbWFuZHMgdG8gaGVscCBtYW5hZ2UgdGhlIGZhYnJpYyBpbmZyYXN0cnVjdHVyZVwiXG4gICk7XG5cbmZhYnJpY0NtZC5hZGRDb21tYW5kKGNvbXBpbGVDb21tYW5kKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGV4dHJhY3RJbmRleGVzKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGVuc3VyZUluZnJhKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGRlcGxveUNvbnRyYWN0KTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGdldENyeXB0b01hdGVyaWFsKTtcbmZhYnJpY0NtZC5hZGRDb21tYW5kKGV4dHJhY3RDb2xsZWN0aW9ucyk7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZhYnJpYygpIHtcbiAgcmV0dXJuIGZhYnJpY0NtZDtcbn1cbiJdfQ==
510
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNsaS1tb2R1bGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFtZkEseUJBRUM7QUFyZkQseUNBQW9DO0FBQ3BDLCtDQUEwRDtBQUMxRCxpREFBeUM7QUFDekMsNENBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QixtQ0FBZ0M7QUFDaEMsNEVBQTZDO0FBQzdDLDJEQUE0RTtBQUM1RSx3REFBMko7QUFDM0oseUVBQXVEO0FBQ3ZELGlEQUF3TDtBQUN4TCx1Q0FBcUM7QUFDckMsNERBQTRCO0FBQzVCLDREQUFrSTtBQUNsSSxNQUFNLE1BQU0sR0FBRyxpQkFBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyQyxTQUFTLHVCQUF1QjtJQUM1QixPQUFPO1FBQ0gsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVE7WUFDdEIsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELE1BQU0sWUFBWSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsRSxNQUFNLFVBQVUsR0FBRztnQkFDZixZQUFZO2dCQUNaLEdBQUcsWUFBWSxLQUFLO2dCQUNwQixjQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7YUFDdEMsQ0FBQztZQUNGLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksWUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxZQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7b0JBQzlELE9BQU8s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bUUsQ0FBQyxDQUFDO0FBQ3RGLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDckMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNyQyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ2xDLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDckMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3hDLFNBQVMsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUN6QyxTQUF3QixNQUFNO0lBQzFCLE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUM7QUFDRCwwbjJEQUEwbjJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gXCJjb21tYW5kZXJcIjtcbmltcG9ydCB7IExvZ2dpbmcsIHRvUGFzY2FsQ2FzZSB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IHJvbGx1cCB9IGZyb20gXCJyb2xsdXBcIjtcbmltcG9ydCByZXBsYWNlIGZyb20gXCJAcm9sbHVwL3BsdWdpbi1yZXBsYWNlXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yLCBTZXJpYWxpemF0aW9uRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGdlbmVyYXRlTW9kZWxEZXNpZ25Eb2NzLCBnZW5lcmF0ZU1vZGVsSW5kZXhlcywgcmVhZE1vZGVsRmlsZSwgcmVhZE1vZGVsRm9sZGVycywgd3JpdGVEZXNpZ25Eb2NzLCB3cml0ZUluZGV4ZXMsIH0gZnJvbSBcIi4vY2xpZW50L2luZGV4ZXMvaW5kZXguanNcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgYXBwcm92ZUNvbnRyYWN0LCBlbnN1cmVJbmZyYXN0cnVjdHVyZUJvb3RlZCwgaW5zdGFsbENvbnRyYWN0LCBwYWNrYWdlQ29udHJhY3QsIGNvbW1pdENoYWluY29kZSwgZ2V0Q29udHJhY3RTdGFydENvbW1hbmQsIGNvbXBpbGVXaXRoVHNjb25maWdPdmVycmlkZXMsIH0gZnJvbSBcIi4vY2xpLXV0aWxzLmpzXCI7XG5pbXBvcnQgXCIuL3NoYXJlZC9vdmVycmlkZXMvaW5kZXguanNcIjtcbmltcG9ydCB0cyBmcm9tIFwidHlwZXNjcmlwdFwiO1xuaW1wb3J0IHsgZXh0cmFjdENvbGxlY3Rpb25zIGFzIGV4Q29sbGVjdGlvbnMsIHdyaXRlQ29sbGVjdGlvbnMsIHdyaXRlQ29sbGVjdGlvbkRlc2lnbkRvY3MsIH0gZnJvbSBcIi4vY2xpZW50L2NvbGxlY3Rpb25zL2luZGV4LmpzXCI7XG5jb25zdCBsb2dnZXIgPSBMb2dnaW5nLmZvcihcImZhYnJpY1wiKTtcbmZ1bmN0aW9uIHJlc29sdmVCdW5kbGVkSnNJbXBvcnRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IFwicmVzb2x2ZS1idW5kbGVkLWpzLWltcG9ydHNcIixcbiAgICAgICAgcmVzb2x2ZUlkKHNvdXJjZSwgaW1wb3J0ZXIpIHtcbiAgICAgICAgICAgIGlmICghaW1wb3J0ZXIgfHwgIXNvdXJjZS5zdGFydHNXaXRoKFwiLlwiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gcGF0aC5yZXNvbHZlKHBhdGguZGlybmFtZShpbXBvcnRlciksIHNvdXJjZSk7XG4gICAgICAgICAgICBjb25zdCBjYW5kaWRhdGVzID0gW1xuICAgICAgICAgICAgICAgIHJlc29sdmVkUGF0aCxcbiAgICAgICAgICAgICAgICBgJHtyZXNvbHZlZFBhdGh9LmpzYCxcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4ocmVzb2x2ZWRQYXRoLCBcImluZGV4LmpzXCIpLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhjYW5kaWRhdGUpICYmIGZzLnN0YXRTeW5jKGNhbmRpZGF0ZSkuaXNGaWxlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbmRpZGF0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuY29uc3QgY29tcGlsZUNvbW1hbmQgPSBuZXcgQ29tbWFuZCgpXG4gICAgLm5hbWUoXCJjb21waWxlLWNvbnRyYWN0XCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiQ3JlYXRlcyBhIGdsb2JhbCBjb250cmFjdFwiKVxuICAgIC5vcHRpb24oXCItLWRldlwiLCBcImNvbXBpbGVzIGNvbnRyYWN0cyB3aXRob3V0IG1pbmlmaWNhdGlvblwiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS1kZWJ1Z1wiLCBcIm1ha2VzIGF0dGFjaGluZyBkZWJ1Z2dlciBwb3NzaWJsZVwiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS1jY2Fhc1wiLCBcIkFqdXN0cyB0aGUgcGFja2FnZSBjb21tYW5kcyB0byBiZSBkZXBsb3llZCBhcyBjY2Fhc1wiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS1uYW1lIDxTdHJpbmc+XCIsIFwiY29udHJhY3QgbmFtZVwiLCBcImdsb2JhbC1jb250cmFjdFwiKVxuICAgIC5vcHRpb24oXCItLWJ1bmRsZVwiLCBcIkJ1bmRsZXMgd2l0aCByb2xsdXAgaW5zdGVhZCBvZiB1c2luZyB0c2NcIiwgZmFsc2UpXG4gICAgLm9wdGlvbihcIi0tdHMtY29uZmlnLWZpbGUgPHN0cmluZz5cIiwgXCJyZWxhdGl2ZSBwYXRoIHRvIHRoZSB0cyBjb25maWcgZmlsZSBiYXNlZCBvbiBjd2Qgb3IgYWJzb2x1dGUgcGF0aFwiLCBcIi4vdHNjb25maWcuanNvblwiKVxuICAgIC5vcHRpb24oXCItLWRlc2NyaXB0aW9uIDxTdHJpbmc+XCIsIFwiY29udHJhY3QgZGVzY3JpcHRpb25cIiwgXCJHbG9iYWwgY29udHJhY3QgaW1wbGVtZW50YXRpb25cIilcbiAgICAub3B0aW9uKFwiLS1zdHJpcC1jb250cmFjdC1uYW1lXCIsIFwic3RyaXAgY29udHJhY3QgbmFtZSBmcm9tIG91dHB1dFwiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS1pbnB1dCA8U3RyaW5nPlwiLCBcImlucHV0IGZvbGRlciBmb3IgY29udHJhY3RzXCIsIFwibGliL2NvbnRyYWN0c1wiKVxuICAgIC5vcHRpb24oXCItLW91dHB1dCA8U3RyaW5nPlwiLCBcIm91dHB1dCBmb2xkZXIgZm9yIGNvbnRyYWN0c1wiLCBcIi4vY29udHJhY3RzXCIpXG4gICAgLm9wdGlvbihcIi0tc291cmNlbWFwc1wiLCBcImluY2x1ZGVzIHNvdXJjZW1hcHMgaW4gdGhlIGNvbXBpbGVkIG91dHB1dFwiLCBmYWxzZSlcbiAgICAub3B0aW9uKFwiLS1ucG1yY1wiLCBcImluY2x1ZGVzIC5ucG1yYyBpbiB0aGUgY29tcGlsZWQgb3V0cHV0XCIsIGZhbHNlKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLmpzb25cIiksIFwidXRmLThcIikpO1xuICAgIGNvbnN0IHBrZ0xvY2sgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLWxvY2suanNvblwiKSwgXCJ1dGYtOFwiKSk7XG4gICAgbGV0IG5wbXJjQ29udGVudCA9IHVuZGVmaW5lZDtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgbGV0IHsgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGRldiwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGRlYnVnLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgbmFtZSwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGRlc2NyaXB0aW9uLCBvdXRwdXQsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBpbnB1dCwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIHN0cmlwQ29udHJhY3ROYW1lLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG4gICAgY2NhYXMsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBidW5kbGUsIHRzQ29uZmlnRmlsZSwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIHNvdXJjZW1hcHMsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBucG1yYywgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImNvbXBpbGUtY29udHJhY3RcIik7XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKG5wbXJjKSB7XG4gICAgICAgICAgICBucG1yY0NvbnRlbnQgPSBmc1xuICAgICAgICAgICAgICAgIC5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLm5wbXJjXCIpLCBcInV0Zi04XCIpXG4gICAgICAgICAgICAgICAgLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICBjb25zdCByZXBsYWNlZCA9IG5wbXJjQ29udGVudC5yZXBsYWNlKC9cXCRcXHsoW159XSspXFx9L2csIChfLCB2YXJOYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwcm9jZXNzLmVudlt2YXJOYW1lXTtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6IEVudmlyb25tZW50IHZhcmlhYmxlIFwiJHt2YXJOYW1lfVwiIGlzIG5vdCBzZXRgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbnBtcmNDb250ZW50ID0gcmVwbGFjZWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2gge1xuICAgICAgICBsb2cuaW5mbyhgTm8gLm5wbXJjIGZpbGUgZm91bmQsIHNraXBwaW5nIGNvcHlpbmcgLm5wbXJjIHRvIG91dHB1dGApO1xuICAgIH1cbiAgICBsb2cuZGVidWcoYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YCk7XG4gICAgdHNDb25maWdGaWxlID0gcGF0aC5pc0Fic29sdXRlKHRzQ29uZmlnRmlsZSlcbiAgICAgICAgPyB0c0NvbmZpZ0ZpbGVcbiAgICAgICAgOiBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgdHNDb25maWdGaWxlKTtcbiAgICBvdXRwdXQgPSBzdHJpcENvbnRyYWN0TmFtZSA/IG91dHB1dCA6IHBhdGguam9pbihvdXRwdXQsIG5hbWUpO1xuICAgIGxvZy5pbmZvKGBEZWxldGluZyBleGlzdGluZyBvdXRwdXQgZm9sZGVyIChpZiBleGlzdHMpIHVuZGVyICR7b3V0cHV0fWApO1xuICAgIGV4ZWNTeW5jKGBybSAtcmYgJHtvdXRwdXR9YCk7XG4gICAgaWYgKGJ1bmRsZSkge1xuICAgICAgICBsb2cuaW5mbyhgYnVuZGxpbmcgY29udHJhY3QgZnJvbSAke2lucHV0fWApO1xuICAgICAgICBjb25zdCB0ZW1wQnVuZGxlRGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwiLmNvbnRyYWN0LWJ1bmRsZS1cIikpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRFbnRyeSA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBpbnB1dCwgXCJpbmRleC50c1wiKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZ0ZpbGUgPSB0cy5yZWFkQ29uZmlnRmlsZSh0c0NvbmZpZ0ZpbGUsIHRzLnN5cy5yZWFkRmlsZSk7XG4gICAgICAgICAgICBpZiAoY29uZmlnRmlsZS5lcnJvcikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKHRzLmZsYXR0ZW5EaWFnbm9zdGljTWVzc2FnZVRleHQoY29uZmlnRmlsZS5lcnJvci5tZXNzYWdlVGV4dCwgXCJcXG5cIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcGFyc2VkQ29uZmlnID0gdHMucGFyc2VKc29uQ29uZmlnRmlsZUNvbnRlbnQoY29uZmlnRmlsZS5jb25maWcsIHRzLnN5cywgcGF0aC5kaXJuYW1lKHRzQ29uZmlnRmlsZSksIHVuZGVmaW5lZCwgdHNDb25maWdGaWxlKTtcbiAgICAgICAgICAgIGlmIChwYXJzZWRDb25maWcuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKHBhcnNlZENvbmZpZy5lcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoZXJyb3IpID0+IHRzLmZsYXR0ZW5EaWFnbm9zdGljTWVzc2FnZVRleHQoZXJyb3IubWVzc2FnZVRleHQsIFwiXFxuXCIpKVxuICAgICAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB0ZW1wQ29tcGlsZXJPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIC4uLnBhcnNlZENvbmZpZy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIG91dERpcjogdGVtcEJ1bmRsZURpcixcbiAgICAgICAgICAgICAgICBtb2R1bGU6IHRzLk1vZHVsZUtpbmQuRVNOZXh0LFxuICAgICAgICAgICAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBzb3VyY2VNYXA6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGlubGluZVNvdXJjZXM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGJ1bmRsZWRFbnRyeVBvaW50ID0gdHNcbiAgICAgICAgICAgICAgICAuZ2V0T3V0cHV0RmlsZU5hbWVzKHtcbiAgICAgICAgICAgICAgICAuLi5wYXJzZWRDb25maWcsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdGVtcENvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgICAgIH0sIGlucHV0RW50cnksICF0cy5zeXMudXNlQ2FzZVNlbnNpdGl2ZUZpbGVOYW1lcylcbiAgICAgICAgICAgICAgICAuZmluZCgoZmlsZU5hbWUpID0+IGZpbGVOYW1lLmVuZHNXaXRoKFwiLmpzXCIpKTtcbiAgICAgICAgICAgIGlmICghYnVuZGxlZEVudHJ5UG9pbnQpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIGRldGVybWluZSB0aGUgZW1pdHRlZCBidW5kbGUgZW50cnkgZm9yICR7aW5wdXRFbnRyeX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbXBpbGVXaXRoVHNjb25maWdPdmVycmlkZXModHNDb25maWdGaWxlLCB0ZW1wQ29tcGlsZXJPcHRpb25zKTtcbiAgICAgICAgICAgIGNvbnN0IGJ1bmRsZWRDb250cmFjdCA9IGF3YWl0IHJvbGx1cCh7XG4gICAgICAgICAgICAgICAgaW5wdXQ6IGJ1bmRsZWRFbnRyeVBvaW50LFxuICAgICAgICAgICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUJ1bmRsZWRKc0ltcG9ydHMoKSxcbiAgICAgICAgICAgICAgICAgICAgcmVwbGFjZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmV2ZW50QXNzaWdubWVudDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGltaXRlcnM6IFtcIlwiLCBcIlwiXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczogeyBcIiMjVkVSU0lPTiMjXCI6IHZlcnNpb24sIFwiIyNQQUNLQUdFIyNcIjogcGtnLm5hbWUgfSxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbG9nLmluZm8oYHdpdGhpbmcgY29udHJhY3QgdG8gJHtvdXRwdXR9IHdpdGggbmFtZSAke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgKTtcbiAgICAgICAgICAgIGF3YWl0IGJ1bmRsZWRDb250cmFjdC53cml0ZSh7XG4gICAgICAgICAgICAgICAgZmlsZTogYCR7b3V0cHV0fS8ke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgLFxuICAgICAgICAgICAgICAgIGZvcm1hdDogXCJ1bWRcIixcbiAgICAgICAgICAgICAgICBuYW1lOiBgJHt0b1Bhc2NhbENhc2UobmFtZSl9LmpzYCxcbiAgICAgICAgICAgICAgICBzb3VyY2VtYXA6IHNvdXJjZW1hcHMgPyBcImlubGluZVwiIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgc291cmNlbWFwUGF0aFRyYW5zZm9ybTogKHJlbGF0aXZlU291cmNlUGF0aCwgc291cmNlbWFwUGF0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhYnNvbHV0ZVNvdXJjZVBhdGggPSBwYXRoLnJlc29sdmUocGF0aC5kaXJuYW1lKHNvdXJjZW1hcFBhdGgpLCByZWxhdGl2ZVNvdXJjZVBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWJzb2x1dGVTb3VyY2VQYXRoLnN0YXJ0c1dpdGgodGVtcEJ1bmRsZURpcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwYXRoLnBvc2l4LmpvaW4oXCIuYnVuZGxlXCIsIHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVsYXRpdmUodGVtcEJ1bmRsZURpciwgYWJzb2x1dGVTb3VyY2VQYXRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdChwYXRoLnNlcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIi9cIikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWxhdGl2ZVNvdXJjZVBhdGg7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYXdhaXQgYnVuZGxlZENvbnRyYWN0LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBmcy5ybVN5bmModGVtcEJ1bmRsZURpciwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb21waWxlV2l0aFRzY29uZmlnT3ZlcnJpZGVzKHRzQ29uZmlnRmlsZSwge1xuICAgICAgICAgICAgb3V0RGlyOiBvdXRwdXQsXG4gICAgICAgICAgICBtb2R1bGU6IHRzLk1vZHVsZUtpbmQuRVNOZXh0LFxuICAgICAgICAgICAgZGVjbGFyYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgc291cmNlTWFwOiBzb3VyY2VtYXBzLFxuICAgICAgICAgICAgaW5saW5lU291cmNlczogc291cmNlbWFwcyxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHNjcmlwdHMgPSB7XG4gICAgICAgIHN0YXJ0OiBnZXRDb250cmFjdFN0YXJ0Q29tbWFuZChkZWJ1ZywgY2NhYXMpLFxuICAgICAgICBcInN0YXJ0OmRldlwiOiBcImZhYnJpYy1jaGFpbmNvZGUtbm9kZSBzdGFydCAtLXRscy5lbmFibGVkIGZhbHNlXCIsXG4gICAgICAgIFwic3RhcnQ6d2F0Y2hcIjogJ25vZGVtb24gLS1leGVjIFwibnBtIHJ1biBzdGFydDpkZXZcIicsXG4gICAgICAgIGJ1aWxkOiAnZWNobyBcIk5vIG5lZWQgdG8gYnVpbGQgdGhlIGNoYWluY29kZVwiJyxcbiAgICAgICAgbGludDogXCJlc2xpbnQgLiAtLWZpeCAtLWV4dCAuanNcIixcbiAgICB9O1xuICAgIGNvbnN0IGNvbnRyYWN0UGFja2FnZSA9IHBrZztcbiAgICBjb25zdCBjb250cmFjdFBhY2thZ2VMb2NrID0gcGtnTG9jaztcbiAgICBjb250cmFjdFBhY2thZ2UubmFtZSA9IG5hbWU7XG4gICAgY29udHJhY3RQYWNrYWdlLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgY29udHJhY3RQYWNrYWdlLnNjcmlwdHMgPSBzY3JpcHRzO1xuICAgIGRlbGV0ZSBjb250cmFjdFBhY2thZ2UudHlwZTtcbiAgICBkZWxldGUgY29udHJhY3RQYWNrYWdlLnR5cGVzO1xuICAgIGRlbGV0ZSBjb250cmFjdFBhY2thZ2UuZXhwb3J0cztcbiAgICBjb250cmFjdFBhY2thZ2UubWFpbiA9IGJ1bmRsZVxuICAgICAgICA/IGAke3RvUGFzY2FsQ2FzZShuYW1lKX0uanNgXG4gICAgICAgIDogYCR7aW5wdXR9L2luZGV4LmpzYDtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXQsIFwicGFja2FnZS5qc29uXCIpLCBKU09OLnN0cmluZ2lmeShjb250cmFjdFBhY2thZ2UpKTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXQsIFwicGFja2FnZS1sb2NrLmpzb25cIiksIEpTT04uc3RyaW5naWZ5KGNvbnRyYWN0UGFja2FnZUxvY2spKTtcbiAgICBpZiAobnBtcmMgJiYgbnBtcmNDb250ZW50KVxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXQsIFwiLm5wbXJjXCIpLCBucG1yY0NvbnRlbnQpO1xuICAgIGxvZy5pbmZvKGBJbnN0YWxsaW5nIGFuZCBzaHJpbmt3cmFwcGluZyBkZXBlbmRlbmNpZXNgKTtcbiAgICBleGVjU3luYyhgbnBtIGluc3RhbGxgLCB7IGN3ZDogb3V0cHV0IH0pO1xuICAgIGV4ZWNTeW5jKGBucG0gc2hyaW5rd3JhcGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgZXhlY1N5bmMoXCJybSAtcmYgbm9kZV9tb2R1bGVzXCIsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oYGRlbGV0aW5nIHRlbXAgZm9sZGVyc2ApO1xuICAgIGV4ZWNTeW5jKGBybSAtcmYgLi9saWIgJiYgcm0gLXJmIC4vZGlzdGAsIHsgY3dkOiBvdXRwdXQgfSk7XG4gICAgbG9nLmluZm8oYENvbnRyYWN0ICR7bmFtZX0gY29tcGlsZWQgc3VjY2Vzc2Z1bGx5ISBpbiAke3BhdGgucmVzb2x2ZShvdXRwdXQpfWApO1xuICAgIGlmIChkZXYpIHtcbiAgICAgICAgbG9nLmluZm8oYGRldiBtb2RlIGVuYWJsZWQuIGluc3RhbGxpbmcgZGVwZW5kZW5jaWVzIGZvciBkZWJ1Z2dpbmdgKTtcbiAgICAgICAgZXhlY1N5bmMoYG5wbSBpbnN0YWxsYCwge1xuICAgICAgICAgICAgY3dkOiBvdXRwdXQsXG4gICAgICAgICAgICBlbnY6IHsgLi4ucHJvY2Vzcy5lbnYsIE5PREVfRU5WOiBcInByb2R1Y3Rpb25cIiB9LFxuICAgICAgICB9KTtcbiAgICB9XG59KTtcbmNvbnN0IGV4dHJhY3RJbmRleGVzID0gbmV3IENvbW1hbmQoKVxuICAgIC5jb21tYW5kKFwiZXh0cmFjdC1pbmRleGVzXCIpXG4gICAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gICAgLm9wdGlvbihcIi0tZm9sZGVyIFtTdHJpbmddXCIsIFwidGhlIG1vZGVsIGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLW91dERpciA8U3RyaW5nPlwiLCBcInRoZSBvdXRkaXIuIHNob3VsZCBtYXRjaCB5b3VyIGNvbnRyYWN0IGZvbGRlclwiKVxuICAgIC5kZXNjcmlwdGlvbihcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIilcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpKTtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImV4dHJhY3QtaW5kZXhlc1wiKTtcbiAgICBsb2cuZGVidWcoYHJ1bm5pbmcgd2l0aCBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSBmb3IgJHtwa2cubmFtZX0gdmVyc2lvbiAke3ZlcnNpb259YCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCB7IGZpbGUsIGZvbGRlciwgb3V0RGlyIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IG1vZGVscyA9IFtdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIG1vZGVscy5wdXNoKC4uLnJlYWRNb2RlbEZpbGUoZmlsZSkpO1xuICAgIH1cbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIGxvZy5pbmZvKGBMb2FkaW5nIG1vZGVscyBmcm9tICR7Zm9sZGVyfS4uLmApO1xuICAgICAgICBtb2RlbHMucHVzaCguLi4oYXdhaXQgcmVhZE1vZGVsRm9sZGVycyhmb2xkZXIpKSk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGNvbnN0IGRlc2lnbkRvY3MgPSB7fTtcbiAgICBpZiAoIWZpbGUgJiYgIWZvbGRlcilcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE11c3QgcGFzcyBhIGZpbGUgb3IgYSBmb2xkZXJgKTtcbiAgICBmb3IgKGNvbnN0IG0gb2YgbW9kZWxzKSB7XG4gICAgICAgIGxvZy52ZXJib3NlKGBFeHRyYWN0aW5nIGluZGV4ZXMgZm9yIHRhYmxlICR7TW9kZWwudGFibGVOYW1lKG0pfWApO1xuICAgICAgICBjb25zdCBpbmRleGVzID0gZ2VuZXJhdGVNb2RlbEluZGV4ZXMobSk7XG4gICAgICAgIGluZGV4ZXMuZm9yRWFjaCgoaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleC5uYW1lKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2luZGV4Lm5hbWVdID0gaW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBnZW5lcmF0ZU1vZGVsRGVzaWduRG9jcyhtLCBkZXNpZ25Eb2NzKTtcbiAgICB9XG4gICAgY29uc3QgaW5kZXhlc1RvV3JpdGUgPSBPYmplY3QudmFsdWVzKHJlc3VsdCk7XG4gICAgY29uc3QgZG9jc1RvV3JpdGUgPSBPYmplY3QudmFsdWVzKGRlc2lnbkRvY3MpO1xuICAgIGxvZy52ZXJib3NlKGBGb3VuZCAke2luZGV4ZXNUb1dyaXRlLmxlbmd0aH0gaW5kZXhlcyB0byBjcmVhdGVgKTtcbiAgICBsb2cudmVyYm9zZShgRm91bmQgJHtkb2NzVG9Xcml0ZS5sZW5ndGh9IGRlc2lnbiBkb2NzIHRvIGNyZWF0ZWApO1xuICAgIGxvZy5kZWJ1ZyhgSW5kZXhlczogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQpfWApO1xuICAgIGxvZy5kZWJ1ZyhgRGVzaWduRG9jczogJHtKU09OLnN0cmluZ2lmeShkZXNpZ25Eb2NzKX1gKTtcbiAgICB3cml0ZUluZGV4ZXMoaW5kZXhlc1RvV3JpdGUsIG91dERpcik7XG4gICAgd3JpdGVEZXNpZ25Eb2NzKGRvY3NUb1dyaXRlLCBvdXREaXIpO1xufSk7XG5jb25zdCBleHRyYWN0Q29sbGVjdGlvbnMgPSBuZXcgQ29tbWFuZCgpXG4gICAgLmNvbW1hbmQoXCJleHRyYWN0LWNvbGxlY3Rpb25zXCIpXG4gICAgLm9wdGlvbihcIi0tZmlsZSBbU3RyaW5nXVwiLCBcInRoZSBtb2RlbCBmaWxlXCIpXG4gICAgLm9wdGlvbihcIi0tZm9sZGVyIFtTdHJpbmddXCIsIFwidGhlIG1vZGVsIGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLW91dERpciA8U3RyaW5nPlwiLCBcInRoZSBvdXRkaXIuIHNob3VsZCBtYXRjaCB5b3VyIGNvbnRyYWN0IGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLW1zcElkcyA8U3RyaW5nPlwiLCBcInNpbmdsZSBtc3BJZCBvciBzdHJpbmdpZmllZCBhcnJheVwiKVxuICAgIC5vcHRpb24oXCItLW1haW5Nc3BJZCA8U3RyaW5nPlwiLCBcInNpbmdsZSBtc3BJZFwiKVxuICAgIC5vcHRpb24oXCItLW92ZXJyaWRlcyBbU3RyaW5nXVwiLCBcInN0cmluZ2lmaWVkIG92ZXJyaWRlIG9iamVjdCB7cmVxdWlyZWRQZWVyQ291bnQ6IG51bWJlciwgbWF4UGVlckNvdW50OiBudW1iZXIsIGJsb2NrVG9MaXZlOiBudW1iZXIsIG1lbWJlck9ubHlSZWFkOiBudW1iZXIsIG1lbWJlck9ubHlXcml0ZTogbnVtYmVyLCBlbmRvcnNlbWVudFBvbGljeTogIHt9fVwiKVxuICAgIC5kZXNjcmlwdGlvbihcIkNyZWF0ZXMgYSB0aGUgSlNPTiBpbmRleCBmaWxlcyB0byBiZSBzdWJtaXR0ZWQgdG8gYWxvbmcgd2l0aCB0aGUgY29udHJhY3RcIilcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpKTtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImV4dHJhY3QtY29sbGVjdGlvbnNcIik7XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBsZXQgeyBmaWxlLCBmb2xkZXIsIG91dERpciwgbXNwSWRzLCBtYWluTXNwSWQgfSA9IG9wdGlvbnM7XG4gICAgdHJ5IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIG1zcElkcyA9IG1zcElkcyA/IEpTT04ucGFyc2UobXNwSWRzKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgLy8gIGRvIG5vdGhpbmdcbiAgICAgICAgfVxuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKGBVbmFibGUgdG8gZXh0cmFjdCBtc3BpZHM6ICAke2V9YCk7XG4gICAgfVxuICAgIGNvbnN0IG1vZGVscyA9IFtdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIG1vZGVscy5wdXNoKC4uLnJlYWRNb2RlbEZpbGUoZmlsZSkpO1xuICAgIH1cbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIGxvZy5pbmZvKGBMb2FkaW5nIG1vZGVscyBmcm9tICR7Zm9sZGVyfS4uLmApO1xuICAgICAgICBtb2RlbHMucHVzaCguLi4oYXdhaXQgcmVhZE1vZGVsRm9sZGVycyhmb2xkZXIpKSk7XG4gICAgfVxuICAgIGlmICghZmlsZSAmJiAhZm9sZGVyKVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTXVzdCBwYXNzIGEgZmlsZSBvciBhIGZvbGRlcmApO1xuICAgIGNvbnN0IGluamVjdGFibGVNb2RlbHMgPSBtb2RlbHMuZmlsdGVyKChtb2RlbCkgPT4gTW9kZWwuaXNTaGFyZWQobW9kZWwpIHx8XG4gICAgICAgIE1vZGVsLmlzUHJpdmF0ZShtb2RlbCkgfHxcbiAgICAgICAgISFNb2RlbC5taXJyb3JlZEF0KG1vZGVsKSk7XG4gICAgaWYgKCFpbmplY3RhYmxlTW9kZWxzLmxlbmd0aCkge1xuICAgICAgICBsb2cuaW5mbyhgTm8gc2hhcmVkLCBwcml2YXRlLCBvciBtaXJyb3JlZCBtb2RlbHMgZm91bmQgdG8gZXh0cmFjdCBjb2xsZWN0aW9uc2ApO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGFzeW5jIGZ1bmN0aW9uIGdldENvbHMobXNwSWRzTGlzdCkge1xuICAgICAgICBjb25zdCBjb2xzID0gYXdhaXQgUHJvbWlzZS5hbGwoaW5qZWN0YWJsZU1vZGVscy5tYXAoYXN5bmMgKGNsYXp6KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YWJsZU5hbWUgPSBNb2RlbC50YWJsZU5hbWUoY2xhenopO1xuICAgICAgICAgICAgY29uc3QgbWlycm9yTWV0YSA9IE1vZGVsLm1pcnJvcmVkQXQoY2xhenopO1xuICAgICAgICAgICAgY29uc29sZS5sb2codGFibGVOYW1lKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb25zID0ge307XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1zcCBvZiBtc3BJZHNMaXN0IHx8IG1zcElkcyB8fCBbXSkge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25zW21zcF0gPSBhd2FpdCBleENvbGxlY3Rpb25zKGNsYXp6LCBbbXNwLCBtYWluTXNwSWRdLCB7fSwgXG4gICAgICAgICAgICAgICAgLy8ge1xuICAgICAgICAgICAgICAgIC8vICAgc2hhcmVkQ29sczogT2JqZWN0LmFzc2lnbih7fSwgb3ZlcnJpZGVzLnNoYXJlZENvbHMpLFxuICAgICAgICAgICAgICAgIC8vICAgcHJpdmF0ZUNvbHM6IE9iamVjdC5hc3NpZ24oe30sIG92ZXJyaWRlcy5wcml2YXRlQ29scyksXG4gICAgICAgICAgICAgICAgLy8gfSxcbiAgICAgICAgICAgICAgICAhIW1pcnJvck1ldGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IG1pcnJvckNvbGxlY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBpZiAobWlycm9yTWV0YSkge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25zW21haW5Nc3BJZF0gPSBjb2xsZWN0aW9uc1ttYWluTXNwSWRdIHx8IHt9O1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGNvbGxlY3Rpb25zKS5mb3JFYWNoKChtc3ApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbnNbbWFpbk1zcElkXS5wcml2YXRlcyA9IGNvbGxlY3Rpb25zW21zcF0ucHJpdmF0ZXM/LmZpbHRlcigocCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHAubmFtZSAhPT0gbWlycm9yTWV0YS5yZXNvbHZlcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pcnJvckNvbGxlY3Rpb24gPSBwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHByaXZhdGVzQ291bnQgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKVxuICAgICAgICAgICAgICAgIC5tYXAoKGMpID0+IGMucHJpdmF0ZXMpXG4gICAgICAgICAgICAgICAgLmZsYXQoKS5sZW5ndGg7XG4gICAgICAgICAgICBpZiAocHJpdmF0ZXNDb3VudClcbiAgICAgICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgICAgICAuaW5mbyhgRm91bmQgJHtwcml2YXRlc0NvdW50fSBwcml2YXRlIGNvbGxlY3Rpb25zIHRvIGNyZWF0ZWApO1xuICAgICAgICAgICAgY29uc3Qgc2hhcmVkQ291bnQgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKVxuICAgICAgICAgICAgICAgIC5tYXAoKGMpID0+IGMuc2hhcmVkKVxuICAgICAgICAgICAgICAgIC5mbGF0KCkubGVuZ3RoO1xuICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgIC5pbmZvKGBGb3VuZCAke3NoYXJlZENvdW50fSBzaGFyZWQgY29sbGVjdGlvbnMgdG8gY3JlYXRlYCk7XG4gICAgICAgICAgICBpZiAobWlycm9yQ29sbGVjdGlvbilcbiAgICAgICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgICAgICAuaW5mbyhgRm91bmQgb25lIG1pcnJvciBjb2xsZWN0aW9uICR7bWlycm9yTWV0YT8ucmVzb2x2ZXJ9YCk7XG4gICAgICAgICAgICBjb25zdCBjb2xMaXN0ID0gT2JqZWN0LnZhbHVlcyhjb2xsZWN0aW9ucylcbiAgICAgICAgICAgICAgICAubWFwKChjKSA9PiBbLi4uKGMucHJpdmF0ZXMgfHwgW10pLCAuLi4oYy5zaGFyZWQgfHwgW10pXSlcbiAgICAgICAgICAgICAgICAuZmxhdCgpO1xuICAgICAgICAgICAgbGV0IGluZGV4ZXMgPSBbXTtcbiAgICAgICAgICAgIGxldCBkZXNpZ25Eb2NzID0gW107XG4gICAgICAgICAgICBpZiAoY29sTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBsb2dcbiAgICAgICAgICAgICAgICAgICAgLmZvcihNb2RlbC50YWJsZU5hbWUoY2xhenopKVxuICAgICAgICAgICAgICAgICAgICAudmVyYm9zZShgZ2VuZXJhdGluZyBpbmRleGVzIGZvciBjb2xsZWN0aW9uc2ApO1xuICAgICAgICAgICAgICAgIGluZGV4ZXMgPSBnZW5lcmF0ZU1vZGVsSW5kZXhlcyhjbGF6eik7XG4gICAgICAgICAgICAgICAgbG9nXG4gICAgICAgICAgICAgICAgICAgIC5mb3IoTW9kZWwudGFibGVOYW1lKGNsYXp6KSlcbiAgICAgICAgICAgICAgICAgICAgLmluZm8oYGZvdW5kICR7aW5kZXhlcy5sZW5ndGh9IGluZGV4ZXNgKTtcbiAgICAgICAgICAgICAgICBkZXNpZ25Eb2NzID0gZ2VuZXJhdGVNb2RlbERlc2lnbkRvY3MoY2xhenopO1xuICAgICAgICAgICAgICAgIGxvZ1xuICAgICAgICAgICAgICAgICAgICAuZm9yKE1vZGVsLnRhYmxlTmFtZShjbGF6eikpXG4gICAgICAgICAgICAgICAgICAgIC5pbmZvKGBmb3VuZCAke2Rlc2lnbkRvY3MubGVuZ3RofSBkZXNpZ24gZG9jc2ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgICAgICAgIGRlc2lnbkRvY3MsXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbnM6IGNvbExpc3QsXG4gICAgICAgICAgICAgICAgbWlycm9yOiBtaXJyb3JDb2xsZWN0aW9uLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm4gY29scztcbiAgICB9XG4gICAgY29uc3QgY29scyA9IGF3YWl0IGdldENvbHMoKTtcbiAgICBjb25zdCBvbmx5TWlycm9yID0gYXdhaXQgZ2V0Q29scyhbbWFpbk1zcElkXSk7XG4gICAgY29uc3QgY29sbGVjdGlvbnNUbyA9IFtcbiAgICAgICAgLi4ub25seU1pcnJvci5maWx0ZXIoKGMpID0+IGMubWlycm9yKS5tYXAoKGMpID0+IGMubWlycm9yKSxcbiAgICAgICAgLi4uY29scy5tYXAoKGMpID0+IGMuY29sbGVjdGlvbnMpLmZsYXQoKSxcbiAgICAgICAgLi4uY29scy5maWx0ZXIoKGMpID0+IGMubWlycm9yKS5tYXAoKGMpID0+IGMubWlycm9yKSxcbiAgICBdO1xuICAgIGNvbnN0IHVuaXF1ZUJ5Q29sbGVjdGlvbiA9IFtcbiAgICAgICAgLi4ubmV3IE1hcChjb2xsZWN0aW9uc1RvLm1hcCgoaXRlbSkgPT4gW2l0ZW0ubmFtZSwgaXRlbV0pKS52YWx1ZXMoKSxcbiAgICBdO1xuICAgIGlmICh1bmlxdWVCeUNvbGxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICAgIHdyaXRlQ29sbGVjdGlvbnModW5pcXVlQnlDb2xsZWN0aW9uLCBvdXREaXIpO1xuICAgICAgICBjb25zdCBtZXRhQ29sbGVjdGlvbnNDb25maWcgPSBwYXRoLmpvaW4ob3V0RGlyLCBcIk1FVEEtSU5GXCIsIFwiY29sbGVjdGlvbnNfY29uZmlnLmpzb25cIik7XG4gICAgICAgIGNvbnN0IGNvbnRyYWN0Q29sbGVjdGlvbnNDb25maWcgPSBwYXRoLmpvaW4ob3V0RGlyLCBcImNvbGxlY3Rpb25zX2NvbmZpZy5qc29uXCIpO1xuICAgICAgICBmcy5jb3B5RmlsZVN5bmMobWV0YUNvbGxlY3Rpb25zQ29uZmlnLCBjb250cmFjdENvbGxlY3Rpb25zQ29uZmlnKTtcbiAgICAgICAgbG9nLmluZm8oYFN0b3JlZCAke2NvbGxlY3Rpb25zVG8ubGVuZ3RofSBjb2xsZWN0aW9ucyB0byAke21ldGFDb2xsZWN0aW9uc0NvbmZpZ31gKTtcbiAgICAgICAgbG9nLmluZm8oYENvcGllZCBjb2xsZWN0aW9uc19jb25maWcgdG8gJHtjb250cmFjdENvbGxlY3Rpb25zQ29uZmlnfSBhbG9uZ3NpZGUgdGhlIHBhY2thZ2UuanNvbmApO1xuICAgICAgICBjb2xzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgaW5kZXhlcywgZGVzaWduRG9jcywgY29sbGVjdGlvbnMsIG1pcnJvciB9ID0gYztcbiAgICAgICAgICAgIGNvbnN0IHRvSW5kZXggPSBbLi4uY29sbGVjdGlvbnMsIG1pcnJvcl0uZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAgICAgdG9JbmRleC5mb3JFYWNoKChpKSA9PiB7XG4gICAgICAgICAgICAgICAgd3JpdGVJbmRleGVzKGluZGV4ZXMsIG91dERpciwgaS5uYW1lKTtcbiAgICAgICAgICAgICAgICB3cml0ZUNvbGxlY3Rpb25EZXNpZ25Eb2NzKGRlc2lnbkRvY3MgfHwgW10sIG91dERpciwgaS5uYW1lKTtcbiAgICAgICAgICAgICAgICBsb2cuaW5mbyhgU3RvcmVkICR7aW5kZXhlcz8ubGVuZ3RoIHx8IDB9IGluZGV4ZXMgYW5kICR7ZGVzaWduRG9jcz8ubGVuZ3RoIHx8IDB9IGRlc2lnbiBkb2NzIHRvIGNvbGxlY3Rpb24gJHtpLm5hbWV9YCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufSk7XG5jb25zdCBlbnN1cmVJbmZyYSA9IG5ldyBDb21tYW5kKClcbiAgICAubmFtZShcImF3YWl0LWluZnJhXCIpXG4gICAgLmRlc2NyaXB0aW9uKFwid2FpdHMgZm9yIHRoZSBpbmZyYXN0cnVjdHVyZSB0byBiZSB1cCBhbmQgcnVubmluZ1wiKVxuICAgIC5vcHRpb24oXCItLWNvbnRhaW5lciA8U3RyaW5nPlwiLCBcImRvY2tlciBjb250YWluZXIgbmFtZSB0byB0ZXN0ICh1c3VhbGx5IGxhc3QgcGVlcilcIiwgXCJib290LW9yZy1jLXBlZXItMFwiKVxuICAgIC5vcHRpb24oXCItLXRpbWVvdXQgPFN0cmluZz5cIiwgXCJ0aW1lb3V0IGJldHdlZW4gdGVzdHMgaW4gbWlsbGlzZWNvbmRzXCIsIFwiNTAwMFwiKVxuICAgIC5vcHRpb24oXCItLWF0dGVtcHRzIDxTdHJpbmc+XCIsIFwibnVtYmVyIG9mIGF0dGVtcHRzIGJlZm9yZSBnaXZpbmcgdXBcIiwgXCIxMFwiKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBwa2cgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJwYWNrYWdlLmpzb25cIiksIFwidXRmLThcIikpO1xuICAgIGNvbnN0IHZlcnNpb24gPSBwa2cudmVyc2lvbjtcbiAgICBjb25zdCBsb2cgPSBsb2dnZXIuZm9yKFwiYXdhaXQtaW5mcmFcIik7XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICBsZXQgeyBjb250YWluZXIsIHRpbWVvdXQsIGF0dGVtcHRzIH0gPSBvcHRpb25zO1xuICAgIHRpbWVvdXQgPSBwYXJzZUludCh0aW1lb3V0KSB8fCA1MDAwO1xuICAgIGF0dGVtcHRzID0gcGFyc2VJbnQoYXR0ZW1wdHMpIHx8IDEwO1xuICAgIGF3YWl0IGVuc3VyZUluZnJhc3RydWN0dXJlQm9vdGVkKFwiYm9vdC1vcmctYy1wZWVyLTBcIiwgdGltZW91dCwgYXR0ZW1wdHMpO1xuICAgIGxvZy5pbmZvKGBJbmZyYXN0cnVjdHVyZSBib290ZWQgc3VjY2Vzc2Z1bGx5IChhY2NvcmRpbmcgdG8gY29udGFpbmVyICR7Y29udGFpbmVyfSkhYCk7XG59KTtcbmNvbnN0IGRlcGxveUNvbnRyYWN0ID0gbmV3IENvbW1hbmQoKVxuICAgIC5uYW1lKFwiZGVwbG95LWNvbnRyYWN0XCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiZGVwbG95cyB0aGUgc2VsZWN0ZWQgY29udHJhY3RcIilcbiAgICAub3B0aW9uKFwiLS1uYW1lIDxTdHJpbmc+XCIsIFwiQ29udHJhY3QgTmFtZSAoYW5kIGZvbGRlcilcIilcbiAgICAub3B0aW9uKFwiLS1pbnB1dCA8U3RyaW5nPlwiLCBcImlucHV0IGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLWNvbGxlY3Rpb25zLWNvbmZpZyA8U3RyaW5nPlwiLCBcInBhdGggdG8gY29sbGVjdGlvbnNfY29uZmlnLmpzb24gdG8gY29uZmlndXJlIHByaXZhdGUgY29sbGVjdGlvbnNcIilcbiAgICAub3B0aW9uKFwiLS1pbmNyZW1lbnRWZXJzaW9uIDxTdHJpbmc+XCIsIFwiKHRydWUgfCBmYWxzZSkgaWYgc2hvdWxkIHVzZSB2ZXJzaW9uIG9yIHNlcXVlbmNlIHRvIHVwZGF0ZSBjb250cmFjdHNcIiwgZmFsc2UpXG4gICAgLm9wdGlvbihcIi0tdHJhY2tlckZvbGRlciA8U3RyaW5nPlwiLCBcImNvbnRyYWN0IHZlcnNpb24gdHJhY2tlciBmb2xkZXIgKHNob3VsZCBiZSBkZWxldGVkIG9uIGluZnJhc3RydWN0dXJlOmRvd24pXCIsIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInRlc3RzXCIsIFwiaW50ZWdyYXRpb25cIiwgXCJjaGFpbmNvZGVUcmFja2Vyc1wiKSlcbiAgICAub3B0aW9uKFwiLS1wZWVycyA8U3RyaW5nPlwiLCBcImNvbW1hIHNlcGFyYXRlZCBwZWVyIGlkc1wiLCBcIm9yZy1hLXBlZXItMCxvcmctYi1wZWVyLTAsb3JnLWMtcGVlci0wXCIpXG4gICAgLmFjdGlvbihhc3luYyAob3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHBrZyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcInBhY2thZ2UuanNvblwiKSwgXCJ1dGYtOFwiKSk7XG4gICAgY29uc3QgdmVyc2lvbiA9IHBrZy52ZXJzaW9uO1xuICAgIGNvbnN0IGxvZyA9IGxvZ2dlci5mb3IoXCJkZXBsb3ktY29udHJhY3RcIik7XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIGNvbnN0IHsgbmFtZSwgaW5wdXQsIHBlZXJzLCB0cmFja2VyRm9sZGVyLCBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgaW5jcmVtZW50VmVyc2lvbiwgY29sbGVjdGlvbnNDb25maWcsIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHBlZXJJZHMgPSBwZWVycy5zcGxpdChcIixcIik7XG4gICAgY29uc3QgY291bnRQYXRoID0gcGF0aC5yZXNvbHZlKHBhdGguam9pbih0cmFja2VyRm9sZGVyLCBgJHtuYW1lfS5jb3VudGApKTtcbiAgICBsZXQgc2VxdWVuY2U7XG4gICAgdHJ5IHtcbiAgICAgICAgc2VxdWVuY2UgPSBwYXJzZUludChmcy5yZWFkRmlsZVN5bmMoY291bnRQYXRoKS50b1N0cmluZyhcInV0Zi04XCIpKTtcbiAgICAgICAgaWYgKGlzTmFOKHNlcXVlbmNlKSlcbiAgICAgICAgICAgIHNlcXVlbmNlID0gMTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgc2VxdWVuY2UgKz0gMTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICBzZXF1ZW5jZSA9IDE7XG4gICAgfVxuICAgIC8vXG4gICAgLy8gaWYgKGluY3JlbWVudFZlcnNpb24pIHtcbiAgICAvLyAgIHZlcnNpb24gPSB2ZXJzaW9uICsgYC0ke3NlcXVlbmNlfWA7XG4gICAgLy8gICAvLyBzZXF1ZW5jZSA9IDE7XG4gICAgLy8gfVxuICAgIHRyeSB7XG4gICAgICAgIGZvciAoY29uc3QgcGVlciBvZiBwZWVySWRzKSB7XG4gICAgICAgICAgICBwYWNrYWdlQ29udHJhY3QocGVlciwgaW5wdXQsIG5hbWUsIHZlcnNpb24pO1xuICAgICAgICAgICAgaW5zdGFsbENvbnRyYWN0KHBlZXIsIG5hbWUpO1xuICAgICAgICAgICAgYXBwcm92ZUNvbnRyYWN0KHBlZXIsIG5hbWUsIHBlZXIgPT09IFwib3JnLWEtcGVlci0wXCJcbiAgICAgICAgICAgICAgICA/IFwidGxzLWNhLWNlcnQucGVtXCJcbiAgICAgICAgICAgICAgICA6IFwib3JkZXJlci10bHMtY2EtY2VydC5wZW1cIiwgc2VxdWVuY2UsIHZlcnNpb24sIGNvbGxlY3Rpb25zQ29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKGNvdW50UGF0aCwgc2VxdWVuY2UudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgbG9nLmVycm9yKFwiRXJyb3IgZGVwbG95aW5nIGNvbnRyYWN0OlwiLCBlcnIpO1xuICAgIH1cbiAgICBjb21taXRDaGFpbmNvZGUobmFtZSwgc2VxdWVuY2UsIHZlcnNpb24sIGNvbGxlY3Rpb25zQ29uZmlnKTtcbn0pO1xuY29uc3QgZ2V0Q3J5cHRvTWF0ZXJpYWwgPSBuZXcgQ29tbWFuZCgpXG4gICAgLm5hbWUoXCJnZXQtY3J5cHRvLW1hdGVyaWFsXCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiY29waWVzIHRoZSBjcnlwdG8gbWF0ZXJpYWwgdG8gdGhlIHNlbGVjdGVkIGZvbGRlclwiKVxuICAgIC5vcHRpb24oXCItLWZvbGRlciA8U3RyaW5nPlwiLCBcIm91dHB1dCBmb2xkZXJcIiwgXCJkb2NrZXIvZG9ja2VyLWRhdGFcIilcbiAgICAub3B0aW9uKFwiLS1vcmcgW1N0cmluZ11cIiwgXCJ0aGUgb3JnL3BlZXIgdG8gZXh0cmFjdCBmcm9tXCIsIFwib3JnLWFcIilcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGtnID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwicGFja2FnZS5qc29uXCIpLCBcInV0Zi04XCIpKTtcbiAgICBjb25zdCB2ZXJzaW9uID0gcGtnLnZlcnNpb247XG4gICAgY29uc3QgbG9nID0gbG9nZ2VyLmZvcihcImdldC1jcnlwdG8tbWF0ZXJpYWxcIik7XG4gICAgbG9nLmRlYnVnKGBydW5uaW5nIHdpdGggb3B0aW9uczogJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX0gZm9yICR7cGtnLm5hbWV9IHZlcnNpb24gJHt2ZXJzaW9ufWApO1xuICAgIGNvbnN0IHsgZm9sZGVyLCBvcmcgfSA9IG9wdGlvbnM7XG4gICAgZXhlY1N5bmMoYGRvY2tlciBjcCAke29yZ306L3dlYXZlci9jbGllbnQvLiAke2ZvbGRlcn1gLCB7XG4gICAgICAgIGN3ZDogcHJvY2Vzcy5jd2QoKSxcbiAgICB9KTtcbn0pO1xuY29uc3QgZmFicmljQ21kID0gbmV3IENvbW1hbmQoKVxuICAgIC5uYW1lKFwiZm9yLWZhYnJpY1wiKVxuICAgIC5jb21tYW5kKFwiZmFicmljXCIpXG4gICAgLmRlc2NyaXB0aW9uKFwiZXhwb3NlcyBzZXZlcmFsIGNvbW1hbmRzIHRvIGhlbHAgbWFuYWdlIHRoZSBmYWJyaWMgaW5mcmFzdHJ1Y3R1cmVcIik7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChjb21waWxlQ29tbWFuZCk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChleHRyYWN0SW5kZXhlcyk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChlbnN1cmVJbmZyYSk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChkZXBsb3lDb250cmFjdCk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChnZXRDcnlwdG9NYXRlcmlhbCk7XG5mYWJyaWNDbWQuYWRkQ29tbWFuZChleHRyYWN0Q29sbGVjdGlvbnMpO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZmFicmljKCkge1xuICAgIHJldHVybiBmYWJyaWNDbWQ7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lZMnhwTFcxdlpIVnNaUzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1TDNOeVl5OWpiR2t0Ylc5a2RXeGxMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFOUJRVThzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4WFFVRlhMRU5CUVVNN1FVRkRjRU1zVDBGQlR5eEZRVUZGTEU5QlFVOHNSVUZCUlN4WlFVRlpMRVZCUVVVc1RVRkJUU3h0UWtGQmJVSXNRMEZCUXp0QlFVTXhSQ3hQUVVGUExFVkJRVVVzVVVGQlVTeEZRVUZGTEUxQlFVMHNaVUZCWlN4RFFVRkRPMEZCUTNwRExFOUJRVThzUlVGQlJTeE5RVUZOTEVsQlFVa3NRMEZCUXp0QlFVTndRaXhQUVVGUExFbEJRVWtzVFVGQlRTeE5RVUZOTEVOQlFVTTdRVUZEZUVJc1QwRkJUeXhGUVVGVkxFMUJRVTBzUlVGQlJTeE5RVUZOTEZGQlFWRXNRMEZCUXp0QlFVTjRReXhQUVVGUExFOUJRVThzVFVGQlRTeDNRa0ZCZDBJc1EwRkJRenRCUVVNM1F5eFBRVUZQTEVWQlFVVXNZVUZCWVN4RlFVRkZMR3RDUVVGclFpeEZRVUZGTEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGRE5VVXNUMEZCVHl4RlFVTk1MSFZDUVVGMVFpeEZRVU4yUWl4dlFrRkJiMElzUlVGRGNFSXNZVUZCWVN4RlFVTmlMR2RDUVVGblFpeEZRVU5vUWl4bFFVRmxMRVZCUTJZc1dVRkJXU3hIUVVOaUxHdERRVUY1UWp0QlFVTXhRaXhQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZGTEUxQlFVMHNaME5CUVdkRExFTkJRVU03UVVGRGRrUXNUMEZCVHl4RlFVTk1MR1ZCUVdVc1JVRkRaaXd3UWtGQk1FSXNSVUZETVVJc1pVRkJaU3hGUVVObUxHVkJRV1VzUlVGRFppeGxRVUZsTEVWQlEyWXNkVUpCUVhWQ0xFVkJRM1pDTERSQ1FVRTBRaXhIUVVNM1FpeDFRa0ZCYjBJN1FVRkRja0lzY1VOQlFUUkNPMEZCUXpWQ0xFOUJRVThzUlVGQlJTeE5RVUZOTEZsQlFWa3NRMEZCUXp0QlFVTTFRaXhQUVVGUExFVkJRMHdzYTBKQlFXdENMRWxCUVVrc1lVRkJZU3hGUVVWdVF5eG5Ra0ZCWjBJc1JVRkRhRUlzZVVKQlFYbENMRWRCUXpGQ0xITkRRVUZ0UXp0QlFVZHdReXhOUVVGTkxFMUJRVTBzUjBGQlJ5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJSWEpETEZOQlFWTXNkVUpCUVhWQ08wbEJRemxDTEU5QlFVODdVVUZEVEN4SlFVRkpMRVZCUVVVc05FSkJRVFJDTzFGQlEyeERMRk5CUVZNc1EwRkJReXhOUVVGTkxFVkJRVVVzVVVGQlVUdFpRVU40UWl4SlFVRkpMRU5CUVVNc1VVRkJVU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRE8yZENRVU42UXl4UFFVRlBMRWxCUVVrc1EwRkJRenRaUVVOa0xFTkJRVU03V1VGRlJDeE5RVUZOTEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNVVUZCVVN4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGJFVXNUVUZCVFN4VlFVRlZMRWRCUVVjN1owSkJRMnBDTEZsQlFWazdaMEpCUTFvc1IwRkJSeXhaUVVGWkxFdEJRVXM3WjBKQlEzQkNMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTEZWQlFWVXNRMEZCUXp0aFFVTndReXhEUVVGRE8xbEJSVVlzUzBGQlN5eE5RVUZOTEZOQlFWTXNTVUZCU1N4VlFVRlZMRVZCUVVVc1EwRkJRenRuUWtGRGJrTXNTVUZCU1N4RlFVRkZMRU5CUVVNc1ZVRkJWU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXp0dlFrRkRhRVVzVDBGQlR5eFRRVUZUTEVOQlFVTTdaMEpCUTI1Q0xFTkJRVU03V1VGRFNDeERRVUZETzFsQlJVUXNUMEZCVHl4SlFVRkpMRU5CUVVNN1VVRkRaQ3hEUVVGRE8wdEJRMFlzUTBGQlF6dEJRVU5LTEVOQlFVTTdRVUZGUkN4TlFVRk5MR05CUVdNc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdExRVU5xUXl4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTTdTMEZEZUVJc1YwRkJWeXhEUVVGRExESkNRVUV5UWl4RFFVRkRPMHRCUTNoRExFMUJRVTBzUTBGQlF5eFBRVUZQTEVWQlFVVXNlVU5CUVhsRExFVkJRVVVzUzBGQlN5eERRVUZETzB0QlEycEZMRTFCUVUwc1EwRkJReXhUUVVGVExFVkJRVVVzYlVOQlFXMURMRVZCUVVVc1MwRkJTeXhEUVVGRE8wdEJRemRFTEUxQlFVMHNRMEZEVEN4VFFVRlRMRVZCUTFRc2NVUkJRWEZFTEVWQlEzSkVMRXRCUVVzc1EwRkRUanRMUVVOQkxFMUJRVTBzUTBGQlF5eHBRa0ZCYVVJc1JVRkJSU3hsUVVGbExFVkJRVVVzYVVKQlFXbENMRU5CUVVNN1MwRkROMFFzVFVGQlRTeERRVUZETEZWQlFWVXNSVUZCUlN3d1EwRkJNRU1zUlVGQlJTeExRVUZMTEVOQlFVTTdTMEZEY2tVc1RVRkJUU3hEUVVOTUxESkNRVUV5UWl4RlFVTXpRaXh0UlVGQmJVVXNSVUZEYmtVc2FVSkJRV2xDTEVOQlEyeENPMHRCUTBFc1RVRkJUU3hEUVVOTUxIZENRVUYzUWl4RlFVTjRRaXh6UWtGQmMwSXNSVUZEZEVJc1owTkJRV2RETEVOQlEycERPMHRCUTBFc1RVRkJUU3hEUVVGRExIVkNRVUYxUWl4RlFVRkZMR2xEUVVGcFF5eEZRVUZGTEV0QlFVc3NRMEZCUXp0TFFVTjZSU3hOUVVGTkxFTkJRVU1zYTBKQlFXdENMRVZCUVVVc05FSkJRVFJDTEVWQlFVVXNaVUZCWlN4RFFVRkRPMHRCUTNwRkxFMUJRVTBzUTBGQlF5eHRRa0ZCYlVJc1JVRkJSU3cyUWtGQk5rSXNSVUZCUlN4aFFVRmhMRU5CUVVNN1MwRkRla1VzVFVGQlRTeERRVUZETEdOQlFXTXNSVUZCUlN3MFEwRkJORU1zUlVGQlJTeExRVUZMTEVOQlFVTTdTMEZETTBVc1RVRkJUU3hEUVVGRExGTkJRVk1zUlVGQlJTeDNRMEZCZDBNc1JVRkJSU3hMUVVGTExFTkJRVU03UzBGRGJFVXNUVUZCVFN4RFFVRkRMRXRCUVVzc1JVRkJSU3hQUVVGWkxFVkJRVVVzUlVGQlJUdEpRVU0zUWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVU53UWl4RlFVRkZMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxHTkJRV01zUTBGQlF5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVTnVSU3hEUVVGRE8wbEJSVVlzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkRlRUlzUlVGQlJTeERRVUZETEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUlN4dFFrRkJiVUlzUTBGQlF5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVTjRSU3hEUVVGRE8wbEJSVVlzU1VGQlNTeFpRVUZaTEVkQlFVY3NVMEZCVXl4RFFVRkRPMGxCUlRkQ0xFMUJRVTBzVDBGQlR5eEhRVUZITEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNN1NVRkZOVUlzU1VGQlNUdEpRVU5HTEhkRFFVRjNRenRKUVVONFF5eEhRVUZITzBsQlEwZ3NkME5CUVhkRE8wbEJRM2hETEV0QlFVczdTVUZEVEN4M1EwRkJkME03U1VGRGVFTXNTVUZCU1R0SlFVTktMSGREUVVGM1F6dEpRVU40UXl4WFFVRlhMRVZCUTFnc1RVRkJUVHRKUVVOT0xIZERRVUYzUXp0SlFVTjRReXhMUVVGTE8wbEJRMHdzZDBOQlFYZERPMGxCUTNoRExHbENRVUZwUWp0SlFVTnFRaXgzUTBGQmQwTTdTVUZEZUVNc1MwRkJTenRKUVVOTUxIZERRVUYzUXp0SlFVTjRReXhOUVVGTkxFVkJSVTRzV1VGQldUdEpRVU5hTEhkRFFVRjNRenRKUVVONFF5eFZRVUZWTzBsQlExWXNkME5CUVhkRE8wbEJRM2hETEV0QlFVc3NSMEZEVGl4SFFVRkhMRTlCUVU4c1EwRkJRenRKUVVOYUxFMUJRVTBzUjBGQlJ5eEhRVUZITEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNRMEZCUXp0SlFVTXpReXhKUVVGSkxFTkJRVU03VVVGRFNDeEpRVUZKTEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTFZc1dVRkJXU3hIUVVGSExFVkJRVVU3YVVKQlEyUXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4RlFVRkZMRkZCUVZFc1EwRkJReXhGUVVGRkxFOUJRVThzUTBGQlF6dHBRa0ZEZWtRc1VVRkJVU3hGUVVGRkxFTkJRVU03V1VGRlpDeE5RVUZOTEZGQlFWRXNSMEZCUnl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVOdVF5eG5Ra0ZCWjBJc1JVRkRhRUlzUTBGQlF5eERRVUZOTEVWQlFVVXNUMEZCWlN4RlFVRkZMRVZCUVVVN1owSkJRekZDTEUxQlFVMHNTMEZCU3l4SFFVRkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdaMEpCUlc1RExFbEJRVWtzUzBGQlN5eExRVUZMTEZOQlFWTXNSVUZCUlN4RFFVRkRPMjlDUVVONFFpeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVTldMR3REUVVGclF5eFBRVUZQTEdOQlFXTXNRMEZEZUVRc1EwRkJRenR2UWtGRFJpeFBRVUZQTEVWQlFVVXNRMEZCUXp0blFrRkRXaXhEUVVGRE8yZENRVVZFTEU5QlFVOHNTMEZCU3l4RFFVRkRPMWxCUTJZc1EwRkJReXhEUVVOR0xFTkJRVU03V1VGRlJpeFpRVUZaTEVkQlFVY3NVVUZCVVN4RFFVRkRPMUZCUXpGQ0xFTkJRVU03U1VGRFNDeERRVUZETzBsQlFVTXNUVUZCVFN4RFFVRkRPMUZCUTFBc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eDVSRUZCZVVRc1EwRkJReXhEUVVGRE8wbEJRM1JGTEVOQlFVTTdTVUZGUkN4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVOUUxIbENRVUY1UWl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUTBGQlF5eFJRVUZSTEVkQlFVY3NRMEZCUXl4SlFVRkpMRmxCUVZrc1QwRkJUeXhGUVVGRkxFTkJRM1JHTEVOQlFVTTdTVUZGUml4WlFVRlpMRWRCUVVjc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFpRVUZaTEVOQlFVTTdVVUZETVVNc1EwRkJReXhEUVVGRExGbEJRVms3VVVGRFpDeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVXNXVUZCV1N4RFFVRkRMRU5CUVVNN1NVRkZNME1zVFVGQlRTeEhRVUZITEdsQ1FVRnBRaXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpsRUxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNjVVJCUVhGRUxFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTTdTVUZEZUVVc1VVRkJVU3hEUVVGRExGVkJRVlVzVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTTNRaXhKUVVGSkxFMUJRVTBzUlVGQlJTeERRVUZETzFGQlExZ3NSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNTMEZCU3l4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVNMVF5eE5RVUZOTEdGQlFXRXNSMEZCUnl4RlFVRkZMRU5CUVVNc1YwRkJWeXhEUVVOc1F5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXhEUVVNNVF5eERRVUZETzFGQlEwWXNTVUZCU1N4RFFVRkRPMWxCUTBnc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRPMWxCUTJ4RkxFMUJRVTBzVlVGQlZTeEhRVUZITEVWQlFVVXNRMEZCUXl4alFVRmpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1dVRkRjRVVzU1VGQlNTeFZRVUZWTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNN1owSkJRM0pDTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUTNKQ0xFVkJRVVVzUTBGQlF5dzBRa0ZCTkVJc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQlN5eERRVUZETEZkQlFWY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRjRVVzUTBGQlF6dFpRVU5LTEVOQlFVTTdXVUZGUkN4TlFVRk5MRmxCUVZrc1IwRkJSeXhGUVVGRkxFTkJRVU1zTUVKQlFUQkNMRU5CUTJoRUxGVkJRVlVzUTBGQlF5eE5RVUZOTEVWQlEycENMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRMDRzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4WlFVRlpMRU5CUVVNc1JVRkRNVUlzVTBGQlV5eEZRVU5VTEZsQlFWa3NRMEZEWWl4RFFVRkRPMWxCUTBZc1NVRkJTU3haUVVGWkxFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMmRDUVVNdlFpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXhaUVVGWkxFTkJRVU1zVFVGQlRUdHhRa0ZEYUVJc1IwRkJSeXhEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEVWQlFVVXNRMEZEWWl4RlFVRkZMRU5CUVVNc05FSkJRVFJDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRmRCUVZjc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGRGVrUTdjVUpCUTBFc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVU5rTEVOQlFVTTdXVUZEU2l4RFFVRkRPMWxCUlVRc1RVRkJUU3h0UWtGQmJVSXNSMEZCZFVJN1owSkJRemxETEVkQlFVY3NXVUZCV1N4RFFVRkRMRTlCUVU4N1owSkJRM1pDTEUxQlFVMHNSVUZCUlN4aFFVRmhPMmRDUVVOeVFpeE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhOUVVGTk8yZENRVU0xUWl4WFFVRlhMRVZCUVVVc1MwRkJTenRuUWtGRGJFSXNVMEZCVXl4RlFVRkZMRXRCUVVzN1owSkJRMmhDTEdGQlFXRXNSVUZCUlN4TFFVRkxPMkZCUTNKQ0xFTkJRVU03V1VGRFJpeE5RVUZOTEdsQ1FVRnBRaXhIUVVGSExFVkJRVVU3YVVKQlEzcENMR3RDUVVGclFpeERRVU5xUWp0blFrRkRSU3hIUVVGSExGbEJRVms3WjBKQlEyWXNUMEZCVHl4RlFVRkZMRzFDUVVGdFFqdGhRVU0zUWl4RlFVTkVMRlZCUVZVc1JVRkRWaXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNlVUpCUVhsQ0xFTkJRMnhETzJsQ1FVTkJMRWxCUVVrc1EwRkJReXhEUVVGRExGRkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNVVUZCVVN4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlJXaEVMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNSVUZCUlN4RFFVRkRPMmRDUVVOMlFpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXh2UkVGQmIwUXNWVUZCVlN4RlFVRkZMRU5CUTJwRkxFTkJRVU03V1VGRFNpeERRVUZETzFsQlJVUXNORUpCUVRSQ0xFTkJRVU1zV1VGQldTeEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExFTkJRVU03V1VGRGFFVXNUVUZCVFN4bFFVRmxMRWRCUVVjc1RVRkJUU3hOUVVGTkxFTkJRVU03WjBKQlEyNURMRXRCUVVzc1JVRkJSU3hwUWtGQmFVSTdaMEpCUTNoQ0xFOUJRVThzUlVGQlJUdHZRa0ZEVUN4MVFrRkJkVUlzUlVGQlJUdHZRa0ZEZWtJc1QwRkJUeXhEUVVGRE8zZENRVU5PTEdsQ1FVRnBRaXhGUVVGRkxFbEJRVWs3ZDBKQlEzWkNMRlZCUVZVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTTdkMEpCUTNCQ0xFMUJRVTBzUlVGQlJTeEZRVUZGTEdGQlFXRXNSVUZCUlN4UFFVRlBMRVZCUVVVc1lVRkJZU3hGUVVGRkxFZEJRVWNzUTBGQlF5eEpRVUZKTEVWQlFVVTdjVUpCUXpWRUxFTkJRVU03YVVKQlEwZzdZVUZEUml4RFFVRkRMRU5CUVVNN1dVRkRTQ3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVU5PTEhWQ1FVRjFRaXhOUVVGTkxHTkJRV01zV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUTI1RkxFTkJRVU03V1VGRFJpeE5RVUZOTEdWQlFXVXNRMEZCUXl4TFFVRkxMRU5CUVVNN1owSkJRekZDTEVsQlFVa3NSVUZCUlN4SFFVRkhMRTFCUVUwc1NVRkJTU3haUVVGWkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVczdaMEpCUXpGRExFMUJRVTBzUlVGQlJTeExRVUZMTzJkQ1FVTmlMRWxCUVVrc1JVRkJSU3hIUVVGSExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3p0blFrRkRhRU1zVTBGQlV5eEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTzJkQ1FVTjRReXh6UWtGQmMwSXNSVUZCUlN4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEdGQlFXRXNSVUZCUlN4RlFVRkZPMjlDUVVNMVJDeE5RVUZOTEd0Q1FVRnJRaXhIUVVGSExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlEzSkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zWVVGQllTeERRVUZETEVWQlF6TkNMR3RDUVVGclFpeERRVU51UWl4RFFVRkRPMjlDUVVWR0xFbEJRVWtzYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTEVOQlFVTTdkMEpCUTJwRUxFOUJRVThzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUTNCQ0xGTkJRVk1zUlVGRFZDeEpRVUZKT3paQ1FVTkVMRkZCUVZFc1EwRkJReXhoUVVGaExFVkJRVVVzYTBKQlFXdENMRU5CUVVNN05rSkJRek5ETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRE96WkNRVU5tTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkRZaXhEUVVGRE8yOUNRVU5LTEVOQlFVTTdiMEpCUlVRc1QwRkJUeXhyUWtGQmEwSXNRMEZCUXp0blFrRkROVUlzUTBGQlF6dGhRVU5HTEVOQlFVTXNRMEZCUXp0WlFVTklMRTFCUVUwc1pVRkJaU3hEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETzFGQlEyaERMRU5CUVVNN1owSkJRVk1zUTBGQlF6dFpRVU5VTEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1lVRkJZU3hGUVVGRkxFVkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF6dFJRVU0zUkN4RFFVRkRPMGxCUTBnc1EwRkJRenRUUVVGTkxFTkJRVU03VVVGRFRpdzBRa0ZCTkVJc1EwRkJReXhaUVVGWkxFVkJRVVU3V1VGRGVrTXNUVUZCVFN4RlFVRkZMRTFCUVUwN1dVRkRaQ3hOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEZWQlFWVXNRMEZCUXl4TlFVRk5PMWxCUXpWQ0xGZEJRVmNzUlVGQlJTeExRVUZMTzFsQlEyeENMRk5CUVZNc1JVRkJSU3hWUVVGVk8xbEJRM0pDTEdGQlFXRXNSVUZCUlN4VlFVRlZPMU5CUXpGQ0xFTkJRVU1zUTBGQlF6dEpRVU5NTEVOQlFVTTdTVUZGUkN4TlFVRk5MRTlCUVU4c1IwRkJSenRSUVVOa0xFdEJRVXNzUlVGQlJTeDFRa0ZCZFVJc1EwRkJReXhMUVVGTExFVkJRVVVzUzBGQlN5eERRVUZETzFGQlF6VkRMRmRCUVZjc1JVRkJSU3hwUkVGQmFVUTdVVUZET1VRc1lVRkJZU3hGUVVGRkxHOURRVUZ2UXp0UlFVTnVSQ3hMUVVGTExFVkJRVVVzZFVOQlFYVkRPMUZCUXpsRExFbEJRVWtzUlVGQlJTd3dRa0ZCTUVJN1MwRkRha01zUTBGQlF6dEpRVVZHTEUxQlFVMHNaVUZCWlN4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVNMVFpeE5RVUZOTEcxQ1FVRnRRaXhIUVVGSExFOUJRVThzUTBGQlF6dEpRVVZ3UXl4bFFVRmxMRU5CUVVNc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF6dEpRVU0xUWl4bFFVRmxMRU5CUVVNc1YwRkJWeXhIUVVGSExGZEJRVmNzUTBGQlF6dEpRVU14UXl4bFFVRmxMRU5CUVVNc1QwRkJUeXhIUVVGSExFOUJRVThzUTBGQlF6dEpRVVZzUXl4UFFVRlBMR1ZCUVdVc1EwRkJReXhKUVVGSkxFTkJRVU03U1VGRE5VSXNUMEZCVHl4bFFVRmxMRU5CUVVNc1MwRkJTeXhEUVVGRE8wbEJRemRDTEU5QlFVOHNaVUZCWlN4RFFVRkRMRTlCUVU4c1EwRkJRenRKUVVNdlFpeGxRVUZsTEVOQlFVTXNTVUZCU1N4SFFVRkhMRTFCUVUwN1VVRkRNMElzUTBGQlF5eERRVUZETEVkQlFVY3NXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTE8xRkJRelZDTEVOQlFVTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1YwRkJWeXhEUVVGRE8wbEJSWGhDTEVWQlFVVXNRMEZCUXl4aFFVRmhMRU5CUTJRc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNZMEZCWXl4RFFVRkRMRVZCUTJwRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNaVUZCWlN4RFFVRkRMRU5CUTJoRExFTkJRVU03U1VGRlJpeEZRVUZGTEVOQlFVTXNZVUZCWVN4RFFVTmtMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExFVkJRM1JETEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNRMEZEY0VNc1EwRkJRenRKUVVWR0xFbEJRVWtzUzBGQlN5eEpRVUZKTEZsQlFWazdVVUZEZGtJc1JVRkJSU3hEUVVGRExHRkJRV0VzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hSUVVGUkxFTkJRVU1zUlVGQlJTeFpRVUZaTEVOQlFVTXNRMEZCUXp0SlFVVTVSQ3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETERSRFFVRTBReXhEUVVGRExFTkJRVU03U1VGRGRrUXNVVUZCVVN4RFFVRkRMR0ZCUVdFc1JVRkJSU3hGUVVGRkxFZEJRVWNzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUTNwRExGRkJRVkVzUTBGQlF5eG5Ra0ZCWjBJc1JVRkJSU3hGUVVGRkxFZEJRVWNzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUXpWRExGRkJRVkVzUTBGQlF5eHhRa0ZCY1VJc1JVRkJSU3hGUVVGRkxFZEJRVWNzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUTJwRUxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF6dEpRVU5zUXl4UlFVRlJMRU5CUVVNc0swSkJRU3RDTEVWQlFVVXNSVUZCUlN4SFFVRkhMRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVU16UkN4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVOT0xGbEJRVmtzU1VGQlNTdzRRa0ZCT0VJc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RFFVTnlSU3hEUVVGRE8wbEJRMFlzU1VGQlNTeEhRVUZITEVWQlFVVXNRMEZCUXp0UlFVTlNMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zZVVSQlFYbEVMRU5CUVVNc1EwRkJRenRSUVVOd1JTeFJRVUZSTEVOQlFVTXNZVUZCWVN4RlFVRkZPMWxCUTNSQ0xFZEJRVWNzUlVGQlJTeE5RVUZOTzFsQlExZ3NSMEZCUnl4RlFVRkZMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEZGQlFWRXNSVUZCUlN4WlFVRlpMRVZCUVVVN1UwRkRhRVFzUTBGQlF5eERRVUZETzBsQlEwd3NRMEZCUXp0QlFVTklMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVXdzVFVGQlRTeGpRVUZqTEVkQlFVY3NTVUZCU1N4UFFVRlBMRVZCUVVVN1MwRkRha01zVDBGQlR5eERRVUZETEdsQ1FVRnBRaXhEUVVGRE8wdEJRekZDTEUxQlFVMHNRMEZCUXl4cFFrRkJhVUlzUlVGQlJTeG5Ra0ZCWjBJc1EwRkJRenRMUVVNelF5eE5RVUZOTEVOQlFVTXNiVUpCUVcxQ0xFVkJRVVVzYTBKQlFXdENMRU5CUVVNN1MwRkRMME1zVFVGQlRTeERRVUZETEcxQ1FVRnRRaXhGUVVGRkxDdERRVUVyUXl4RFFVRkRPMHRCUXpWRkxGZEJRVmNzUTBGRFZpd3lSVUZCTWtVc1EwRkROVVU3UzBGRFFTeE5RVUZOTEVOQlFVTXNTMEZCU3l4RlFVRkZMRTlCUVZrc1JVRkJSU3hGUVVGRk8wbEJRemRDTEUxQlFVMHNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRM0JDTEVWQlFVVXNRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1kwRkJZeXhEUVVGRExFVkJRVVVzVDBGQlR5eERRVUZETEVOQlEyNUZMRU5CUVVNN1NVRkZSaXhOUVVGTkxFOUJRVThzUjBGQlJ5eEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRPMGxCUlRWQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXp0SlFVTXhReXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVU5RTEhsQ1FVRjVRaXhKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZETEU5QlFVOHNRMEZCUXl4UlFVRlJMRWRCUVVjc1EwRkJReXhKUVVGSkxGbEJRVmtzVDBGQlR5eEZRVUZGTEVOQlEzUkdMRU5CUVVNN1NVRkZSaXgzUTBGQmQwTTdTVUZEZUVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWRCUVVjc1QwRkJUeXhEUVVGRE8wbEJSWFpETEUxQlFVMHNUVUZCVFN4SFFVRlZMRVZCUVVVc1EwRkJRenRKUVVONlFpeEpRVUZKTEVsQlFVa3NSVUZCUlN4RFFVRkRPMUZCUTFRc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEdGQlFXRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM1JETEVOQlFVTTdTVUZGUkN4SlFVRkpMRTFCUVUwc1JVRkJSU3hEUVVGRE8xRkJRMWdzUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4MVFrRkJkVUlzVFVGQlRTeExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTTNReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4TlFVRk5MR2RDUVVGblFpeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOdVJDeERRVUZETzBsQlEwUXNUVUZCVFN4TlFVRk5MRWRCUVhkQ0xFVkJRVVVzUTBGQlF6dEpRVU4yUXl4TlFVRk5MRlZCUVZVc1IwRkJkMElzUlVGQlJTeERRVUZETzBsQlJUTkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTzFGQlEyeENMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRVU1zT0VKQlFUaENMRU5CUVVNc1EwRkJRenRKUVVVeFJDeExRVUZMTEUxQlFVMHNRMEZCUXl4SlFVRkpMRTFCUVUwc1JVRkJSU3hEUVVGRE8xRkJRM1pDTEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1owTkJRV2RETEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlEyeEZMRTFCUVUwc1QwRkJUeXhIUVVGSExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM2hETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhMUVVGTExFVkJRVVVzUlVGQlJUdFpRVU40UWl4SlFVRkpMRXRCUVVzc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF6dG5Ra0ZEWml4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXp0WlFVTTNRaXhEUVVGRE8xRkJRMGdzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEU0N4MVFrRkJkVUlzUTBGQlF5eERRVUZETEVWQlFVVXNWVUZCVlN4RFFVRkRMRU5CUVVNN1NVRkRla01zUTBGQlF6dEpRVU5FTEUxQlFVMHNZMEZCWXl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdTVUZETjBNc1RVRkJUU3hYUVVGWExFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRKUVVNNVF5eEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRk5CUVZNc1kwRkJZeXhEUVVGRExFMUJRVTBzYjBKQlFXOUNMRU5CUVVNc1EwRkJRenRKUVVOb1JTeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRk5CUVZNc1YwRkJWeXhEUVVGRExFMUJRVTBzZDBKQlFYZENMRU5CUVVNc1EwRkJRenRKUVVOcVJTeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRmxCUVZrc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRhRVFzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4bFFVRmxMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUTNaRUxGbEJRVmtzUTBGQlF5eGpRVUZqTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRja01zWlVGQlpTeERRVUZETEZkQlFWY3NSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRCUVVOMlF5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVVk1MRTFCUVUwc2EwSkJRV3RDTEVkQlFVY3NTVUZCU1N4UFFVRlBMRVZCUVVVN1MwRkRja01zVDBGQlR5eERRVUZETEhGQ1FVRnhRaXhEUVVGRE8wdEJRemxDTEUxQlFVMHNRMEZCUXl4cFFrRkJhVUlzUlVGQlJTeG5Ra0ZCWjBJc1EwRkJRenRMUVVNelF5eE5RVUZOTEVOQlFVTXNiVUpCUVcxQ0xFVkJRVVVzYTBKQlFXdENMRU5CUVVNN1MwRkRMME1zVFVGQlRTeERRVUZETEcxQ1FVRnRRaXhGUVVGRkxDdERRVUVyUXl4RFFVRkRPMHRCUXpWRkxFMUJRVTBzUTBGQlF5eHRRa0ZCYlVJc1JVRkJSU3h0UTBGQmJVTXNRMEZCUXp0TFFVTm9SU3hOUVVGTkxFTkJRVU1zYzBKQlFYTkNMRVZCUVVVc1kwRkJZeXhEUVVGRE8wdEJRemxETEUxQlFVMHNRMEZEVEN4elFrRkJjMElzUlVGRGRFSXNOa3RCUVRaTExFTkJRemxMTzB0QlEwRXNWMEZCVnl4RFFVTldMREpGUVVFeVJTeERRVU0xUlR0TFFVTkJMRTFCUVUwc1EwRkJReXhMUVVGTExFVkJRVVVzVDBGQldTeEZRVUZGTEVWQlFVVTdTVUZETjBJc1RVRkJUU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZEY0VJc1JVRkJSU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeGpRVUZqTEVOQlFVTXNSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkRia1VzUTBGQlF6dEpRVVZHTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU03U1VGRk5VSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eHhRa0ZCY1VJc1EwRkJReXhEUVVGRE8wbEJRemxETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUTFBc2VVSkJRWGxDTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhEUVVGRExGRkJRVkVzUjBGQlJ5eERRVUZETEVsQlFVa3NXVUZCV1N4UFFVRlBMRVZCUVVVc1EwRkRkRVlzUTBGQlF6dEpRVVZHTEhkRFFVRjNRenRKUVVONFF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEZOQlFWTXNSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJRenRKUVVVeFJDeEpRVUZKTEVOQlFVTTdVVUZEU0N4SlFVRkpMRU5CUVVNN1dVRkRTQ3hOUVVGTkxFZEJRVWNzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRMRU5CUVVNN1dVRkRha1FzTmtSQlFUWkVPMUZCUXk5RUxFTkJRVU03VVVGQlF5eFBRVUZQTEVOQlFWVXNSVUZCUlN4RFFVRkRPMWxCUTNCQ0xHTkJRV003VVVGRGFFSXNRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkJReXhQUVVGUExFTkJRVlVzUlVGQlJTeERRVUZETzFGQlEzQkNMRTFCUVUwc1NVRkJTU3hyUWtGQmEwSXNRMEZCUXl3NFFrRkJPRUlzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTnNSU3hEUVVGRE8wbEJSVVFzVFVGQlRTeE5RVUZOTEVkQlFWVXNSVUZCUlN4RFFVRkRPMGxCUTNwQ0xFbEJRVWtzU1VGQlNTeEZRVUZGTEVOQlFVTTdVVUZEVkN4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRkRU1zUTBGQlF6dEpRVVZFTEVsQlFVa3NUVUZCVFN4RlFVRkZMRU5CUVVNN1VVRkRXQ3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEhWQ1FVRjFRaXhOUVVGTkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlF6ZERMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTI1RUxFTkJRVU03U1VGRlJDeEpRVUZKTEVOQlFVTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1RVRkJUVHRSUVVOc1FpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVRkRMRGhDUVVFNFFpeERRVUZETEVOQlFVTTdTVUZGTVVRc1RVRkJUU3huUWtGQlowSXNSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVOd1F5eERRVUZETEV0QlFVc3NSVUZCUlN4RlFVRkZMRU5CUTFJc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZEY2tJc1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZEZEVJc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUXpWQ0xFTkJRVU03U1VGRFJpeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdVVUZETjBJc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGRFRpeHhSVUZCY1VVc1EwRkRkRVVzUTBGQlF6dFJRVU5HTEU5QlFVODdTVUZEVkN4RFFVRkRPMGxCUlVRc1MwRkJTeXhWUVVGVkxFOUJRVThzUTBGQlF5eFZRVUZ4UWp0UlFVTXhReXhOUVVGTkxFbEJRVWtzUjBGTFNpeE5RVUZOTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUTNKQ0xHZENRVUZuUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFVkJRVVVzUzBGQlN5eEZRVUZGTEVWQlFVVTdXVUZEYmtNc1RVRkJUU3hUUVVGVExFZEJRVWNzUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVONlF5eE5RVUZOTEZWQlFWVXNSMEZCUnl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFsQlJUTkRMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdXVUZEZGtJc1RVRkJUU3hYUVVGWExFZEJRWGRDTEVWQlFVVXNRMEZCUXp0WlFVTTFReXhMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEZWQlFWVXNTVUZCU1N4TlFVRk5MRWxCUVVrc1JVRkJSU3hGUVVGRkxFTkJRVU03WjBKQlF6ZERMRmRCUVZjc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eE5RVUZOTEdGQlFXRXNRMEZEY0VNc1MwRkJTeXhGUVVOTUxFTkJRVU1zUjBGQlJ5eEZRVUZGTEZOQlFWTXNRMEZCUXl4RlFVTm9RaXhGUVVGRk8yZENRVU5HTEVsQlFVazdaMEpCUTBvc2VVUkJRWGxFTzJkQ1FVTjZSQ3d5UkVGQk1rUTdaMEpCUXpORUxFdEJRVXM3WjBKQlEwd3NRMEZCUXl4RFFVRkRMRlZCUVZVc1EwRkRZaXhEUVVGRE8xbEJRMG9zUTBGQlF6dFpRVVZFTEVsQlFVa3NaMEpCUVdkQ0xFZEJRV3RETEZOQlFWTXNRMEZCUXp0WlFVVm9SU3hKUVVGSkxGVkJRVlVzUlVGQlJTeERRVUZETzJkQ1FVTm1MRmRCUVZjc1EwRkJReXhUUVVGVExFTkJRVU1zUjBGQlJ5eFhRVUZYTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8yZENRVU4wUkN4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWRCUVZjc1JVRkJSU3hGUVVGRk8yOUNRVU12UXl4WFFVRlhMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zVVVGQlVTeEhRVUZITEZkQlFWY3NRMEZETTBNc1IwRkJSeXhEUVVOS0xFTkJRVU1zVVVGQlVTeEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVUwc1JVRkJSU3hGUVVGRk8zZENRVU0xUWl4SlFVRkpMRU5CUVVNc1EwRkJReXhKUVVGSkxFdEJRVTBzVlVGQlZTeERRVUZETEZGQlFXMUNPelJDUVVGRkxFOUJRVThzU1VGQlNTeERRVUZETzNkQ1FVTTFSQ3huUWtGQlowSXNSMEZCUnl4RFFVRlJMRU5CUVVNN2QwSkJRelZDTEU5QlFVOHNTMEZCU3l4RFFVRkRPMjlDUVVObUxFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTk1MRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMHdzUTBGQlF6dFpRVVZFTEUxQlFVMHNZVUZCWVN4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zVjBGQlZ5eERRVUZETzJsQ1FVTTNReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhSUVVGUkxFTkJRVU03YVVKQlEzUkNMRWxCUVVrc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF6dFpRVU5xUWl4SlFVRkpMR0ZCUVdFN1owSkJRMllzUjBGQlJ6dHhRa0ZEUVN4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0eFFrRkRNMElzU1VGQlNTeERRVUZETEZOQlFWTXNZVUZCWVN4blEwRkJaME1zUTBGQlF5eERRVUZETzFsQlEyeEZMRTFCUVUwc1YwRkJWeXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RFFVRkRPMmxDUVVNelF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTTdhVUpCUTNCQ0xFbEJRVWtzUlVGQlJTeERRVUZETEUxQlFVMHNRMEZCUXp0WlFVVnFRaXhIUVVGSE8ybENRVU5CTEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzJsQ1FVTXpRaXhKUVVGSkxFTkJRVU1zVTBGQlV5eFhRVUZYTEN0Q1FVRXJRaXhEUVVGRExFTkJRVU03V1VGRE4wUXNTVUZCU1N4blFrRkJaMEk3WjBKQlEyeENMRWRCUVVjN2NVSkJRMEVzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03Y1VKQlF6TkNMRWxCUVVrc1EwRkRTQ3dyUWtGQkswSXNWVUZCVlN4RlFVRkZMRkZCUVd0Q0xFVkJRVVVzUTBGRGFFVXNRMEZCUXp0WlFVVk9MRTFCUVUwc1QwRkJUeXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RFFVRkRPMmxDUVVOMlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4UlFVRlJMRWxCUVVrc1JVRkJSU3hEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dHBRa0ZEZUVRc1NVRkJTU3hGUVVGRkxFTkJRVU03V1VGRFZpeEpRVUZKTEU5QlFVOHNSMEZCZVVJc1JVRkJSU3hEUVVGRE8xbEJRM1pETEVsQlFVa3NWVUZCVlN4SFFVRjFRaXhGUVVGRkxFTkJRVU03V1VGRGVFTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03WjBKQlEyNUNMRWRCUVVjN2NVSkJRMEVzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03Y1VKQlF6TkNMRTlCUVU4c1EwRkJReXh2UTBGQmIwTXNRMEZCUXl4RFFVRkRPMmRDUVVOcVJDeFBRVUZQTEVkQlFVY3NiMEpCUVc5Q0xFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdaMEpCUTNSRExFZEJRVWM3Y1VKQlEwRXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdjVUpCUXpOQ0xFbEJRVWtzUTBGQlF5eFRRVUZUTEU5QlFVOHNRMEZCUXl4TlFVRk5MRlZCUVZVc1EwRkJReXhEUVVGRE8yZENRVU16UXl4VlFVRlZMRWRCUVVjc2RVSkJRWFZDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1owSkJRelZETEVkQlFVYzdjVUpCUTBFc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eFRRVUZUTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN2NVSkJRek5DTEVsQlFVa3NRMEZCUXl4VFFVRlRMRlZCUVZVc1EwRkJReXhOUVVGTkxHTkJRV01zUTBGQlF5eERRVUZETzFsQlEzQkVMRU5CUVVNN1dVRkRSQ3hQUVVGUE8yZENRVU5NTEU5QlFVODdaMEpCUTFBc1ZVRkJWVHRuUWtGRFZpeFhRVUZYTEVWQlFVVXNUMEZCVHp0blFrRkRjRUlzVFVGQlRTeEZRVUZGTEdkQ1FVRm5RanRoUVVONlFpeERRVUZETzFGQlEwb3NRMEZCUXl4RFFVRkRMRU5CUTBnc1EwRkJRenRSUVVOR0xFOUJRVThzU1VGQlNTeERRVUZETzBsQlEyUXNRMEZCUXp0SlFVVkVMRTFCUVUwc1NVRkJTU3hIUVVGSExFMUJRVTBzVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZETjBJc1RVRkJUU3hWUVVGVkxFZEJRVWNzVFVGQlRTeFBRVUZQTEVOQlFVTXNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSVGxETEUxQlFVMHNZVUZCWVN4SFFVRkhPMUZCUTNCQ0xFZEJRVWNzVlVGQlZTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVNeFJDeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVU3VVVGRGVFTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzB0QlF6bENMRU5CUVVNN1NVRkZla0lzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSenRSUVVONlFpeEhRVUZITEVsQlFVa3NSMEZCUnl4RFFVTlNMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEpRVUYxUWl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkRiRVVzUTBGQlF5eE5RVUZOTEVWQlFVVTdTMEZEV0N4RFFVRkRPMGxCUlVZc1NVRkJTU3hyUWtGQmEwSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRSUVVNNVFpeG5Ra0ZCWjBJc1EwRkJReXhyUWtGQmEwSXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVNM1F5eE5RVUZOTEhGQ1FVRnhRaXhIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlEzSkRMRTFCUVUwc1JVRkRUaXhWUVVGVkxFVkJRMVlzZVVKQlFYbENMRU5CUXpGQ0xFTkJRVU03VVVGRFJpeE5RVUZOTEhsQ1FVRjVRaXhIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlEzcERMRTFCUVUwc1JVRkRUaXg1UWtGQmVVSXNRMEZETVVJc1EwRkJRenRSUVVOR0xFVkJRVVVzUTBGQlF5eFpRVUZaTEVOQlFVTXNjVUpCUVhGQ0xFVkJRVVVzZVVKQlFYbENMRU5CUVVNc1EwRkJRenRSUVVOc1JTeEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVTk9MRlZCUVZVc1lVRkJZU3hEUVVGRExFMUJRVTBzYlVKQlFXMUNMSEZDUVVGeFFpeEZRVUZGTEVOQlEzcEZMRU5CUVVNN1VVRkRSaXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVU5PTEdkRFFVRm5ReXg1UWtGQmVVSXNOa0pCUVRaQ0xFTkJRM1pHTEVOQlFVTTdVVUZGUml4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZEYWtJc1RVRkJUU3hGUVVGRkxFOUJRVThzUlVGQlJTeFZRVUZWTEVWQlFVVXNWMEZCVnl4RlFVRkZMRTFCUVUwc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU4yUkN4TlFVRk5MRTlCUVU4c1IwRkJkMElzUTBGQlF5eEhRVUZITEZkQlFWY3NSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRMnhGTEU5QlFVOHNRMEZEWlN4RFFVRkRPMWxCUTNwQ0xFOUJRVThzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSVHRuUWtGRGNFSXNXVUZCV1N4RFFVRkRMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMmRDUVVOMFF5eDVRa0ZCZVVJc1EwRkJReXhWUVVGVkxFbEJRVWtzUlVGQlJTeEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03WjBKQlF6VkVMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRMDRzVlVGQlZTeFBRVUZQTEVWQlFVVXNUVUZCVFN4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEZWQlFWVXNSVUZCUlN4TlFVRk5MRWxCUVVrc1EwRkJReXc0UWtGQk9FSXNRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVNMVJ5eERRVUZETzFsQlEwb3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRUQ3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5NTEVOQlFVTTdRVUZEU0N4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVWTUxFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NUMEZCVHl4RlFVRkZPMHRCUXpsQ0xFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTTdTMEZEYmtJc1YwRkJWeXhEUVVGRExHMUVRVUZ0UkN4RFFVRkRPMHRCUTJoRkxFMUJRVTBzUTBGRFRDeHpRa0ZCYzBJc1JVRkRkRUlzYlVSQlFXMUVMRVZCUTI1RUxHMUNRVUZ0UWl4RFFVTndRanRMUVVOQkxFMUJRVTBzUTBGQlF5eHZRa0ZCYjBJc1JVRkJSU3gxUTBGQmRVTXNSVUZCUlN4TlFVRk5MRU5CUVVNN1MwRkROMFVzVFVGQlRTeERRVUZETEhGQ1FVRnhRaXhGUVVGRkxIRkRRVUZ4UXl4RlFVRkZMRWxCUVVrc1EwRkJRenRMUVVNeFJTeE5RVUZOTEVOQlFVTXNTMEZCU3l4RlFVRkZMRTlCUVZrc1JVRkJSU3hGUVVGRk8wbEJRemRDTEUxQlFVMHNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRM0JDTEVWQlFVVXNRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1kwRkJZeXhEUVVGRExFVkJRVVVzVDBGQlR5eERRVUZETEVOQlEyNUZMRU5CUVVNN1NVRkZSaXhOUVVGTkxFOUJRVThzUjBGQlJ5eEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRPMGxCUlRWQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03U1VGRGRFTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkRVQ3g1UWtGQmVVSXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeEhRVUZITEVOQlFVTXNTVUZCU1N4WlFVRlpMRTlCUVU4c1JVRkJSU3hEUVVOMFJpeERRVUZETzBsQlEwWXNkME5CUVhkRE8wbEJRM2hETEVsQlFVa3NSVUZCUlN4VFFVRlRMRVZCUVVVc1QwRkJUeXhGUVVGRkxGRkJRVkVzUlVGQlJTeEhRVUZITEU5QlFVOHNRMEZCUXp0SlFVTXZReXhQUVVGUExFZEJRVWNzVVVGQlVTeERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRWxCUVVrc1EwRkJRenRKUVVOd1F5eFJRVUZSTEVkQlFVY3NVVUZCVVN4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF6dEpRVVZ3UXl4TlFVRk5MREJDUVVFd1FpeERRVUZETEcxQ1FVRnRRaXhGUVVGRkxFOUJRVThzUlVGQlJTeFJRVUZSTEVOQlFVTXNRMEZCUXp0SlFVVjZSU3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVU5PTERoRVFVRTRSQ3hUUVVGVExFbEJRVWtzUTBGRE5VVXNRMEZCUXp0QlFVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVXdzVFVGQlRTeGpRVUZqTEVkQlFVY3NTVUZCU1N4UFFVRlBMRVZCUVVVN1MwRkRha01zU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRE8wdEJRM1pDTEZkQlFWY3NRMEZCUXl3clFrRkJLMElzUTBGQlF6dExRVU0xUXl4TlFVRk5MRU5CUVVNc2FVSkJRV2xDTEVWQlFVVXNORUpCUVRSQ0xFTkJRVU03UzBGRGRrUXNUVUZCVFN4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEdOQlFXTXNRMEZCUXp0TFFVTXhReXhOUVVGTkxFTkJRMHdzSzBKQlFTdENMRVZCUXk5Q0xHdEZRVUZyUlN4RFFVTnVSVHRMUVVOQkxFMUJRVTBzUTBGRFRDdzJRa0ZCTmtJc1JVRkROMElzYzBWQlFYTkZMRVZCUTNSRkxFdEJRVXNzUTBGRFRqdExRVU5CTEUxQlFVMHNRMEZEVEN3d1FrRkJNRUlzUlVGRE1VSXNORVZCUVRSRkxFVkJRelZGTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTEU5QlFVOHNSVUZCUlN4aFFVRmhMRVZCUVVVc2JVSkJRVzFDTEVOQlFVTXNRMEZEZEVVN1MwRkRRU3hOUVVGTkxFTkJRMHdzYTBKQlFXdENMRVZCUTJ4Q0xEQkNRVUV3UWl4RlFVTXhRaXgzUTBGQmQwTXNRMEZEZWtNN1MwRkRRU3hOUVVGTkxFTkJRVU1zUzBGQlN5eEZRVUZGTEU5QlFWa3NSVUZCUlN4RlFVRkZPMGxCUXpkQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUTNCQ0xFVkJRVVVzUTBGQlF5eFpRVUZaTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVWQlFVVXNZMEZCWXl4RFFVRkRMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRMjVGTEVOQlFVTTdTVUZGUml4TlFVRk5MRTlCUVU4c1IwRkJSeXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETzBsQlJUVkNMRTFCUVUwc1IwRkJSeXhIUVVGSExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zUTBGQlF6dEpRVU14UXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVOUUxIbENRVUY1UWl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFOUJRVThzUTBGQlF5eFJRVUZSTEVkQlFVY3NRMEZCUXl4SlFVRkpMRmxCUVZrc1QwRkJUeXhGUVVGRkxFTkJRM1JHTEVOQlFVTTdTVUZGUml4TlFVRk5MRVZCUTBvc1NVRkJTU3hGUVVOS0xFdEJRVXNzUlVGRFRDeExRVUZMTEVWQlEwd3NZVUZCWVR0SlFVTmlMRFpFUVVFMlJEdEpRVU0zUkN4blFrRkJaMElzUlVGRGFFSXNhVUpCUVdsQ0xFZEJRMnhDTEVkQlFVY3NUMEZCVHl4RFFVRkRPMGxCUTFvc1RVRkJUU3hQUVVGUExFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVWcVF5eE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNZVUZCWVN4RlFVRkZMRWRCUVVjc1NVRkJTU3hSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlJURkZMRWxCUVVrc1VVRkJaMElzUTBGQlF6dEpRVVZ5UWl4SlFVRkpMRU5CUVVNN1VVRkRTQ3hSUVVGUkxFZEJRVWNzVVVGQlVTeERRVUZETEVWQlFVVXNRMEZCUXl4WlFVRlpMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRiRVVzU1VGQlNTeExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVRkRPMWxCUVVVc1VVRkJVU3hIUVVGSExFTkJRVU1zUTBGQlF6czdXVUZETjBJc1VVRkJVU3hKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU51UWl3MlJFRkJOa1E3U1VGREwwUXNRMEZCUXp0SlFVRkRMRTlCUVU4c1EwRkJWU3hGUVVGRkxFTkJRVU03VVVGRGNFSXNVVUZCVVN4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVObUxFTkJRVU03U1VGRFJDeEZRVUZGTzBsQlEwWXNNRUpCUVRCQ08wbEJRekZDTEhkRFFVRjNRenRKUVVONFF5eHhRa0ZCY1VJN1NVRkRja0lzU1VGQlNUdEpRVVZLTEVsQlFVa3NRMEZCUXp0UlFVTklMRXRCUVVzc1RVRkJUU3hKUVVGSkxFbEJRVWtzVDBGQlR5eEZRVUZGTEVOQlFVTTdXVUZETTBJc1pVRkJaU3hEUVVGRExFbEJRVWtzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRE8xbEJRelZETEdWQlFXVXNRMEZCUXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03V1VGRE5VSXNaVUZCWlN4RFFVTmlMRWxCUVVrc1JVRkRTaXhKUVVGSkxFVkJRMG9zU1VGQlNTeExRVUZMTEdOQlFXTTdaMEpCUTNKQ0xFTkJRVU1zUTBGQlF5eHBRa0ZCYVVJN1owSkJRMjVDTEVOQlFVTXNRMEZCUXl4NVFrRkJlVUlzUlVGRE4wSXNVVUZCVVN4RlFVTlNMRTlCUVU4c1JVRkRVQ3hwUWtGQmFVSXNRMEZEYkVJc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRFJDeEZRVUZGTEVOQlFVTXNZVUZCWVN4RFFVRkRMRk5CUVZNc1JVRkJSU3hSUVVGUkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTnVSQ3hEUVVGRE8wbEJRVU1zVDBGQlR5eEhRVUZSTEVWQlFVVXNRMEZCUXp0UlFVTnNRaXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETERKQ1FVRXlRaXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF6bERMRU5CUVVNN1NVRkRSQ3hsUVVGbExFTkJRVU1zU1VGQlNTeEZRVUZGTEZGQlFWRXNSVUZCUlN4UFFVRlBMRVZCUVVVc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXp0QlFVTTVSQ3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVVZNTEUxQlFVMHNhVUpCUVdsQ0xFZEJRVWNzU1VGQlNTeFBRVUZQTEVWQlFVVTdTMEZEY0VNc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkRPMHRCUXpOQ0xGZEJRVmNzUTBGQlF5eHRSRUZCYlVRc1EwRkJRenRMUVVOb1JTeE5RVUZOTEVOQlFVTXNiVUpCUVcxQ0xFVkJRVVVzWlVGQlpTeEZRVUZGTEc5Q1FVRnZRaXhEUVVGRE8wdEJRMnhGTEUxQlFVMHNRMEZCUXl4blFrRkJaMElzUlVGQlJTdzRRa0ZCT0VJc1JVRkJSU3hQUVVGUExFTkJRVU03UzBGRGFrVXNUVUZCVFN4RFFVRkRMRXRCUVVzc1JVRkJSU3hQUVVGWkxFVkJRVVVzUlVGQlJUdEpRVU0zUWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVU53UWl4RlFVRkZMRU5CUVVNc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRkxHTkJRV01zUTBGQlF5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVTnVSU3hEUVVGRE8wbEJSVVlzVFVGQlRTeFBRVUZQTEVkQlFVY3NSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJRenRKUVVVMVFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExIRkNRVUZ4UWl4RFFVRkRMRU5CUVVNN1NVRkRPVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZEVUN4NVFrRkJlVUlzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1VVRkJVU3hIUVVGSExFTkJRVU1zU1VGQlNTeFpRVUZaTEU5QlFVOHNSVUZCUlN4RFFVTjBSaXhEUVVGRE8wbEJRMFlzVFVGQlRTeEZRVUZGTEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhQUVVGUExFTkJRVU03U1VGRGFFTXNVVUZCVVN4RFFVRkRMR0ZCUVdFc1IwRkJSeXh4UWtGQmNVSXNUVUZCVFN4RlFVRkZMRVZCUVVVN1VVRkRkRVFzUjBGQlJ5eEZRVUZGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVN1MwRkRia0lzUTBGQlF5eERRVUZETzBGQlEwd3NRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkZUQ3hOUVVGTkxGTkJRVk1zUjBGQlJ5eEpRVUZKTEU5QlFVOHNSVUZCUlR0TFFVTTFRaXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETzB0QlEyeENMRTlCUVU4c1EwRkJReXhSUVVGUkxFTkJRVU03UzBGRGFrSXNWMEZCVnl4RFFVTldMRzFGUVVGdFJTeERRVU53UlN4RFFVRkRPMEZCUlVvc1UwRkJVeXhEUVVGRExGVkJRVlVzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXp0QlFVTnlReXhUUVVGVExFTkJRVU1zVlVGQlZTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRPMEZCUTNKRExGTkJRVk1zUTBGQlF5eFZRVUZWTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1FVRkRiRU1zVTBGQlV5eERRVUZETEZWQlFWVXNRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJRenRCUVVOeVF5eFRRVUZUTEVOQlFVTXNWVUZCVlN4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVOQlFVTTdRVUZEZUVNc1UwRkJVeXhEUVVGRExGVkJRVlVzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRE8wRkJSWHBETEUxQlFVMHNRMEZCUXl4UFFVRlBMRlZCUVZVc1RVRkJUVHRKUVVNMVFpeFBRVUZQTEZOQlFWTXNRMEZCUXp0QlFVTnVRaXhEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRMjl0YldGdVpDQjlJR1p5YjIwZ1hDSmpiMjF0WVc1a1pYSmNJanRjYm1sdGNHOXlkQ0I3SUV4dloyZHBibWNzSUhSdlVHRnpZMkZzUTJGelpTQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZiRzluWjJsdVoxd2lPMXh1YVcxd2IzSjBJSHNnWlhobFkxTjVibU1nZlNCbWNtOXRJRndpWTJocGJHUmZjSEp2WTJWemMxd2lPMXh1YVcxd2IzSjBJR1p6SUdaeWIyMGdYQ0ptYzF3aU8xeHVhVzF3YjNKMElIQmhkR2dnWm5KdmJTQmNJbkJoZEdoY0lqdGNibWx0Y0c5eWRDQjdJRkJzZFdkcGJpd2djbTlzYkhWd0lIMGdabkp2YlNCY0luSnZiR3gxY0Z3aU8xeHVhVzF3YjNKMElISmxjR3hoWTJVZ1puSnZiU0JjSWtCeWIyeHNkWEF2Y0d4MVoybHVMWEpsY0d4aFkyVmNJanRjYm1sdGNHOXlkQ0I3SUVsdWRHVnlibUZzUlhKeWIzSXNJRk5sY21saGJHbDZZWFJwYjI1RmNuSnZjaUI5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdJdFpHVmpiM0poZEc5eWMxd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ1oyVnVaWEpoZEdWTmIyUmxiRVJsYzJsbmJrUnZZM01zWEc0Z0lHZGxibVZ5WVhSbFRXOWtaV3hKYm1SbGVHVnpMRnh1SUNCeVpXRmtUVzlrWld4R2FXeGxMRnh1SUNCeVpXRmtUVzlrWld4R2IyeGtaWEp6TEZ4dUlDQjNjbWwwWlVSbGMybG5ia1J2WTNNc1hHNGdJSGR5YVhSbFNXNWtaWGhsY3l4Y2JuMGdabkp2YlNCY0lpNHZZMnhwWlc1MEwybHVaR1Y0WlhOY0lqdGNibWx0Y0c5eWRDQjdJRTF2WkdWc0lIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGIzSXRkbUZzYVdSaGRHbHZibHdpTzF4dWFXMXdiM0owSUh0Y2JpQWdZWEJ3Y205MlpVTnZiblJ5WVdOMExGeHVJQ0JsYm5OMWNtVkpibVp5WVhOMGNuVmpkSFZ5WlVKdmIzUmxaQ3hjYmlBZ2FXNXpkR0ZzYkVOdmJuUnlZV04wTEZ4dUlDQndZV05yWVdkbFEyOXVkSEpoWTNRc1hHNGdJR052YlcxcGRFTm9ZV2x1WTI5a1pTeGNiaUFnWjJWMFEyOXVkSEpoWTNSVGRHRnlkRU52YlcxaGJtUXNYRzRnSUdOdmJYQnBiR1ZYYVhSb1ZITmpiMjVtYVdkUGRtVnljbWxrWlhNc1hHNTlJR1p5YjIwZ1hDSXVMMk5zYVMxMWRHbHNjMXdpTzF4dWFXMXdiM0owSUZ3aUxpOXphR0Z5WldRdmIzWmxjbkpwWkdWelhDSTdYRzVwYlhCdmNuUWdkSE1nWm5KdmJTQmNJblI1Y0dWelkzSnBjSFJjSWp0Y2JtbHRjRzl5ZENCN1hHNGdJR1Y0ZEhKaFkzUkRiMnhzWldOMGFXOXVjeUJoY3lCbGVFTnZiR3hsWTNScGIyNXpMRnh1SUNCUWNtbDJZWFJsUTI5c2JHVmpkR2x2Yml4Y2JpQWdkM0pwZEdWRGIyeHNaV04wYVc5dWN5eGNiaUFnZDNKcGRHVkRiMnhzWldOMGFXOXVSR1Z6YVdkdVJHOWpjeXhjYm4wZ1puSnZiU0JjSWk0dlkyeHBaVzUwTDJOdmJHeGxZM1JwYjI1ekwybHVaR1Y0WENJN1hHNXBiWEJ2Y25RZ2V5QkRiM1ZqYUVSQ1JHVnphV2R1Ukc5akxDQkRjbVZoZEdWSmJtUmxlRkpsY1hWbGMzUWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlp2Y2kxamIzVmphR1JpWENJN1hHNWNibU52Ym5OMElHeHZaMmRsY2lBOUlFeHZaMmRwYm1jdVptOXlLRndpWm1GaWNtbGpYQ0lwTzF4dVhHNW1kVzVqZEdsdmJpQnlaWE52YkhabFFuVnVaR3hsWkVwelNXMXdiM0owY3lncE9pQlFiSFZuYVc0Z2UxeHVJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lHNWhiV1U2SUZ3aWNtVnpiMngyWlMxaWRXNWtiR1ZrTFdwekxXbHRjRzl5ZEhOY0lpeGNiaUFnSUNCeVpYTnZiSFpsU1dRb2MyOTFjbU5sTENCcGJYQnZjblJsY2lrZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0ZwYlhCdmNuUmxjaUI4ZkNBaGMyOTFjbU5sTG5OMFlYSjBjMWRwZEdnb1hDSXVYQ0lwS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JqYjI1emRDQnlaWE52YkhabFpGQmhkR2dnUFNCd1lYUm9MbkpsYzI5c2RtVW9jR0YwYUM1a2FYSnVZVzFsS0dsdGNHOXlkR1Z5S1N3Z2MyOTFjbU5sS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJR05oYm1ScFpHRjBaWE1nUFNCYlhHNGdJQ0FnSUNBZ0lISmxjMjlzZG1Wa1VHRjBhQ3hjYmlBZ0lDQWdJQ0FnWUNSN2NtVnpiMngyWldSUVlYUm9mUzVxYzJBc1hHNGdJQ0FnSUNBZ0lIQmhkR2d1YW05cGJpaHlaWE52YkhabFpGQmhkR2dzSUZ3aWFXNWtaWGd1YW5OY0lpa3NYRzRnSUNBZ0lDQmRPMXh1WEc0Z0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUdOaGJtUnBaR0YwWlNCdlppQmpZVzVrYVdSaGRHVnpLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaG1jeTVsZUdsemRITlRlVzVqS0dOaGJtUnBaR0YwWlNrZ0ppWWdabk11YzNSaGRGTjVibU1vWTJGdVpHbGtZWFJsS1M1cGMwWnBiR1VvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmpZVzVrYVdSaGRHVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnZlN4Y2JpQWdmVHRjYm4xY2JseHVZMjl1YzNRZ1kyOXRjR2xzWlVOdmJXMWhibVFnUFNCdVpYY2dRMjl0YldGdVpDZ3BYRzRnSUM1dVlXMWxLRndpWTI5dGNHbHNaUzFqYjI1MGNtRmpkRndpS1Z4dUlDQXVaR1Z6WTNKcGNIUnBiMjRvWENKRGNtVmhkR1Z6SUdFZ1oyeHZZbUZzSUdOdmJuUnlZV04wWENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFdSbGRsd2lMQ0JjSW1OdmJYQnBiR1Z6SUdOdmJuUnlZV04wY3lCM2FYUm9iM1YwSUcxcGJtbG1hV05oZEdsdmJsd2lMQ0JtWVd4elpTbGNiaUFnTG05d2RHbHZiaWhjSWkwdFpHVmlkV2RjSWl3Z1hDSnRZV3RsY3lCaGRIUmhZMmhwYm1jZ1pHVmlkV2RuWlhJZ2NHOXpjMmxpYkdWY0lpd2dabUZzYzJVcFhHNGdJQzV2Y0hScGIyNG9YRzRnSUNBZ1hDSXRMV05qWVdGelhDSXNYRzRnSUNBZ1hDSkJhblZ6ZEhNZ2RHaGxJSEJoWTJ0aFoyVWdZMjl0YldGdVpITWdkRzhnWW1VZ1pHVndiRzk1WldRZ1lYTWdZMk5oWVhOY0lpeGNiaUFnSUNCbVlXeHpaVnh1SUNBcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFc1aGJXVWdQRk4wY21sdVp6NWNJaXdnWENKamIyNTBjbUZqZENCdVlXMWxYQ0lzSUZ3aVoyeHZZbUZzTFdOdmJuUnlZV04wWENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFdKMWJtUnNaVndpTENCY0lrSjFibVJzWlhNZ2QybDBhQ0J5YjJ4c2RYQWdhVzV6ZEdWaFpDQnZaaUIxYzJsdVp5QjBjMk5jSWl3Z1ptRnNjMlVwWEc0Z0lDNXZjSFJwYjI0b1hHNGdJQ0FnWENJdExYUnpMV052Ym1acFp5MW1hV3hsSUR4emRISnBibWMrWENJc1hHNGdJQ0FnWENKeVpXeGhkR2wyWlNCd1lYUm9JSFJ2SUhSb1pTQjBjeUJqYjI1bWFXY2dabWxzWlNCaVlYTmxaQ0J2YmlCamQyUWdiM0lnWVdKemIyeDFkR1VnY0dGMGFGd2lMRnh1SUNBZ0lGd2lMaTkwYzJOdmJtWnBaeTVxYzI5dVhDSmNiaUFnS1Z4dUlDQXViM0IwYVc5dUtGeHVJQ0FnSUZ3aUxTMWtaWE5qY21sd2RHbHZiaUE4VTNSeWFXNW5QbHdpTEZ4dUlDQWdJRndpWTI5dWRISmhZM1FnWkdWelkzSnBjSFJwYjI1Y0lpeGNiaUFnSUNCY0lrZHNiMkpoYkNCamIyNTBjbUZqZENCcGJYQnNaVzFsYm5SaGRHbHZibHdpWEc0Z0lDbGNiaUFnTG05d2RHbHZiaWhjSWkwdGMzUnlhWEF0WTI5dWRISmhZM1F0Ym1GdFpWd2lMQ0JjSW5OMGNtbHdJR052Ym5SeVlXTjBJRzVoYldVZ1puSnZiU0J2ZFhSd2RYUmNJaXdnWm1Gc2MyVXBYRzRnSUM1dmNIUnBiMjRvWENJdExXbHVjSFYwSUR4VGRISnBibWMrWENJc0lGd2lhVzV3ZFhRZ1ptOXNaR1Z5SUdadmNpQmpiMjUwY21GamRITmNJaXdnWENKc2FXSXZZMjl1ZEhKaFkzUnpYQ0lwWEc0Z0lDNXZjSFJwYjI0b1hDSXRMVzkxZEhCMWRDQThVM1J5YVc1blBsd2lMQ0JjSW05MWRIQjFkQ0JtYjJ4a1pYSWdabTl5SUdOdmJuUnlZV04wYzF3aUxDQmNJaTR2WTI5dWRISmhZM1J6WENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFhOdmRYSmpaVzFoY0hOY0lpd2dYQ0pwYm1Oc2RXUmxjeUJ6YjNWeVkyVnRZWEJ6SUdsdUlIUm9aU0JqYjIxd2FXeGxaQ0J2ZFhSd2RYUmNJaXdnWm1Gc2MyVXBYRzRnSUM1dmNIUnBiMjRvWENJdExXNXdiWEpqWENJc0lGd2lhVzVqYkhWa1pYTWdMbTV3YlhKaklHbHVJSFJvWlNCamIyMXdhV3hsWkNCdmRYUndkWFJjSWl3Z1ptRnNjMlVwWEc0Z0lDNWhZM1JwYjI0b1lYTjVibU1nS0c5d2RHbHZibk02SUdGdWVTa2dQVDRnZTF4dUlDQWdJR052Ym5OMElIQnJaeUE5SUVwVFQwNHVjR0Z5YzJVb1hHNGdJQ0FnSUNCbWN5NXlaV0ZrUm1sc1pWTjVibU1vY0dGMGFDNXFiMmx1S0hCeWIyTmxjM011WTNka0tDa3NJRndpY0dGamEyRm5aUzVxYzI5dVhDSXBMQ0JjSW5WMFppMDRYQ0lwWEc0Z0lDQWdLVHRjYmx4dUlDQWdJR052Ym5OMElIQnJaMHh2WTJzZ1BTQktVMDlPTG5CaGNuTmxLRnh1SUNBZ0lDQWdabk11Y21WaFpFWnBiR1ZUZVc1aktIQmhkR2d1YW05cGJpaHdjbTlqWlhOekxtTjNaQ2dwTENCY0luQmhZMnRoWjJVdGJHOWpheTVxYzI5dVhDSXBMQ0JjSW5WMFppMDRYQ0lwWEc0Z0lDQWdLVHRjYmx4dUlDQWdJR3hsZENCdWNHMXlZME52Ym5SbGJuUWdQU0IxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0JqYjI1emRDQjJaWEp6YVc5dUlEMGdjR3RuTG5abGNuTnBiMjQ3WEc1Y2JpQWdJQ0JzWlhRZ2UxeHVJQ0FnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElIQnlaV1psY2kxamIyNXpkRnh1SUNBZ0lDQWdaR1YyTEZ4dUlDQWdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUhCeVpXWmxjaTFqYjI1emRGeHVJQ0FnSUNBZ1pHVmlkV2NzWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnY0hKbFptVnlMV052Ym5OMFhHNGdJQ0FnSUNCdVlXMWxMRnh1SUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJSEJ5WldabGNpMWpiMjV6ZEZ4dUlDQWdJQ0FnWkdWelkzSnBjSFJwYjI0c1hHNGdJQ0FnSUNCdmRYUndkWFFzWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnY0hKbFptVnlMV052Ym5OMFhHNGdJQ0FnSUNCcGJuQjFkQ3hjYmlBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J3Y21WbVpYSXRZMjl1YzNSY2JpQWdJQ0FnSUhOMGNtbHdRMjl1ZEhKaFkzUk9ZVzFsTEZ4dUlDQWdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUhCeVpXWmxjaTFqYjI1emRGeHVJQ0FnSUNBZ1kyTmhZWE1zWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnY0hKbFptVnlMV052Ym5OMFhHNGdJQ0FnSUNCaWRXNWtiR1VzWEc1Y2JpQWdJQ0FnSUhSelEyOXVabWxuUm1sc1pTeGNiaUFnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQndjbVZtWlhJdFkyOXVjM1JjYmlBZ0lDQWdJSE52ZFhKalpXMWhjSE1zWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnY0hKbFptVnlMV052Ym5OMFhHNGdJQ0FnSUNCdWNHMXlZeXhjYmlBZ0lDQjlJRDBnYjNCMGFXOXVjenRjYmlBZ0lDQmpiMjV6ZENCc2IyY2dQU0JzYjJkblpYSXVabTl5S0Z3aVkyOXRjR2xzWlMxamIyNTBjbUZqZEZ3aUtUdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdhV1lnS0c1d2JYSmpLU0I3WEc0Z0lDQWdJQ0FnSUc1d2JYSmpRMjl1ZEdWdWRDQTlJR1p6WEc0Z0lDQWdJQ0FnSUNBZ0xuSmxZV1JHYVd4bFUzbHVZeWh3WVhSb0xtcHZhVzRvY0hKdlkyVnpjeTVqZDJRb0tTd2dYQ0l1Ym5CdGNtTmNJaWtzSUZ3aWRYUm1MVGhjSWlsY2JpQWdJQ0FnSUNBZ0lDQXVkRzlUZEhKcGJtY29LVHRjYmx4dUlDQWdJQ0FnSUNCamIyNXpkQ0J5WlhCc1lXTmxaQ0E5SUc1d2JYSmpRMjl1ZEdWdWRDNXlaWEJzWVdObEtGeHVJQ0FnSUNBZ0lDQWdJQzljWENSY1hIc29XMTU5WFNzcFhGeDlMMmNzWEc0Z0lDQWdJQ0FnSUNBZ0tGODZJR0Z1ZVN3Z2RtRnlUbUZ0WlRvZ2MzUnlhVzVuS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0IyWVd4MVpTQTlJSEJ5YjJObGMzTXVaVzUyVzNaaGNrNWhiV1ZkTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2RtRnNkV1VnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWUZkaGNtNXBibWM2SUVWdWRtbHliMjV0Wlc1MElIWmhjbWxoWW14bElGd2lKSHQyWVhKT1lXMWxmVndpSUdseklHNXZkQ0J6WlhSZ1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJjSWx3aU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkbUZzZFdVN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FwTzF4dVhHNGdJQ0FnSUNBZ0lHNXdiWEpqUTI5dWRHVnVkQ0E5SUhKbGNHeGhZMlZrTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWTJGMFkyZ2dlMXh1SUNBZ0lDQWdiRzluTG1sdVptOG9ZRTV2SUM1dWNHMXlZeUJtYVd4bElHWnZkVzVrTENCemEybHdjR2x1WnlCamIzQjVhVzVuSUM1dWNHMXlZeUIwYnlCdmRYUndkWFJnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JzYjJjdVpHVmlkV2NvWEc0Z0lDQWdJQ0JnY25WdWJtbHVaeUIzYVhSb0lHOXdkR2x2Ym5NNklDUjdTbE5QVGk1emRISnBibWRwWm5rb2IzQjBhVzl1Y3lsOUlHWnZjaUFrZTNCclp5NXVZVzFsZlNCMlpYSnphVzl1SUNSN2RtVnljMmx2Ym4xZ1hHNGdJQ0FnS1R0Y2JseHVJQ0FnSUhSelEyOXVabWxuUm1sc1pTQTlJSEJoZEdndWFYTkJZbk52YkhWMFpTaDBjME52Ym1acFowWnBiR1VwWEc0Z0lDQWdJQ0EvSUhSelEyOXVabWxuUm1sc1pWeHVJQ0FnSUNBZ09pQndZWFJvTG1wdmFXNG9jSEp2WTJWemN5NWpkMlFvS1N3Z2RITkRiMjVtYVdkR2FXeGxLVHRjYmx4dUlDQWdJRzkxZEhCMWRDQTlJSE4wY21sd1EyOXVkSEpoWTNST1lXMWxJRDhnYjNWMGNIVjBJRG9nY0dGMGFDNXFiMmx1S0c5MWRIQjFkQ3dnYm1GdFpTazdYRzRnSUNBZ2JHOW5MbWx1Wm04b1lFUmxiR1YwYVc1bklHVjRhWE4wYVc1bklHOTFkSEIxZENCbWIyeGtaWElnS0dsbUlHVjRhWE4wY3lrZ2RXNWtaWElnSkh0dmRYUndkWFI5WUNrN1hHNGdJQ0FnWlhobFkxTjVibU1vWUhKdElDMXlaaUFrZTI5MWRIQjFkSDFnS1R0Y2JpQWdJQ0JwWmlBb1luVnVaR3hsS1NCN1hHNGdJQ0FnSUNCc2IyY3VhVzVtYnloZ1luVnVaR3hwYm1jZ1kyOXVkSEpoWTNRZ1puSnZiU0FrZTJsdWNIVjBmV0FwTzF4dUlDQWdJQ0FnWTI5dWMzUWdkR1Z0Y0VKMWJtUnNaVVJwY2lBOUlHWnpMbTFyWkhSbGJYQlRlVzVqS0Z4dUlDQWdJQ0FnSUNCd1lYUm9MbXB2YVc0b2NISnZZMlZ6Y3k1amQyUW9LU3dnWENJdVkyOXVkSEpoWTNRdFluVnVaR3hsTFZ3aUtWeHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR2x1Y0hWMFJXNTBjbmtnUFNCd1lYUm9MbkpsYzI5c2RtVW9jSEp2WTJWemN5NWpkMlFvS1N3Z2FXNXdkWFFzSUZ3aWFXNWtaWGd1ZEhOY0lpazdYRzRnSUNBZ0lDQWdJR052Ym5OMElHTnZibVpwWjBacGJHVWdQU0IwY3k1eVpXRmtRMjl1Wm1sblJtbHNaU2gwYzBOdmJtWnBaMFpwYkdVc0lIUnpMbk41Y3k1eVpXRmtSbWxzWlNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hqYjI1bWFXZEdhV3hsTG1WeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFbHVkR1Z5Ym1Gc1JYSnliM0lvWEc0Z0lDQWdJQ0FnSUNBZ0lDQjBjeTVtYkdGMGRHVnVSR2xoWjI1dmMzUnBZMDFsYzNOaFoyVlVaWGgwS0dOdmJtWnBaMFpwYkdVdVpYSnliM0l1YldWemMyRm5aVlJsZUhRc0lGd2lYRnh1WENJcFhHNGdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHTnZibk4wSUhCaGNuTmxaRU52Ym1acFp5QTlJSFJ6TG5CaGNuTmxTbk52YmtOdmJtWnBaMFpwYkdWRGIyNTBaVzUwS0Z4dUlDQWdJQ0FnSUNBZ0lHTnZibVpwWjBacGJHVXVZMjl1Wm1sbkxGeHVJQ0FnSUNBZ0lDQWdJSFJ6TG5ONWN5eGNiaUFnSUNBZ0lDQWdJQ0J3WVhSb0xtUnBjbTVoYldVb2RITkRiMjVtYVdkR2FXeGxLU3hjYmlBZ0lDQWdJQ0FnSUNCMWJtUmxabWx1WldRc1hHNGdJQ0FnSUNBZ0lDQWdkSE5EYjI1bWFXZEdhV3hsWEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2h3WVhKelpXUkRiMjVtYVdjdVpYSnliM0p6TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdjR0Z5YzJWa1EyOXVabWxuTG1WeWNtOXljMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXViV0Z3S0NobGNuSnZjaWtnUFQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGN5NW1iR0YwZEdWdVJHbGhaMjV2YzNScFkwMWxjM05oWjJWVVpYaDBLR1Z5Y205eUxtMWxjM05oWjJWVVpYaDBMQ0JjSWx4Y2Jsd2lLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDNXFiMmx1S0Z3aVhGeHVYQ0lwWEc0Z0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSFJsYlhCRGIyMXdhV3hsY2s5d2RHbHZibk02SUhSekxrTnZiWEJwYkdWeVQzQjBhVzl1Y3lBOUlIdGNiaUFnSUNBZ0lDQWdJQ0F1TGk1d1lYSnpaV1JEYjI1bWFXY3ViM0IwYVc5dWN5eGNiaUFnSUNBZ0lDQWdJQ0J2ZFhSRWFYSTZJSFJsYlhCQ2RXNWtiR1ZFYVhJc1hHNGdJQ0FnSUNBZ0lDQWdiVzlrZFd4bE9pQjBjeTVOYjJSMWJHVkxhVzVrTGtWVFRtVjRkQ3hjYmlBZ0lDQWdJQ0FnSUNCa1pXTnNZWEpoZEdsdmJqb2dabUZzYzJVc1hHNGdJQ0FnSUNBZ0lDQWdjMjkxY21ObFRXRndPaUJtWVd4elpTeGNiaUFnSUNBZ0lDQWdJQ0JwYm14cGJtVlRiM1Z5WTJWek9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1luVnVaR3hsWkVWdWRISjVVRzlwYm5RZ1BTQjBjMXh1SUNBZ0lDQWdJQ0FnSUM1blpYUlBkWFJ3ZFhSR2FXeGxUbUZ0WlhNb1hHNGdJQ0FnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzR1TG5CaGNuTmxaRU52Ym1acFp5eGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2IzQjBhVzl1Y3pvZ2RHVnRjRU52YlhCcGJHVnlUM0IwYVc5dWN5eGNiaUFnSUNBZ0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwYm5CMWRFVnVkSEo1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJWFJ6TG5ONWN5NTFjMlZEWVhObFUyVnVjMmwwYVhabFJtbHNaVTVoYldWelhHNGdJQ0FnSUNBZ0lDQWdLVnh1SUNBZ0lDQWdJQ0FnSUM1bWFXNWtLQ2htYVd4bFRtRnRaU2tnUFQ0Z1ptbHNaVTVoYldVdVpXNWtjMWRwZEdnb1hDSXVhbk5jSWlrcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNnaFluVnVaR3hsWkVWdWRISjVVRzlwYm5RcElIdGNiaUFnSUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MFpYSnVZV3hGY25KdmNpaGNiaUFnSUNBZ0lDQWdJQ0FnSUdCR1lXbHNaV1FnZEc4Z1pHVjBaWEp0YVc1bElIUm9aU0JsYldsMGRHVmtJR0oxYm1Sc1pTQmxiblJ5ZVNCbWIzSWdKSHRwYm5CMWRFVnVkSEo1ZldCY2JpQWdJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kyOXRjR2xzWlZkcGRHaFVjMk52Ym1acFowOTJaWEp5YVdSbGN5aDBjME52Ym1acFowWnBiR1VzSUhSbGJYQkRiMjF3YVd4bGNrOXdkR2x2Ym5NcE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCaWRXNWtiR1ZrUTI5dWRISmhZM1FnUFNCaGQyRnBkQ0J5YjJ4c2RYQW9lMXh1SUNBZ0lDQWdJQ0FnSUdsdWNIVjBPaUJpZFc1a2JHVmtSVzUwY25sUWIybHVkQ3hjYmlBZ0lDQWdJQ0FnSUNCd2JIVm5hVzV6T2lCYlhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhOdmJIWmxRblZ1Wkd4bFpFcHpTVzF3YjNKMGN5Z3BMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVndiR0ZqWlNoN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhCeVpYWmxiblJCYzNOcFoyNXRaVzUwT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hwYldsMFpYSnpPaUJiWENKY0lpd2dYQ0pjSWwwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxjem9nZXlCY0lpTWpWa1ZTVTBsUFRpTWpYQ0k2SUhabGNuTnBiMjRzSUZ3aUl5TlFRVU5MUVVkRkl5TmNJam9nY0d0bkxtNWhiV1VnZlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnSUNBZ0lGMHNYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNCc2IyY3VhVzVtYnloY2JpQWdJQ0FnSUNBZ0lDQmdkMmwwYUdsdVp5QmpiMjUwY21GamRDQjBieUFrZTI5MWRIQjFkSDBnZDJsMGFDQnVZVzFsSUNSN2RHOVFZWE5qWVd4RFlYTmxLRzVoYldVcGZTNXFjMkJjYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ1lYZGhhWFFnWW5WdVpHeGxaRU52Ym5SeVlXTjBMbmR5YVhSbEtIdGNiaUFnSUNBZ0lDQWdJQ0JtYVd4bE9pQmdKSHR2ZFhSd2RYUjlMeVI3ZEc5UVlYTmpZV3hEWVhObEtHNWhiV1VwZlM1cWMyQXNYRzRnSUNBZ0lDQWdJQ0FnWm05eWJXRjBPaUJjSW5WdFpGd2lMRnh1SUNBZ0lDQWdJQ0FnSUc1aGJXVTZJR0FrZTNSdlVHRnpZMkZzUTJGelpTaHVZVzFsS1gwdWFuTmdMRnh1SUNBZ0lDQWdJQ0FnSUhOdmRYSmpaVzFoY0RvZ2MyOTFjbU5sYldGd2N5QS9JRndpYVc1c2FXNWxYQ0lnT2lCbVlXeHpaU3hjYmlBZ0lDQWdJQ0FnSUNCemIzVnlZMlZ0WVhCUVlYUm9WSEpoYm5ObWIzSnRPaUFvY21Wc1lYUnBkbVZUYjNWeVkyVlFZWFJvTENCemIzVnlZMlZ0WVhCUVlYUm9LU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmhZbk52YkhWMFpWTnZkWEpqWlZCaGRHZ2dQU0J3WVhSb0xuSmxjMjlzZG1Vb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhCaGRHZ3VaR2x5Ym1GdFpTaHpiM1Z5WTJWdFlYQlFZWFJvS1N4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21Wc1lYUnBkbVZUYjNWeVkyVlFZWFJvWEc0Z0lDQWdJQ0FnSUNBZ0lDQXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWVdKemIyeDFkR1ZUYjNWeVkyVlFZWFJvTG5OMFlYSjBjMWRwZEdnb2RHVnRjRUoxYm1Sc1pVUnBjaWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEJoZEdndWNHOXphWGd1YW05cGJpaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmNJaTVpZFc1a2JHVmNJaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3WVhSb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXVjbVZzWVhScGRtVW9kR1Z0Y0VKMWJtUnNaVVJwY2l3Z1lXSnpiMngxZEdWVGIzVnlZMlZRWVhSb0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMbk53YkdsMEtIQmhkR2d1YzJWd0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMbXB2YVc0b1hDSXZYQ0lwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpXeGhkR2wyWlZOdmRYSmpaVkJoZEdnN1hHNGdJQ0FnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNBZ0lHRjNZV2wwSUdKMWJtUnNaV1JEYjI1MGNtRmpkQzVqYkc5elpTZ3BPMXh1SUNBZ0lDQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQWdJQ0FnWm5NdWNtMVRlVzVqS0hSbGJYQkNkVzVrYkdWRWFYSXNJSHNnY21WamRYSnphWFpsT2lCMGNuVmxMQ0JtYjNKalpUb2dkSEoxWlNCOUtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWTI5dGNHbHNaVmRwZEdoVWMyTnZibVpwWjA5MlpYSnlhV1JsY3loMGMwTnZibVpwWjBacGJHVXNJSHRjYmlBZ0lDQWdJQ0FnYjNWMFJHbHlPaUJ2ZFhSd2RYUXNYRzRnSUNBZ0lDQWdJRzF2WkhWc1pUb2dkSE11VFc5a2RXeGxTMmx1WkM1RlUwNWxlSFFzWEc0Z0lDQWdJQ0FnSUdSbFkyeGhjbUYwYVc5dU9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUNBZ2MyOTFjbU5sVFdGd09pQnpiM1Z5WTJWdFlYQnpMRnh1SUNBZ0lDQWdJQ0JwYm14cGJtVlRiM1Z5WTJWek9pQnpiM1Z5WTJWdFlYQnpMRnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2MyTnlhWEIwY3lBOUlIdGNiaUFnSUNBZ0lITjBZWEowT2lCblpYUkRiMjUwY21GamRGTjBZWEowUTI5dGJXRnVaQ2hrWldKMVp5d2dZMk5oWVhNcExGeHVJQ0FnSUNBZ1hDSnpkR0Z5ZERwa1pYWmNJam9nWENKbVlXSnlhV010WTJoaGFXNWpiMlJsTFc1dlpHVWdjM1JoY25RZ0xTMTBiSE11Wlc1aFlteGxaQ0JtWVd4elpWd2lMRnh1SUNBZ0lDQWdYQ0p6ZEdGeWREcDNZWFJqYUZ3aU9pQW5ibTlrWlcxdmJpQXRMV1Y0WldNZ1hDSnVjRzBnY25WdUlITjBZWEowT21SbGRsd2lKeXhjYmlBZ0lDQWdJR0oxYVd4a09pQW5aV05vYnlCY0lrNXZJRzVsWldRZ2RHOGdZblZwYkdRZ2RHaGxJR05vWVdsdVkyOWtaVndpSnl4Y2JpQWdJQ0FnSUd4cGJuUTZJRndpWlhOc2FXNTBJQzRnTFMxbWFYZ2dMUzFsZUhRZ0xtcHpYQ0lzWEc0Z0lDQWdmVHRjYmx4dUlDQWdJR052Ym5OMElHTnZiblJ5WVdOMFVHRmphMkZuWlNBOUlIQnJaenRjYmlBZ0lDQmpiMjV6ZENCamIyNTBjbUZqZEZCaFkydGhaMlZNYjJOcklEMGdjR3RuVEc5amF6dGNibHh1SUNBZ0lHTnZiblJ5WVdOMFVHRmphMkZuWlM1dVlXMWxJRDBnYm1GdFpUdGNiaUFnSUNCamIyNTBjbUZqZEZCaFkydGhaMlV1WkdWelkzSnBjSFJwYjI0Z1BTQmtaWE5qY21sd2RHbHZianRjYmlBZ0lDQmpiMjUwY21GamRGQmhZMnRoWjJVdWMyTnlhWEIwY3lBOUlITmpjbWx3ZEhNN1hHNWNiaUFnSUNCa1pXeGxkR1VnWTI5dWRISmhZM1JRWVdOcllXZGxMblI1Y0dVN1hHNGdJQ0FnWkdWc1pYUmxJR052Ym5SeVlXTjBVR0ZqYTJGblpTNTBlWEJsY3p0Y2JpQWdJQ0JrWld4bGRHVWdZMjl1ZEhKaFkzUlFZV05yWVdkbExtVjRjRzl5ZEhNN1hHNGdJQ0FnWTI5dWRISmhZM1JRWVdOcllXZGxMbTFoYVc0Z1BTQmlkVzVrYkdWY2JpQWdJQ0FnSUQ4Z1lDUjdkRzlRWVhOallXeERZWE5sS0c1aGJXVXBmUzVxYzJCY2JpQWdJQ0FnSURvZ1lDUjdhVzV3ZFhSOUwybHVaR1Y0TG1wellEdGNibHh1SUNBZ0lHWnpMbmR5YVhSbFJtbHNaVk41Ym1Nb1hHNGdJQ0FnSUNCd1lYUm9MbXB2YVc0b2IzVjBjSFYwTENCY0luQmhZMnRoWjJVdWFuTnZibHdpS1N4Y2JpQWdJQ0FnSUVwVFQwNHVjM1J5YVc1bmFXWjVLR052Ym5SeVlXTjBVR0ZqYTJGblpTbGNiaUFnSUNBcE8xeHVYRzRnSUNBZ1puTXVkM0pwZEdWR2FXeGxVM2x1WXloY2JpQWdJQ0FnSUhCaGRHZ3VhbTlwYmlodmRYUndkWFFzSUZ3aWNHRmphMkZuWlMxc2IyTnJMbXB6YjI1Y0lpa3NYRzRnSUNBZ0lDQktVMDlPTG5OMGNtbHVaMmxtZVNoamIyNTBjbUZqZEZCaFkydGhaMlZNYjJOcktWeHVJQ0FnSUNrN1hHNWNiaUFnSUNCcFppQW9ibkJ0Y21NZ0ppWWdibkJ0Y21ORGIyNTBaVzUwS1Z4dUlDQWdJQ0FnWm5NdWQzSnBkR1ZHYVd4bFUzbHVZeWh3WVhSb0xtcHZhVzRvYjNWMGNIVjBMQ0JjSWk1dWNHMXlZMXdpS1N3Z2JuQnRjbU5EYjI1MFpXNTBLVHRjYmx4dUlDQWdJR3h2Wnk1cGJtWnZLR0JKYm5OMFlXeHNhVzVuSUdGdVpDQnphSEpwYm10M2NtRndjR2x1WnlCa1pYQmxibVJsYm1OcFpYTmdLVHRjYmlBZ0lDQmxlR1ZqVTNsdVl5aGdibkJ0SUdsdWMzUmhiR3hnTENCN0lHTjNaRG9nYjNWMGNIVjBJSDBwTzF4dUlDQWdJR1Y0WldOVGVXNWpLR0J1Y0cwZ2MyaHlhVzVyZDNKaGNHQXNJSHNnWTNka09pQnZkWFJ3ZFhRZ2ZTazdYRzRnSUNBZ1pYaGxZMU41Ym1Nb1hDSnliU0F0Y21ZZ2JtOWtaVjl0YjJSMWJHVnpYQ0lzSUhzZ1kzZGtPaUJ2ZFhSd2RYUWdmU2s3WEc0Z0lDQWdiRzluTG1sdVptOG9ZR1JsYkdWMGFXNW5JSFJsYlhBZ1ptOXNaR1Z5YzJBcE8xeHVJQ0FnSUdWNFpXTlRlVzVqS0dCeWJTQXRjbVlnTGk5c2FXSWdKaVlnY20wZ0xYSm1JQzR2WkdsemRHQXNJSHNnWTNka09pQnZkWFJ3ZFhRZ2ZTazdYRzRnSUNBZ2JHOW5MbWx1Wm04b1hHNGdJQ0FnSUNCZ1EyOXVkSEpoWTNRZ0pIdHVZVzFsZlNCamIyMXdhV3hsWkNCemRXTmpaWE56Wm5Wc2JIa2hJR2x1SUNSN2NHRjBhQzV5WlhOdmJIWmxLRzkxZEhCMWRDbDlZRnh1SUNBZ0lDazdYRzRnSUNBZ2FXWWdLR1JsZGlrZ2UxeHVJQ0FnSUNBZ2JHOW5MbWx1Wm04b1lHUmxkaUJ0YjJSbElHVnVZV0pzWldRdUlHbHVjM1JoYkd4cGJtY2daR1Z3Wlc1a1pXNWphV1Z6SUdadmNpQmtaV0oxWjJkcGJtZGdLVHRjYmlBZ0lDQWdJR1Y0WldOVGVXNWpLR0J1Y0cwZ2FXNXpkR0ZzYkdBc0lIdGNiaUFnSUNBZ0lDQWdZM2RrT2lCdmRYUndkWFFzWEc0Z0lDQWdJQ0FnSUdWdWRqb2dleUF1TGk1d2NtOWpaWE56TG1WdWRpd2dUazlFUlY5RlRsWTZJRndpY0hKdlpIVmpkR2x2Ymx3aUlIMHNYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzVqYjI1emRDQmxlSFJ5WVdOMFNXNWtaWGhsY3lBOUlHNWxkeUJEYjIxdFlXNWtLQ2xjYmlBZ0xtTnZiVzFoYm1Rb1hDSmxlSFJ5WVdOMExXbHVaR1Y0WlhOY0lpbGNiaUFnTG05d2RHbHZiaWhjSWkwdFptbHNaU0JiVTNSeWFXNW5YVndpTENCY0luUm9aU0J0YjJSbGJDQm1hV3hsWENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFdadmJHUmxjaUJiVTNSeWFXNW5YVndpTENCY0luUm9aU0J0YjJSbGJDQm1iMnhrWlhKY0lpbGNiaUFnTG05d2RHbHZiaWhjSWkwdGIzVjBSR2x5SUR4VGRISnBibWMrWENJc0lGd2lkR2hsSUc5MWRHUnBjaTRnYzJodmRXeGtJRzFoZEdOb0lIbHZkWElnWTI5dWRISmhZM1FnWm05c1pHVnlYQ0lwWEc0Z0lDNWtaWE5qY21sd2RHbHZiaWhjYmlBZ0lDQmNJa055WldGMFpYTWdZU0IwYUdVZ1NsTlBUaUJwYm1SbGVDQm1hV3hsY3lCMGJ5QmlaU0J6ZFdKdGFYUjBaV1FnZEc4Z1lXeHZibWNnZDJsMGFDQjBhR1VnWTI5dWRISmhZM1JjSWx4dUlDQXBYRzRnSUM1aFkzUnBiMjRvWVhONWJtTWdLRzl3ZEdsdmJuTTZJR0Z1ZVNrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUhCclp5QTlJRXBUVDA0dWNHRnljMlVvWEc0Z0lDQWdJQ0JtY3k1eVpXRmtSbWxzWlZONWJtTW9jR0YwYUM1cWIybHVLSEJ5YjJObGMzTXVZM2RrS0Nrc0lGd2ljR0ZqYTJGblpTNXFjMjl1WENJcExDQmNJblYwWmkwNFhDSXBYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhabGNuTnBiMjRnUFNCd2EyY3VkbVZ5YzJsdmJqdGNibHh1SUNBZ0lHTnZibk4wSUd4dlp5QTlJR3h2WjJkbGNpNW1iM0lvWENKbGVIUnlZV04wTFdsdVpHVjRaWE5jSWlrN1hHNGdJQ0FnYkc5bkxtUmxZblZuS0Z4dUlDQWdJQ0FnWUhKMWJtNXBibWNnZDJsMGFDQnZjSFJwYjI1ek9pQWtlMHBUVDA0dWMzUnlhVzVuYVdaNUtHOXdkR2x2Ym5NcGZTQm1iM0lnSkh0d2EyY3VibUZ0WlgwZ2RtVnljMmx2YmlBa2UzWmxjbk5wYjI1OVlGeHVJQ0FnSUNrN1hHNWNiaUFnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2NISmxabVZ5TFdOdmJuTjBYRzRnSUNBZ2JHVjBJSHNnWm1sc1pTd2dabTlzWkdWeUxDQnZkWFJFYVhJZ2ZTQTlJRzl3ZEdsdmJuTTdYRzVjYmlBZ0lDQmpiMjV6ZENCdGIyUmxiSE02SUdGdWVWdGRJRDBnVzEwN1hHNGdJQ0FnYVdZZ0tHWnBiR1VwSUh0Y2JpQWdJQ0FnSUcxdlpHVnNjeTV3ZFhOb0tDNHVMbkpsWVdSTmIyUmxiRVpwYkdVb1ptbHNaU2twTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobWIyeGtaWElwSUh0Y2JpQWdJQ0FnSUd4dlp5NXBibVp2S0dCTWIyRmthVzVuSUcxdlpHVnNjeUJtY205dElDUjdabTlzWkdWeWZTNHVMbUFwTzF4dUlDQWdJQ0FnYlc5a1pXeHpMbkIxYzJnb0xpNHVLR0YzWVdsMElISmxZV1JOYjJSbGJFWnZiR1JsY25Nb1ptOXNaR1Z5S1NrcE8xeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRDQnlaWE4xYkhRNklGSmxZMjl5WkR4emRISnBibWNzSUdGdWVUNGdQU0I3ZlR0Y2JpQWdJQ0JqYjI1emRDQmtaWE5wWjI1RWIyTnpPaUJTWldOdmNtUThjM1J5YVc1bkxDQmhibmsrSUQwZ2UzMDdYRzVjYmlBZ0lDQnBaaUFvSVdacGJHVWdKaVlnSVdadmJHUmxjaWxjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJKYm5SbGNtNWhiRVZ5Y205eUtHQk5kWE4wSUhCaGMzTWdZU0JtYVd4bElHOXlJR0VnWm05c1pHVnlZQ2s3WEc1Y2JpQWdJQ0JtYjNJZ0tHTnZibk4wSUcwZ2IyWWdiVzlrWld4ektTQjdYRzRnSUNBZ0lDQnNiMmN1ZG1WeVltOXpaU2hnUlhoMGNtRmpkR2x1WnlCcGJtUmxlR1Z6SUdadmNpQjBZV0pzWlNBa2UwMXZaR1ZzTG5SaFlteGxUbUZ0WlNodEtYMWdLVHRjYmlBZ0lDQWdJR052Ym5OMElHbHVaR1Y0WlhNZ1BTQm5aVzVsY21GMFpVMXZaR1ZzU1c1a1pYaGxjeWh0S1R0Y2JpQWdJQ0FnSUdsdVpHVjRaWE11Wm05eVJXRmphQ2dvYVc1a1pYZ3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR2x1WkdWNExtNWhiV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWE4xYkhSYmFXNWtaWGd1Ym1GdFpWMGdQU0JwYm1SbGVEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0JuWlc1bGNtRjBaVTF2WkdWc1JHVnphV2R1Ukc5amN5aHRMQ0JrWlhOcFoyNUViMk56S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ2FXNWtaWGhsYzFSdlYzSnBkR1VnUFNCUFltcGxZM1F1ZG1Gc2RXVnpLSEpsYzNWc2RDazdYRzRnSUNBZ1kyOXVjM1FnWkc5amMxUnZWM0pwZEdVZ1BTQlBZbXBsWTNRdWRtRnNkV1Z6S0dSbGMybG5ia1J2WTNNcE8xeHVJQ0FnSUd4dlp5NTJaWEppYjNObEtHQkdiM1Z1WkNBa2UybHVaR1Y0WlhOVWIxZHlhWFJsTG14bGJtZDBhSDBnYVc1a1pYaGxjeUIwYnlCamNtVmhkR1ZnS1R0Y2JpQWdJQ0JzYjJjdWRtVnlZbTl6WlNoZ1JtOTFibVFnSkh0a2IyTnpWRzlYY21sMFpTNXNaVzVuZEdoOUlHUmxjMmxuYmlCa2IyTnpJSFJ2SUdOeVpXRjBaV0FwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhnU1c1a1pYaGxjem9nSkh0S1UwOU9Mbk4wY21sdVoybG1lU2h5WlhOMWJIUXBmV0FwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhnUkdWemFXZHVSRzlqY3pvZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNoa1pYTnBaMjVFYjJOektYMWdLVHRjYmlBZ0lDQjNjbWwwWlVsdVpHVjRaWE1vYVc1a1pYaGxjMVJ2VjNKcGRHVXNJRzkxZEVScGNpazdYRzRnSUNBZ2QzSnBkR1ZFWlhOcFoyNUViMk56S0dSdlkzTlViMWR5YVhSbExDQnZkWFJFYVhJcE8xeHVJQ0I5S1R0Y2JseHVZMjl1YzNRZ1pYaDBjbUZqZEVOdmJHeGxZM1JwYjI1eklEMGdibVYzSUVOdmJXMWhibVFvS1Z4dUlDQXVZMjl0YldGdVpDaGNJbVY0ZEhKaFkzUXRZMjlzYkdWamRHbHZibk5jSWlsY2JpQWdMbTl3ZEdsdmJpaGNJaTB0Wm1sc1pTQmJVM1J5YVc1blhWd2lMQ0JjSW5Sb1pTQnRiMlJsYkNCbWFXeGxYQ0lwWEc0Z0lDNXZjSFJwYjI0b1hDSXRMV1p2YkdSbGNpQmJVM1J5YVc1blhWd2lMQ0JjSW5Sb1pTQnRiMlJsYkNCbWIyeGtaWEpjSWlsY2JpQWdMbTl3ZEdsdmJpaGNJaTB0YjNWMFJHbHlJRHhUZEhKcGJtYytYQ0lzSUZ3aWRHaGxJRzkxZEdScGNpNGdjMmh2ZFd4a0lHMWhkR05vSUhsdmRYSWdZMjl1ZEhKaFkzUWdabTlzWkdWeVhDSXBYRzRnSUM1dmNIUnBiMjRvWENJdExXMXpjRWxrY3lBOFUzUnlhVzVuUGx3aUxDQmNJbk5wYm1kc1pTQnRjM0JKWkNCdmNpQnpkSEpwYm1kcFptbGxaQ0JoY25KaGVWd2lLVnh1SUNBdWIzQjBhVzl1S0Z3aUxTMXRZV2x1VFhOd1NXUWdQRk4wY21sdVp6NWNJaXdnWENKemFXNW5iR1VnYlhOd1NXUmNJaWxjYmlBZ0xtOXdkR2x2YmloY2JpQWdJQ0JjSWkwdGIzWmxjbkpwWkdWeklGdFRkSEpwYm1kZFhDSXNYRzRnSUNBZ1hDSnpkSEpwYm1kcFptbGxaQ0J2ZG1WeWNtbGtaU0J2WW1wbFkzUWdlM0psY1hWcGNtVmtVR1ZsY2tOdmRXNTBPaUJ1ZFcxaVpYSXNJRzFoZUZCbFpYSkRiM1Z1ZERvZ2JuVnRZbVZ5TENCaWJHOWphMVJ2VEdsMlpUb2diblZ0WW1WeUxDQnRaVzFpWlhKUGJteDVVbVZoWkRvZ2JuVnRZbVZ5TENCdFpXMWlaWEpQYm14NVYzSnBkR1U2SUc1MWJXSmxjaXdnWlc1a2IzSnpaVzFsYm5SUWIyeHBZM2s2SUNCN2ZYMWNJbHh1SUNBcFhHNGdJQzVrWlhOamNtbHdkR2x2YmloY2JpQWdJQ0JjSWtOeVpXRjBaWE1nWVNCMGFHVWdTbE5QVGlCcGJtUmxlQ0JtYVd4bGN5QjBieUJpWlNCemRXSnRhWFIwWldRZ2RHOGdZV3h2Ym1jZ2QybDBhQ0IwYUdVZ1kyOXVkSEpoWTNSY0lseHVJQ0FwWEc0Z0lDNWhZM1JwYjI0b1lYTjVibU1nS0c5d2RHbHZibk02SUdGdWVTa2dQVDRnZTF4dUlDQWdJR052Ym5OMElIQnJaeUE5SUVwVFQwNHVjR0Z5YzJVb1hHNGdJQ0FnSUNCbWN5NXlaV0ZrUm1sc1pWTjVibU1vY0dGMGFDNXFiMmx1S0hCeWIyTmxjM011WTNka0tDa3NJRndpY0dGamEyRm5aUzVxYzI5dVhDSXBMQ0JjSW5WMFppMDRYQ0lwWEc0Z0lDQWdLVHRjYmx4dUlDQWdJR052Ym5OMElIWmxjbk5wYjI0Z1BTQndhMmN1ZG1WeWMybHZianRjYmx4dUlDQWdJR052Ym5OMElHeHZaeUE5SUd4dloyZGxjaTVtYjNJb1hDSmxlSFJ5WVdOMExXTnZiR3hsWTNScGIyNXpYQ0lwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhjYmlBZ0lDQWdJR0J5ZFc1dWFXNW5JSGRwZEdnZ2IzQjBhVzl1Y3pvZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNodmNIUnBiMjV6S1gwZ1ptOXlJQ1I3Y0d0bkxtNWhiV1Y5SUhabGNuTnBiMjRnSkh0MlpYSnphVzl1ZldCY2JpQWdJQ0FwTzF4dVhHNGdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUhCeVpXWmxjaTFqYjI1emRGeHVJQ0FnSUd4bGRDQjdJR1pwYkdVc0lHWnZiR1JsY2l3Z2IzVjBSR2x5TENCdGMzQkpaSE1zSUcxaGFXNU5jM0JKWkNCOUlEMGdiM0IwYVc5dWN6dGNibHh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQnRjM0JKWkhNZ1BTQnRjM0JKWkhNZ1B5QktVMDlPTG5CaGNuTmxLRzF6Y0Vsa2N5a2dPaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCQWRIbHdaWE5qY21sd2RDMWxjMnhwYm5RdmJtOHRkVzUxYzJWa0xYWmhjbk5jYmlBZ0lDQWdJSDBnWTJGMFkyZ2dLR1U2SUhWdWEyNXZkMjRwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdJR1J2SUc1dmRHaHBibWRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR05oZEdOb0lDaGxPaUIxYm10dWIzZHVLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnVTJWeWFXRnNhWHBoZEdsdmJrVnljbTl5S0dCVmJtRmliR1VnZEc4Z1pYaDBjbUZqZENCdGMzQnBaSE02SUNBa2UyVjlZQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2JXOWtaV3h6T2lCaGJubGJYU0E5SUZ0ZE8xeHVJQ0FnSUdsbUlDaG1hV3hsS1NCN1hHNGdJQ0FnSUNCdGIyUmxiSE11Y0hWemFDZ3VMaTV5WldGa1RXOWtaV3hHYVd4bEtHWnBiR1VwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1ptOXNaR1Z5S1NCN1hHNGdJQ0FnSUNCc2IyY3VhVzVtYnloZ1RHOWhaR2x1WnlCdGIyUmxiSE1nWm5KdmJTQWtlMlp2YkdSbGNuMHVMaTVnS1R0Y2JpQWdJQ0FnSUcxdlpHVnNjeTV3ZFhOb0tDNHVMaWhoZDJGcGRDQnlaV0ZrVFc5a1pXeEdiMnhrWlhKektHWnZiR1JsY2lrcEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9JV1pwYkdVZ0ppWWdJV1p2YkdSbGNpbGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0dCTmRYTjBJSEJoYzNNZ1lTQm1hV3hsSUc5eUlHRWdabTlzWkdWeVlDazdYRzVjYmlBZ0lDQmpiMjV6ZENCcGJtcGxZM1JoWW14bFRXOWtaV3h6SUQwZ2JXOWtaV3h6TG1acGJIUmxjaWhjYmlBZ0lDQWdJQ2h0YjJSbGJDa2dQVDVjYmlBZ0lDQWdJQ0FnVFc5a1pXd3VhWE5UYUdGeVpXUW9iVzlrWld3cElIeDhYRzRnSUNBZ0lDQWdJRTF2WkdWc0xtbHpVSEpwZG1GMFpTaHRiMlJsYkNrZ2ZIeGNiaUFnSUNBZ0lDQWdJU0ZOYjJSbGJDNXRhWEp5YjNKbFpFRjBLRzF2WkdWc0tWeHVJQ0FnSUNrN1hHNGdJQ0FnYVdZZ0tDRnBibXBsWTNSaFlteGxUVzlrWld4ekxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ2JHOW5MbWx1Wm04b1hHNGdJQ0FnSUNBZ0lHQk9ieUJ6YUdGeVpXUXNJSEJ5YVhaaGRHVXNJRzl5SUcxcGNuSnZjbVZrSUcxdlpHVnNjeUJtYjNWdVpDQjBieUJsZUhSeVlXTjBJR052Ykd4bFkzUnBiMjV6WUZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhjM2x1WXlCbWRXNWpkR2x2YmlCblpYUkRiMnh6S0cxemNFbGtjMHhwYzNRL09pQnpkSEpwYm1kYlhTa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1kyOXNjem9nZTF4dUlDQWdJQ0FnSUNCcGJtUmxlR1Z6T2lCRGNtVmhkR1ZKYm1SbGVGSmxjWFZsYzNSYlhUdGNiaUFnSUNBZ0lDQWdaR1Z6YVdkdVJHOWpjem9nUTI5MVkyaEVRa1JsYzJsbmJrUnZZMXRkTzF4dUlDQWdJQ0FnSUNCdGFYSnliM0kvT2lCUWNtbDJZWFJsUTI5c2JHVmpkR2x2Ymp0Y2JpQWdJQ0FnSUNBZ1kyOXNiR1ZqZEdsdmJuTTZJRkJ5YVhaaGRHVkRiMnhzWldOMGFXOXVXMTA3WEc0Z0lDQWdJQ0I5VzEwZ1BTQmhkMkZwZENCUWNtOXRhWE5sTG1Gc2JDaGNiaUFnSUNBZ0lDQWdhVzVxWldOMFlXSnNaVTF2WkdWc2N5NXRZWEFvWVhONWJtTWdLR05zWVhwNktTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZEdGaWJHVk9ZVzFsSUQwZ1RXOWtaV3d1ZEdGaWJHVk9ZVzFsS0dOc1lYcDZLVHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J0YVhKeWIzSk5aWFJoSUQwZ1RXOWtaV3d1YldseWNtOXlaV1JCZENoamJHRjZlaWs3WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExteHZaeWgwWVdKc1pVNWhiV1VwTzF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUdOdmJHeGxZM1JwYjI1ek9pQlNaV052Y21ROGMzUnlhVzVuTENCaGJuaytJRDBnZTMwN1hHNGdJQ0FnSUNBZ0lDQWdabTl5SUNoamIyNXpkQ0J0YzNBZ2IyWWdiWE53U1dSelRHbHpkQ0I4ZkNCdGMzQkpaSE1nZkh3Z1cxMHBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZiR3hsWTNScGIyNXpXMjF6Y0YwZ1BTQmhkMkZwZENCbGVFTnZiR3hsWTNScGIyNXpLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiR0Y2ZWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnVzIxemNDd2diV0ZwYmsxemNFbGtYU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdlMzBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z0lDQnphR0Z5WldSRGIyeHpPaUJQWW1wbFkzUXVZWE56YVdkdUtIdDlMQ0J2ZG1WeWNtbGtaWE11YzJoaGNtVmtRMjlzY3lrc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklDQWdjSEpwZG1GMFpVTnZiSE02SUU5aWFtVmpkQzVoYzNOcFoyNG9lMzBzSUc5MlpYSnlhV1JsY3k1d2NtbDJZWFJsUTI5c2N5a3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJSDBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0VoYldseWNtOXlUV1YwWVZ4dUlDQWdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JzWlhRZ2JXbHljbTl5UTI5c2JHVmpkR2x2YmpvZ1VISnBkbUYwWlVOdmJHeGxZM1JwYjI0Z2ZDQjFibVJsWm1sdVpXUWdQU0IxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYldseWNtOXlUV1YwWVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2JHVmpkR2x2Ym5OYmJXRnBiazF6Y0Vsa1hTQTlJR052Ykd4bFkzUnBiMjV6VzIxaGFXNU5jM0JKWkYwZ2ZId2dlMzA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQlBZbXBsWTNRdWEyVjVjeWhqYjJ4c1pXTjBhVzl1Y3lrdVptOXlSV0ZqYUNnb2JYTndPaUJ6ZEhKcGJtY3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2JHVmpkR2x2Ym5OYmJXRnBiazF6Y0Vsa1hTNXdjbWwyWVhSbGN5QTlJR052Ykd4bFkzUnBiMjV6VzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUcxemNGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCZExuQnlhWFpoZEdWelB5NW1hV3gwWlhJb0tIQTZJR0Z1ZVNrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNod0xtNWhiV1VnSVQwOUlDaHRhWEp5YjNKTlpYUmhMbkpsYzI5c2RtVnlJR0Z6SUhOMGNtbHVaeWtwSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHMXBjbkp2Y2tOdmJHeGxZM1JwYjI0Z1BTQndJR0Z6SUdGdWVUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjSEpwZG1GMFpYTkRiM1Z1ZENBOUlFOWlhbVZqZEM1MllXeDFaWE1vWTI5c2JHVmpkR2x2Ym5NcFhHNGdJQ0FnSUNBZ0lDQWdJQ0F1YldGd0tDaGpLU0E5UGlCakxuQnlhWFpoZEdWektWeHVJQ0FnSUNBZ0lDQWdJQ0FnTG1ac1lYUW9LUzVzWlc1bmRHZzdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIQnlhWFpoZEdWelEyOTFiblFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnNiMmRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMbVp2Y2loTmIyUmxiQzUwWVdKc1pVNWhiV1VvWTJ4aGVub3BLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXVhVzVtYnloZ1JtOTFibVFnSkh0d2NtbDJZWFJsYzBOdmRXNTBmU0J3Y21sMllYUmxJR052Ykd4bFkzUnBiMjV6SUhSdklHTnlaV0YwWldBcE8xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElITm9ZWEpsWkVOdmRXNTBJRDBnVDJKcVpXTjBMblpoYkhWbGN5aGpiMnhzWldOMGFXOXVjeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDNXRZWEFvS0dNcElEMCtJR011YzJoaGNtVmtLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtWnNZWFFvS1M1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnNiMmRjYmlBZ0lDQWdJQ0FnSUNBZ0lDNW1iM0lvVFc5a1pXd3VkR0ZpYkdWT1lXMWxLR05zWVhwNktTbGNiaUFnSUNBZ0lDQWdJQ0FnSUM1cGJtWnZLR0JHYjNWdVpDQWtlM05vWVhKbFpFTnZkVzUwZlNCemFHRnlaV1FnWTI5c2JHVmpkR2x2Ym5NZ2RHOGdZM0psWVhSbFlDazdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHMXBjbkp2Y2tOdmJHeGxZM1JwYjI0cFhHNGdJQ0FnSUNBZ0lDQWdJQ0JzYjJkY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTG1admNpaE5iMlJsYkM1MFlXSnNaVTVoYldVb1kyeGhlbm9wS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1YVc1bWJ5aGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmdSbTkxYm1RZ2IyNWxJRzFwY25KdmNpQmpiMnhzWldOMGFXOXVJQ1I3YldseWNtOXlUV1YwWVQ4dWNtVnpiMngyWlhJZ1lYTWdjM1J5YVc1bmZXQmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0tUdGNibHh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR052YkV4cGMzUWdQU0JQWW1wbFkzUXVkbUZzZFdWektHTnZiR3hsWTNScGIyNXpLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0xtMWhjQ2dvWXlrZ1BUNGdXeTR1TGloakxuQnlhWFpoZEdWeklIeDhJRnRkS1N3Z0xpNHVLR011YzJoaGNtVmtJSHg4SUZ0ZEtWMHBYRzRnSUNBZ0lDQWdJQ0FnSUNBdVpteGhkQ2dwTzF4dUlDQWdJQ0FnSUNBZ0lHeGxkQ0JwYm1SbGVHVnpPaUJEY21WaGRHVkpibVJsZUZKbGNYVmxjM1JiWFNBOUlGdGRPMXh1SUNBZ0lDQWdJQ0FnSUd4bGRDQmtaWE5wWjI1RWIyTnpPaUJEYjNWamFFUkNSR1Z6YVdkdVJHOWpXMTBnUFNCYlhUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1kyOXNUR2x6ZEM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3h2WjF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1Wm05eUtFMXZaR1ZzTG5SaFlteGxUbUZ0WlNoamJHRjZlaWtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzUyWlhKaWIzTmxLR0JuWlc1bGNtRjBhVzVuSUdsdVpHVjRaWE1nWm05eUlHTnZiR3hsWTNScGIyNXpZQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBibVJsZUdWeklEMGdaMlZ1WlhKaGRHVk5iMlJsYkVsdVpHVjRaWE1vWTJ4aGVub3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JHOW5YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDNW1iM0lvVFc5a1pXd3VkR0ZpYkdWT1lXMWxLR05zWVhwNktTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0xtbHVabThvWUdadmRXNWtJQ1I3YVc1a1pYaGxjeTVzWlc1bmRHaDlJR2x1WkdWNFpYTmdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjMmxuYmtSdlkzTWdQU0JuWlc1bGNtRjBaVTF2WkdWc1JHVnphV2R1Ukc5amN5aGpiR0Y2ZWlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzYjJkY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTG1admNpaE5iMlJsYkM1MFlXSnNaVTVoYldVb1kyeGhlbm9wS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F1YVc1bWJ5aGdabTkxYm1RZ0pIdGtaWE5wWjI1RWIyTnpMbXhsYm1kMGFIMGdaR1Z6YVdkdUlHUnZZM05nS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbHVaR1Y0WlhNc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOcFoyNUViMk56TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdZMjlzYkdWamRHbHZibk02SUdOdmJFeHBjM1FzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnRhWEp5YjNJNklHMXBjbkp2Y2tOdmJHeGxZM1JwYjI0c1hHNGdJQ0FnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJQ0FnZlNsY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWTI5c2N6dGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0JqYjJ4eklEMGdZWGRoYVhRZ1oyVjBRMjlzY3lncE8xeHVJQ0FnSUdOdmJuTjBJRzl1YkhsTmFYSnliM0lnUFNCaGQyRnBkQ0JuWlhSRGIyeHpLRnR0WVdsdVRYTndTV1JkS1R0Y2JseHVJQ0FnSUdOdmJuTjBJR052Ykd4bFkzUnBiMjV6Vkc4Z1BTQmJYRzRnSUNBZ0lDQXVMaTV2Ym14NVRXbHljbTl5TG1acGJIUmxjaWdvWXlrZ1BUNGdZeTV0YVhKeWIzSXBMbTFoY0Nnb1l5a2dQVDRnWXk1dGFYSnliM0lwTEZ4dUlDQWdJQ0FnTGk0dVkyOXNjeTV0WVhBb0tHTXBJRDArSUdNdVkyOXNiR1ZqZEdsdmJuTXBMbVpzWVhRb0tTeGNiaUFnSUNBZ0lDNHVMbU52YkhNdVptbHNkR1Z5S0NoaktTQTlQaUJqTG0xcGNuSnZjaWt1YldGd0tDaGpLU0E5UGlCakxtMXBjbkp2Y2lrc1hHNGdJQ0FnWFNCaGN5QlFjbWwyWVhSbFEyOXNiR1ZqZEdsdmJsdGRPMXh1WEc0Z0lDQWdZMjl1YzNRZ2RXNXBjWFZsUW5sRGIyeHNaV04wYVc5dUlEMGdXMXh1SUNBZ0lDQWdMaTR1Ym1WM0lFMWhjQ2hjYmlBZ0lDQWdJQ0FnWTI5c2JHVmpkR2x2Ym5OVWJ5NXRZWEFvS0dsMFpXMDZJRkJ5YVhaaGRHVkRiMnhzWldOMGFXOXVLU0E5UGlCYmFYUmxiUzV1WVcxbExDQnBkR1Z0WFNsY2JpQWdJQ0FnSUNrdWRtRnNkV1Z6S0Nrc1hHNGdJQ0FnWFR0Y2JseHVJQ0FnSUdsbUlDaDFibWx4ZFdWQ2VVTnZiR3hsWTNScGIyNHViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQjNjbWwwWlVOdmJHeGxZM1JwYjI1ektIVnVhWEYxWlVKNVEyOXNiR1ZqZEdsdmJpd2diM1YwUkdseUtUdGNiaUFnSUNBZ0lHTnZibk4wSUcxbGRHRkRiMnhzWldOMGFXOXVjME52Ym1acFp5QTlJSEJoZEdndWFtOXBiaWhjYmlBZ0lDQWdJQ0FnYjNWMFJHbHlMRnh1SUNBZ0lDQWdJQ0JjSWsxRlZFRXRTVTVHWENJc1hHNGdJQ0FnSUNBZ0lGd2lZMjlzYkdWamRHbHZibk5mWTI5dVptbG5MbXB6YjI1Y0lseHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lHTnZibk4wSUdOdmJuUnlZV04wUTI5c2JHVmpkR2x2Ym5ORGIyNW1hV2NnUFNCd1lYUm9MbXB2YVc0b1hHNGdJQ0FnSUNBZ0lHOTFkRVJwY2l4Y2JpQWdJQ0FnSUNBZ1hDSmpiMnhzWldOMGFXOXVjMTlqYjI1bWFXY3Vhbk52Ymx3aVhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ1puTXVZMjl3ZVVacGJHVlRlVzVqS0cxbGRHRkRiMnhzWldOMGFXOXVjME52Ym1acFp5d2dZMjl1ZEhKaFkzUkRiMnhzWldOMGFXOXVjME52Ym1acFp5azdYRzRnSUNBZ0lDQnNiMmN1YVc1bWJ5aGNiaUFnSUNBZ0lDQWdZRk4wYjNKbFpDQWtlMk52Ykd4bFkzUnBiMjV6Vkc4dWJHVnVaM1JvZlNCamIyeHNaV04wYVc5dWN5QjBieUFrZTIxbGRHRkRiMnhzWldOMGFXOXVjME52Ym1acFozMWdYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdiRzluTG1sdVptOG9YRzRnSUNBZ0lDQWdJR0JEYjNCcFpXUWdZMjlzYkdWamRHbHZibk5mWTI5dVptbG5JSFJ2SUNSN1kyOXVkSEpoWTNSRGIyeHNaV04wYVc5dWMwTnZibVpwWjMwZ1lXeHZibWR6YVdSbElIUm9aU0J3WVdOcllXZGxMbXB6YjI1Z1hHNGdJQ0FnSUNBcE8xeHVYRzRnSUNBZ0lDQmpiMnh6TG1admNrVmhZMmdvS0dNcElEMCtJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdleUJwYm1SbGVHVnpMQ0JrWlhOcFoyNUViMk56TENCamIyeHNaV04wYVc5dWN5d2diV2x5Y205eUlIMGdQU0JqTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0IwYjBsdVpHVjRPaUJRY21sMllYUmxRMjlzYkdWamRHbHZibHRkSUQwZ1d5NHVMbU52Ykd4bFkzUnBiMjV6TENCdGFYSnliM0pkTG1acGJIUmxjaWhjYmlBZ0lDQWdJQ0FnSUNCQ2IyOXNaV0Z1WEc0Z0lDQWdJQ0FnSUNrZ1lYTWdVSEpwZG1GMFpVTnZiR3hsWTNScGIyNWJYVHRjYmlBZ0lDQWdJQ0FnZEc5SmJtUmxlQzVtYjNKRllXTm9LQ2hwS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnZDNKcGRHVkpibVJsZUdWektHbHVaR1Y0WlhNc0lHOTFkRVJwY2l3Z2FTNXVZVzFsS1R0Y2JpQWdJQ0FnSUNBZ0lDQjNjbWwwWlVOdmJHeGxZM1JwYjI1RVpYTnBaMjVFYjJOektHUmxjMmxuYmtSdlkzTWdmSHdnVzEwc0lHOTFkRVJwY2l3Z2FTNXVZVzFsS1R0Y2JpQWdJQ0FnSUNBZ0lDQnNiMmN1YVc1bWJ5aGNiaUFnSUNBZ0lDQWdJQ0FnSUdCVGRHOXlaV1FnSkh0cGJtUmxlR1Z6UHk1c1pXNW5kR2dnZkh3Z01IMGdhVzVrWlhobGN5QmhibVFnSkh0a1pYTnBaMjVFYjJOelB5NXNaVzVuZEdnZ2ZId2dNSDBnWkdWemFXZHVJR1J2WTNNZ2RHOGdZMjlzYkdWamRHbHZiaUFrZTJrdWJtRnRaWDFnWEc0Z0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc0Z0lIMHBPMXh1WEc1amIyNXpkQ0JsYm5OMWNtVkpibVp5WVNBOUlHNWxkeUJEYjIxdFlXNWtLQ2xjYmlBZ0xtNWhiV1VvWENKaGQyRnBkQzFwYm1aeVlWd2lLVnh1SUNBdVpHVnpZM0pwY0hScGIyNG9YQ0ozWVdsMGN5Qm1iM0lnZEdobElHbHVabkpoYzNSeWRXTjBkWEpsSUhSdklHSmxJSFZ3SUdGdVpDQnlkVzV1YVc1blhDSXBYRzRnSUM1dmNIUnBiMjRvWEc0Z0lDQWdYQ0l0TFdOdmJuUmhhVzVsY2lBOFUzUnlhVzVuUGx3aUxGeHVJQ0FnSUZ3aVpHOWphMlZ5SUdOdmJuUmhhVzVsY2lCdVlXMWxJSFJ2SUhSbGMzUWdLSFZ6ZFdGc2JIa2diR0Z6ZENCd1pXVnlLVndpTEZ4dUlDQWdJRndpWW05dmRDMXZjbWN0WXkxd1pXVnlMVEJjSWx4dUlDQXBYRzRnSUM1dmNIUnBiMjRvWENJdExYUnBiV1Z2ZFhRZ1BGTjBjbWx1Wno1Y0lpd2dYQ0owYVcxbGIzVjBJR0psZEhkbFpXNGdkR1Z6ZEhNZ2FXNGdiV2xzYkdselpXTnZibVJ6WENJc0lGd2lOVEF3TUZ3aUtWeHVJQ0F1YjNCMGFXOXVLRndpTFMxaGRIUmxiWEIwY3lBOFUzUnlhVzVuUGx3aUxDQmNJbTUxYldKbGNpQnZaaUJoZEhSbGJYQjBjeUJpWldadmNtVWdaMmwyYVc1bklIVndYQ0lzSUZ3aU1UQmNJaWxjYmlBZ0xtRmpkR2x2YmloaGMzbHVZeUFvYjNCMGFXOXVjem9nWVc1NUtTQTlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2NHdG5JRDBnU2xOUFRpNXdZWEp6WlNoY2JpQWdJQ0FnSUdaekxuSmxZV1JHYVd4bFUzbHVZeWh3WVhSb0xtcHZhVzRvY0hKdlkyVnpjeTVqZDJRb0tTd2dYQ0p3WVdOcllXZGxMbXB6YjI1Y0lpa3NJRndpZFhSbUxUaGNJaWxjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2RtVnljMmx2YmlBOUlIQnJaeTUyWlhKemFXOXVPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JHOW5JRDBnYkc5bloyVnlMbVp2Y2loY0ltRjNZV2wwTFdsdVpuSmhYQ0lwTzF4dUlDQWdJR3h2Wnk1a1pXSjFaeWhjYmlBZ0lDQWdJR0J5ZFc1dWFXNW5JSGRwZEdnZ2IzQjBhVzl1Y3pvZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNodmNIUnBiMjV6S1gwZ1ptOXlJQ1I3Y0d0bkxtNWhiV1Y5SUhabGNuTnBiMjRnSkh0MlpYSnphVzl1ZldCY2JpQWdJQ0FwTzF4dUlDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaU0J3Y21WbVpYSXRZMjl1YzNSY2JpQWdJQ0JzWlhRZ2V5QmpiMjUwWVdsdVpYSXNJSFJwYldWdmRYUXNJR0YwZEdWdGNIUnpJSDBnUFNCdmNIUnBiMjV6TzF4dUlDQWdJSFJwYldWdmRYUWdQU0J3WVhKelpVbHVkQ2gwYVcxbGIzVjBLU0I4ZkNBMU1EQXdPMXh1SUNBZ0lHRjBkR1Z0Y0hSeklEMGdjR0Z5YzJWSmJuUW9ZWFIwWlcxd2RITXBJSHg4SURFd08xeHVYRzRnSUNBZ1lYZGhhWFFnWlc1emRYSmxTVzVtY21GemRISjFZM1IxY21WQ2IyOTBaV1FvWENKaWIyOTBMVzl5WnkxakxYQmxaWEl0TUZ3aUxDQjBhVzFsYjNWMExDQmhkSFJsYlhCMGN5azdYRzVjYmlBZ0lDQnNiMmN1YVc1bWJ5aGNiaUFnSUNBZ0lHQkpibVp5WVhOMGNuVmpkSFZ5WlNCaWIyOTBaV1FnYzNWalkyVnpjMloxYkd4NUlDaGhZMk52Y21ScGJtY2dkRzhnWTI5dWRHRnBibVZ5SUNSN1kyOXVkR0ZwYm1WeWZTa2hZRnh1SUNBZ0lDazdYRzRnSUgwcE8xeHVYRzVqYjI1emRDQmtaWEJzYjNsRGIyNTBjbUZqZENBOUlHNWxkeUJEYjIxdFlXNWtLQ2xjYmlBZ0xtNWhiV1VvWENKa1pYQnNiM2t0WTI5dWRISmhZM1JjSWlsY2JpQWdMbVJsYzJOeWFYQjBhVzl1S0Z3aVpHVndiRzk1Y3lCMGFHVWdjMlZzWldOMFpXUWdZMjl1ZEhKaFkzUmNJaWxjYmlBZ0xtOXdkR2x2YmloY0lpMHRibUZ0WlNBOFUzUnlhVzVuUGx3aUxDQmNJa052Ym5SeVlXTjBJRTVoYldVZ0tHRnVaQ0JtYjJ4a1pYSXBYQ0lwWEc0Z0lDNXZjSFJwYjI0b1hDSXRMV2x1Y0hWMElEeFRkSEpwYm1jK1hDSXNJRndpYVc1d2RYUWdabTlzWkdWeVhDSXBYRzRnSUM1dmNIUnBiMjRvWEc0Z0lDQWdYQ0l0TFdOdmJHeGxZM1JwYjI1ekxXTnZibVpwWnlBOFUzUnlhVzVuUGx3aUxGeHVJQ0FnSUZ3aWNHRjBhQ0IwYnlCamIyeHNaV04wYVc5dWMxOWpiMjVtYVdjdWFuTnZiaUIwYnlCamIyNW1hV2QxY21VZ2NISnBkbUYwWlNCamIyeHNaV04wYVc5dWMxd2lYRzRnSUNsY2JpQWdMbTl3ZEdsdmJpaGNiaUFnSUNCY0lpMHRhVzVqY21WdFpXNTBWbVZ5YzJsdmJpQThVM1J5YVc1blBsd2lMRnh1SUNBZ0lGd2lLSFJ5ZFdVZ2ZDQm1ZV3h6WlNrZ2FXWWdjMmh2ZFd4a0lIVnpaU0IyWlhKemFXOXVJRzl5SUhObGNYVmxibU5sSUhSdklIVndaR0YwWlNCamIyNTBjbUZqZEhOY0lpeGNiaUFnSUNCbVlXeHpaVnh1SUNBcFhHNGdJQzV2Y0hScGIyNG9YRzRnSUNBZ1hDSXRMWFJ5WVdOclpYSkdiMnhrWlhJZ1BGTjBjbWx1Wno1Y0lpeGNiaUFnSUNCY0ltTnZiblJ5WVdOMElIWmxjbk5wYjI0Z2RISmhZMnRsY2lCbWIyeGtaWElnS0hOb2IzVnNaQ0JpWlNCa1pXeGxkR1ZrSUc5dUlHbHVabkpoYzNSeWRXTjBkWEpsT21SdmQyNHBYQ0lzWEc0Z0lDQWdjR0YwYUM1cWIybHVLSEJ5YjJObGMzTXVZM2RrS0Nrc0lGd2lkR1Z6ZEhOY0lpd2dYQ0pwYm5SbFozSmhkR2x2Ymx3aUxDQmNJbU5vWVdsdVkyOWtaVlJ5WVdOclpYSnpYQ0lwWEc0Z0lDbGNiaUFnTG05d2RHbHZiaWhjYmlBZ0lDQmNJaTB0Y0dWbGNuTWdQRk4wY21sdVp6NWNJaXhjYmlBZ0lDQmNJbU52YlcxaElITmxjR0Z5WVhSbFpDQndaV1Z5SUdsa2Mxd2lMRnh1SUNBZ0lGd2liM0puTFdFdGNHVmxjaTB3TEc5eVp5MWlMWEJsWlhJdE1DeHZjbWN0WXkxd1pXVnlMVEJjSWx4dUlDQXBYRzRnSUM1aFkzUnBiMjRvWVhONWJtTWdLRzl3ZEdsdmJuTTZJR0Z1ZVNrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUhCclp5QTlJRXBUVDA0dWNHRnljMlVvWEc0Z0lDQWdJQ0JtY3k1eVpXRmtSbWxzWlZONWJtTW9jR0YwYUM1cWIybHVLSEJ5YjJObGMzTXVZM2RrS0Nrc0lGd2ljR0ZqYTJGblpTNXFjMjl1WENJcExDQmNJblYwWmkwNFhDSXBYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhabGNuTnBiMjRnUFNCd2EyY3VkbVZ5YzJsdmJqdGNibHh1SUNBZ0lHTnZibk4wSUd4dlp5QTlJR3h2WjJkbGNpNW1iM0lvWENKa1pYQnNiM2t0WTI5dWRISmhZM1JjSWlrN1hHNGdJQ0FnYkc5bkxtUmxZblZuS0Z4dUlDQWdJQ0FnWUhKMWJtNXBibWNnZDJsMGFDQnZjSFJwYjI1ek9pQWtlMHBUVDA0dWMzUnlhVzVuYVdaNUtHOXdkR2x2Ym5NcGZTQm1iM0lnSkh0d2EyY3VibUZ0WlgwZ2RtVnljMmx2YmlBa2UzWmxjbk5wYjI1OVlGeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0I3WEc0Z0lDQWdJQ0J1WVcxbExGeHVJQ0FnSUNBZ2FXNXdkWFFzWEc0Z0lDQWdJQ0J3WldWeWN5eGNiaUFnSUNBZ0lIUnlZV05yWlhKR2IyeGtaWElzWEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1dkxYVnVkWE5sWkMxMllYSnpYRzRnSUNBZ0lDQnBibU55WlcxbGJuUldaWEp6YVc5dUxGeHVJQ0FnSUNBZ1kyOXNiR1ZqZEdsdmJuTkRiMjVtYVdjc1hHNGdJQ0FnZlNBOUlHOXdkR2x2Ym5NN1hHNGdJQ0FnWTI5dWMzUWdjR1ZsY2tsa2N5QTlJSEJsWlhKekxuTndiR2wwS0Z3aUxGd2lLVHRjYmx4dUlDQWdJR052Ym5OMElHTnZkVzUwVUdGMGFDQTlJSEJoZEdndWNtVnpiMngyWlNod1lYUm9MbXB2YVc0b2RISmhZMnRsY2tadmJHUmxjaXdnWUNSN2JtRnRaWDB1WTI5MWJuUmdLU2s3WEc1Y2JpQWdJQ0JzWlhRZ2MyVnhkV1Z1WTJVNklHNTFiV0psY2p0Y2JseHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnpaWEYxWlc1alpTQTlJSEJoY25ObFNXNTBLR1p6TG5KbFlXUkdhV3hsVTNsdVl5aGpiM1Z1ZEZCaGRHZ3BMblJ2VTNSeWFXNW5LRndpZFhSbUxUaGNJaWtwTzF4dUlDQWdJQ0FnYVdZZ0tHbHpUbUZPS0hObGNYVmxibU5sS1NrZ2MyVnhkV1Z1WTJVZ1BTQXhPMXh1SUNBZ0lDQWdaV3h6WlNCelpYRjFaVzVqWlNBclBTQXhPMXh1SUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRUIwZVhCbGMyTnlhWEIwTFdWemJHbHVkQzl1YnkxMWJuVnpaV1F0ZG1GeWMxeHVJQ0FnSUgwZ1kyRjBZMmdnS0dVNklIVnVhMjV2ZDI0cElIdGNiaUFnSUNBZ0lITmxjWFZsYm1ObElEMGdNVHRjYmlBZ0lDQjlYRzRnSUNBZ0x5OWNiaUFnSUNBdkx5QnBaaUFvYVc1amNtVnRaVzUwVm1WeWMybHZiaWtnZTF4dUlDQWdJQzh2SUNBZ2RtVnljMmx2YmlBOUlIWmxjbk5wYjI0Z0t5QmdMU1I3YzJWeGRXVnVZMlY5WUR0Y2JpQWdJQ0F2THlBZ0lDOHZJSE5sY1hWbGJtTmxJRDBnTVR0Y2JpQWdJQ0F2THlCOVhHNWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdabTl5SUNoamIyNXpkQ0J3WldWeUlHOW1JSEJsWlhKSlpITXBJSHRjYmlBZ0lDQWdJQ0FnY0dGamEyRm5aVU52Ym5SeVlXTjBLSEJsWlhJc0lHbHVjSFYwTENCdVlXMWxMQ0IyWlhKemFXOXVLVHRjYmlBZ0lDQWdJQ0FnYVc1emRHRnNiRU52Ym5SeVlXTjBLSEJsWlhJc0lHNWhiV1VwTzF4dUlDQWdJQ0FnSUNCaGNIQnliM1psUTI5dWRISmhZM1FvWEc0Z0lDQWdJQ0FnSUNBZ2NHVmxjaXhjYmlBZ0lDQWdJQ0FnSUNCdVlXMWxMRnh1SUNBZ0lDQWdJQ0FnSUhCbFpYSWdQVDA5SUZ3aWIzSm5MV0V0Y0dWbGNpMHdYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lEOGdYQ0owYkhNdFkyRXRZMlZ5ZEM1d1pXMWNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ09pQmNJbTl5WkdWeVpYSXRkR3h6TFdOaExXTmxjblF1Y0dWdFhDSXNYRzRnSUNBZ0lDQWdJQ0FnYzJWeGRXVnVZMlVzWEc0Z0lDQWdJQ0FnSUNBZ2RtVnljMmx2Yml4Y2JpQWdJQ0FnSUNBZ0lDQmpiMnhzWldOMGFXOXVjME52Ym1acFoxeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdabk11ZDNKcGRHVkdhV3hsVTNsdVl5aGpiM1Z1ZEZCaGRHZ3NJSE5sY1hWbGJtTmxMblJ2VTNSeWFXNW5LQ2twTzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1Z5Y2pvZ1lXNTVLU0I3WEc0Z0lDQWdJQ0JzYjJjdVpYSnliM0lvWENKRmNuSnZjaUJrWlhCc2IzbHBibWNnWTI5dWRISmhZM1E2WENJc0lHVnljaWs3WEc0Z0lDQWdmVnh1SUNBZ0lHTnZiVzFwZEVOb1lXbHVZMjlrWlNodVlXMWxMQ0J6WlhGMVpXNWpaU3dnZG1WeWMybHZiaXdnWTI5c2JHVmpkR2x2Ym5ORGIyNW1hV2NwTzF4dUlDQjlLVHRjYmx4dVkyOXVjM1FnWjJWMFEzSjVjSFJ2VFdGMFpYSnBZV3dnUFNCdVpYY2dRMjl0YldGdVpDZ3BYRzRnSUM1dVlXMWxLRndpWjJWMExXTnllWEIwYnkxdFlYUmxjbWxoYkZ3aUtWeHVJQ0F1WkdWelkzSnBjSFJwYjI0b1hDSmpiM0JwWlhNZ2RHaGxJR055ZVhCMGJ5QnRZWFJsY21saGJDQjBieUIwYUdVZ2MyVnNaV04wWldRZ1ptOXNaR1Z5WENJcFhHNGdJQzV2Y0hScGIyNG9YQ0l0TFdadmJHUmxjaUE4VTNSeWFXNW5QbHdpTENCY0ltOTFkSEIxZENCbWIyeGtaWEpjSWl3Z1hDSmtiMk5yWlhJdlpHOWphMlZ5TFdSaGRHRmNJaWxjYmlBZ0xtOXdkR2x2YmloY0lpMHRiM0puSUZ0VGRISnBibWRkWENJc0lGd2lkR2hsSUc5eVp5OXdaV1Z5SUhSdklHVjRkSEpoWTNRZ1puSnZiVndpTENCY0ltOXlaeTFoWENJcFhHNGdJQzVoWTNScGIyNG9ZWE41Ym1NZ0tHOXdkR2x2Ym5NNklHRnVlU2tnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSEJyWnlBOUlFcFRUMDR1Y0dGeWMyVW9YRzRnSUNBZ0lDQm1jeTV5WldGa1JtbHNaVk41Ym1Nb2NHRjBhQzVxYjJsdUtIQnliMk5sYzNNdVkzZGtLQ2tzSUZ3aWNHRmphMkZuWlM1cWMyOXVYQ0lwTENCY0luVjBaaTA0WENJcFhHNGdJQ0FnS1R0Y2JseHVJQ0FnSUdOdmJuTjBJSFpsY25OcGIyNGdQU0J3YTJjdWRtVnljMmx2Ymp0Y2JseHVJQ0FnSUdOdmJuTjBJR3h2WnlBOUlHeHZaMmRsY2k1bWIzSW9YQ0puWlhRdFkzSjVjSFJ2TFcxaGRHVnlhV0ZzWENJcE8xeHVJQ0FnSUd4dlp5NWtaV0oxWnloY2JpQWdJQ0FnSUdCeWRXNXVhVzVuSUhkcGRHZ2diM0IwYVc5dWN6b2dKSHRLVTA5T0xuTjBjbWx1WjJsbWVTaHZjSFJwYjI1ektYMGdabTl5SUNSN2NHdG5MbTVoYldWOUlIWmxjbk5wYjI0Z0pIdDJaWEp6YVc5dWZXQmNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJSHNnWm05c1pHVnlMQ0J2Y21jZ2ZTQTlJRzl3ZEdsdmJuTTdYRzRnSUNBZ1pYaGxZMU41Ym1Nb1lHUnZZMnRsY2lCamNDQWtlMjl5WjMwNkwzZGxZWFpsY2k5amJHbGxiblF2TGlBa2UyWnZiR1JsY24xZ0xDQjdYRzRnSUNBZ0lDQmpkMlE2SUhCeWIyTmxjM011WTNka0tDa3NYRzRnSUNBZ2ZTazdYRzRnSUgwcE8xeHVYRzVqYjI1emRDQm1ZV0p5YVdORGJXUWdQU0J1WlhjZ1EyOXRiV0Z1WkNncFhHNGdJQzV1WVcxbEtGd2labTl5TFdaaFluSnBZMXdpS1Z4dUlDQXVZMjl0YldGdVpDaGNJbVpoWW5KcFkxd2lLVnh1SUNBdVpHVnpZM0pwY0hScGIyNG9YRzRnSUNBZ1hDSmxlSEJ2YzJWeklITmxkbVZ5WVd3Z1kyOXRiV0Z1WkhNZ2RHOGdhR1ZzY0NCdFlXNWhaMlVnZEdobElHWmhZbkpwWXlCcGJtWnlZWE4wY25WamRIVnlaVndpWEc0Z0lDazdYRzVjYm1aaFluSnBZME50WkM1aFpHUkRiMjF0WVc1a0tHTnZiWEJwYkdWRGIyMXRZVzVrS1R0Y2JtWmhZbkpwWTBOdFpDNWhaR1JEYjIxdFlXNWtLR1Y0ZEhKaFkzUkpibVJsZUdWektUdGNibVpoWW5KcFkwTnRaQzVoWkdSRGIyMXRZVzVrS0dWdWMzVnlaVWx1Wm5KaEtUdGNibVpoWW5KcFkwTnRaQzVoWkdSRGIyMXRZVzVrS0dSbGNHeHZlVU52Ym5SeVlXTjBLVHRjYm1aaFluSnBZME50WkM1aFpHUkRiMjF0WVc1a0tHZGxkRU55ZVhCMGIwMWhkR1Z5YVdGc0tUdGNibVpoWW5KcFkwTnRaQzVoWkdSRGIyMXRZVzVrS0dWNGRISmhZM1JEYjJ4c1pXTjBhVzl1Y3lrN1hHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElHWjFibU4wYVc5dUlHWmhZbkpwWXlncElIdGNiaUFnY21WMGRYSnVJR1poWW5KcFkwTnRaRHRjYm4xY2JpSmRmUT09Il19