From aac736bc73aaf365191645bf4fff61999fc2c956 Mon Sep 17 00:00:00 2001 From: Gerzhan Date: Sun, 31 Jul 2022 20:06:41 +0700 Subject: [PATCH 1/5] vault backup: 2022-07-31 20:06:41 --- .gitignore | 3 + .obsidian/app.json | 8 + .obsidian/appearance.json | 3 + .obsidian/community-plugins.json | 3 + .obsidian/core-plugins.json | 21 + .obsidian/daily-notes.json | 4 + .obsidian/graph.json | 22 + .obsidian/hotkeys.json | 11 + .obsidian/plugins/obsidian-git/data.json | 24 + .obsidian/plugins/obsidian-git/main.js | 15092 ++++++++++++++++ .obsidian/plugins/obsidian-git/manifest.json | 8 + .obsidian/plugins/obsidian-git/styles.css | 413 + .obsidian/templates.json | 3 + .obsidian/workspace | 124 + Base/OKRs.md | 20 + Base/Obsidian_templates.md | 4 + Base/Untitled 2.md | 0 Base/architecture.md | 6 + Base/nodejs_video_.md | 2 + Daily/2022-07-31.md | 11 + ...\320\260 2022-07-31 \320\262 14.26.42.png" | Bin 0 -> 926547 bytes Obsidian.md | 35 + StartGuide.md | 5 + Templates/BlogPost.md | 38 + Templates/BookNote.md | 23 + Templates/CornellNotes.md | 17 + Templates/DailyNote.md | 11 + Templates/EisenhowerMatrix.md | 27 + Templates/MeetingNote.md | 16 + Templates/OKRNote.md | 10 + Templates/Zettelkasten.md | 11 + Zettelkasten.md | 38 + docs/.obsidian/app.json | 4 + docs/.obsidian/appearance.json | 1 + docs/.obsidian/core-plugins.json | 15 + docs/.obsidian/hotkeys.json | 1 + docs/.obsidian/workspace | 87 + mkdocs.yml | 2 +- 38 files changed, 16122 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 .obsidian/app.json create mode 100644 .obsidian/appearance.json create mode 100644 .obsidian/community-plugins.json create mode 100644 .obsidian/core-plugins.json create mode 100644 .obsidian/daily-notes.json create mode 100644 .obsidian/graph.json create mode 100644 .obsidian/hotkeys.json create mode 100644 .obsidian/plugins/obsidian-git/data.json create mode 100644 .obsidian/plugins/obsidian-git/main.js create mode 100644 .obsidian/plugins/obsidian-git/manifest.json create mode 100644 .obsidian/plugins/obsidian-git/styles.css create mode 100644 .obsidian/templates.json create mode 100644 .obsidian/workspace create mode 100644 Base/OKRs.md create mode 100644 Base/Obsidian_templates.md create mode 100644 Base/Untitled 2.md create mode 100644 Base/architecture.md create mode 100644 Base/nodejs_video_.md create mode 100644 Daily/2022-07-31.md create mode 100644 "Files/\320\241\320\275\320\270\320\274\320\276\320\272 \321\215\320\272\321\200\320\260\320\275\320\260 2022-07-31 \320\262 14.26.42.png" create mode 100644 Obsidian.md create mode 100644 StartGuide.md create mode 100644 Templates/BlogPost.md create mode 100644 Templates/BookNote.md create mode 100644 Templates/CornellNotes.md create mode 100644 Templates/DailyNote.md create mode 100644 Templates/EisenhowerMatrix.md create mode 100644 Templates/MeetingNote.md create mode 100644 Templates/OKRNote.md create mode 100644 Templates/Zettelkasten.md create mode 100644 Zettelkasten.md create mode 100644 docs/.obsidian/app.json create mode 100644 docs/.obsidian/appearance.json create mode 100644 docs/.obsidian/core-plugins.json create mode 100644 docs/.obsidian/hotkeys.json create mode 100644 docs/.obsidian/workspace diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a44b468 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.obsidian/cache +.trash +.DS_store \ No newline at end of file diff --git a/.obsidian/app.json b/.obsidian/app.json new file mode 100644 index 0000000..85a2720 --- /dev/null +++ b/.obsidian/app.json @@ -0,0 +1,8 @@ +{ + "legacyEditor": false, + "livePreview": false, + "alwaysUpdateLinks": true, + "newFileLocation": "folder", + "newFileFolderPath": "Base", + "attachmentFolderPath": "Files" +} \ No newline at end of file diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json new file mode 100644 index 0000000..a8b1e37 --- /dev/null +++ b/.obsidian/appearance.json @@ -0,0 +1,3 @@ +{ + "theme": "moonstone" +} \ No newline at end of file diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json new file mode 100644 index 0000000..d3f66fa --- /dev/null +++ b/.obsidian/community-plugins.json @@ -0,0 +1,3 @@ +[ + "obsidian-git" +] \ No newline at end of file diff --git a/.obsidian/core-plugins.json b/.obsidian/core-plugins.json new file mode 100644 index 0000000..e3c492e --- /dev/null +++ b/.obsidian/core-plugins.json @@ -0,0 +1,21 @@ +[ + "file-explorer", + "global-search", + "switcher", + "graph", + "backlink", + "tag-pane", + "page-preview", + "daily-notes", + "templates", + "note-composer", + "command-palette", + "editor-status", + "starred", + "markdown-importer", + "random-note", + "outline", + "word-count", + "open-with-default-app", + "file-recovery" +] \ No newline at end of file diff --git a/.obsidian/daily-notes.json b/.obsidian/daily-notes.json new file mode 100644 index 0000000..2e707f1 --- /dev/null +++ b/.obsidian/daily-notes.json @@ -0,0 +1,4 @@ +{ + "folder": "Daily", + "template": "" +} \ No newline at end of file diff --git a/.obsidian/graph.json b/.obsidian/graph.json new file mode 100644 index 0000000..d821dbf --- /dev/null +++ b/.obsidian/graph.json @@ -0,0 +1,22 @@ +{ + "collapse-filter": true, + "search": "", + "showTags": false, + "showAttachments": false, + "hideUnresolved": false, + "showOrphans": true, + "collapse-color-groups": true, + "colorGroups": [], + "collapse-display": true, + "showArrow": false, + "textFadeMultiplier": 0, + "nodeSizeMultiplier": 1, + "lineSizeMultiplier": 1, + "collapse-forces": true, + "centerStrength": 0.518713248970312, + "repelStrength": 10, + "linkStrength": 1, + "linkDistance": 250, + "scale": 1.4408397960386368, + "close": false +} \ No newline at end of file diff --git a/.obsidian/hotkeys.json b/.obsidian/hotkeys.json new file mode 100644 index 0000000..cc64727 --- /dev/null +++ b/.obsidian/hotkeys.json @@ -0,0 +1,11 @@ +{ + "insert-template": [ + { + "modifiers": [ + "Mod", + "Shift" + ], + "key": "I" + } + ] +} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/data.json b/.obsidian/plugins/obsidian-git/data.json new file mode 100644 index 0000000..8083587 --- /dev/null +++ b/.obsidian/plugins/obsidian-git/data.json @@ -0,0 +1,24 @@ +{ + "commitMessage": "save changes vault backup: {{date}} {{numFiles}}", + "autoCommitMessage": "vault backup: {{date}}", + "commitDateFormat": "YYYY-MM-DD HH:mm:ss", + "autoSaveInterval": 1, + "autoPushInterval": 0, + "autoPullInterval": 0, + "autoPullOnBoot": true, + "disablePush": false, + "pullBeforePush": true, + "disablePopups": false, + "listChangedFilesInMessageBody": false, + "showStatusBar": true, + "updateSubmodules": false, + "syncMethod": "merge", + "gitPath": "", + "customMessageOnAutoBackup": false, + "autoBackupAfterFileChange": false, + "treeStructure": false, + "refreshSourceControl": true, + "basePath": "", + "differentIntervalCommitAndPush": false, + "changedFilesInStatusBar": false +} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/main.js b/.obsidian/plugins/obsidian-git/main.js new file mode 100644 index 0000000..88b21ec --- /dev/null +++ b/.obsidian/plugins/obsidian-git/main.js @@ -0,0 +1,15092 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source visit the plugins github repository (https://github.com/phibr0/obsidian-dictionary) +*/ + +var __create = Object.create; +var __defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key2, value) => key2 in obj ? __defProp(obj, key2, { enumerable: true, configurable: true, writable: true, value }) : obj[key2] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); +var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __reExport = (target, module2, desc) => { + if (module2 && typeof module2 === "object" || typeof module2 === "function") { + for (let key2 of __getOwnPropNames(module2)) + if (!__hasOwnProp.call(target, key2) && key2 !== "default") + __defProp(target, key2, { get: () => module2[key2], enumerable: !(desc = __getOwnPropDesc(module2, key2)) || desc.enumerable }); + } + return target; +}; +var __toModule = (module2) => { + return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); +}; +var __async = (__this, __arguments, generator) => { + return new Promise((resolve, reject) => { + var fulfilled = (value) => { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + }; + var rejected = (value) => { + try { + step(generator.throw(value)); + } catch (e) { + reject(e); + } + }; + var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); + step((generator = generator.apply(__this, __arguments)).next()); + }); +}; + +// node_modules/ms/index.js +var require_ms = __commonJS({ + "node_modules/ms/index.js"(exports, module2) { + var s = 1e3; + var m = s * 60; + var h = m * 60; + var d = h * 24; + var w = d * 7; + var y = d * 365.25; + module2.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === "string" && val.length > 0) { + return parse(val); + } else if (type === "number" && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(val)); + }; + function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || "ms").toLowerCase(); + switch (type) { + case "years": + case "year": + case "yrs": + case "yr": + case "y": + return n * y; + case "weeks": + case "week": + case "w": + return n * w; + case "days": + case "day": + case "d": + return n * d; + case "hours": + case "hour": + case "hrs": + case "hr": + case "h": + return n * h; + case "minutes": + case "minute": + case "mins": + case "min": + case "m": + return n * m; + case "seconds": + case "second": + case "secs": + case "sec": + case "s": + return n * s; + case "milliseconds": + case "millisecond": + case "msecs": + case "msec": + case "ms": + return n; + default: + return void 0; + } + } + function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + "d"; + } + if (msAbs >= h) { + return Math.round(ms / h) + "h"; + } + if (msAbs >= m) { + return Math.round(ms / m) + "m"; + } + if (msAbs >= s) { + return Math.round(ms / s) + "s"; + } + return ms + "ms"; + } + function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, "day"); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, "hour"); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, "minute"); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, "second"); + } + return ms + " ms"; + } + function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); + } + } +}); + +// node_modules/debug/src/common.js +var require_common = __commonJS({ + "node_modules/debug/src/common.js"(exports, module2) { + function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require_ms(); + createDebug.destroy = destroy; + Object.keys(env).forEach((key2) => { + createDebug[key2] = env[key2]; + }); + createDebug.names = []; + createDebug.skips = []; + createDebug.formatters = {}; + function selectColor(namespace) { + let hash2 = 0; + for (let i = 0; i < namespace.length; i++) { + hash2 = (hash2 << 5) - hash2 + namespace.charCodeAt(i); + hash2 |= 0; + } + return createDebug.colors[Math.abs(hash2) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + let namespacesCache; + let enabledCache; + function debug2(...args) { + if (!debug2.enabled) { + return; + } + const self3 = debug2; + const curr = Number(new Date()); + const ms = curr - (prevTime || curr); + self3.diff = ms; + self3.prev = prevTime; + self3.curr = curr; + prevTime = curr; + args[0] = createDebug.coerce(args[0]); + if (typeof args[0] !== "string") { + args.unshift("%O"); + } + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + if (match === "%%") { + return "%"; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === "function") { + const val = args[index]; + match = formatter.call(self3, val); + args.splice(index, 1); + index--; + } + return match; + }); + createDebug.formatArgs.call(self3, args); + const logFn = self3.log || createDebug.log; + logFn.apply(self3, args); + } + debug2.namespace = namespace; + debug2.useColors = createDebug.useColors(); + debug2.color = createDebug.selectColor(namespace); + debug2.extend = extend; + debug2.destroy = createDebug.destroy; + Object.defineProperty(debug2, "enabled", { + enumerable: true, + configurable: false, + get: () => { + if (enableOverride !== null) { + return enableOverride; + } + if (namespacesCache !== createDebug.namespaces) { + namespacesCache = createDebug.namespaces; + enabledCache = createDebug.enabled(namespace); + } + return enabledCache; + }, + set: (v) => { + enableOverride = v; + } + }); + if (typeof createDebug.init === "function") { + createDebug.init(debug2); + } + return debug2; + } + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.namespaces = namespaces; + createDebug.names = []; + createDebug.skips = []; + let i; + const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); + const len = split.length; + for (i = 0; i < len; i++) { + if (!split[i]) { + continue; + } + namespaces = split[i].replace(/\*/g, ".*?"); + if (namespaces[0] === "-") { + createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); + } else { + createDebug.names.push(new RegExp("^" + namespaces + "$")); + } + } + } + function disable() { + const namespaces = [ + ...createDebug.names.map(toNamespace), + ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) + ].join(","); + createDebug.enable(""); + return namespaces; + } + function enabled(name) { + if (name[name.length - 1] === "*") { + return true; + } + let i; + let len; + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } + return false; + } + function toNamespace(regexp) { + return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); + } + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + function destroy() { + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + } + createDebug.enable(createDebug.load()); + return createDebug; + } + module2.exports = setup; + } +}); + +// node_modules/debug/src/browser.js +var require_browser = __commonJS({ + "node_modules/debug/src/browser.js"(exports, module2) { + exports.formatArgs = formatArgs; + exports.save = save; + exports.load = load; + exports.useColors = useColors; + exports.storage = localstorage(); + exports.destroy = (() => { + let warned = false; + return () => { + if (!warned) { + warned = true; + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + } + }; + })(); + exports.colors = [ + "#0000CC", + "#0000FF", + "#0033CC", + "#0033FF", + "#0066CC", + "#0066FF", + "#0099CC", + "#0099FF", + "#00CC00", + "#00CC33", + "#00CC66", + "#00CC99", + "#00CCCC", + "#00CCFF", + "#3300CC", + "#3300FF", + "#3333CC", + "#3333FF", + "#3366CC", + "#3366FF", + "#3399CC", + "#3399FF", + "#33CC00", + "#33CC33", + "#33CC66", + "#33CC99", + "#33CCCC", + "#33CCFF", + "#6600CC", + "#6600FF", + "#6633CC", + "#6633FF", + "#66CC00", + "#66CC33", + "#9900CC", + "#9900FF", + "#9933CC", + "#9933FF", + "#99CC00", + "#99CC33", + "#CC0000", + "#CC0033", + "#CC0066", + "#CC0099", + "#CC00CC", + "#CC00FF", + "#CC3300", + "#CC3333", + "#CC3366", + "#CC3399", + "#CC33CC", + "#CC33FF", + "#CC6600", + "#CC6633", + "#CC9900", + "#CC9933", + "#CCCC00", + "#CCCC33", + "#FF0000", + "#FF0033", + "#FF0066", + "#FF0099", + "#FF00CC", + "#FF00FF", + "#FF3300", + "#FF3333", + "#FF3366", + "#FF3399", + "#FF33CC", + "#FF33FF", + "#FF6600", + "#FF6633", + "#FF9900", + "#FF9933", + "#FFCC00", + "#FFCC33" + ]; + function useColors() { + if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { + return true; + } + if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); + } + function formatArgs(args) { + args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); + if (!this.useColors) { + return; + } + const c = "color: " + this.color; + args.splice(1, 0, c, "color: inherit"); + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, (match) => { + if (match === "%%") { + return; + } + index++; + if (match === "%c") { + lastC = index; + } + }); + args.splice(lastC, 0, c); + } + exports.log = console.debug || console.log || (() => { + }); + function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem("debug", namespaces); + } else { + exports.storage.removeItem("debug"); + } + } catch (error) { + } + } + function load() { + let r; + try { + r = exports.storage.getItem("debug"); + } catch (error) { + } + if (!r && typeof process !== "undefined" && "env" in process) { + r = process.env.DEBUG; + } + return r; + } + function localstorage() { + try { + return localStorage; + } catch (error) { + } + } + module2.exports = require_common()(exports); + var { formatters } = module2.exports; + formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (error) { + return "[UnexpectedJSONParseError]: " + error.message; + } + }; + } +}); + +// node_modules/has-flag/index.js +var require_has_flag = __commonJS({ + "node_modules/has-flag/index.js"(exports, module2) { + "use strict"; + module2.exports = (flag, argv = process.argv) => { + const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; + const position = argv.indexOf(prefix + flag); + const terminatorPosition = argv.indexOf("--"); + return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); + }; + } +}); + +// node_modules/supports-color/index.js +var require_supports_color = __commonJS({ + "node_modules/supports-color/index.js"(exports, module2) { + "use strict"; + var os = require("os"); + var tty = require("tty"); + var hasFlag = require_has_flag(); + var { env } = process; + var forceColor; + if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) { + forceColor = 0; + } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { + forceColor = 1; + } + if ("FORCE_COLOR" in env) { + if (env.FORCE_COLOR === "true") { + forceColor = 1; + } else if (env.FORCE_COLOR === "false") { + forceColor = 0; + } else { + forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3); + } + } + function translateLevel(level) { + if (level === 0) { + return false; + } + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; + } + function supportsColor(haveStream, streamIsTTY) { + if (forceColor === 0) { + return 0; + } + if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { + return 3; + } + if (hasFlag("color=256")) { + return 2; + } + if (haveStream && !streamIsTTY && forceColor === void 0) { + return 0; + } + const min = forceColor || 0; + if (env.TERM === "dumb") { + return min; + } + if (process.platform === "win32") { + const osRelease = os.release().split("."); + if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + return 1; + } + if ("CI" in env) { + if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { + return 1; + } + return min; + } + if ("TEAMCITY_VERSION" in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + if (env.COLORTERM === "truecolor") { + return 3; + } + if ("TERM_PROGRAM" in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10); + switch (env.TERM_PROGRAM) { + case "iTerm.app": + return version >= 3 ? 3 : 2; + case "Apple_Terminal": + return 2; + } + } + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + if ("COLORTERM" in env) { + return 1; + } + return min; + } + function getSupportLevel(stream) { + const level = supportsColor(stream, stream && stream.isTTY); + return translateLevel(level); + } + module2.exports = { + supportsColor: getSupportLevel, + stdout: translateLevel(supportsColor(true, tty.isatty(1))), + stderr: translateLevel(supportsColor(true, tty.isatty(2))) + }; + } +}); + +// node_modules/debug/src/node.js +var require_node = __commonJS({ + "node_modules/debug/src/node.js"(exports, module2) { + var tty = require("tty"); + var util = require("util"); + exports.init = init2; + exports.log = log; + exports.formatArgs = formatArgs; + exports.save = save; + exports.load = load; + exports.useColors = useColors; + exports.destroy = util.deprecate(() => { + }, "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + exports.colors = [6, 2, 3, 4, 5, 1]; + try { + const supportsColor = require_supports_color(); + if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { + exports.colors = [ + 20, + 21, + 26, + 27, + 32, + 33, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 56, + 57, + 62, + 63, + 68, + 69, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 92, + 93, + 98, + 99, + 112, + 113, + 128, + 129, + 134, + 135, + 148, + 149, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 184, + 185, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 214, + 215, + 220, + 221 + ]; + } + } catch (error) { + } + exports.inspectOpts = Object.keys(process.env).filter((key2) => { + return /^debug_/i.test(key2); + }).reduce((obj, key2) => { + const prop = key2.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { + return k.toUpperCase(); + }); + let val = process.env[key2]; + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === "null") { + val = null; + } else { + val = Number(val); + } + obj[prop] = val; + return obj; + }, {}); + function useColors() { + return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty.isatty(process.stderr.fd); + } + function formatArgs(args) { + const { namespace: name, useColors: useColors2 } = this; + if (useColors2) { + const c = this.color; + const colorCode = "[3" + (c < 8 ? c : "8;5;" + c); + const prefix = ` ${colorCode};1m${name} `; + args[0] = prefix + args[0].split("\n").join("\n" + prefix); + args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + ""); + } else { + args[0] = getDate() + name + " " + args[0]; + } + } + function getDate() { + if (exports.inspectOpts.hideDate) { + return ""; + } + return new Date().toISOString() + " "; + } + function log(...args) { + return process.stderr.write(util.format(...args) + "\n"); + } + function save(namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { + delete process.env.DEBUG; + } + } + function load() { + return process.env.DEBUG; + } + function init2(debug2) { + debug2.inspectOpts = {}; + const keys = Object.keys(exports.inspectOpts); + for (let i = 0; i < keys.length; i++) { + debug2.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } + } + module2.exports = require_common()(exports); + var { formatters } = module2.exports; + formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); + }; + formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); + }; + } +}); + +// node_modules/debug/src/index.js +var require_src = __commonJS({ + "node_modules/debug/src/index.js"(exports, module2) { + if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { + module2.exports = require_browser(); + } else { + module2.exports = require_node(); + } + } +}); + +// node_modules/@kwsites/file-exists/dist/src/index.js +var require_src2 = __commonJS({ + "node_modules/@kwsites/file-exists/dist/src/index.js"(exports) { + "use strict"; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + var fs_1 = require("fs"); + var debug_1 = __importDefault2(require_src()); + var log = debug_1.default("@kwsites/file-exists"); + function check(path3, isFile, isDirectory) { + log(`checking %s`, path3); + try { + const stat = fs_1.statSync(path3); + if (stat.isFile() && isFile) { + log(`[OK] path represents a file`); + return true; + } + if (stat.isDirectory() && isDirectory) { + log(`[OK] path represents a directory`); + return true; + } + log(`[FAIL] path represents something other than a file or directory`); + return false; + } catch (e) { + if (e.code === "ENOENT") { + log(`[FAIL] path is not accessible: %o`, e); + return false; + } + log(`[FATAL] %o`, e); + throw e; + } + } + function exists2(path3, type = exports.READABLE) { + return check(path3, (type & exports.FILE) > 0, (type & exports.FOLDER) > 0); + } + exports.exists = exists2; + exports.FILE = 1; + exports.FOLDER = 2; + exports.READABLE = exports.FILE + exports.FOLDER; + } +}); + +// node_modules/@kwsites/file-exists/dist/index.js +var require_dist = __commonJS({ + "node_modules/@kwsites/file-exists/dist/index.js"(exports) { + "use strict"; + function __export3(m) { + for (var p in m) + if (!exports.hasOwnProperty(p)) + exports[p] = m[p]; + } + Object.defineProperty(exports, "__esModule", { value: true }); + __export3(require_src2()); + } +}); + +// node_modules/@kwsites/promise-deferred/dist/index.js +var require_dist2 = __commonJS({ + "node_modules/@kwsites/promise-deferred/dist/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.createDeferred = exports.deferred = void 0; + function deferred2() { + let done; + let fail; + let status = "pending"; + const promise2 = new Promise((_done, _fail) => { + done = _done; + fail = _fail; + }); + return { + promise: promise2, + done(result) { + if (status === "pending") { + status = "resolved"; + done(result); + } + }, + fail(error) { + if (status === "pending") { + status = "rejected"; + fail(error); + } + }, + get fulfilled() { + return status !== "pending"; + }, + get status() { + return status; + } + }; + } + exports.deferred = deferred2; + exports.createDeferred = deferred2; + exports.default = deferred2; + } +}); + +// node_modules/diff2html/lib/types.js +var require_types = __commonJS({ + "node_modules/diff2html/lib/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DiffStyleType = exports.LineMatchingType = exports.OutputFormatType = exports.LineType = void 0; + var LineType; + (function(LineType2) { + LineType2["INSERT"] = "insert"; + LineType2["DELETE"] = "delete"; + LineType2["CONTEXT"] = "context"; + })(LineType = exports.LineType || (exports.LineType = {})); + exports.OutputFormatType = { + LINE_BY_LINE: "line-by-line", + SIDE_BY_SIDE: "side-by-side" + }; + exports.LineMatchingType = { + LINES: "lines", + WORDS: "words", + NONE: "none" + }; + exports.DiffStyleType = { + WORD: "word", + CHAR: "char" + }; + } +}); + +// node_modules/diff2html/lib/utils.js +var require_utils = __commonJS({ + "node_modules/diff2html/lib/utils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.hashCode = exports.unifyPath = exports.escapeForRegExp = void 0; + var specials = [ + "-", + "[", + "]", + "/", + "{", + "}", + "(", + ")", + "*", + "+", + "?", + ".", + "\\", + "^", + "$", + "|" + ]; + var regex = RegExp("[" + specials.join("\\") + "]", "g"); + function escapeForRegExp(str) { + return str.replace(regex, "\\$&"); + } + exports.escapeForRegExp = escapeForRegExp; + function unifyPath(path3) { + return path3 ? path3.replace(/\\/g, "/") : path3; + } + exports.unifyPath = unifyPath; + function hashCode(text2) { + var i, chr, len; + var hash2 = 0; + for (i = 0, len = text2.length; i < len; i++) { + chr = text2.charCodeAt(i); + hash2 = (hash2 << 5) - hash2 + chr; + hash2 |= 0; + } + return hash2; + } + exports.hashCode = hashCode; + } +}); + +// node_modules/diff2html/lib/diff-parser.js +var require_diff_parser = __commonJS({ + "node_modules/diff2html/lib/diff-parser.js"(exports) { + "use strict"; + var __spreadArray2 = exports && exports.__spreadArray || function(to, from, pack) { + if (pack || arguments.length === 2) + for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) + ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parse = void 0; + var types_1 = require_types(); + var utils_1 = require_utils(); + function getExtension(filename, language) { + var filenameParts = filename.split("."); + return filenameParts.length > 1 ? filenameParts[filenameParts.length - 1] : language; + } + function startsWithAny(str, prefixes) { + return prefixes.reduce(function(startsWith, prefix) { + return startsWith || str.startsWith(prefix); + }, false); + } + var baseDiffFilenamePrefixes = ["a/", "b/", "i/", "w/", "c/", "o/"]; + function getFilename(line, linePrefix, extraPrefix) { + var prefixes = extraPrefix !== void 0 ? __spreadArray2(__spreadArray2([], baseDiffFilenamePrefixes, true), [extraPrefix], false) : baseDiffFilenamePrefixes; + var FilenameRegExp = linePrefix ? new RegExp("^".concat((0, utils_1.escapeForRegExp)(linePrefix), ' "?(.+?)"?$')) : new RegExp('^"?(.+?)"?$'); + var _a2 = FilenameRegExp.exec(line) || [], _b = _a2[1], filename = _b === void 0 ? "" : _b; + var matchingPrefix = prefixes.find(function(p) { + return filename.indexOf(p) === 0; + }); + var fnameWithoutPrefix = matchingPrefix ? filename.slice(matchingPrefix.length) : filename; + return fnameWithoutPrefix.replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/, ""); + } + function getSrcFilename(line, srcPrefix) { + return getFilename(line, "---", srcPrefix); + } + function getDstFilename(line, dstPrefix) { + return getFilename(line, "+++", dstPrefix); + } + function parse(diffInput, config) { + if (config === void 0) { + config = {}; + } + var files = []; + var currentFile = null; + var currentBlock = null; + var oldLine = null; + var oldLine2 = null; + var newLine = null; + var possibleOldName = null; + var possibleNewName = null; + var oldFileNameHeader = "--- "; + var newFileNameHeader = "+++ "; + var hunkHeaderPrefix = "@@"; + var oldMode = /^old mode (\d{6})/; + var newMode = /^new mode (\d{6})/; + var deletedFileMode = /^deleted file mode (\d{6})/; + var newFileMode = /^new file mode (\d{6})/; + var copyFrom = /^copy from "?(.+)"?/; + var copyTo = /^copy to "?(.+)"?/; + var renameFrom = /^rename from "?(.+)"?/; + var renameTo = /^rename to "?(.+)"?/; + var similarityIndex = /^similarity index (\d+)%/; + var dissimilarityIndex = /^dissimilarity index (\d+)%/; + var index = /^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/; + var binaryFiles = /^Binary files (.*) and (.*) differ/; + var binaryDiff = /^GIT binary patch/; + var combinedIndex = /^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/; + var combinedMode = /^mode (\d{6}),(\d{6})\.\.(\d{6})/; + var combinedNewFile = /^new file mode (\d{6})/; + var combinedDeletedFile = /^deleted file mode (\d{6}),(\d{6})/; + var diffLines = diffInput.replace(/\\ No newline at end of file/g, "").replace(/\r\n?/g, "\n").split("\n"); + function saveBlock() { + if (currentBlock !== null && currentFile !== null) { + currentFile.blocks.push(currentBlock); + currentBlock = null; + } + } + function saveFile() { + if (currentFile !== null) { + if (!currentFile.oldName && possibleOldName !== null) { + currentFile.oldName = possibleOldName; + } + if (!currentFile.newName && possibleNewName !== null) { + currentFile.newName = possibleNewName; + } + if (currentFile.newName) { + files.push(currentFile); + currentFile = null; + } + } + possibleOldName = null; + possibleNewName = null; + } + function startFile() { + saveBlock(); + saveFile(); + currentFile = { + blocks: [], + deletedLines: 0, + addedLines: 0 + }; + } + function startBlock(line) { + saveBlock(); + var values; + if (currentFile !== null) { + if (values = /^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(line)) { + currentFile.isCombined = false; + oldLine = parseInt(values[1], 10); + newLine = parseInt(values[2], 10); + } else if (values = /^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(line)) { + currentFile.isCombined = true; + oldLine = parseInt(values[1], 10); + oldLine2 = parseInt(values[2], 10); + newLine = parseInt(values[3], 10); + } else { + if (line.startsWith(hunkHeaderPrefix)) { + console.error("Failed to parse lines, starting in 0!"); + } + oldLine = 0; + newLine = 0; + currentFile.isCombined = false; + } + } + currentBlock = { + lines: [], + oldStartLine: oldLine, + oldStartLine2: oldLine2, + newStartLine: newLine, + header: line + }; + } + function createLine(line) { + if (currentFile === null || currentBlock === null || oldLine === null || newLine === null) + return; + var currentLine = { + content: line + }; + var addedPrefixes = currentFile.isCombined ? ["+ ", " +", "++"] : ["+"]; + var deletedPrefixes = currentFile.isCombined ? ["- ", " -", "--"] : ["-"]; + if (startsWithAny(line, addedPrefixes)) { + currentFile.addedLines++; + currentLine.type = types_1.LineType.INSERT; + currentLine.oldNumber = void 0; + currentLine.newNumber = newLine++; + } else if (startsWithAny(line, deletedPrefixes)) { + currentFile.deletedLines++; + currentLine.type = types_1.LineType.DELETE; + currentLine.oldNumber = oldLine++; + currentLine.newNumber = void 0; + } else { + currentLine.type = types_1.LineType.CONTEXT; + currentLine.oldNumber = oldLine++; + currentLine.newNumber = newLine++; + } + currentBlock.lines.push(currentLine); + } + function existHunkHeader(line, lineIdx) { + var idx = lineIdx; + while (idx < diffLines.length - 3) { + if (line.startsWith("diff")) { + return false; + } + if (diffLines[idx].startsWith(oldFileNameHeader) && diffLines[idx + 1].startsWith(newFileNameHeader) && diffLines[idx + 2].startsWith(hunkHeaderPrefix)) { + return true; + } + idx++; + } + return false; + } + diffLines.forEach(function(line, lineIndex) { + if (!line || line.startsWith("*")) { + return; + } + var values; + var prevLine = diffLines[lineIndex - 1]; + var nxtLine = diffLines[lineIndex + 1]; + var afterNxtLine = diffLines[lineIndex + 2]; + if (line.startsWith("diff")) { + startFile(); + var gitDiffStart = /^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/; + if (values = gitDiffStart.exec(line)) { + possibleOldName = getFilename(values[1], void 0, config.dstPrefix); + possibleNewName = getFilename(values[2], void 0, config.srcPrefix); + } + if (currentFile === null) { + throw new Error("Where is my file !!!"); + } + currentFile.isGitDiff = true; + return; + } + if (!currentFile || !currentFile.isGitDiff && currentFile && line.startsWith(oldFileNameHeader) && nxtLine.startsWith(newFileNameHeader) && afterNxtLine.startsWith(hunkHeaderPrefix)) { + startFile(); + } + if (currentFile === null || currentFile === void 0 ? void 0 : currentFile.isTooBig) { + return; + } + if (currentFile && (typeof config.diffMaxChanges === "number" && currentFile.addedLines + currentFile.deletedLines > config.diffMaxChanges || typeof config.diffMaxLineLength === "number" && line.length > config.diffMaxLineLength)) { + currentFile.isTooBig = true; + currentFile.addedLines = 0; + currentFile.deletedLines = 0; + currentFile.blocks = []; + currentBlock = null; + var message = typeof config.diffTooBigMessage === "function" ? config.diffTooBigMessage(files.length) : "Diff too big to be displayed"; + startBlock(message); + return; + } + if (line.startsWith(oldFileNameHeader) && nxtLine.startsWith(newFileNameHeader) || line.startsWith(newFileNameHeader) && prevLine.startsWith(oldFileNameHeader)) { + if (currentFile && !currentFile.oldName && line.startsWith("--- ") && (values = getSrcFilename(line, config.srcPrefix))) { + currentFile.oldName = values; + currentFile.language = getExtension(currentFile.oldName, currentFile.language); + return; + } + if (currentFile && !currentFile.newName && line.startsWith("+++ ") && (values = getDstFilename(line, config.dstPrefix))) { + currentFile.newName = values; + currentFile.language = getExtension(currentFile.newName, currentFile.language); + return; + } + } + if (currentFile && (line.startsWith(hunkHeaderPrefix) || currentFile.isGitDiff && currentFile.oldName && currentFile.newName && !currentBlock)) { + startBlock(line); + return; + } + if (currentBlock && (line.startsWith("+") || line.startsWith("-") || line.startsWith(" "))) { + createLine(line); + return; + } + var doesNotExistHunkHeader = !existHunkHeader(line, lineIndex); + if (currentFile === null) { + throw new Error("Where is my file !!!"); + } + if (values = oldMode.exec(line)) { + currentFile.oldMode = values[1]; + } else if (values = newMode.exec(line)) { + currentFile.newMode = values[1]; + } else if (values = deletedFileMode.exec(line)) { + currentFile.deletedFileMode = values[1]; + currentFile.isDeleted = true; + } else if (values = newFileMode.exec(line)) { + currentFile.newFileMode = values[1]; + currentFile.isNew = true; + } else if (values = copyFrom.exec(line)) { + if (doesNotExistHunkHeader) { + currentFile.oldName = values[1]; + } + currentFile.isCopy = true; + } else if (values = copyTo.exec(line)) { + if (doesNotExistHunkHeader) { + currentFile.newName = values[1]; + } + currentFile.isCopy = true; + } else if (values = renameFrom.exec(line)) { + if (doesNotExistHunkHeader) { + currentFile.oldName = values[1]; + } + currentFile.isRename = true; + } else if (values = renameTo.exec(line)) { + if (doesNotExistHunkHeader) { + currentFile.newName = values[1]; + } + currentFile.isRename = true; + } else if (values = binaryFiles.exec(line)) { + currentFile.isBinary = true; + currentFile.oldName = getFilename(values[1], void 0, config.srcPrefix); + currentFile.newName = getFilename(values[2], void 0, config.dstPrefix); + startBlock("Binary file"); + } else if (binaryDiff.test(line)) { + currentFile.isBinary = true; + startBlock(line); + } else if (values = similarityIndex.exec(line)) { + currentFile.unchangedPercentage = parseInt(values[1], 10); + } else if (values = dissimilarityIndex.exec(line)) { + currentFile.changedPercentage = parseInt(values[1], 10); + } else if (values = index.exec(line)) { + currentFile.checksumBefore = values[1]; + currentFile.checksumAfter = values[2]; + values[3] && (currentFile.mode = values[3]); + } else if (values = combinedIndex.exec(line)) { + currentFile.checksumBefore = [values[2], values[3]]; + currentFile.checksumAfter = values[1]; + } else if (values = combinedMode.exec(line)) { + currentFile.oldMode = [values[2], values[3]]; + currentFile.newMode = values[1]; + } else if (values = combinedNewFile.exec(line)) { + currentFile.newFileMode = values[1]; + currentFile.isNew = true; + } else if (values = combinedDeletedFile.exec(line)) { + currentFile.deletedFileMode = values[1]; + currentFile.isDeleted = true; + } + }); + saveBlock(); + saveFile(); + return files; + } + exports.parse = parse; + } +}); + +// node_modules/diff/lib/diff/base.js +var require_base = __commonJS({ + "node_modules/diff/lib/diff/base.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports["default"] = Diff; + function Diff() { + } + Diff.prototype = { + diff: function diff(oldString, newString) { + var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + var callback = options.callback; + if (typeof options === "function") { + callback = options; + options = {}; + } + this.options = options; + var self3 = this; + function done(value) { + if (callback) { + setTimeout(function() { + callback(void 0, value); + }, 0); + return true; + } else { + return value; + } + } + oldString = this.castInput(oldString); + newString = this.castInput(newString); + oldString = this.removeEmpty(this.tokenize(oldString)); + newString = this.removeEmpty(this.tokenize(newString)); + var newLen = newString.length, oldLen = oldString.length; + var editLength = 1; + var maxEditLength = newLen + oldLen; + if (options.maxEditLength) { + maxEditLength = Math.min(maxEditLength, options.maxEditLength); + } + var bestPath = [{ + newPos: -1, + components: [] + }]; + var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); + if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + return done([{ + value: this.join(newString), + count: newString.length + }]); + } + function execEditLength() { + for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { + var basePath = void 0; + var addPath = bestPath[diagonalPath - 1], removePath = bestPath[diagonalPath + 1], _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; + if (addPath) { + bestPath[diagonalPath - 1] = void 0; + } + var canAdd = addPath && addPath.newPos + 1 < newLen, canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; + if (!canAdd && !canRemove) { + bestPath[diagonalPath] = void 0; + continue; + } + if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { + basePath = clonePath(removePath); + self3.pushComponent(basePath.components, void 0, true); + } else { + basePath = addPath; + basePath.newPos++; + self3.pushComponent(basePath.components, true, void 0); + } + _oldPos = self3.extractCommon(basePath, newString, oldString, diagonalPath); + if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { + return done(buildValues(self3, basePath.components, newString, oldString, self3.useLongestToken)); + } else { + bestPath[diagonalPath] = basePath; + } + } + editLength++; + } + if (callback) { + (function exec() { + setTimeout(function() { + if (editLength > maxEditLength) { + return callback(); + } + if (!execEditLength()) { + exec(); + } + }, 0); + })(); + } else { + while (editLength <= maxEditLength) { + var ret = execEditLength(); + if (ret) { + return ret; + } + } + } + }, + pushComponent: function pushComponent(components, added, removed) { + var last2 = components[components.length - 1]; + if (last2 && last2.added === added && last2.removed === removed) { + components[components.length - 1] = { + count: last2.count + 1, + added, + removed + }; + } else { + components.push({ + count: 1, + added, + removed + }); + } + }, + extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { + var newLen = newString.length, oldLen = oldString.length, newPos = basePath.newPos, oldPos = newPos - diagonalPath, commonCount = 0; + while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { + newPos++; + oldPos++; + commonCount++; + } + if (commonCount) { + basePath.components.push({ + count: commonCount + }); + } + basePath.newPos = newPos; + return oldPos; + }, + equals: function equals(left, right) { + if (this.options.comparator) { + return this.options.comparator(left, right); + } else { + return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); + } + }, + removeEmpty: function removeEmpty(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + if (array[i]) { + ret.push(array[i]); + } + } + return ret; + }, + castInput: function castInput(value) { + return value; + }, + tokenize: function tokenize(value) { + return value.split(""); + }, + join: function join2(chars) { + return chars.join(""); + } + }; + function buildValues(diff, components, newString, oldString, useLongestToken) { + var componentPos = 0, componentLen = components.length, newPos = 0, oldPos = 0; + for (; componentPos < componentLen; componentPos++) { + var component = components[componentPos]; + if (!component.removed) { + if (!component.added && useLongestToken) { + var value = newString.slice(newPos, newPos + component.count); + value = value.map(function(value2, i) { + var oldValue = oldString[oldPos + i]; + return oldValue.length > value2.length ? oldValue : value2; + }); + component.value = diff.join(value); + } else { + component.value = diff.join(newString.slice(newPos, newPos + component.count)); + } + newPos += component.count; + if (!component.added) { + oldPos += component.count; + } + } else { + component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); + oldPos += component.count; + if (componentPos && components[componentPos - 1].added) { + var tmp = components[componentPos - 1]; + components[componentPos - 1] = components[componentPos]; + components[componentPos] = tmp; + } + } + } + var lastComponent = components[componentLen - 1]; + if (componentLen > 1 && typeof lastComponent.value === "string" && (lastComponent.added || lastComponent.removed) && diff.equals("", lastComponent.value)) { + components[componentLen - 2].value += lastComponent.value; + components.pop(); + } + return components; + } + function clonePath(path3) { + return { + newPos: path3.newPos, + components: path3.components.slice(0) + }; + } + } +}); + +// node_modules/diff/lib/diff/character.js +var require_character = __commonJS({ + "node_modules/diff/lib/diff/character.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffChars = diffChars; + exports.characterDiff = void 0; + var _base = _interopRequireDefault(require_base()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + var characterDiff = new _base["default"](); + exports.characterDiff = characterDiff; + function diffChars(oldStr, newStr, options) { + return characterDiff.diff(oldStr, newStr, options); + } + } +}); + +// node_modules/diff/lib/util/params.js +var require_params = __commonJS({ + "node_modules/diff/lib/util/params.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.generateOptions = generateOptions; + function generateOptions(options, defaults) { + if (typeof options === "function") { + defaults.callback = options; + } else if (options) { + for (var name in options) { + if (options.hasOwnProperty(name)) { + defaults[name] = options[name]; + } + } + } + return defaults; + } + } +}); + +// node_modules/diff/lib/diff/word.js +var require_word = __commonJS({ + "node_modules/diff/lib/diff/word.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffWords = diffWords; + exports.diffWordsWithSpace = diffWordsWithSpace; + exports.wordDiff = void 0; + var _base = _interopRequireDefault(require_base()); + var _params = require_params(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/; + var reWhitespace = /\S/; + var wordDiff = new _base["default"](); + exports.wordDiff = wordDiff; + wordDiff.equals = function(left, right) { + if (this.options.ignoreCase) { + left = left.toLowerCase(); + right = right.toLowerCase(); + } + return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right); + }; + wordDiff.tokenize = function(value) { + var tokens = value.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/); + for (var i = 0; i < tokens.length - 1; i++) { + if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) { + tokens[i] += tokens[i + 2]; + tokens.splice(i + 1, 2); + i--; + } + } + return tokens; + }; + function diffWords(oldStr, newStr, options) { + options = (0, _params.generateOptions)(options, { + ignoreWhitespace: true + }); + return wordDiff.diff(oldStr, newStr, options); + } + function diffWordsWithSpace(oldStr, newStr, options) { + return wordDiff.diff(oldStr, newStr, options); + } + } +}); + +// node_modules/diff/lib/diff/line.js +var require_line = __commonJS({ + "node_modules/diff/lib/diff/line.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffLines = diffLines; + exports.diffTrimmedLines = diffTrimmedLines; + exports.lineDiff = void 0; + var _base = _interopRequireDefault(require_base()); + var _params = require_params(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + var lineDiff = new _base["default"](); + exports.lineDiff = lineDiff; + lineDiff.tokenize = function(value) { + var retLines = [], linesAndNewlines = value.split(/(\n|\r\n)/); + if (!linesAndNewlines[linesAndNewlines.length - 1]) { + linesAndNewlines.pop(); + } + for (var i = 0; i < linesAndNewlines.length; i++) { + var line = linesAndNewlines[i]; + if (i % 2 && !this.options.newlineIsToken) { + retLines[retLines.length - 1] += line; + } else { + if (this.options.ignoreWhitespace) { + line = line.trim(); + } + retLines.push(line); + } + } + return retLines; + }; + function diffLines(oldStr, newStr, callback) { + return lineDiff.diff(oldStr, newStr, callback); + } + function diffTrimmedLines(oldStr, newStr, callback) { + var options = (0, _params.generateOptions)(callback, { + ignoreWhitespace: true + }); + return lineDiff.diff(oldStr, newStr, options); + } + } +}); + +// node_modules/diff/lib/diff/sentence.js +var require_sentence = __commonJS({ + "node_modules/diff/lib/diff/sentence.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffSentences = diffSentences; + exports.sentenceDiff = void 0; + var _base = _interopRequireDefault(require_base()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + var sentenceDiff = new _base["default"](); + exports.sentenceDiff = sentenceDiff; + sentenceDiff.tokenize = function(value) { + return value.split(/(\S.+?[.!?])(?=\s+|$)/); + }; + function diffSentences(oldStr, newStr, callback) { + return sentenceDiff.diff(oldStr, newStr, callback); + } + } +}); + +// node_modules/diff/lib/diff/css.js +var require_css = __commonJS({ + "node_modules/diff/lib/diff/css.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffCss = diffCss; + exports.cssDiff = void 0; + var _base = _interopRequireDefault(require_base()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + var cssDiff = new _base["default"](); + exports.cssDiff = cssDiff; + cssDiff.tokenize = function(value) { + return value.split(/([{}:;,]|\s+)/); + }; + function diffCss(oldStr, newStr, callback) { + return cssDiff.diff(oldStr, newStr, callback); + } + } +}); + +// node_modules/diff/lib/diff/json.js +var require_json = __commonJS({ + "node_modules/diff/lib/diff/json.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffJson = diffJson; + exports.canonicalize = canonicalize; + exports.jsonDiff = void 0; + var _base = _interopRequireDefault(require_base()); + var _line = require_line(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function _typeof2(obj2) { + return typeof obj2; + }; + } else { + _typeof = function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }; + } + return _typeof(obj); + } + var objectPrototypeToString = Object.prototype.toString; + var jsonDiff = new _base["default"](); + exports.jsonDiff = jsonDiff; + jsonDiff.useLongestToken = true; + jsonDiff.tokenize = _line.lineDiff.tokenize; + jsonDiff.castInput = function(value) { + var _this$options = this.options, undefinedReplacement = _this$options.undefinedReplacement, _this$options$stringi = _this$options.stringifyReplacer, stringifyReplacer = _this$options$stringi === void 0 ? function(k, v) { + return typeof v === "undefined" ? undefinedReplacement : v; + } : _this$options$stringi; + return typeof value === "string" ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, " "); + }; + jsonDiff.equals = function(left, right) { + return _base["default"].prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, "$1"), right.replace(/,([\r\n])/g, "$1")); + }; + function diffJson(oldObj, newObj, options) { + return jsonDiff.diff(oldObj, newObj, options); + } + function canonicalize(obj, stack, replacementStack, replacer, key2) { + stack = stack || []; + replacementStack = replacementStack || []; + if (replacer) { + obj = replacer(key2, obj); + } + var i; + for (i = 0; i < stack.length; i += 1) { + if (stack[i] === obj) { + return replacementStack[i]; + } + } + var canonicalizedObj; + if (objectPrototypeToString.call(obj) === "[object Array]") { + stack.push(obj); + canonicalizedObj = new Array(obj.length); + replacementStack.push(canonicalizedObj); + for (i = 0; i < obj.length; i += 1) { + canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key2); + } + stack.pop(); + replacementStack.pop(); + return canonicalizedObj; + } + if (obj && obj.toJSON) { + obj = obj.toJSON(); + } + if (_typeof(obj) === "object" && obj !== null) { + stack.push(obj); + canonicalizedObj = {}; + replacementStack.push(canonicalizedObj); + var sortedKeys = [], _key; + for (_key in obj) { + if (obj.hasOwnProperty(_key)) { + sortedKeys.push(_key); + } + } + sortedKeys.sort(); + for (i = 0; i < sortedKeys.length; i += 1) { + _key = sortedKeys[i]; + canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); + } + stack.pop(); + replacementStack.pop(); + } else { + canonicalizedObj = obj; + } + return canonicalizedObj; + } + } +}); + +// node_modules/diff/lib/diff/array.js +var require_array = __commonJS({ + "node_modules/diff/lib/diff/array.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffArrays = diffArrays; + exports.arrayDiff = void 0; + var _base = _interopRequireDefault(require_base()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + var arrayDiff = new _base["default"](); + exports.arrayDiff = arrayDiff; + arrayDiff.tokenize = function(value) { + return value.slice(); + }; + arrayDiff.join = arrayDiff.removeEmpty = function(value) { + return value; + }; + function diffArrays(oldArr, newArr, callback) { + return arrayDiff.diff(oldArr, newArr, callback); + } + } +}); + +// node_modules/diff/lib/patch/parse.js +var require_parse = __commonJS({ + "node_modules/diff/lib/patch/parse.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.parsePatch = parsePatch; + function parsePatch(uniDiff) { + var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + var diffstr = uniDiff.split(/\r\n|[\n\v\f\r\x85]/), delimiters = uniDiff.match(/\r\n|[\n\v\f\r\x85]/g) || [], list = [], i = 0; + function parseIndex() { + var index = {}; + list.push(index); + while (i < diffstr.length) { + var line = diffstr[i]; + if (/^(\-\-\-|\+\+\+|@@)\s/.test(line)) { + break; + } + var header = /^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(line); + if (header) { + index.index = header[1]; + } + i++; + } + parseFileHeader(index); + parseFileHeader(index); + index.hunks = []; + while (i < diffstr.length) { + var _line = diffstr[i]; + if (/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(_line)) { + break; + } else if (/^@@/.test(_line)) { + index.hunks.push(parseHunk()); + } else if (_line && options.strict) { + throw new Error("Unknown line " + (i + 1) + " " + JSON.stringify(_line)); + } else { + i++; + } + } + } + function parseFileHeader(index) { + var fileHeader = /^(---|\+\+\+)\s+(.*)$/.exec(diffstr[i]); + if (fileHeader) { + var keyPrefix = fileHeader[1] === "---" ? "old" : "new"; + var data = fileHeader[2].split(" ", 2); + var fileName = data[0].replace(/\\\\/g, "\\"); + if (/^".*"$/.test(fileName)) { + fileName = fileName.substr(1, fileName.length - 2); + } + index[keyPrefix + "FileName"] = fileName; + index[keyPrefix + "Header"] = (data[1] || "").trim(); + i++; + } + } + function parseHunk() { + var chunkHeaderIndex = i, chunkHeaderLine = diffstr[i++], chunkHeader = chunkHeaderLine.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/); + var hunk = { + oldStart: +chunkHeader[1], + oldLines: typeof chunkHeader[2] === "undefined" ? 1 : +chunkHeader[2], + newStart: +chunkHeader[3], + newLines: typeof chunkHeader[4] === "undefined" ? 1 : +chunkHeader[4], + lines: [], + linedelimiters: [] + }; + if (hunk.oldLines === 0) { + hunk.oldStart += 1; + } + if (hunk.newLines === 0) { + hunk.newStart += 1; + } + var addCount = 0, removeCount = 0; + for (; i < diffstr.length; i++) { + if (diffstr[i].indexOf("--- ") === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf("+++ ") === 0 && diffstr[i + 2].indexOf("@@") === 0) { + break; + } + var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? " " : diffstr[i][0]; + if (operation === "+" || operation === "-" || operation === " " || operation === "\\") { + hunk.lines.push(diffstr[i]); + hunk.linedelimiters.push(delimiters[i] || "\n"); + if (operation === "+") { + addCount++; + } else if (operation === "-") { + removeCount++; + } else if (operation === " ") { + addCount++; + removeCount++; + } + } else { + break; + } + } + if (!addCount && hunk.newLines === 1) { + hunk.newLines = 0; + } + if (!removeCount && hunk.oldLines === 1) { + hunk.oldLines = 0; + } + if (options.strict) { + if (addCount !== hunk.newLines) { + throw new Error("Added line count did not match for hunk at line " + (chunkHeaderIndex + 1)); + } + if (removeCount !== hunk.oldLines) { + throw new Error("Removed line count did not match for hunk at line " + (chunkHeaderIndex + 1)); + } + } + return hunk; + } + while (i < diffstr.length) { + parseIndex(); + } + return list; + } + } +}); + +// node_modules/diff/lib/util/distance-iterator.js +var require_distance_iterator = __commonJS({ + "node_modules/diff/lib/util/distance-iterator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports["default"] = _default; + function _default(start, minLine, maxLine) { + var wantForward = true, backwardExhausted = false, forwardExhausted = false, localOffset = 1; + return function iterator() { + if (wantForward && !forwardExhausted) { + if (backwardExhausted) { + localOffset++; + } else { + wantForward = false; + } + if (start + localOffset <= maxLine) { + return localOffset; + } + forwardExhausted = true; + } + if (!backwardExhausted) { + if (!forwardExhausted) { + wantForward = true; + } + if (minLine <= start - localOffset) { + return -localOffset++; + } + backwardExhausted = true; + return iterator(); + } + }; + } + } +}); + +// node_modules/diff/lib/patch/apply.js +var require_apply = __commonJS({ + "node_modules/diff/lib/patch/apply.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.applyPatch = applyPatch; + exports.applyPatches = applyPatches; + var _parse = require_parse(); + var _distanceIterator = _interopRequireDefault(require_distance_iterator()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + function applyPatch(source, uniDiff) { + var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + if (typeof uniDiff === "string") { + uniDiff = (0, _parse.parsePatch)(uniDiff); + } + if (Array.isArray(uniDiff)) { + if (uniDiff.length > 1) { + throw new Error("applyPatch only works with a single input."); + } + uniDiff = uniDiff[0]; + } + var lines = source.split(/\r\n|[\n\v\f\r\x85]/), delimiters = source.match(/\r\n|[\n\v\f\r\x85]/g) || [], hunks = uniDiff.hunks, compareLine = options.compareLine || function(lineNumber, line2, operation2, patchContent) { + return line2 === patchContent; + }, errorCount = 0, fuzzFactor = options.fuzzFactor || 0, minLine = 0, offset = 0, removeEOFNL, addEOFNL; + function hunkFits(hunk2, toPos2) { + for (var j2 = 0; j2 < hunk2.lines.length; j2++) { + var line2 = hunk2.lines[j2], operation2 = line2.length > 0 ? line2[0] : " ", content2 = line2.length > 0 ? line2.substr(1) : line2; + if (operation2 === " " || operation2 === "-") { + if (!compareLine(toPos2 + 1, lines[toPos2], operation2, content2)) { + errorCount++; + if (errorCount > fuzzFactor) { + return false; + } + } + toPos2++; + } + } + return true; + } + for (var i = 0; i < hunks.length; i++) { + var hunk = hunks[i], maxLine = lines.length - hunk.oldLines, localOffset = 0, toPos = offset + hunk.oldStart - 1; + var iterator = (0, _distanceIterator["default"])(toPos, minLine, maxLine); + for (; localOffset !== void 0; localOffset = iterator()) { + if (hunkFits(hunk, toPos + localOffset)) { + hunk.offset = offset += localOffset; + break; + } + } + if (localOffset === void 0) { + return false; + } + minLine = hunk.offset + hunk.oldStart + hunk.oldLines; + } + var diffOffset = 0; + for (var _i = 0; _i < hunks.length; _i++) { + var _hunk = hunks[_i], _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1; + diffOffset += _hunk.newLines - _hunk.oldLines; + for (var j = 0; j < _hunk.lines.length; j++) { + var line = _hunk.lines[j], operation = line.length > 0 ? line[0] : " ", content = line.length > 0 ? line.substr(1) : line, delimiter = _hunk.linedelimiters[j]; + if (operation === " ") { + _toPos++; + } else if (operation === "-") { + lines.splice(_toPos, 1); + delimiters.splice(_toPos, 1); + } else if (operation === "+") { + lines.splice(_toPos, 0, content); + delimiters.splice(_toPos, 0, delimiter); + _toPos++; + } else if (operation === "\\") { + var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null; + if (previousOperation === "+") { + removeEOFNL = true; + } else if (previousOperation === "-") { + addEOFNL = true; + } + } + } + } + if (removeEOFNL) { + while (!lines[lines.length - 1]) { + lines.pop(); + delimiters.pop(); + } + } else if (addEOFNL) { + lines.push(""); + delimiters.push("\n"); + } + for (var _k = 0; _k < lines.length - 1; _k++) { + lines[_k] = lines[_k] + delimiters[_k]; + } + return lines.join(""); + } + function applyPatches(uniDiff, options) { + if (typeof uniDiff === "string") { + uniDiff = (0, _parse.parsePatch)(uniDiff); + } + var currentIndex = 0; + function processIndex() { + var index = uniDiff[currentIndex++]; + if (!index) { + return options.complete(); + } + options.loadFile(index, function(err, data) { + if (err) { + return options.complete(err); + } + var updatedContent = applyPatch(data, index, options); + options.patched(index, updatedContent, function(err2) { + if (err2) { + return options.complete(err2); + } + processIndex(); + }); + }); + } + processIndex(); + } + } +}); + +// node_modules/diff/lib/patch/create.js +var require_create = __commonJS({ + "node_modules/diff/lib/patch/create.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.structuredPatch = structuredPatch; + exports.formatPatch = formatPatch; + exports.createTwoFilesPatch = createTwoFilesPatch; + exports.createPatch = createPatch; + var _line = require_line(); + function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); + } + function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + function _unsupportedIterableToArray(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray(o, minLen); + } + function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) + return Array.from(iter); + } + function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) + return _arrayLikeToArray(arr); + } + function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + return arr2; + } + function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + if (!options) { + options = {}; + } + if (typeof options.context === "undefined") { + options.context = 4; + } + var diff = (0, _line.diffLines)(oldStr, newStr, options); + if (!diff) { + return; + } + diff.push({ + value: "", + lines: [] + }); + function contextLines(lines) { + return lines.map(function(entry) { + return " " + entry; + }); + } + var hunks = []; + var oldRangeStart = 0, newRangeStart = 0, curRange = [], oldLine = 1, newLine = 1; + var _loop = function _loop2(i2) { + var current = diff[i2], lines = current.lines || current.value.replace(/\n$/, "").split("\n"); + current.lines = lines; + if (current.added || current.removed) { + var _curRange; + if (!oldRangeStart) { + var prev = diff[i2 - 1]; + oldRangeStart = oldLine; + newRangeStart = newLine; + if (prev) { + curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : []; + oldRangeStart -= curRange.length; + newRangeStart -= curRange.length; + } + } + (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function(entry) { + return (current.added ? "+" : "-") + entry; + }))); + if (current.added) { + newLine += lines.length; + } else { + oldLine += lines.length; + } + } else { + if (oldRangeStart) { + if (lines.length <= options.context * 2 && i2 < diff.length - 2) { + var _curRange2; + (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines))); + } else { + var _curRange3; + var contextSize = Math.min(lines.length, options.context); + (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize)))); + var hunk = { + oldStart: oldRangeStart, + oldLines: oldLine - oldRangeStart + contextSize, + newStart: newRangeStart, + newLines: newLine - newRangeStart + contextSize, + lines: curRange + }; + if (i2 >= diff.length - 2 && lines.length <= options.context) { + var oldEOFNewline = /\n$/.test(oldStr); + var newEOFNewline = /\n$/.test(newStr); + var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines; + if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) { + curRange.splice(hunk.oldLines, 0, "\\ No newline at end of file"); + } + if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) { + curRange.push("\\ No newline at end of file"); + } + } + hunks.push(hunk); + oldRangeStart = 0; + newRangeStart = 0; + curRange = []; + } + } + oldLine += lines.length; + newLine += lines.length; + } + }; + for (var i = 0; i < diff.length; i++) { + _loop(i); + } + return { + oldFileName, + newFileName, + oldHeader, + newHeader, + hunks + }; + } + function formatPatch(diff) { + var ret = []; + if (diff.oldFileName == diff.newFileName) { + ret.push("Index: " + diff.oldFileName); + } + ret.push("==================================================================="); + ret.push("--- " + diff.oldFileName + (typeof diff.oldHeader === "undefined" ? "" : " " + diff.oldHeader)); + ret.push("+++ " + diff.newFileName + (typeof diff.newHeader === "undefined" ? "" : " " + diff.newHeader)); + for (var i = 0; i < diff.hunks.length; i++) { + var hunk = diff.hunks[i]; + if (hunk.oldLines === 0) { + hunk.oldStart -= 1; + } + if (hunk.newLines === 0) { + hunk.newStart -= 1; + } + ret.push("@@ -" + hunk.oldStart + "," + hunk.oldLines + " +" + hunk.newStart + "," + hunk.newLines + " @@"); + ret.push.apply(ret, hunk.lines); + } + return ret.join("\n") + "\n"; + } + function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options)); + } + function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { + return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options); + } + } +}); + +// node_modules/diff/lib/util/array.js +var require_array2 = __commonJS({ + "node_modules/diff/lib/util/array.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.arrayEqual = arrayEqual; + exports.arrayStartsWith = arrayStartsWith; + function arrayEqual(a, b) { + if (a.length !== b.length) { + return false; + } + return arrayStartsWith(a, b); + } + function arrayStartsWith(array, start) { + if (start.length > array.length) { + return false; + } + for (var i = 0; i < start.length; i++) { + if (start[i] !== array[i]) { + return false; + } + } + return true; + } + } +}); + +// node_modules/diff/lib/patch/merge.js +var require_merge = __commonJS({ + "node_modules/diff/lib/patch/merge.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.calcLineCount = calcLineCount; + exports.merge = merge; + var _create = require_create(); + var _parse = require_parse(); + var _array = require_array2(); + function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); + } + function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + function _unsupportedIterableToArray(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray(o, minLen); + } + function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) + return Array.from(iter); + } + function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) + return _arrayLikeToArray(arr); + } + function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + return arr2; + } + function calcLineCount(hunk) { + var _calcOldNewLineCount = calcOldNewLineCount(hunk.lines), oldLines = _calcOldNewLineCount.oldLines, newLines = _calcOldNewLineCount.newLines; + if (oldLines !== void 0) { + hunk.oldLines = oldLines; + } else { + delete hunk.oldLines; + } + if (newLines !== void 0) { + hunk.newLines = newLines; + } else { + delete hunk.newLines; + } + } + function merge(mine, theirs, base) { + mine = loadPatch(mine, base); + theirs = loadPatch(theirs, base); + var ret = {}; + if (mine.index || theirs.index) { + ret.index = mine.index || theirs.index; + } + if (mine.newFileName || theirs.newFileName) { + if (!fileNameChanged(mine)) { + ret.oldFileName = theirs.oldFileName || mine.oldFileName; + ret.newFileName = theirs.newFileName || mine.newFileName; + ret.oldHeader = theirs.oldHeader || mine.oldHeader; + ret.newHeader = theirs.newHeader || mine.newHeader; + } else if (!fileNameChanged(theirs)) { + ret.oldFileName = mine.oldFileName; + ret.newFileName = mine.newFileName; + ret.oldHeader = mine.oldHeader; + ret.newHeader = mine.newHeader; + } else { + ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName); + ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName); + ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader); + ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader); + } + } + ret.hunks = []; + var mineIndex = 0, theirsIndex = 0, mineOffset = 0, theirsOffset = 0; + while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) { + var mineCurrent = mine.hunks[mineIndex] || { + oldStart: Infinity + }, theirsCurrent = theirs.hunks[theirsIndex] || { + oldStart: Infinity + }; + if (hunkBefore(mineCurrent, theirsCurrent)) { + ret.hunks.push(cloneHunk(mineCurrent, mineOffset)); + mineIndex++; + theirsOffset += mineCurrent.newLines - mineCurrent.oldLines; + } else if (hunkBefore(theirsCurrent, mineCurrent)) { + ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset)); + theirsIndex++; + mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines; + } else { + var mergedHunk = { + oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart), + oldLines: 0, + newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset), + newLines: 0, + lines: [] + }; + mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines); + theirsIndex++; + mineIndex++; + ret.hunks.push(mergedHunk); + } + } + return ret; + } + function loadPatch(param, base) { + if (typeof param === "string") { + if (/^@@/m.test(param) || /^Index:/m.test(param)) { + return (0, _parse.parsePatch)(param)[0]; + } + if (!base) { + throw new Error("Must provide a base reference or pass in a patch"); + } + return (0, _create.structuredPatch)(void 0, void 0, base, param); + } + return param; + } + function fileNameChanged(patch) { + return patch.newFileName && patch.newFileName !== patch.oldFileName; + } + function selectField(index, mine, theirs) { + if (mine === theirs) { + return mine; + } else { + index.conflict = true; + return { + mine, + theirs + }; + } + } + function hunkBefore(test, check) { + return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart; + } + function cloneHunk(hunk, offset) { + return { + oldStart: hunk.oldStart, + oldLines: hunk.oldLines, + newStart: hunk.newStart + offset, + newLines: hunk.newLines, + lines: hunk.lines + }; + } + function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) { + var mine = { + offset: mineOffset, + lines: mineLines, + index: 0 + }, their = { + offset: theirOffset, + lines: theirLines, + index: 0 + }; + insertLeading(hunk, mine, their); + insertLeading(hunk, their, mine); + while (mine.index < mine.lines.length && their.index < their.lines.length) { + var mineCurrent = mine.lines[mine.index], theirCurrent = their.lines[their.index]; + if ((mineCurrent[0] === "-" || mineCurrent[0] === "+") && (theirCurrent[0] === "-" || theirCurrent[0] === "+")) { + mutualChange(hunk, mine, their); + } else if (mineCurrent[0] === "+" && theirCurrent[0] === " ") { + var _hunk$lines; + (_hunk$lines = hunk.lines).push.apply(_hunk$lines, _toConsumableArray(collectChange(mine))); + } else if (theirCurrent[0] === "+" && mineCurrent[0] === " ") { + var _hunk$lines2; + (_hunk$lines2 = hunk.lines).push.apply(_hunk$lines2, _toConsumableArray(collectChange(their))); + } else if (mineCurrent[0] === "-" && theirCurrent[0] === " ") { + removal(hunk, mine, their); + } else if (theirCurrent[0] === "-" && mineCurrent[0] === " ") { + removal(hunk, their, mine, true); + } else if (mineCurrent === theirCurrent) { + hunk.lines.push(mineCurrent); + mine.index++; + their.index++; + } else { + conflict(hunk, collectChange(mine), collectChange(their)); + } + } + insertTrailing(hunk, mine); + insertTrailing(hunk, their); + calcLineCount(hunk); + } + function mutualChange(hunk, mine, their) { + var myChanges = collectChange(mine), theirChanges = collectChange(their); + if (allRemoves(myChanges) && allRemoves(theirChanges)) { + if ((0, _array.arrayStartsWith)(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) { + var _hunk$lines3; + (_hunk$lines3 = hunk.lines).push.apply(_hunk$lines3, _toConsumableArray(myChanges)); + return; + } else if ((0, _array.arrayStartsWith)(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) { + var _hunk$lines4; + (_hunk$lines4 = hunk.lines).push.apply(_hunk$lines4, _toConsumableArray(theirChanges)); + return; + } + } else if ((0, _array.arrayEqual)(myChanges, theirChanges)) { + var _hunk$lines5; + (_hunk$lines5 = hunk.lines).push.apply(_hunk$lines5, _toConsumableArray(myChanges)); + return; + } + conflict(hunk, myChanges, theirChanges); + } + function removal(hunk, mine, their, swap) { + var myChanges = collectChange(mine), theirChanges = collectContext(their, myChanges); + if (theirChanges.merged) { + var _hunk$lines6; + (_hunk$lines6 = hunk.lines).push.apply(_hunk$lines6, _toConsumableArray(theirChanges.merged)); + } else { + conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges); + } + } + function conflict(hunk, mine, their) { + hunk.conflict = true; + hunk.lines.push({ + conflict: true, + mine, + theirs: their + }); + } + function insertLeading(hunk, insert2, their) { + while (insert2.offset < their.offset && insert2.index < insert2.lines.length) { + var line = insert2.lines[insert2.index++]; + hunk.lines.push(line); + insert2.offset++; + } + } + function insertTrailing(hunk, insert2) { + while (insert2.index < insert2.lines.length) { + var line = insert2.lines[insert2.index++]; + hunk.lines.push(line); + } + } + function collectChange(state) { + var ret = [], operation = state.lines[state.index][0]; + while (state.index < state.lines.length) { + var line = state.lines[state.index]; + if (operation === "-" && line[0] === "+") { + operation = "+"; + } + if (operation === line[0]) { + ret.push(line); + state.index++; + } else { + break; + } + } + return ret; + } + function collectContext(state, matchChanges) { + var changes = [], merged = [], matchIndex = 0, contextChanges = false, conflicted = false; + while (matchIndex < matchChanges.length && state.index < state.lines.length) { + var change = state.lines[state.index], match = matchChanges[matchIndex]; + if (match[0] === "+") { + break; + } + contextChanges = contextChanges || change[0] !== " "; + merged.push(match); + matchIndex++; + if (change[0] === "+") { + conflicted = true; + while (change[0] === "+") { + changes.push(change); + change = state.lines[++state.index]; + } + } + if (match.substr(1) === change.substr(1)) { + changes.push(change); + state.index++; + } else { + conflicted = true; + } + } + if ((matchChanges[matchIndex] || "")[0] === "+" && contextChanges) { + conflicted = true; + } + if (conflicted) { + return changes; + } + while (matchIndex < matchChanges.length) { + merged.push(matchChanges[matchIndex++]); + } + return { + merged, + changes + }; + } + function allRemoves(changes) { + return changes.reduce(function(prev, change) { + return prev && change[0] === "-"; + }, true); + } + function skipRemoveSuperset(state, removeChanges, delta) { + for (var i = 0; i < delta; i++) { + var changeContent = removeChanges[removeChanges.length - delta + i].substr(1); + if (state.lines[state.index + i] !== " " + changeContent) { + return false; + } + } + state.index += delta; + return true; + } + function calcOldNewLineCount(lines) { + var oldLines = 0; + var newLines = 0; + lines.forEach(function(line) { + if (typeof line !== "string") { + var myCount = calcOldNewLineCount(line.mine); + var theirCount = calcOldNewLineCount(line.theirs); + if (oldLines !== void 0) { + if (myCount.oldLines === theirCount.oldLines) { + oldLines += myCount.oldLines; + } else { + oldLines = void 0; + } + } + if (newLines !== void 0) { + if (myCount.newLines === theirCount.newLines) { + newLines += myCount.newLines; + } else { + newLines = void 0; + } + } + } else { + if (newLines !== void 0 && (line[0] === "+" || line[0] === " ")) { + newLines++; + } + if (oldLines !== void 0 && (line[0] === "-" || line[0] === " ")) { + oldLines++; + } + } + }); + return { + oldLines, + newLines + }; + } + } +}); + +// node_modules/diff/lib/convert/dmp.js +var require_dmp = __commonJS({ + "node_modules/diff/lib/convert/dmp.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.convertChangesToDMP = convertChangesToDMP; + function convertChangesToDMP(changes) { + var ret = [], change, operation; + for (var i = 0; i < changes.length; i++) { + change = changes[i]; + if (change.added) { + operation = 1; + } else if (change.removed) { + operation = -1; + } else { + operation = 0; + } + ret.push([operation, change.value]); + } + return ret; + } + } +}); + +// node_modules/diff/lib/convert/xml.js +var require_xml = __commonJS({ + "node_modules/diff/lib/convert/xml.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.convertChangesToXML = convertChangesToXML; + function convertChangesToXML(changes) { + var ret = []; + for (var i = 0; i < changes.length; i++) { + var change = changes[i]; + if (change.added) { + ret.push(""); + } else if (change.removed) { + ret.push(""); + } + ret.push(escapeHTML(change.value)); + if (change.added) { + ret.push(""); + } else if (change.removed) { + ret.push(""); + } + } + return ret.join(""); + } + function escapeHTML(s) { + var n = s; + n = n.replace(/&/g, "&"); + n = n.replace(//g, ">"); + n = n.replace(/"/g, """); + return n; + } + } +}); + +// node_modules/diff/lib/index.js +var require_lib = __commonJS({ + "node_modules/diff/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "Diff", { + enumerable: true, + get: function get() { + return _base["default"]; + } + }); + Object.defineProperty(exports, "diffChars", { + enumerable: true, + get: function get() { + return _character.diffChars; + } + }); + Object.defineProperty(exports, "diffWords", { + enumerable: true, + get: function get() { + return _word.diffWords; + } + }); + Object.defineProperty(exports, "diffWordsWithSpace", { + enumerable: true, + get: function get() { + return _word.diffWordsWithSpace; + } + }); + Object.defineProperty(exports, "diffLines", { + enumerable: true, + get: function get() { + return _line.diffLines; + } + }); + Object.defineProperty(exports, "diffTrimmedLines", { + enumerable: true, + get: function get() { + return _line.diffTrimmedLines; + } + }); + Object.defineProperty(exports, "diffSentences", { + enumerable: true, + get: function get() { + return _sentence.diffSentences; + } + }); + Object.defineProperty(exports, "diffCss", { + enumerable: true, + get: function get() { + return _css.diffCss; + } + }); + Object.defineProperty(exports, "diffJson", { + enumerable: true, + get: function get() { + return _json.diffJson; + } + }); + Object.defineProperty(exports, "canonicalize", { + enumerable: true, + get: function get() { + return _json.canonicalize; + } + }); + Object.defineProperty(exports, "diffArrays", { + enumerable: true, + get: function get() { + return _array.diffArrays; + } + }); + Object.defineProperty(exports, "applyPatch", { + enumerable: true, + get: function get() { + return _apply.applyPatch; + } + }); + Object.defineProperty(exports, "applyPatches", { + enumerable: true, + get: function get() { + return _apply.applyPatches; + } + }); + Object.defineProperty(exports, "parsePatch", { + enumerable: true, + get: function get() { + return _parse.parsePatch; + } + }); + Object.defineProperty(exports, "merge", { + enumerable: true, + get: function get() { + return _merge.merge; + } + }); + Object.defineProperty(exports, "structuredPatch", { + enumerable: true, + get: function get() { + return _create.structuredPatch; + } + }); + Object.defineProperty(exports, "createTwoFilesPatch", { + enumerable: true, + get: function get() { + return _create.createTwoFilesPatch; + } + }); + Object.defineProperty(exports, "createPatch", { + enumerable: true, + get: function get() { + return _create.createPatch; + } + }); + Object.defineProperty(exports, "convertChangesToDMP", { + enumerable: true, + get: function get() { + return _dmp.convertChangesToDMP; + } + }); + Object.defineProperty(exports, "convertChangesToXML", { + enumerable: true, + get: function get() { + return _xml.convertChangesToXML; + } + }); + var _base = _interopRequireDefault(require_base()); + var _character = require_character(); + var _word = require_word(); + var _line = require_line(); + var _sentence = require_sentence(); + var _css = require_css(); + var _json = require_json(); + var _array = require_array(); + var _apply = require_apply(); + var _parse = require_parse(); + var _merge = require_merge(); + var _create = require_create(); + var _dmp = require_dmp(); + var _xml = require_xml(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + } +}); + +// node_modules/diff2html/lib/rematch.js +var require_rematch = __commonJS({ + "node_modules/diff2html/lib/rematch.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.newMatcherFn = exports.newDistanceFn = exports.levenshtein = void 0; + function levenshtein(a, b) { + if (a.length === 0) { + return b.length; + } + if (b.length === 0) { + return a.length; + } + var matrix = []; + var i; + for (i = 0; i <= b.length; i++) { + matrix[i] = [i]; + } + var j; + for (j = 0; j <= a.length; j++) { + matrix[0][j] = j; + } + for (i = 1; i <= b.length; i++) { + for (j = 1; j <= a.length; j++) { + if (b.charAt(i - 1) === a.charAt(j - 1)) { + matrix[i][j] = matrix[i - 1][j - 1]; + } else { + matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, Math.min(matrix[i][j - 1] + 1, matrix[i - 1][j] + 1)); + } + } + } + return matrix[b.length][a.length]; + } + exports.levenshtein = levenshtein; + function newDistanceFn(str) { + return function(x, y) { + var xValue = str(x).trim(); + var yValue = str(y).trim(); + var lev = levenshtein(xValue, yValue); + return lev / (xValue.length + yValue.length); + }; + } + exports.newDistanceFn = newDistanceFn; + function newMatcherFn(distance) { + function findBestMatch(a, b, cache) { + if (cache === void 0) { + cache = new Map(); + } + var bestMatchDist = Infinity; + var bestMatch; + for (var i = 0; i < a.length; ++i) { + for (var j = 0; j < b.length; ++j) { + var cacheKey = JSON.stringify([a[i], b[j]]); + var md = void 0; + if (!(cache.has(cacheKey) && (md = cache.get(cacheKey)))) { + md = distance(a[i], b[j]); + cache.set(cacheKey, md); + } + if (md < bestMatchDist) { + bestMatchDist = md; + bestMatch = { indexA: i, indexB: j, score: bestMatchDist }; + } + } + } + return bestMatch; + } + function group(a, b, level, cache) { + if (level === void 0) { + level = 0; + } + if (cache === void 0) { + cache = new Map(); + } + var bm = findBestMatch(a, b, cache); + if (!bm || a.length + b.length < 3) { + return [[a, b]]; + } + var a1 = a.slice(0, bm.indexA); + var b1 = b.slice(0, bm.indexB); + var aMatch = [a[bm.indexA]]; + var bMatch = [b[bm.indexB]]; + var tailA = bm.indexA + 1; + var tailB = bm.indexB + 1; + var a2 = a.slice(tailA); + var b2 = b.slice(tailB); + var group1 = group(a1, b1, level + 1, cache); + var groupMatch = group(aMatch, bMatch, level + 1, cache); + var group2 = group(a2, b2, level + 1, cache); + var result = groupMatch; + if (bm.indexA > 0 || bm.indexB > 0) { + result = group1.concat(result); + } + if (a.length > tailA || b.length > tailB) { + result = result.concat(group2); + } + return result; + } + return group; + } + exports.newMatcherFn = newMatcherFn; + } +}); + +// node_modules/diff2html/lib/render-utils.js +var require_render_utils = __commonJS({ + "node_modules/diff2html/lib/render-utils.js"(exports) { + "use strict"; + var __assign2 = exports && exports.__assign || function() { + __assign2 = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign2.apply(this, arguments); + }; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.diffHighlight = exports.getFileIcon = exports.getHtmlId = exports.filenameDiff = exports.deconstructLine = exports.escapeForHtml = exports.toCSSClass = exports.defaultRenderConfig = exports.CSSLineClass = void 0; + var jsDiff = __importStar2(require_lib()); + var utils_1 = require_utils(); + var rematch = __importStar2(require_rematch()); + var types_1 = require_types(); + exports.CSSLineClass = { + INSERTS: "d2h-ins", + DELETES: "d2h-del", + CONTEXT: "d2h-cntx", + INFO: "d2h-info", + INSERT_CHANGES: "d2h-ins d2h-change", + DELETE_CHANGES: "d2h-del d2h-change" + }; + exports.defaultRenderConfig = { + matching: types_1.LineMatchingType.NONE, + matchWordsThreshold: 0.25, + maxLineLengthHighlight: 1e4, + diffStyle: types_1.DiffStyleType.WORD + }; + var separator = "/"; + var distance = rematch.newDistanceFn(function(change) { + return change.value; + }); + var matcher = rematch.newMatcherFn(distance); + function isDevNullName(name) { + return name.indexOf("dev/null") !== -1; + } + function removeInsElements(line) { + return line.replace(/(]*>((.|\n)*?)<\/ins>)/g, ""); + } + function removeDelElements(line) { + return line.replace(/(]*>((.|\n)*?)<\/del>)/g, ""); + } + function toCSSClass(lineType) { + switch (lineType) { + case types_1.LineType.CONTEXT: + return exports.CSSLineClass.CONTEXT; + case types_1.LineType.INSERT: + return exports.CSSLineClass.INSERTS; + case types_1.LineType.DELETE: + return exports.CSSLineClass.DELETES; + } + } + exports.toCSSClass = toCSSClass; + function prefixLength(isCombined) { + return isCombined ? 2 : 1; + } + function escapeForHtml(str) { + return str.slice(0).replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'").replace(/\//g, "/"); + } + exports.escapeForHtml = escapeForHtml; + function deconstructLine(line, isCombined, escape) { + if (escape === void 0) { + escape = true; + } + var indexToSplit = prefixLength(isCombined); + return { + prefix: line.substring(0, indexToSplit), + content: escape ? escapeForHtml(line.substring(indexToSplit)) : line.substring(indexToSplit) + }; + } + exports.deconstructLine = deconstructLine; + function filenameDiff(file) { + var oldFilename = (0, utils_1.unifyPath)(file.oldName); + var newFilename = (0, utils_1.unifyPath)(file.newName); + if (oldFilename !== newFilename && !isDevNullName(oldFilename) && !isDevNullName(newFilename)) { + var prefixPaths = []; + var suffixPaths = []; + var oldFilenameParts = oldFilename.split(separator); + var newFilenameParts = newFilename.split(separator); + var oldFilenamePartsSize = oldFilenameParts.length; + var newFilenamePartsSize = newFilenameParts.length; + var i = 0; + var j = oldFilenamePartsSize - 1; + var k = newFilenamePartsSize - 1; + while (i < j && i < k) { + if (oldFilenameParts[i] === newFilenameParts[i]) { + prefixPaths.push(newFilenameParts[i]); + i += 1; + } else { + break; + } + } + while (j > i && k > i) { + if (oldFilenameParts[j] === newFilenameParts[k]) { + suffixPaths.unshift(newFilenameParts[k]); + j -= 1; + k -= 1; + } else { + break; + } + } + var finalPrefix = prefixPaths.join(separator); + var finalSuffix = suffixPaths.join(separator); + var oldRemainingPath = oldFilenameParts.slice(i, j + 1).join(separator); + var newRemainingPath = newFilenameParts.slice(i, k + 1).join(separator); + if (finalPrefix.length && finalSuffix.length) { + return finalPrefix + separator + "{" + oldRemainingPath + " \u2192 " + newRemainingPath + "}" + separator + finalSuffix; + } else if (finalPrefix.length) { + return finalPrefix + separator + "{" + oldRemainingPath + " \u2192 " + newRemainingPath + "}"; + } else if (finalSuffix.length) { + return "{" + oldRemainingPath + " \u2192 " + newRemainingPath + "}" + separator + finalSuffix; + } + return oldFilename + " \u2192 " + newFilename; + } else if (!isDevNullName(newFilename)) { + return newFilename; + } else { + return oldFilename; + } + } + exports.filenameDiff = filenameDiff; + function getHtmlId(file) { + return "d2h-".concat((0, utils_1.hashCode)(filenameDiff(file)).toString().slice(-6)); + } + exports.getHtmlId = getHtmlId; + function getFileIcon(file) { + var templateName = "file-changed"; + if (file.isRename) { + templateName = "file-renamed"; + } else if (file.isCopy) { + templateName = "file-renamed"; + } else if (file.isNew) { + templateName = "file-added"; + } else if (file.isDeleted) { + templateName = "file-deleted"; + } else if (file.newName !== file.oldName) { + templateName = "file-renamed"; + } + return templateName; + } + exports.getFileIcon = getFileIcon; + function diffHighlight(diffLine1, diffLine2, isCombined, config) { + if (config === void 0) { + config = {}; + } + var _a2 = __assign2(__assign2({}, exports.defaultRenderConfig), config), matching = _a2.matching, maxLineLengthHighlight = _a2.maxLineLengthHighlight, matchWordsThreshold = _a2.matchWordsThreshold, diffStyle = _a2.diffStyle; + var line1 = deconstructLine(diffLine1, isCombined, false); + var line2 = deconstructLine(diffLine2, isCombined, false); + if (line1.content.length > maxLineLengthHighlight || line2.content.length > maxLineLengthHighlight) { + return { + oldLine: { + prefix: line1.prefix, + content: escapeForHtml(line1.content) + }, + newLine: { + prefix: line2.prefix, + content: escapeForHtml(line2.content) + } + }; + } + var diff = diffStyle === "char" ? jsDiff.diffChars(line1.content, line2.content) : jsDiff.diffWordsWithSpace(line1.content, line2.content); + var changedWords = []; + if (diffStyle === "word" && matching === "words") { + var removed = diff.filter(function(element2) { + return element2.removed; + }); + var added = diff.filter(function(element2) { + return element2.added; + }); + var chunks = matcher(added, removed); + chunks.forEach(function(chunk) { + if (chunk[0].length === 1 && chunk[1].length === 1) { + var dist = distance(chunk[0][0], chunk[1][0]); + if (dist < matchWordsThreshold) { + changedWords.push(chunk[0][0]); + changedWords.push(chunk[1][0]); + } + } + }); + } + var highlightedLine = diff.reduce(function(highlightedLine2, part) { + var elemType = part.added ? "ins" : part.removed ? "del" : null; + var addClass = changedWords.indexOf(part) > -1 ? ' class="d2h-change"' : ""; + var escapedValue = escapeForHtml(part.value); + return elemType !== null ? "".concat(highlightedLine2, "<").concat(elemType).concat(addClass, ">").concat(escapedValue, "") : "".concat(highlightedLine2).concat(escapedValue); + }, ""); + return { + oldLine: { + prefix: line1.prefix, + content: removeInsElements(highlightedLine) + }, + newLine: { + prefix: line2.prefix, + content: removeDelElements(highlightedLine) + } + }; + } + exports.diffHighlight = diffHighlight; + } +}); + +// node_modules/diff2html/lib/file-list-renderer.js +var require_file_list_renderer = __commonJS({ + "node_modules/diff2html/lib/file-list-renderer.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.render = void 0; + var renderUtils = __importStar2(require_render_utils()); + var baseTemplatesPath = "file-summary"; + var iconsBaseTemplatesPath = "icon"; + function render(diffFiles, hoganUtils) { + var files = diffFiles.map(function(file) { + return hoganUtils.render(baseTemplatesPath, "line", { + fileHtmlId: renderUtils.getHtmlId(file), + oldName: file.oldName, + newName: file.newName, + fileName: renderUtils.filenameDiff(file), + deletedLines: "-" + file.deletedLines, + addedLines: "+" + file.addedLines + }, { + fileIcon: hoganUtils.template(iconsBaseTemplatesPath, renderUtils.getFileIcon(file)) + }); + }).join("\n"); + return hoganUtils.render(baseTemplatesPath, "wrapper", { + filesNumber: diffFiles.length, + files + }); + } + exports.render = render; + } +}); + +// node_modules/diff2html/lib/line-by-line-renderer.js +var require_line_by_line_renderer = __commonJS({ + "node_modules/diff2html/lib/line-by-line-renderer.js"(exports) { + "use strict"; + var __assign2 = exports && exports.__assign || function() { + __assign2 = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign2.apply(this, arguments); + }; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultLineByLineRendererConfig = void 0; + var Rematch = __importStar2(require_rematch()); + var renderUtils = __importStar2(require_render_utils()); + var types_1 = require_types(); + exports.defaultLineByLineRendererConfig = __assign2(__assign2({}, renderUtils.defaultRenderConfig), { renderNothingWhenEmpty: false, matchingMaxComparisons: 2500, maxLineSizeInBlockForComparison: 200 }); + var genericTemplatesPath = "generic"; + var baseTemplatesPath = "line-by-line"; + var iconsBaseTemplatesPath = "icon"; + var tagsBaseTemplatesPath = "tag"; + var LineByLineRenderer = function() { + function LineByLineRenderer2(hoganUtils, config) { + if (config === void 0) { + config = {}; + } + this.hoganUtils = hoganUtils; + this.config = __assign2(__assign2({}, exports.defaultLineByLineRendererConfig), config); + } + LineByLineRenderer2.prototype.render = function(diffFiles) { + var _this = this; + var diffsHtml = diffFiles.map(function(file) { + var diffs; + if (file.blocks.length) { + diffs = _this.generateFileHtml(file); + } else { + diffs = _this.generateEmptyDiff(); + } + return _this.makeFileDiffHtml(file, diffs); + }).join("\n"); + return this.hoganUtils.render(genericTemplatesPath, "wrapper", { content: diffsHtml }); + }; + LineByLineRenderer2.prototype.makeFileDiffHtml = function(file, diffs) { + if (this.config.renderNothingWhenEmpty && Array.isArray(file.blocks) && file.blocks.length === 0) + return ""; + var fileDiffTemplate = this.hoganUtils.template(baseTemplatesPath, "file-diff"); + var filePathTemplate = this.hoganUtils.template(genericTemplatesPath, "file-path"); + var fileIconTemplate = this.hoganUtils.template(iconsBaseTemplatesPath, "file"); + var fileTagTemplate = this.hoganUtils.template(tagsBaseTemplatesPath, renderUtils.getFileIcon(file)); + return fileDiffTemplate.render({ + file, + fileHtmlId: renderUtils.getHtmlId(file), + diffs, + filePath: filePathTemplate.render({ + fileDiffName: renderUtils.filenameDiff(file) + }, { + fileIcon: fileIconTemplate, + fileTag: fileTagTemplate + }) + }); + }; + LineByLineRenderer2.prototype.generateEmptyDiff = function() { + return this.hoganUtils.render(genericTemplatesPath, "empty-diff", { + contentClass: "d2h-code-line", + CSSLineClass: renderUtils.CSSLineClass + }); + }; + LineByLineRenderer2.prototype.generateFileHtml = function(file) { + var _this = this; + var matcher = Rematch.newMatcherFn(Rematch.newDistanceFn(function(e) { + return renderUtils.deconstructLine(e.content, file.isCombined).content; + })); + return file.blocks.map(function(block) { + var lines = _this.hoganUtils.render(genericTemplatesPath, "block-header", { + CSSLineClass: renderUtils.CSSLineClass, + blockHeader: file.isTooBig ? block.header : renderUtils.escapeForHtml(block.header), + lineClass: "d2h-code-linenumber", + contentClass: "d2h-code-line" + }); + _this.applyLineGroupping(block).forEach(function(_a2) { + var contextLines = _a2[0], oldLines = _a2[1], newLines = _a2[2]; + if (oldLines.length && newLines.length && !contextLines.length) { + _this.applyRematchMatching(oldLines, newLines, matcher).map(function(_a3) { + var oldLines2 = _a3[0], newLines2 = _a3[1]; + var _b2 = _this.processChangedLines(file.isCombined, oldLines2, newLines2), left2 = _b2.left, right2 = _b2.right; + lines += left2; + lines += right2; + }); + } else if (contextLines.length) { + contextLines.forEach(function(line) { + var _a3 = renderUtils.deconstructLine(line.content, file.isCombined), prefix = _a3.prefix, content = _a3.content; + lines += _this.generateSingleLineHtml({ + type: renderUtils.CSSLineClass.CONTEXT, + prefix, + content, + oldNumber: line.oldNumber, + newNumber: line.newNumber + }); + }); + } else if (oldLines.length || newLines.length) { + var _b = _this.processChangedLines(file.isCombined, oldLines, newLines), left = _b.left, right = _b.right; + lines += left; + lines += right; + } else { + console.error("Unknown state reached while processing groups of lines", contextLines, oldLines, newLines); + } + }); + return lines; + }).join("\n"); + }; + LineByLineRenderer2.prototype.applyLineGroupping = function(block) { + var blockLinesGroups = []; + var oldLines = []; + var newLines = []; + for (var i = 0; i < block.lines.length; i++) { + var diffLine = block.lines[i]; + if (diffLine.type !== types_1.LineType.INSERT && newLines.length || diffLine.type === types_1.LineType.CONTEXT && oldLines.length > 0) { + blockLinesGroups.push([[], oldLines, newLines]); + oldLines = []; + newLines = []; + } + if (diffLine.type === types_1.LineType.CONTEXT) { + blockLinesGroups.push([[diffLine], [], []]); + } else if (diffLine.type === types_1.LineType.INSERT && oldLines.length === 0) { + blockLinesGroups.push([[], [], [diffLine]]); + } else if (diffLine.type === types_1.LineType.INSERT && oldLines.length > 0) { + newLines.push(diffLine); + } else if (diffLine.type === types_1.LineType.DELETE) { + oldLines.push(diffLine); + } + } + if (oldLines.length || newLines.length) { + blockLinesGroups.push([[], oldLines, newLines]); + oldLines = []; + newLines = []; + } + return blockLinesGroups; + }; + LineByLineRenderer2.prototype.applyRematchMatching = function(oldLines, newLines, matcher) { + var comparisons = oldLines.length * newLines.length; + var maxLineSizeInBlock = Math.max.apply(null, [0].concat(oldLines.concat(newLines).map(function(elem) { + return elem.content.length; + }))); + var doMatching = comparisons < this.config.matchingMaxComparisons && maxLineSizeInBlock < this.config.maxLineSizeInBlockForComparison && (this.config.matching === "lines" || this.config.matching === "words"); + return doMatching ? matcher(oldLines, newLines) : [[oldLines, newLines]]; + }; + LineByLineRenderer2.prototype.processChangedLines = function(isCombined, oldLines, newLines) { + var fileHtml = { + right: "", + left: "" + }; + var maxLinesNumber = Math.max(oldLines.length, newLines.length); + for (var i = 0; i < maxLinesNumber; i++) { + var oldLine = oldLines[i]; + var newLine = newLines[i]; + var diff = oldLine !== void 0 && newLine !== void 0 ? renderUtils.diffHighlight(oldLine.content, newLine.content, isCombined, this.config) : void 0; + var preparedOldLine = oldLine !== void 0 && oldLine.oldNumber !== void 0 ? __assign2(__assign2({}, diff !== void 0 ? { + prefix: diff.oldLine.prefix, + content: diff.oldLine.content, + type: renderUtils.CSSLineClass.DELETE_CHANGES + } : __assign2(__assign2({}, renderUtils.deconstructLine(oldLine.content, isCombined)), { type: renderUtils.toCSSClass(oldLine.type) })), { oldNumber: oldLine.oldNumber, newNumber: oldLine.newNumber }) : void 0; + var preparedNewLine = newLine !== void 0 && newLine.newNumber !== void 0 ? __assign2(__assign2({}, diff !== void 0 ? { + prefix: diff.newLine.prefix, + content: diff.newLine.content, + type: renderUtils.CSSLineClass.INSERT_CHANGES + } : __assign2(__assign2({}, renderUtils.deconstructLine(newLine.content, isCombined)), { type: renderUtils.toCSSClass(newLine.type) })), { oldNumber: newLine.oldNumber, newNumber: newLine.newNumber }) : void 0; + var _a2 = this.generateLineHtml(preparedOldLine, preparedNewLine), left = _a2.left, right = _a2.right; + fileHtml.left += left; + fileHtml.right += right; + } + return fileHtml; + }; + LineByLineRenderer2.prototype.generateLineHtml = function(oldLine, newLine) { + return { + left: this.generateSingleLineHtml(oldLine), + right: this.generateSingleLineHtml(newLine) + }; + }; + LineByLineRenderer2.prototype.generateSingleLineHtml = function(line) { + if (line === void 0) + return ""; + var lineNumberHtml = this.hoganUtils.render(baseTemplatesPath, "numbers", { + oldNumber: line.oldNumber || "", + newNumber: line.newNumber || "" + }); + return this.hoganUtils.render(genericTemplatesPath, "line", { + type: line.type, + lineClass: "d2h-code-linenumber", + contentClass: "d2h-code-line", + prefix: line.prefix === " " ? " " : line.prefix, + content: line.content, + lineNumber: lineNumberHtml + }); + }; + return LineByLineRenderer2; + }(); + exports.default = LineByLineRenderer; + } +}); + +// node_modules/diff2html/lib/side-by-side-renderer.js +var require_side_by_side_renderer = __commonJS({ + "node_modules/diff2html/lib/side-by-side-renderer.js"(exports) { + "use strict"; + var __assign2 = exports && exports.__assign || function() { + __assign2 = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign2.apply(this, arguments); + }; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultSideBySideRendererConfig = void 0; + var Rematch = __importStar2(require_rematch()); + var renderUtils = __importStar2(require_render_utils()); + var types_1 = require_types(); + exports.defaultSideBySideRendererConfig = __assign2(__assign2({}, renderUtils.defaultRenderConfig), { renderNothingWhenEmpty: false, matchingMaxComparisons: 2500, maxLineSizeInBlockForComparison: 200 }); + var genericTemplatesPath = "generic"; + var baseTemplatesPath = "side-by-side"; + var iconsBaseTemplatesPath = "icon"; + var tagsBaseTemplatesPath = "tag"; + var SideBySideRenderer = function() { + function SideBySideRenderer2(hoganUtils, config) { + if (config === void 0) { + config = {}; + } + this.hoganUtils = hoganUtils; + this.config = __assign2(__assign2({}, exports.defaultSideBySideRendererConfig), config); + } + SideBySideRenderer2.prototype.render = function(diffFiles) { + var _this = this; + var diffsHtml = diffFiles.map(function(file) { + var diffs; + if (file.blocks.length) { + diffs = _this.generateFileHtml(file); + } else { + diffs = _this.generateEmptyDiff(); + } + return _this.makeFileDiffHtml(file, diffs); + }).join("\n"); + return this.hoganUtils.render(genericTemplatesPath, "wrapper", { content: diffsHtml }); + }; + SideBySideRenderer2.prototype.makeFileDiffHtml = function(file, diffs) { + if (this.config.renderNothingWhenEmpty && Array.isArray(file.blocks) && file.blocks.length === 0) + return ""; + var fileDiffTemplate = this.hoganUtils.template(baseTemplatesPath, "file-diff"); + var filePathTemplate = this.hoganUtils.template(genericTemplatesPath, "file-path"); + var fileIconTemplate = this.hoganUtils.template(iconsBaseTemplatesPath, "file"); + var fileTagTemplate = this.hoganUtils.template(tagsBaseTemplatesPath, renderUtils.getFileIcon(file)); + return fileDiffTemplate.render({ + file, + fileHtmlId: renderUtils.getHtmlId(file), + diffs, + filePath: filePathTemplate.render({ + fileDiffName: renderUtils.filenameDiff(file) + }, { + fileIcon: fileIconTemplate, + fileTag: fileTagTemplate + }) + }); + }; + SideBySideRenderer2.prototype.generateEmptyDiff = function() { + return { + right: "", + left: this.hoganUtils.render(genericTemplatesPath, "empty-diff", { + contentClass: "d2h-code-side-line", + CSSLineClass: renderUtils.CSSLineClass + }) + }; + }; + SideBySideRenderer2.prototype.generateFileHtml = function(file) { + var _this = this; + var matcher = Rematch.newMatcherFn(Rematch.newDistanceFn(function(e) { + return renderUtils.deconstructLine(e.content, file.isCombined).content; + })); + return file.blocks.map(function(block) { + var fileHtml = { + left: _this.makeHeaderHtml(block.header, file), + right: _this.makeHeaderHtml("") + }; + _this.applyLineGroupping(block).forEach(function(_a2) { + var contextLines = _a2[0], oldLines = _a2[1], newLines = _a2[2]; + if (oldLines.length && newLines.length && !contextLines.length) { + _this.applyRematchMatching(oldLines, newLines, matcher).map(function(_a3) { + var oldLines2 = _a3[0], newLines2 = _a3[1]; + var _b2 = _this.processChangedLines(file.isCombined, oldLines2, newLines2), left2 = _b2.left, right2 = _b2.right; + fileHtml.left += left2; + fileHtml.right += right2; + }); + } else if (contextLines.length) { + contextLines.forEach(function(line) { + var _a3 = renderUtils.deconstructLine(line.content, file.isCombined), prefix = _a3.prefix, content = _a3.content; + var _b2 = _this.generateLineHtml({ + type: renderUtils.CSSLineClass.CONTEXT, + prefix, + content, + number: line.oldNumber + }, { + type: renderUtils.CSSLineClass.CONTEXT, + prefix, + content, + number: line.newNumber + }), left2 = _b2.left, right2 = _b2.right; + fileHtml.left += left2; + fileHtml.right += right2; + }); + } else if (oldLines.length || newLines.length) { + var _b = _this.processChangedLines(file.isCombined, oldLines, newLines), left = _b.left, right = _b.right; + fileHtml.left += left; + fileHtml.right += right; + } else { + console.error("Unknown state reached while processing groups of lines", contextLines, oldLines, newLines); + } + }); + return fileHtml; + }).reduce(function(accomulated, html2) { + return { left: accomulated.left + html2.left, right: accomulated.right + html2.right }; + }, { left: "", right: "" }); + }; + SideBySideRenderer2.prototype.applyLineGroupping = function(block) { + var blockLinesGroups = []; + var oldLines = []; + var newLines = []; + for (var i = 0; i < block.lines.length; i++) { + var diffLine = block.lines[i]; + if (diffLine.type !== types_1.LineType.INSERT && newLines.length || diffLine.type === types_1.LineType.CONTEXT && oldLines.length > 0) { + blockLinesGroups.push([[], oldLines, newLines]); + oldLines = []; + newLines = []; + } + if (diffLine.type === types_1.LineType.CONTEXT) { + blockLinesGroups.push([[diffLine], [], []]); + } else if (diffLine.type === types_1.LineType.INSERT && oldLines.length === 0) { + blockLinesGroups.push([[], [], [diffLine]]); + } else if (diffLine.type === types_1.LineType.INSERT && oldLines.length > 0) { + newLines.push(diffLine); + } else if (diffLine.type === types_1.LineType.DELETE) { + oldLines.push(diffLine); + } + } + if (oldLines.length || newLines.length) { + blockLinesGroups.push([[], oldLines, newLines]); + oldLines = []; + newLines = []; + } + return blockLinesGroups; + }; + SideBySideRenderer2.prototype.applyRematchMatching = function(oldLines, newLines, matcher) { + var comparisons = oldLines.length * newLines.length; + var maxLineSizeInBlock = Math.max.apply(null, [0].concat(oldLines.concat(newLines).map(function(elem) { + return elem.content.length; + }))); + var doMatching = comparisons < this.config.matchingMaxComparisons && maxLineSizeInBlock < this.config.maxLineSizeInBlockForComparison && (this.config.matching === "lines" || this.config.matching === "words"); + return doMatching ? matcher(oldLines, newLines) : [[oldLines, newLines]]; + }; + SideBySideRenderer2.prototype.makeHeaderHtml = function(blockHeader, file) { + return this.hoganUtils.render(genericTemplatesPath, "block-header", { + CSSLineClass: renderUtils.CSSLineClass, + blockHeader: (file === null || file === void 0 ? void 0 : file.isTooBig) ? blockHeader : renderUtils.escapeForHtml(blockHeader), + lineClass: "d2h-code-side-linenumber", + contentClass: "d2h-code-side-line" + }); + }; + SideBySideRenderer2.prototype.processChangedLines = function(isCombined, oldLines, newLines) { + var fileHtml = { + right: "", + left: "" + }; + var maxLinesNumber = Math.max(oldLines.length, newLines.length); + for (var i = 0; i < maxLinesNumber; i++) { + var oldLine = oldLines[i]; + var newLine = newLines[i]; + var diff = oldLine !== void 0 && newLine !== void 0 ? renderUtils.diffHighlight(oldLine.content, newLine.content, isCombined, this.config) : void 0; + var preparedOldLine = oldLine !== void 0 && oldLine.oldNumber !== void 0 ? __assign2(__assign2({}, diff !== void 0 ? { + prefix: diff.oldLine.prefix, + content: diff.oldLine.content, + type: renderUtils.CSSLineClass.DELETE_CHANGES + } : __assign2(__assign2({}, renderUtils.deconstructLine(oldLine.content, isCombined)), { type: renderUtils.toCSSClass(oldLine.type) })), { number: oldLine.oldNumber }) : void 0; + var preparedNewLine = newLine !== void 0 && newLine.newNumber !== void 0 ? __assign2(__assign2({}, diff !== void 0 ? { + prefix: diff.newLine.prefix, + content: diff.newLine.content, + type: renderUtils.CSSLineClass.INSERT_CHANGES + } : __assign2(__assign2({}, renderUtils.deconstructLine(newLine.content, isCombined)), { type: renderUtils.toCSSClass(newLine.type) })), { number: newLine.newNumber }) : void 0; + var _a2 = this.generateLineHtml(preparedOldLine, preparedNewLine), left = _a2.left, right = _a2.right; + fileHtml.left += left; + fileHtml.right += right; + } + return fileHtml; + }; + SideBySideRenderer2.prototype.generateLineHtml = function(oldLine, newLine) { + return { + left: this.generateSingleHtml(oldLine), + right: this.generateSingleHtml(newLine) + }; + }; + SideBySideRenderer2.prototype.generateSingleHtml = function(line) { + var lineClass = "d2h-code-side-linenumber"; + var contentClass = "d2h-code-side-line"; + return this.hoganUtils.render(genericTemplatesPath, "line", { + type: (line === null || line === void 0 ? void 0 : line.type) || "".concat(renderUtils.CSSLineClass.CONTEXT, " d2h-emptyplaceholder"), + lineClass: line !== void 0 ? lineClass : "".concat(lineClass, " d2h-code-side-emptyplaceholder"), + contentClass: line !== void 0 ? contentClass : "".concat(contentClass, " d2h-code-side-emptyplaceholder"), + prefix: (line === null || line === void 0 ? void 0 : line.prefix) === " " ? " " : line === null || line === void 0 ? void 0 : line.prefix, + content: line === null || line === void 0 ? void 0 : line.content, + lineNumber: line === null || line === void 0 ? void 0 : line.number + }); + }; + return SideBySideRenderer2; + }(); + exports.default = SideBySideRenderer; + } +}); + +// node_modules/hogan.js/lib/compiler.js +var require_compiler = __commonJS({ + "node_modules/hogan.js/lib/compiler.js"(exports) { + (function(Hogan2) { + var rIsWhitespace = /\S/, rQuot = /\"/g, rNewline = /\n/g, rCr = /\r/g, rSlash = /\\/g, rLineSep = /\u2028/, rParagraphSep = /\u2029/; + Hogan2.tags = { + "#": 1, + "^": 2, + "<": 3, + "$": 4, + "/": 5, + "!": 6, + ">": 7, + "=": 8, + "_v": 9, + "{": 10, + "&": 11, + "_t": 12 + }; + Hogan2.scan = function scan(text2, delimiters) { + var len = text2.length, IN_TEXT = 0, IN_TAG_TYPE = 1, IN_TAG = 2, state = IN_TEXT, tagType = null, tag = null, buf = "", tokens = [], seenTag = false, i = 0, lineStart = 0, otag = "{{", ctag = "}}"; + function addBuf() { + if (buf.length > 0) { + tokens.push({ tag: "_t", text: new String(buf) }); + buf = ""; + } + } + function lineIsWhitespace() { + var isAllWhitespace = true; + for (var j = lineStart; j < tokens.length; j++) { + isAllWhitespace = Hogan2.tags[tokens[j].tag] < Hogan2.tags["_v"] || tokens[j].tag == "_t" && tokens[j].text.match(rIsWhitespace) === null; + if (!isAllWhitespace) { + return false; + } + } + return isAllWhitespace; + } + function filterLine(haveSeenTag, noNewLine) { + addBuf(); + if (haveSeenTag && lineIsWhitespace()) { + for (var j = lineStart, next; j < tokens.length; j++) { + if (tokens[j].text) { + if ((next = tokens[j + 1]) && next.tag == ">") { + next.indent = tokens[j].text.toString(); + } + tokens.splice(j, 1); + } + } + } else if (!noNewLine) { + tokens.push({ tag: "\n" }); + } + seenTag = false; + lineStart = tokens.length; + } + function changeDelimiters(text3, index) { + var close = "=" + ctag, closeIndex = text3.indexOf(close, index), delimiters2 = trim(text3.substring(text3.indexOf("=", index) + 1, closeIndex)).split(" "); + otag = delimiters2[0]; + ctag = delimiters2[delimiters2.length - 1]; + return closeIndex + close.length - 1; + } + if (delimiters) { + delimiters = delimiters.split(" "); + otag = delimiters[0]; + ctag = delimiters[1]; + } + for (i = 0; i < len; i++) { + if (state == IN_TEXT) { + if (tagChange(otag, text2, i)) { + --i; + addBuf(); + state = IN_TAG_TYPE; + } else { + if (text2.charAt(i) == "\n") { + filterLine(seenTag); + } else { + buf += text2.charAt(i); + } + } + } else if (state == IN_TAG_TYPE) { + i += otag.length - 1; + tag = Hogan2.tags[text2.charAt(i + 1)]; + tagType = tag ? text2.charAt(i + 1) : "_v"; + if (tagType == "=") { + i = changeDelimiters(text2, i); + state = IN_TEXT; + } else { + if (tag) { + i++; + } + state = IN_TAG; + } + seenTag = i; + } else { + if (tagChange(ctag, text2, i)) { + tokens.push({ + tag: tagType, + n: trim(buf), + otag, + ctag, + i: tagType == "/" ? seenTag - otag.length : i + ctag.length + }); + buf = ""; + i += ctag.length - 1; + state = IN_TEXT; + if (tagType == "{") { + if (ctag == "}}") { + i++; + } else { + cleanTripleStache(tokens[tokens.length - 1]); + } + } + } else { + buf += text2.charAt(i); + } + } + } + filterLine(seenTag, true); + return tokens; + }; + function cleanTripleStache(token) { + if (token.n.substr(token.n.length - 1) === "}") { + token.n = token.n.substring(0, token.n.length - 1); + } + } + function trim(s) { + if (s.trim) { + return s.trim(); + } + return s.replace(/^\s*|\s*$/g, ""); + } + function tagChange(tag, text2, index) { + if (text2.charAt(index) != tag.charAt(0)) { + return false; + } + for (var i = 1, l = tag.length; i < l; i++) { + if (text2.charAt(index + i) != tag.charAt(i)) { + return false; + } + } + return true; + } + var allowedInSuper = { "_t": true, "\n": true, "$": true, "/": true }; + function buildTree(tokens, kind, stack, customTags) { + var instructions = [], opener = null, tail = null, token = null; + tail = stack[stack.length - 1]; + while (tokens.length > 0) { + token = tokens.shift(); + if (tail && tail.tag == "<" && !(token.tag in allowedInSuper)) { + throw new Error("Illegal content in < super tag."); + } + if (Hogan2.tags[token.tag] <= Hogan2.tags["$"] || isOpener(token, customTags)) { + stack.push(token); + token.nodes = buildTree(tokens, token.tag, stack, customTags); + } else if (token.tag == "/") { + if (stack.length === 0) { + throw new Error("Closing tag without opener: /" + token.n); + } + opener = stack.pop(); + if (token.n != opener.n && !isCloser(token.n, opener.n, customTags)) { + throw new Error("Nesting error: " + opener.n + " vs. " + token.n); + } + opener.end = token.i; + return instructions; + } else if (token.tag == "\n") { + token.last = tokens.length == 0 || tokens[0].tag == "\n"; + } + instructions.push(token); + } + if (stack.length > 0) { + throw new Error("missing closing tag: " + stack.pop().n); + } + return instructions; + } + function isOpener(token, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].o == token.n) { + token.tag = "#"; + return true; + } + } + } + function isCloser(close, open, tags) { + for (var i = 0, l = tags.length; i < l; i++) { + if (tags[i].c == close && tags[i].o == open) { + return true; + } + } + } + function stringifySubstitutions(obj) { + var items = []; + for (var key2 in obj) { + items.push('"' + esc(key2) + '": function(c,p,t,i) {' + obj[key2] + "}"); + } + return "{ " + items.join(",") + " }"; + } + function stringifyPartials(codeObj) { + var partials = []; + for (var key2 in codeObj.partials) { + partials.push('"' + esc(key2) + '":{name:"' + esc(codeObj.partials[key2].name) + '", ' + stringifyPartials(codeObj.partials[key2]) + "}"); + } + return "partials: {" + partials.join(",") + "}, subs: " + stringifySubstitutions(codeObj.subs); + } + Hogan2.stringify = function(codeObj, text2, options) { + return "{code: function (c,p,i) { " + Hogan2.wrapMain(codeObj.code) + " }," + stringifyPartials(codeObj) + "}"; + }; + var serialNo = 0; + Hogan2.generate = function(tree, text2, options) { + serialNo = 0; + var context = { code: "", subs: {}, partials: {} }; + Hogan2.walk(tree, context); + if (options.asString) { + return this.stringify(context, text2, options); + } + return this.makeTemplate(context, text2, options); + }; + Hogan2.wrapMain = function(code) { + return 'var t=this;t.b(i=i||"");' + code + "return t.fl();"; + }; + Hogan2.template = Hogan2.Template; + Hogan2.makeTemplate = function(codeObj, text2, options) { + var template = this.makePartials(codeObj); + template.code = new Function("c", "p", "i", this.wrapMain(codeObj.code)); + return new this.template(template, text2, this, options); + }; + Hogan2.makePartials = function(codeObj) { + var key2, template = { subs: {}, partials: codeObj.partials, name: codeObj.name }; + for (key2 in template.partials) { + template.partials[key2] = this.makePartials(template.partials[key2]); + } + for (key2 in codeObj.subs) { + template.subs[key2] = new Function("c", "p", "t", "i", codeObj.subs[key2]); + } + return template; + }; + function esc(s) { + return s.replace(rSlash, "\\\\").replace(rQuot, '\\"').replace(rNewline, "\\n").replace(rCr, "\\r").replace(rLineSep, "\\u2028").replace(rParagraphSep, "\\u2029"); + } + function chooseMethod(s) { + return ~s.indexOf(".") ? "d" : "f"; + } + function createPartial(node, context) { + var prefix = "<" + (context.prefix || ""); + var sym = prefix + node.n + serialNo++; + context.partials[sym] = { name: node.n, partials: {} }; + context.code += 't.b(t.rp("' + esc(sym) + '",c,p,"' + (node.indent || "") + '"));'; + return sym; + } + Hogan2.codegen = { + "#": function(node, context) { + context.code += "if(t.s(t." + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,0,' + node.i + "," + node.end + ',"' + node.otag + " " + node.ctag + '")){t.rs(c,p,function(c,p,t){'; + Hogan2.walk(node.nodes, context); + context.code += "});c.pop();}"; + }, + "^": function(node, context) { + context.code += "if(!t.s(t." + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,1),c,p,1,0,0,"")){'; + Hogan2.walk(node.nodes, context); + context.code += "};"; + }, + ">": createPartial, + "<": function(node, context) { + var ctx = { partials: {}, code: "", subs: {}, inPartial: true }; + Hogan2.walk(node.nodes, ctx); + var template = context.partials[createPartial(node, context)]; + template.subs = ctx.subs; + template.partials = ctx.partials; + }, + "$": function(node, context) { + var ctx = { subs: {}, code: "", partials: context.partials, prefix: node.n }; + Hogan2.walk(node.nodes, ctx); + context.subs[node.n] = ctx.code; + if (!context.inPartial) { + context.code += 't.sub("' + esc(node.n) + '",c,p,i);'; + } + }, + "\n": function(node, context) { + context.code += write('"\\n"' + (node.last ? "" : " + i")); + }, + "_v": function(node, context) { + context.code += "t.b(t.v(t." + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + }, + "_t": function(node, context) { + context.code += write('"' + esc(node.text) + '"'); + }, + "{": tripleStache, + "&": tripleStache + }; + function tripleStache(node, context) { + context.code += "t.b(t.t(t." + chooseMethod(node.n) + '("' + esc(node.n) + '",c,p,0)));'; + } + function write(s) { + return "t.b(" + s + ");"; + } + Hogan2.walk = function(nodelist, context) { + var func; + for (var i = 0, l = nodelist.length; i < l; i++) { + func = Hogan2.codegen[nodelist[i].tag]; + func && func(nodelist[i], context); + } + return context; + }; + Hogan2.parse = function(tokens, text2, options) { + options = options || {}; + return buildTree(tokens, "", [], options.sectionTags || []); + }; + Hogan2.cache = {}; + Hogan2.cacheKey = function(text2, options) { + return [text2, !!options.asString, !!options.disableLambda, options.delimiters, !!options.modelGet].join("||"); + }; + Hogan2.compile = function(text2, options) { + options = options || {}; + var key2 = Hogan2.cacheKey(text2, options); + var template = this.cache[key2]; + if (template) { + var partials = template.partials; + for (var name in partials) { + delete partials[name].instance; + } + return template; + } + template = this.generate(this.parse(this.scan(text2, options.delimiters), text2, options), text2, options); + return this.cache[key2] = template; + }; + })(typeof exports !== "undefined" ? exports : Hogan); + } +}); + +// node_modules/hogan.js/lib/template.js +var require_template = __commonJS({ + "node_modules/hogan.js/lib/template.js"(exports) { + var Hogan2 = {}; + (function(Hogan3) { + Hogan3.Template = function(codeObj, text2, compiler, options) { + codeObj = codeObj || {}; + this.r = codeObj.code || this.r; + this.c = compiler; + this.options = options || {}; + this.text = text2 || ""; + this.partials = codeObj.partials || {}; + this.subs = codeObj.subs || {}; + this.buf = ""; + }; + Hogan3.Template.prototype = { + r: function(context, partials, indent) { + return ""; + }, + v: hoganEscape, + t: coerceToString, + render: function render(context, partials, indent) { + return this.ri([context], partials || {}, indent); + }, + ri: function(context, partials, indent) { + return this.r(context, partials, indent); + }, + ep: function(symbol, partials) { + var partial = this.partials[symbol]; + var template = partials[partial.name]; + if (partial.instance && partial.base == template) { + return partial.instance; + } + if (typeof template == "string") { + if (!this.c) { + throw new Error("No compiler available."); + } + template = this.c.compile(template, this.options); + } + if (!template) { + return null; + } + this.partials[symbol].base = template; + if (partial.subs) { + if (!partials.stackText) + partials.stackText = {}; + for (key in partial.subs) { + if (!partials.stackText[key]) { + partials.stackText[key] = this.activeSub !== void 0 && partials.stackText[this.activeSub] ? partials.stackText[this.activeSub] : this.text; + } + } + template = createSpecializedPartial(template, partial.subs, partial.partials, this.stackSubs, this.stackPartials, partials.stackText); + } + this.partials[symbol].instance = template; + return template; + }, + rp: function(symbol, context, partials, indent) { + var partial = this.ep(symbol, partials); + if (!partial) { + return ""; + } + return partial.ri(context, partials, indent); + }, + rs: function(context, partials, section) { + var tail = context[context.length - 1]; + if (!isArray(tail)) { + section(context, partials, this); + return; + } + for (var i = 0; i < tail.length; i++) { + context.push(tail[i]); + section(context, partials, this); + context.pop(); + } + }, + s: function(val, ctx, partials, inverted, start, end, tags) { + var pass; + if (isArray(val) && val.length === 0) { + return false; + } + if (typeof val == "function") { + val = this.ms(val, ctx, partials, inverted, start, end, tags); + } + pass = !!val; + if (!inverted && pass && ctx) { + ctx.push(typeof val == "object" ? val : ctx[ctx.length - 1]); + } + return pass; + }, + d: function(key2, ctx, partials, returnFound) { + var found, names = key2.split("."), val = this.f(names[0], ctx, partials, returnFound), doModelGet = this.options.modelGet, cx = null; + if (key2 === "." && isArray(ctx[ctx.length - 2])) { + val = ctx[ctx.length - 1]; + } else { + for (var i = 1; i < names.length; i++) { + found = findInScope(names[i], val, doModelGet); + if (found !== void 0) { + cx = val; + val = found; + } else { + val = ""; + } + } + } + if (returnFound && !val) { + return false; + } + if (!returnFound && typeof val == "function") { + ctx.push(cx); + val = this.mv(val, ctx, partials); + ctx.pop(); + } + return val; + }, + f: function(key2, ctx, partials, returnFound) { + var val = false, v = null, found = false, doModelGet = this.options.modelGet; + for (var i = ctx.length - 1; i >= 0; i--) { + v = ctx[i]; + val = findInScope(key2, v, doModelGet); + if (val !== void 0) { + found = true; + break; + } + } + if (!found) { + return returnFound ? false : ""; + } + if (!returnFound && typeof val == "function") { + val = this.mv(val, ctx, partials); + } + return val; + }, + ls: function(func, cx, partials, text2, tags) { + var oldTags = this.options.delimiters; + this.options.delimiters = tags; + this.b(this.ct(coerceToString(func.call(cx, text2)), cx, partials)); + this.options.delimiters = oldTags; + return false; + }, + ct: function(text2, cx, partials) { + if (this.options.disableLambda) { + throw new Error("Lambda features disabled."); + } + return this.c.compile(text2, this.options).render(cx, partials); + }, + b: function(s) { + this.buf += s; + }, + fl: function() { + var r = this.buf; + this.buf = ""; + return r; + }, + ms: function(func, ctx, partials, inverted, start, end, tags) { + var textSource, cx = ctx[ctx.length - 1], result = func.call(cx); + if (typeof result == "function") { + if (inverted) { + return true; + } else { + textSource = this.activeSub && this.subsText && this.subsText[this.activeSub] ? this.subsText[this.activeSub] : this.text; + return this.ls(result, cx, partials, textSource.substring(start, end), tags); + } + } + return result; + }, + mv: function(func, ctx, partials) { + var cx = ctx[ctx.length - 1]; + var result = func.call(cx); + if (typeof result == "function") { + return this.ct(coerceToString(result.call(cx)), cx, partials); + } + return result; + }, + sub: function(name, context, partials, indent) { + var f = this.subs[name]; + if (f) { + this.activeSub = name; + f(context, partials, this, indent); + this.activeSub = false; + } + } + }; + function findInScope(key2, scope, doModelGet) { + var val; + if (scope && typeof scope == "object") { + if (scope[key2] !== void 0) { + val = scope[key2]; + } else if (doModelGet && scope.get && typeof scope.get == "function") { + val = scope.get(key2); + } + } + return val; + } + function createSpecializedPartial(instance5, subs, partials, stackSubs, stackPartials, stackText) { + function PartialTemplate() { + } + ; + PartialTemplate.prototype = instance5; + function Substitutions() { + } + ; + Substitutions.prototype = instance5.subs; + var key2; + var partial = new PartialTemplate(); + partial.subs = new Substitutions(); + partial.subsText = {}; + partial.buf = ""; + stackSubs = stackSubs || {}; + partial.stackSubs = stackSubs; + partial.subsText = stackText; + for (key2 in subs) { + if (!stackSubs[key2]) + stackSubs[key2] = subs[key2]; + } + for (key2 in stackSubs) { + partial.subs[key2] = stackSubs[key2]; + } + stackPartials = stackPartials || {}; + partial.stackPartials = stackPartials; + for (key2 in partials) { + if (!stackPartials[key2]) + stackPartials[key2] = partials[key2]; + } + for (key2 in stackPartials) { + partial.partials[key2] = stackPartials[key2]; + } + return partial; + } + var rAmp = /&/g, rLt = //g, rApos = /\'/g, rQuot = /\"/g, hChars = /[&<>\"\']/; + function coerceToString(val) { + return String(val === null || val === void 0 ? "" : val); + } + function hoganEscape(str) { + str = coerceToString(str); + return hChars.test(str) ? str.replace(rAmp, "&").replace(rLt, "<").replace(rGt, ">").replace(rApos, "'").replace(rQuot, """) : str; + } + var isArray = Array.isArray || function(a) { + return Object.prototype.toString.call(a) === "[object Array]"; + }; + })(typeof exports !== "undefined" ? exports : Hogan2); + } +}); + +// node_modules/hogan.js/lib/hogan.js +var require_hogan = __commonJS({ + "node_modules/hogan.js/lib/hogan.js"(exports, module2) { + var Hogan2 = require_compiler(); + Hogan2.Template = require_template().Template; + Hogan2.template = Hogan2.Template; + module2.exports = Hogan2; + } +}); + +// node_modules/diff2html/lib/diff2html-templates.js +var require_diff2html_templates = __commonJS({ + "node_modules/diff2html/lib/diff2html-templates.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultTemplates = void 0; + var Hogan2 = __importStar2(require_hogan()); + exports.defaultTemplates = {}; + exports.defaultTemplates["file-summary-line"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('
  • '); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b(t.rp("'); + t.b(t.v(t.f("fileName", c, p, 0))); + t.b(""); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b(' '); + t.b(t.v(t.f("addedLines", c, p, 0))); + t.b(""); + t.b("\n" + i); + t.b(' '); + t.b(t.v(t.f("deletedLines", c, p, 0))); + t.b(""); + t.b("\n" + i); + t.b(" "); + t.b("\n" + i); + t.b(" "); + t.b("\n" + i); + t.b("
  • "); + return t.fl(); + }, partials: { "'); + t.b("\n" + i); + t.b('
    '); + t.b("\n" + i); + t.b(' Files changed ('); + t.b(t.v(t.f("filesNumber", c, p, 0))); + t.b(")"); + t.b("\n" + i); + t.b(' hide'); + t.b("\n" + i); + t.b(' show'); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b('
      '); + t.b("\n" + i); + t.b(" "); + t.b(t.t(t.f("files", c, p, 0))); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b(""); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["generic-block-header"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b(""); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b('
    '); + t.b(t.t(t.f("blockHeader", c, p, 0))); + t.b("
    "); + t.b("\n" + i); + t.b(" "); + t.b("\n" + i); + t.b(""); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["generic-empty-diff"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b(""); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b('
    '); + t.b("\n" + i); + t.b(" File without changes"); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b(" "); + t.b("\n" + i); + t.b(""); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["generic-file-path"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b(''); + t.b("\n" + i); + t.b(t.rp("'); + t.b(t.v(t.f("fileDiffName", c, p, 0))); + t.b(""); + t.b("\n" + i); + t.b(t.rp(""); + t.b("\n" + i); + t.b('"); + return t.fl(); + }, partials: { ""); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b(" "); + t.b(t.t(t.f("lineNumber", c, p, 0))); + t.b("\n" + i); + t.b(" "); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b('
    '); + t.b("\n" + i); + if (t.s(t.f("prefix", c, p, 1), c, p, 0, 162, 238, "{{ }}")) { + t.rs(c, p, function(c2, p2, t2) { + t2.b(' '); + t2.b(t2.t(t2.f("prefix", c2, p2, 0))); + t2.b(""); + t2.b("\n" + i); + }); + c.pop(); + } + if (!t.s(t.f("prefix", c, p, 1), c, p, 1, 0, 0, "")) { + t.b('  '); + t.b("\n" + i); + } + ; + if (t.s(t.f("content", c, p, 1), c, p, 0, 371, 445, "{{ }}")) { + t.rs(c, p, function(c2, p2, t2) { + t2.b(' '); + t2.b(t2.t(t2.f("content", c2, p2, 0))); + t2.b(""); + t2.b("\n" + i); + }); + c.pop(); + } + if (!t.s(t.f("content", c, p, 1), c, p, 1, 0, 0, "")) { + t.b('
    '); + t.b("\n" + i); + } + ; + t.b("
    "); + t.b("\n" + i); + t.b(" "); + t.b("\n" + i); + t.b(""); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["generic-wrapper"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('
    '); + t.b("\n" + i); + t.b(" "); + t.b(t.t(t.f("content", c, p, 0))); + t.b("\n" + i); + t.b("
    "); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["icon-file-added"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('"); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["icon-file-changed"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('"); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["icon-file-deleted"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('"); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["icon-file-renamed"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('"); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["icon-file"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('"); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["line-by-line-file-diff"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('
    '); + t.b("\n" + i); + t.b('
    '); + t.b("\n" + i); + t.b(" "); + t.b(t.t(t.f("filePath", c, p, 0))); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b('
    '); + t.b("\n" + i); + t.b('
    '); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b(" "); + t.b(t.t(t.f("diffs", c, p, 0))); + t.b("\n" + i); + t.b(" "); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b("
    "); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["line-by-line-numbers"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('
    '); + t.b(t.v(t.f("oldNumber", c, p, 0))); + t.b("
    "); + t.b("\n" + i); + t.b('
    '); + t.b(t.v(t.f("newNumber", c, p, 0))); + t.b("
    "); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["side-by-side-file-diff"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('
    '); + t.b("\n" + i); + t.b('
    '); + t.b("\n" + i); + t.b(" "); + t.b(t.t(t.f("filePath", c, p, 0))); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b('
    '); + t.b("\n" + i); + t.b('
    '); + t.b("\n" + i); + t.b('
    '); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b(" "); + t.b(t.t(t.d("diffs.left", c, p, 0))); + t.b("\n" + i); + t.b(" "); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b('
    '); + t.b("\n" + i); + t.b('
    '); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b(' '); + t.b("\n" + i); + t.b(" "); + t.b(t.t(t.d("diffs.right", c, p, 0))); + t.b("\n" + i); + t.b(" "); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b("
    "); + t.b("\n" + i); + t.b("
    "); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["tag-file-added"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('ADDED'); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["tag-file-changed"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('CHANGED'); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["tag-file-deleted"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('DELETED'); + return t.fl(); + }, partials: {}, subs: {} }); + exports.defaultTemplates["tag-file-renamed"] = new Hogan2.Template({ code: function(c, p, i) { + var t = this; + t.b(i = i || ""); + t.b('RENAMED'); + return t.fl(); + }, partials: {}, subs: {} }); + } +}); + +// node_modules/diff2html/lib/hoganjs-utils.js +var require_hoganjs_utils = __commonJS({ + "node_modules/diff2html/lib/hoganjs-utils.js"(exports) { + "use strict"; + var __assign2 = exports && exports.__assign || function() { + __assign2 = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign2.apply(this, arguments); + }; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + var Hogan2 = __importStar2(require_hogan()); + var diff2html_templates_1 = require_diff2html_templates(); + var HoganJsUtils = function() { + function HoganJsUtils2(_a2) { + var _b = _a2.compiledTemplates, compiledTemplates = _b === void 0 ? {} : _b, _c = _a2.rawTemplates, rawTemplates = _c === void 0 ? {} : _c; + var compiledRawTemplates = Object.entries(rawTemplates).reduce(function(previousTemplates, _a3) { + var _b2; + var name = _a3[0], templateString = _a3[1]; + var compiledTemplate = Hogan2.compile(templateString, { asString: false }); + return __assign2(__assign2({}, previousTemplates), (_b2 = {}, _b2[name] = compiledTemplate, _b2)); + }, {}); + this.preCompiledTemplates = __assign2(__assign2(__assign2({}, diff2html_templates_1.defaultTemplates), compiledTemplates), compiledRawTemplates); + } + HoganJsUtils2.compile = function(templateString) { + return Hogan2.compile(templateString, { asString: false }); + }; + HoganJsUtils2.prototype.render = function(namespace, view, params, partials, indent) { + var templateKey = this.templateKey(namespace, view); + try { + var template = this.preCompiledTemplates[templateKey]; + return template.render(params, partials, indent); + } catch (e) { + throw new Error("Could not find template to render '".concat(templateKey, "'")); + } + }; + HoganJsUtils2.prototype.template = function(namespace, view) { + return this.preCompiledTemplates[this.templateKey(namespace, view)]; + }; + HoganJsUtils2.prototype.templateKey = function(namespace, view) { + return "".concat(namespace, "-").concat(view); + }; + return HoganJsUtils2; + }(); + exports.default = HoganJsUtils; + } +}); + +// node_modules/diff2html/lib/diff2html.js +var require_diff2html = __commonJS({ + "node_modules/diff2html/lib/diff2html.js"(exports) { + "use strict"; + var __assign2 = exports && exports.__assign || function() { + __assign2 = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign2.apply(this, arguments); + }; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.html = exports.parse = exports.defaultDiff2HtmlConfig = void 0; + var DiffParser = __importStar2(require_diff_parser()); + var fileListPrinter = __importStar2(require_file_list_renderer()); + var line_by_line_renderer_1 = __importStar2(require_line_by_line_renderer()); + var side_by_side_renderer_1 = __importStar2(require_side_by_side_renderer()); + var types_1 = require_types(); + var hoganjs_utils_1 = __importDefault2(require_hoganjs_utils()); + exports.defaultDiff2HtmlConfig = __assign2(__assign2(__assign2({}, line_by_line_renderer_1.defaultLineByLineRendererConfig), side_by_side_renderer_1.defaultSideBySideRendererConfig), { outputFormat: types_1.OutputFormatType.LINE_BY_LINE, drawFileList: true }); + function parse(diffInput, configuration) { + if (configuration === void 0) { + configuration = {}; + } + return DiffParser.parse(diffInput, __assign2(__assign2({}, exports.defaultDiff2HtmlConfig), configuration)); + } + exports.parse = parse; + function html2(diffInput, configuration) { + if (configuration === void 0) { + configuration = {}; + } + var config = __assign2(__assign2({}, exports.defaultDiff2HtmlConfig), configuration); + var diffJson = typeof diffInput === "string" ? DiffParser.parse(diffInput, config) : diffInput; + var hoganUtils = new hoganjs_utils_1.default(config); + var fileList = config.drawFileList ? fileListPrinter.render(diffJson, hoganUtils) : ""; + var diffOutput = config.outputFormat === "side-by-side" ? new side_by_side_renderer_1.default(hoganUtils, config).render(diffJson) : new line_by_line_renderer_1.default(hoganUtils, config).render(diffJson); + return fileList + diffOutput; + } + exports.html = html2; + } +}); + +// node_modules/tslib/tslib.js +var require_tslib = __commonJS({ + "node_modules/tslib/tslib.js"(exports, module2) { + var __extends2; + var __assign2; + var __rest2; + var __decorate2; + var __param2; + var __metadata2; + var __awaiter2; + var __generator2; + var __exportStar2; + var __values2; + var __read2; + var __spread2; + var __spreadArrays2; + var __spreadArray2; + var __await2; + var __asyncGenerator2; + var __asyncDelegator2; + var __asyncValues2; + var __makeTemplateObject2; + var __importStar2; + var __importDefault2; + var __classPrivateFieldGet2; + var __classPrivateFieldSet2; + var __classPrivateFieldIn2; + var __createBinding2; + (function(factory) { + var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {}; + if (typeof define === "function" && define.amd) { + define("tslib", ["exports"], function(exports2) { + factory(createExporter(root, createExporter(exports2))); + }); + } else if (typeof module2 === "object" && typeof module2.exports === "object") { + factory(createExporter(root, createExporter(module2.exports))); + } else { + factory(createExporter(root)); + } + function createExporter(exports2, previous) { + if (exports2 !== root) { + if (typeof Object.create === "function") { + Object.defineProperty(exports2, "__esModule", { value: true }); + } else { + exports2.__esModule = true; + } + } + return function(id, v) { + return exports2[id] = previous ? previous(id, v) : v; + }; + } + })(function(exporter) { + var extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) { + d.__proto__ = b; + } || function(d, b) { + for (var p in b) + if (Object.prototype.hasOwnProperty.call(b, p)) + d[p] = b[p]; + }; + __extends2 = function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + __assign2 = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + __rest2 = function(s, e) { + var t = {}; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + }; + __decorate2 = function(decorators, target, key2, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key2) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r = Reflect.decorate(decorators, target, key2, desc); + else + for (var i = decorators.length - 1; i >= 0; i--) + if (d = decorators[i]) + r = (c < 3 ? d(r) : c > 3 ? d(target, key2, r) : d(target, key2)) || r; + return c > 3 && r && Object.defineProperty(target, key2, r), r; + }; + __param2 = function(paramIndex, decorator) { + return function(target, key2) { + decorator(target, key2, paramIndex); + }; + }; + __metadata2 = function(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") + return Reflect.metadata(metadataKey, metadataValue); + }; + __awaiter2 = function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + __generator2 = function(thisArg, body) { + var _ = { label: 0, sent: function() { + if (t[0] & 1) + throw t[1]; + return t[1]; + }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step([n, v]); + }; + } + function step(op) { + if (f) + throw new TypeError("Generator is already executing."); + while (_) + try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) + return t; + if (y = 0, t) + op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) + _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) + throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } + }; + __exportStar2 = function(m, o) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) + __createBinding2(o, m, p); + }; + __createBinding2 = Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }; + __values2 = function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) + return m.call(o); + if (o && typeof o.length === "number") + return { + next: function() { + if (o && i >= o.length) + o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + __read2 = function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) + return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) + ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) + m.call(i); + } finally { + if (e) + throw e.error; + } + } + return ar; + }; + __spread2 = function() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read2(arguments[i])); + return ar; + }; + __spreadArrays2 = function() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) + s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + __spreadArray2 = function(to, from, pack) { + if (pack || arguments.length === 2) + for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) + ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); + }; + __await2 = function(v) { + return this instanceof __await2 ? (this.v = v, this) : new __await2(v); + }; + __asyncGenerator2 = function(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i; + function verb(n) { + if (g[n]) + i[n] = function(v) { + return new Promise(function(a, b) { + q.push([n, v, a, b]) > 1 || resume(n, v); + }); + }; + } + function resume(n, v) { + try { + step(g[n](v)); + } catch (e) { + settle(q[0][3], e); + } + } + function step(r) { + r.value instanceof __await2 ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); + } + function fulfill(value) { + resume("next", value); + } + function reject(value) { + resume("throw", value); + } + function settle(f, v) { + if (f(v), q.shift(), q.length) + resume(q[0][0], q[0][1]); + } + }; + __asyncDelegator2 = function(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function(e) { + throw e; + }), verb("return"), i[Symbol.iterator] = function() { + return this; + }, i; + function verb(n, f) { + i[n] = o[n] ? function(v) { + return (p = !p) ? { value: __await2(o[n](v)), done: n === "return" } : f ? f(v) : v; + } : f; + } + }; + __asyncValues2 = function(o) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values2 === "function" ? __values2(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function(v) { + return new Promise(function(resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); + }; + } + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function(v2) { + resolve({ value: v2, done: d }); + }, reject); + } + }; + __makeTemplateObject2 = function(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { value: raw }); + } else { + cooked.raw = raw; + } + return cooked; + }; + var __setModuleDefault = Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }; + __importStar2 = function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + __importDefault2 = function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + __classPrivateFieldGet2 = function(receiver, state, kind, f) { + if (kind === "a" && !f) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); + }; + __classPrivateFieldSet2 = function(receiver, state, value, kind, f) { + if (kind === "m") + throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; + }; + __classPrivateFieldIn2 = function(state, receiver) { + if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") + throw new TypeError("Cannot use 'in' operator on non-object"); + return typeof state === "function" ? receiver === state : state.has(receiver); + }; + exporter("__extends", __extends2); + exporter("__assign", __assign2); + exporter("__rest", __rest2); + exporter("__decorate", __decorate2); + exporter("__param", __param2); + exporter("__metadata", __metadata2); + exporter("__awaiter", __awaiter2); + exporter("__generator", __generator2); + exporter("__exportStar", __exportStar2); + exporter("__createBinding", __createBinding2); + exporter("__values", __values2); + exporter("__read", __read2); + exporter("__spread", __spread2); + exporter("__spreadArrays", __spreadArrays2); + exporter("__spreadArray", __spreadArray2); + exporter("__await", __await2); + exporter("__asyncGenerator", __asyncGenerator2); + exporter("__asyncDelegator", __asyncDelegator2); + exporter("__asyncValues", __asyncValues2); + exporter("__makeTemplateObject", __makeTemplateObject2); + exporter("__importStar", __importStar2); + exporter("__importDefault", __importDefault2); + exporter("__classPrivateFieldGet", __classPrivateFieldGet2); + exporter("__classPrivateFieldSet", __classPrivateFieldSet2); + exporter("__classPrivateFieldIn", __classPrivateFieldIn2); + }); + } +}); + +// node_modules/feather-icons/dist/feather.js +var require_feather = __commonJS({ + "node_modules/feather-icons/dist/feather.js"(exports, module2) { + (function webpackUniversalModuleDefinition(root, factory) { + if (typeof exports === "object" && typeof module2 === "object") + module2.exports = factory(); + else if (typeof define === "function" && define.amd) + define([], factory); + else if (typeof exports === "object") + exports["feather"] = factory(); + else + root["feather"] = factory(); + })(typeof self !== "undefined" ? self : exports, function() { + return function(modules) { + var installedModules = {}; + function __webpack_require__(moduleId) { + if (installedModules[moduleId]) { + return installedModules[moduleId].exports; + } + var module3 = installedModules[moduleId] = { + i: moduleId, + l: false, + exports: {} + }; + modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__); + module3.l = true; + return module3.exports; + } + __webpack_require__.m = modules; + __webpack_require__.c = installedModules; + __webpack_require__.d = function(exports2, name, getter) { + if (!__webpack_require__.o(exports2, name)) { + Object.defineProperty(exports2, name, { + configurable: false, + enumerable: true, + get: getter + }); + } + }; + __webpack_require__.r = function(exports2) { + Object.defineProperty(exports2, "__esModule", { value: true }); + }; + __webpack_require__.n = function(module3) { + var getter = module3 && module3.__esModule ? function getDefault() { + return module3["default"]; + } : function getModuleExports() { + return module3; + }; + __webpack_require__.d(getter, "a", getter); + return getter; + }; + __webpack_require__.o = function(object, property) { + return Object.prototype.hasOwnProperty.call(object, property); + }; + __webpack_require__.p = ""; + return __webpack_require__(__webpack_require__.s = 0); + }({ + "./dist/icons.json": function(module3) { + module3.exports = { "activity": '', "airplay": '', "alert-circle": '', "alert-octagon": '', "alert-triangle": '', "align-center": '', "align-justify": '', "align-left": '', "align-right": '', "anchor": '', "aperture": '', "archive": '', "arrow-down-circle": '', "arrow-down-left": '', "arrow-down-right": '', "arrow-down": '', "arrow-left-circle": '', "arrow-left": '', "arrow-right-circle": '', "arrow-right": '', "arrow-up-circle": '', "arrow-up-left": '', "arrow-up-right": '', "arrow-up": '', "at-sign": '', "award": '', "bar-chart-2": '', "bar-chart": '', "battery-charging": '', "battery": '', "bell-off": '', "bell": '', "bluetooth": '', "bold": '', "book-open": '', "book": '', "bookmark": '', "box": '', "briefcase": '', "calendar": '', "camera-off": '', "camera": '', "cast": '', "check-circle": '', "check-square": '', "check": '', "chevron-down": '', "chevron-left": '', "chevron-right": '', "chevron-up": '', "chevrons-down": '', "chevrons-left": '', "chevrons-right": '', "chevrons-up": '', "chrome": '', "circle": '', "clipboard": '', "clock": '', "cloud-drizzle": '', "cloud-lightning": '', "cloud-off": '', "cloud-rain": '', "cloud-snow": '', "cloud": '', "code": '', "codepen": '', "codesandbox": '', "coffee": '', "columns": '', "command": '', "compass": '', "copy": '', "corner-down-left": '', "corner-down-right": '', "corner-left-down": '', "corner-left-up": '', "corner-right-down": '', "corner-right-up": '', "corner-up-left": '', "corner-up-right": '', "cpu": '', "credit-card": '', "crop": '', "crosshair": '', "database": '', "delete": '', "disc": '', "divide-circle": '', "divide-square": '', "divide": '', "dollar-sign": '', "download-cloud": '', "download": '', "dribbble": '', "droplet": '', "edit-2": '', "edit-3": '', "edit": '', "external-link": '', "eye-off": '', "eye": '', "facebook": '', "fast-forward": '', "feather": '', "figma": '', "file-minus": '', "file-plus": '', "file-text": '', "file": '', "film": '', "filter": '', "flag": '', "folder-minus": '', "folder-plus": '', "folder": '', "framer": '', "frown": '', "gift": '', "git-branch": '', "git-commit": '', "git-merge": '', "git-pull-request": '', "github": '', "gitlab": '', "globe": '', "grid": '', "hard-drive": '', "hash": '', "headphones": '', "heart": '', "help-circle": '', "hexagon": '', "home": '', "image": '', "inbox": '', "info": '', "instagram": '', "italic": '', "key": '', "layers": '', "layout": '', "life-buoy": '', "link-2": '', "link": '', "linkedin": '', "list": '', "loader": '', "lock": '', "log-in": '', "log-out": '', "mail": '', "map-pin": '', "map": '', "maximize-2": '', "maximize": '', "meh": '', "menu": '', "message-circle": '', "message-square": '', "mic-off": '', "mic": '', "minimize-2": '', "minimize": '', "minus-circle": '', "minus-square": '', "minus": '', "monitor": '', "moon": '', "more-horizontal": '', "more-vertical": '', "mouse-pointer": '', "move": '', "music": '', "navigation-2": '', "navigation": '', "octagon": '', "package": '', "paperclip": '', "pause-circle": '', "pause": '', "pen-tool": '', "percent": '', "phone-call": '', "phone-forwarded": '', "phone-incoming": '', "phone-missed": '', "phone-off": '', "phone-outgoing": '', "phone": '', "pie-chart": '', "play-circle": '', "play": '', "plus-circle": '', "plus-square": '', "plus": '', "pocket": '', "power": '', "printer": '', "radio": '', "refresh-ccw": '', "refresh-cw": '', "repeat": '', "rewind": '', "rotate-ccw": '', "rotate-cw": '', "rss": '', "save": '', "scissors": '', "search": '', "send": '', "server": '', "settings": '', "share-2": '', "share": '', "shield-off": '', "shield": '', "shopping-bag": '', "shopping-cart": '', "shuffle": '', "sidebar": '', "skip-back": '', "skip-forward": '', "slack": '', "slash": '', "sliders": '', "smartphone": '', "smile": '', "speaker": '', "square": '', "star": '', "stop-circle": '', "sun": '', "sunrise": '', "sunset": '', "table": '', "tablet": '', "tag": '', "target": '', "terminal": '', "thermometer": '', "thumbs-down": '', "thumbs-up": '', "toggle-left": '', "toggle-right": '', "tool": '', "trash-2": '', "trash": '', "trello": '', "trending-down": '', "trending-up": '', "triangle": '', "truck": '', "tv": '', "twitch": '', "twitter": '', "type": '', "umbrella": '', "underline": '', "unlock": '', "upload-cloud": '', "upload": '', "user-check": '', "user-minus": '', "user-plus": '', "user-x": '', "user": '', "users": '', "video-off": '', "video": '', "voicemail": '', "volume-1": '', "volume-2": '', "volume-x": '', "volume": '', "watch": '', "wifi-off": '', "wifi": '', "wind": '', "x-circle": '', "x-octagon": '', "x-square": '', "x": '', "youtube": '', "zap-off": '', "zap": '', "zoom-in": '', "zoom-out": '' }; + }, + "./node_modules/classnames/dedupe.js": function(module3, exports2, __webpack_require__) { + var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; + (function() { + "use strict"; + var classNames = function() { + function StorageObject() { + } + StorageObject.prototype = Object.create(null); + function _parseArray(resultSet, array) { + var length = array.length; + for (var i = 0; i < length; ++i) { + _parse(resultSet, array[i]); + } + } + var hasOwn = {}.hasOwnProperty; + function _parseNumber(resultSet, num) { + resultSet[num] = true; + } + function _parseObject(resultSet, object) { + for (var k in object) { + if (hasOwn.call(object, k)) { + resultSet[k] = !!object[k]; + } + } + } + var SPACE = /\s+/; + function _parseString(resultSet, str) { + var array = str.split(SPACE); + var length = array.length; + for (var i = 0; i < length; ++i) { + resultSet[array[i]] = true; + } + } + function _parse(resultSet, arg) { + if (!arg) + return; + var argType = typeof arg; + if (argType === "string") { + _parseString(resultSet, arg); + } else if (Array.isArray(arg)) { + _parseArray(resultSet, arg); + } else if (argType === "object") { + _parseObject(resultSet, arg); + } else if (argType === "number") { + _parseNumber(resultSet, arg); + } + } + function _classNames() { + var len = arguments.length; + var args = Array(len); + for (var i = 0; i < len; i++) { + args[i] = arguments[i]; + } + var classSet = new StorageObject(); + _parseArray(classSet, args); + var list = []; + for (var k in classSet) { + if (classSet[k]) { + list.push(k); + } + } + return list.join(" "); + } + return _classNames; + }(); + if (typeof module3 !== "undefined" && module3.exports) { + module3.exports = classNames; + } else if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function() { + return classNames; + }.apply(exports2, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== void 0 && (module3.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else { + } + })(); + }, + "./node_modules/core-js/es/array/from.js": function(module3, exports2, __webpack_require__) { + __webpack_require__("./node_modules/core-js/modules/es.string.iterator.js"); + __webpack_require__("./node_modules/core-js/modules/es.array.from.js"); + var path3 = __webpack_require__("./node_modules/core-js/internals/path.js"); + module3.exports = path3.Array.from; + }, + "./node_modules/core-js/internals/a-function.js": function(module3, exports2) { + module3.exports = function(it) { + if (typeof it != "function") { + throw TypeError(String(it) + " is not a function"); + } + return it; + }; + }, + "./node_modules/core-js/internals/an-object.js": function(module3, exports2, __webpack_require__) { + var isObject = __webpack_require__("./node_modules/core-js/internals/is-object.js"); + module3.exports = function(it) { + if (!isObject(it)) { + throw TypeError(String(it) + " is not an object"); + } + return it; + }; + }, + "./node_modules/core-js/internals/array-from.js": function(module3, exports2, __webpack_require__) { + "use strict"; + var bind = __webpack_require__("./node_modules/core-js/internals/bind-context.js"); + var toObject = __webpack_require__("./node_modules/core-js/internals/to-object.js"); + var callWithSafeIterationClosing = __webpack_require__("./node_modules/core-js/internals/call-with-safe-iteration-closing.js"); + var isArrayIteratorMethod = __webpack_require__("./node_modules/core-js/internals/is-array-iterator-method.js"); + var toLength = __webpack_require__("./node_modules/core-js/internals/to-length.js"); + var createProperty = __webpack_require__("./node_modules/core-js/internals/create-property.js"); + var getIteratorMethod = __webpack_require__("./node_modules/core-js/internals/get-iterator-method.js"); + module3.exports = function from(arrayLike) { + var O = toObject(arrayLike); + var C = typeof this == "function" ? this : Array; + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : void 0; + var mapping = mapfn !== void 0; + var index = 0; + var iteratorMethod = getIteratorMethod(O); + var length, result, step, iterator; + if (mapping) + mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : void 0, 2); + if (iteratorMethod != void 0 && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { + iterator = iteratorMethod.call(O); + result = new C(); + for (; !(step = iterator.next()).done; index++) { + createProperty(result, index, mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value); + } + } else { + length = toLength(O.length); + result = new C(length); + for (; length > index; index++) { + createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); + } + } + result.length = index; + return result; + }; + }, + "./node_modules/core-js/internals/array-includes.js": function(module3, exports2, __webpack_require__) { + var toIndexedObject = __webpack_require__("./node_modules/core-js/internals/to-indexed-object.js"); + var toLength = __webpack_require__("./node_modules/core-js/internals/to-length.js"); + var toAbsoluteIndex = __webpack_require__("./node_modules/core-js/internals/to-absolute-index.js"); + module3.exports = function(IS_INCLUDES) { + return function($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + if (IS_INCLUDES && el != el) + while (length > index) { + value = O[index++]; + if (value != value) + return true; + } + else + for (; length > index; index++) + if (IS_INCLUDES || index in O) { + if (O[index] === el) + return IS_INCLUDES || index || 0; + } + return !IS_INCLUDES && -1; + }; + }; + }, + "./node_modules/core-js/internals/bind-context.js": function(module3, exports2, __webpack_require__) { + var aFunction = __webpack_require__("./node_modules/core-js/internals/a-function.js"); + module3.exports = function(fn, that, length) { + aFunction(fn); + if (that === void 0) + return fn; + switch (length) { + case 0: + return function() { + return fn.call(that); + }; + case 1: + return function(a) { + return fn.call(that, a); + }; + case 2: + return function(a, b) { + return fn.call(that, a, b); + }; + case 3: + return function(a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function() { + return fn.apply(that, arguments); + }; + }; + }, + "./node_modules/core-js/internals/call-with-safe-iteration-closing.js": function(module3, exports2, __webpack_require__) { + var anObject = __webpack_require__("./node_modules/core-js/internals/an-object.js"); + module3.exports = function(iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + } catch (error) { + var returnMethod = iterator["return"]; + if (returnMethod !== void 0) + anObject(returnMethod.call(iterator)); + throw error; + } + }; + }, + "./node_modules/core-js/internals/check-correctness-of-iteration.js": function(module3, exports2, __webpack_require__) { + var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); + var ITERATOR = wellKnownSymbol("iterator"); + var SAFE_CLOSING = false; + try { + var called = 0; + var iteratorWithReturn = { + next: function() { + return { done: !!called++ }; + }, + "return": function() { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function() { + return this; + }; + Array.from(iteratorWithReturn, function() { + throw 2; + }); + } catch (error) { + } + module3.exports = function(exec, SKIP_CLOSING) { + if (!SKIP_CLOSING && !SAFE_CLOSING) + return false; + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function() { + return { + next: function() { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { + } + return ITERATION_SUPPORT; + }; + }, + "./node_modules/core-js/internals/classof-raw.js": function(module3, exports2) { + var toString = {}.toString; + module3.exports = function(it) { + return toString.call(it).slice(8, -1); + }; + }, + "./node_modules/core-js/internals/classof.js": function(module3, exports2, __webpack_require__) { + var classofRaw = __webpack_require__("./node_modules/core-js/internals/classof-raw.js"); + var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); + var TO_STRING_TAG = wellKnownSymbol("toStringTag"); + var CORRECT_ARGUMENTS = classofRaw(function() { + return arguments; + }()) == "Arguments"; + var tryGet = function(it, key2) { + try { + return it[key2]; + } catch (error) { + } + }; + module3.exports = function(it) { + var O, tag, result; + return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == "string" ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == "Object" && typeof O.callee == "function" ? "Arguments" : result; + }; + }, + "./node_modules/core-js/internals/copy-constructor-properties.js": function(module3, exports2, __webpack_require__) { + var has = __webpack_require__("./node_modules/core-js/internals/has.js"); + var ownKeys = __webpack_require__("./node_modules/core-js/internals/own-keys.js"); + var getOwnPropertyDescriptorModule = __webpack_require__("./node_modules/core-js/internals/object-get-own-property-descriptor.js"); + var definePropertyModule = __webpack_require__("./node_modules/core-js/internals/object-define-property.js"); + module3.exports = function(target, source) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key2 = keys[i]; + if (!has(target, key2)) + defineProperty(target, key2, getOwnPropertyDescriptor(source, key2)); + } + }; + }, + "./node_modules/core-js/internals/correct-prototype-getter.js": function(module3, exports2, __webpack_require__) { + var fails = __webpack_require__("./node_modules/core-js/internals/fails.js"); + module3.exports = !fails(function() { + function F() { + } + F.prototype.constructor = null; + return Object.getPrototypeOf(new F()) !== F.prototype; + }); + }, + "./node_modules/core-js/internals/create-iterator-constructor.js": function(module3, exports2, __webpack_require__) { + "use strict"; + var IteratorPrototype = __webpack_require__("./node_modules/core-js/internals/iterators-core.js").IteratorPrototype; + var create = __webpack_require__("./node_modules/core-js/internals/object-create.js"); + var createPropertyDescriptor = __webpack_require__("./node_modules/core-js/internals/create-property-descriptor.js"); + var setToStringTag = __webpack_require__("./node_modules/core-js/internals/set-to-string-tag.js"); + var Iterators = __webpack_require__("./node_modules/core-js/internals/iterators.js"); + var returnThis = function() { + return this; + }; + module3.exports = function(IteratorConstructor, NAME, next) { + var TO_STRING_TAG = NAME + " Iterator"; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; + }; + }, + "./node_modules/core-js/internals/create-property-descriptor.js": function(module3, exports2) { + module3.exports = function(bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value + }; + }; + }, + "./node_modules/core-js/internals/create-property.js": function(module3, exports2, __webpack_require__) { + "use strict"; + var toPrimitive = __webpack_require__("./node_modules/core-js/internals/to-primitive.js"); + var definePropertyModule = __webpack_require__("./node_modules/core-js/internals/object-define-property.js"); + var createPropertyDescriptor = __webpack_require__("./node_modules/core-js/internals/create-property-descriptor.js"); + module3.exports = function(object, key2, value) { + var propertyKey = toPrimitive(key2); + if (propertyKey in object) + definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else + object[propertyKey] = value; + }; + }, + "./node_modules/core-js/internals/define-iterator.js": function(module3, exports2, __webpack_require__) { + "use strict"; + var $ = __webpack_require__("./node_modules/core-js/internals/export.js"); + var createIteratorConstructor = __webpack_require__("./node_modules/core-js/internals/create-iterator-constructor.js"); + var getPrototypeOf = __webpack_require__("./node_modules/core-js/internals/object-get-prototype-of.js"); + var setPrototypeOf = __webpack_require__("./node_modules/core-js/internals/object-set-prototype-of.js"); + var setToStringTag = __webpack_require__("./node_modules/core-js/internals/set-to-string-tag.js"); + var hide = __webpack_require__("./node_modules/core-js/internals/hide.js"); + var redefine = __webpack_require__("./node_modules/core-js/internals/redefine.js"); + var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); + var IS_PURE = __webpack_require__("./node_modules/core-js/internals/is-pure.js"); + var Iterators = __webpack_require__("./node_modules/core-js/internals/iterators.js"); + var IteratorsCore = __webpack_require__("./node_modules/core-js/internals/iterators-core.js"); + var IteratorPrototype = IteratorsCore.IteratorPrototype; + var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; + var ITERATOR = wellKnownSymbol("iterator"); + var KEYS = "keys"; + var VALUES = "values"; + var ENTRIES = "entries"; + var returnThis = function() { + return this; + }; + module3.exports = function(Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + var getIterationMethod = function(KIND) { + if (KIND === DEFAULT && defaultIterator) + return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) + return IterablePrototype[KIND]; + switch (KIND) { + case KEYS: + return function keys() { + return new IteratorConstructor(this, KIND); + }; + case VALUES: + return function values() { + return new IteratorConstructor(this, KIND); + }; + case ENTRIES: + return function entries() { + return new IteratorConstructor(this, KIND); + }; + } + return function() { + return new IteratorConstructor(this); + }; + }; + var TO_STRING_TAG = NAME + " Iterator"; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype["@@iterator"] || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME == "Array" ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (typeof CurrentIteratorPrototype[ITERATOR] != "function") { + hide(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) + Iterators[TO_STRING_TAG] = returnThis; + } + } + if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { + return nativeIterator.call(this); + }; + } + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + hide(IterablePrototype, ITERATOR, defaultIterator); + } + Iterators[NAME] = defaultIterator; + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) + for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + redefine(IterablePrototype, KEY, methods[KEY]); + } + } + else + $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + return methods; + }; + }, + "./node_modules/core-js/internals/descriptors.js": function(module3, exports2, __webpack_require__) { + var fails = __webpack_require__("./node_modules/core-js/internals/fails.js"); + module3.exports = !fails(function() { + return Object.defineProperty({}, "a", { get: function() { + return 7; + } }).a != 7; + }); + }, + "./node_modules/core-js/internals/document-create-element.js": function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); + var isObject = __webpack_require__("./node_modules/core-js/internals/is-object.js"); + var document2 = global2.document; + var exist = isObject(document2) && isObject(document2.createElement); + module3.exports = function(it) { + return exist ? document2.createElement(it) : {}; + }; + }, + "./node_modules/core-js/internals/enum-bug-keys.js": function(module3, exports2) { + module3.exports = [ + "constructor", + "hasOwnProperty", + "isPrototypeOf", + "propertyIsEnumerable", + "toLocaleString", + "toString", + "valueOf" + ]; + }, + "./node_modules/core-js/internals/export.js": function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); + var getOwnPropertyDescriptor = __webpack_require__("./node_modules/core-js/internals/object-get-own-property-descriptor.js").f; + var hide = __webpack_require__("./node_modules/core-js/internals/hide.js"); + var redefine = __webpack_require__("./node_modules/core-js/internals/redefine.js"); + var setGlobal = __webpack_require__("./node_modules/core-js/internals/set-global.js"); + var copyConstructorProperties = __webpack_require__("./node_modules/core-js/internals/copy-constructor-properties.js"); + var isForced = __webpack_require__("./node_modules/core-js/internals/is-forced.js"); + module3.exports = function(options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key2, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global2; + } else if (STATIC) { + target = global2[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global2[TARGET] || {}).prototype; + } + if (target) + for (key2 in source) { + sourceProperty = source[key2]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key2); + targetProperty = descriptor && descriptor.value; + } else + targetProperty = target[key2]; + FORCED = isForced(GLOBAL ? key2 : TARGET + (STATIC ? "." : "#") + key2, options.forced); + if (!FORCED && targetProperty !== void 0) { + if (typeof sourceProperty === typeof targetProperty) + continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + if (options.sham || targetProperty && targetProperty.sham) { + hide(sourceProperty, "sham", true); + } + redefine(target, key2, sourceProperty, options); + } + }; + }, + "./node_modules/core-js/internals/fails.js": function(module3, exports2) { + module3.exports = function(exec) { + try { + return !!exec(); + } catch (error) { + return true; + } + }; + }, + "./node_modules/core-js/internals/function-to-string.js": function(module3, exports2, __webpack_require__) { + var shared = __webpack_require__("./node_modules/core-js/internals/shared.js"); + module3.exports = shared("native-function-to-string", Function.toString); + }, + "./node_modules/core-js/internals/get-iterator-method.js": function(module3, exports2, __webpack_require__) { + var classof = __webpack_require__("./node_modules/core-js/internals/classof.js"); + var Iterators = __webpack_require__("./node_modules/core-js/internals/iterators.js"); + var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); + var ITERATOR = wellKnownSymbol("iterator"); + module3.exports = function(it) { + if (it != void 0) + return it[ITERATOR] || it["@@iterator"] || Iterators[classof(it)]; + }; + }, + "./node_modules/core-js/internals/global.js": function(module3, exports2, __webpack_require__) { + (function(global2) { + var O = "object"; + var check = function(it) { + return it && it.Math == Math && it; + }; + module3.exports = check(typeof globalThis == O && globalThis) || check(typeof window == O && window) || check(typeof self == O && self) || check(typeof global2 == O && global2) || Function("return this")(); + }).call(this, __webpack_require__("./node_modules/webpack/buildin/global.js")); + }, + "./node_modules/core-js/internals/has.js": function(module3, exports2) { + var hasOwnProperty = {}.hasOwnProperty; + module3.exports = function(it, key2) { + return hasOwnProperty.call(it, key2); + }; + }, + "./node_modules/core-js/internals/hidden-keys.js": function(module3, exports2) { + module3.exports = {}; + }, + "./node_modules/core-js/internals/hide.js": function(module3, exports2, __webpack_require__) { + var DESCRIPTORS = __webpack_require__("./node_modules/core-js/internals/descriptors.js"); + var definePropertyModule = __webpack_require__("./node_modules/core-js/internals/object-define-property.js"); + var createPropertyDescriptor = __webpack_require__("./node_modules/core-js/internals/create-property-descriptor.js"); + module3.exports = DESCRIPTORS ? function(object, key2, value) { + return definePropertyModule.f(object, key2, createPropertyDescriptor(1, value)); + } : function(object, key2, value) { + object[key2] = value; + return object; + }; + }, + "./node_modules/core-js/internals/html.js": function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); + var document2 = global2.document; + module3.exports = document2 && document2.documentElement; + }, + "./node_modules/core-js/internals/ie8-dom-define.js": function(module3, exports2, __webpack_require__) { + var DESCRIPTORS = __webpack_require__("./node_modules/core-js/internals/descriptors.js"); + var fails = __webpack_require__("./node_modules/core-js/internals/fails.js"); + var createElement = __webpack_require__("./node_modules/core-js/internals/document-create-element.js"); + module3.exports = !DESCRIPTORS && !fails(function() { + return Object.defineProperty(createElement("div"), "a", { + get: function() { + return 7; + } + }).a != 7; + }); + }, + "./node_modules/core-js/internals/indexed-object.js": function(module3, exports2, __webpack_require__) { + var fails = __webpack_require__("./node_modules/core-js/internals/fails.js"); + var classof = __webpack_require__("./node_modules/core-js/internals/classof-raw.js"); + var split = "".split; + module3.exports = fails(function() { + return !Object("z").propertyIsEnumerable(0); + }) ? function(it) { + return classof(it) == "String" ? split.call(it, "") : Object(it); + } : Object; + }, + "./node_modules/core-js/internals/internal-state.js": function(module3, exports2, __webpack_require__) { + var NATIVE_WEAK_MAP = __webpack_require__("./node_modules/core-js/internals/native-weak-map.js"); + var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); + var isObject = __webpack_require__("./node_modules/core-js/internals/is-object.js"); + var hide = __webpack_require__("./node_modules/core-js/internals/hide.js"); + var objectHas = __webpack_require__("./node_modules/core-js/internals/has.js"); + var sharedKey = __webpack_require__("./node_modules/core-js/internals/shared-key.js"); + var hiddenKeys = __webpack_require__("./node_modules/core-js/internals/hidden-keys.js"); + var WeakMap2 = global2.WeakMap; + var set, get, has; + var enforce = function(it) { + return has(it) ? get(it) : set(it, {}); + }; + var getterFor = function(TYPE) { + return function(it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError("Incompatible receiver, " + TYPE + " required"); + } + return state; + }; + }; + if (NATIVE_WEAK_MAP) { + var store = new WeakMap2(); + var wmget = store.get; + var wmhas = store.has; + var wmset = store.set; + set = function(it, metadata) { + wmset.call(store, it, metadata); + return metadata; + }; + get = function(it) { + return wmget.call(store, it) || {}; + }; + has = function(it) { + return wmhas.call(store, it); + }; + } else { + var STATE = sharedKey("state"); + hiddenKeys[STATE] = true; + set = function(it, metadata) { + hide(it, STATE, metadata); + return metadata; + }; + get = function(it) { + return objectHas(it, STATE) ? it[STATE] : {}; + }; + has = function(it) { + return objectHas(it, STATE); + }; + } + module3.exports = { + set, + get, + has, + enforce, + getterFor + }; + }, + "./node_modules/core-js/internals/is-array-iterator-method.js": function(module3, exports2, __webpack_require__) { + var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); + var Iterators = __webpack_require__("./node_modules/core-js/internals/iterators.js"); + var ITERATOR = wellKnownSymbol("iterator"); + var ArrayPrototype = Array.prototype; + module3.exports = function(it) { + return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); + }; + }, + "./node_modules/core-js/internals/is-forced.js": function(module3, exports2, __webpack_require__) { + var fails = __webpack_require__("./node_modules/core-js/internals/fails.js"); + var replacement = /#|\.prototype\./; + var isForced = function(feature, detection) { + var value = data[normalize2(feature)]; + return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == "function" ? fails(detection) : !!detection; + }; + var normalize2 = isForced.normalize = function(string) { + return String(string).replace(replacement, ".").toLowerCase(); + }; + var data = isForced.data = {}; + var NATIVE = isForced.NATIVE = "N"; + var POLYFILL = isForced.POLYFILL = "P"; + module3.exports = isForced; + }, + "./node_modules/core-js/internals/is-object.js": function(module3, exports2) { + module3.exports = function(it) { + return typeof it === "object" ? it !== null : typeof it === "function"; + }; + }, + "./node_modules/core-js/internals/is-pure.js": function(module3, exports2) { + module3.exports = false; + }, + "./node_modules/core-js/internals/iterators-core.js": function(module3, exports2, __webpack_require__) { + "use strict"; + var getPrototypeOf = __webpack_require__("./node_modules/core-js/internals/object-get-prototype-of.js"); + var hide = __webpack_require__("./node_modules/core-js/internals/hide.js"); + var has = __webpack_require__("./node_modules/core-js/internals/has.js"); + var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); + var IS_PURE = __webpack_require__("./node_modules/core-js/internals/is-pure.js"); + var ITERATOR = wellKnownSymbol("iterator"); + var BUGGY_SAFARI_ITERATORS = false; + var returnThis = function() { + return this; + }; + var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + if ([].keys) { + arrayIterator = [].keys(); + if (!("next" in arrayIterator)) + BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) + IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } + } + if (IteratorPrototype == void 0) + IteratorPrototype = {}; + if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) + hide(IteratorPrototype, ITERATOR, returnThis); + module3.exports = { + IteratorPrototype, + BUGGY_SAFARI_ITERATORS + }; + }, + "./node_modules/core-js/internals/iterators.js": function(module3, exports2) { + module3.exports = {}; + }, + "./node_modules/core-js/internals/native-symbol.js": function(module3, exports2, __webpack_require__) { + var fails = __webpack_require__("./node_modules/core-js/internals/fails.js"); + module3.exports = !!Object.getOwnPropertySymbols && !fails(function() { + return !String(Symbol()); + }); + }, + "./node_modules/core-js/internals/native-weak-map.js": function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); + var nativeFunctionToString = __webpack_require__("./node_modules/core-js/internals/function-to-string.js"); + var WeakMap2 = global2.WeakMap; + module3.exports = typeof WeakMap2 === "function" && /native code/.test(nativeFunctionToString.call(WeakMap2)); + }, + "./node_modules/core-js/internals/object-create.js": function(module3, exports2, __webpack_require__) { + var anObject = __webpack_require__("./node_modules/core-js/internals/an-object.js"); + var defineProperties = __webpack_require__("./node_modules/core-js/internals/object-define-properties.js"); + var enumBugKeys = __webpack_require__("./node_modules/core-js/internals/enum-bug-keys.js"); + var hiddenKeys = __webpack_require__("./node_modules/core-js/internals/hidden-keys.js"); + var html2 = __webpack_require__("./node_modules/core-js/internals/html.js"); + var documentCreateElement = __webpack_require__("./node_modules/core-js/internals/document-create-element.js"); + var sharedKey = __webpack_require__("./node_modules/core-js/internals/shared-key.js"); + var IE_PROTO = sharedKey("IE_PROTO"); + var PROTOTYPE = "prototype"; + var Empty = function() { + }; + var createDict = function() { + var iframe = documentCreateElement("iframe"); + var length = enumBugKeys.length; + var lt = "<"; + var script = "script"; + var gt = ">"; + var js = "java" + script + ":"; + var iframeDocument; + iframe.style.display = "none"; + html2.appendChild(iframe); + iframe.src = String(js); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + script + gt + "document.F=Object" + lt + "/" + script + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (length--) + delete createDict[PROTOTYPE][enumBugKeys[length]]; + return createDict(); + }; + module3.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + result[IE_PROTO] = O; + } else + result = createDict(); + return Properties === void 0 ? result : defineProperties(result, Properties); + }; + hiddenKeys[IE_PROTO] = true; + }, + "./node_modules/core-js/internals/object-define-properties.js": function(module3, exports2, __webpack_require__) { + var DESCRIPTORS = __webpack_require__("./node_modules/core-js/internals/descriptors.js"); + var definePropertyModule = __webpack_require__("./node_modules/core-js/internals/object-define-property.js"); + var anObject = __webpack_require__("./node_modules/core-js/internals/an-object.js"); + var objectKeys = __webpack_require__("./node_modules/core-js/internals/object-keys.js"); + module3.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = objectKeys(Properties); + var length = keys.length; + var i = 0; + var key2; + while (length > i) + definePropertyModule.f(O, key2 = keys[i++], Properties[key2]); + return O; + }; + }, + "./node_modules/core-js/internals/object-define-property.js": function(module3, exports2, __webpack_require__) { + var DESCRIPTORS = __webpack_require__("./node_modules/core-js/internals/descriptors.js"); + var IE8_DOM_DEFINE = __webpack_require__("./node_modules/core-js/internals/ie8-dom-define.js"); + var anObject = __webpack_require__("./node_modules/core-js/internals/an-object.js"); + var toPrimitive = __webpack_require__("./node_modules/core-js/internals/to-primitive.js"); + var nativeDefineProperty = Object.defineProperty; + exports2.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) + try { + return nativeDefineProperty(O, P, Attributes); + } catch (error) { + } + if ("get" in Attributes || "set" in Attributes) + throw TypeError("Accessors not supported"); + if ("value" in Attributes) + O[P] = Attributes.value; + return O; + }; + }, + "./node_modules/core-js/internals/object-get-own-property-descriptor.js": function(module3, exports2, __webpack_require__) { + var DESCRIPTORS = __webpack_require__("./node_modules/core-js/internals/descriptors.js"); + var propertyIsEnumerableModule = __webpack_require__("./node_modules/core-js/internals/object-property-is-enumerable.js"); + var createPropertyDescriptor = __webpack_require__("./node_modules/core-js/internals/create-property-descriptor.js"); + var toIndexedObject = __webpack_require__("./node_modules/core-js/internals/to-indexed-object.js"); + var toPrimitive = __webpack_require__("./node_modules/core-js/internals/to-primitive.js"); + var has = __webpack_require__("./node_modules/core-js/internals/has.js"); + var IE8_DOM_DEFINE = __webpack_require__("./node_modules/core-js/internals/ie8-dom-define.js"); + var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + exports2.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) + try { + return nativeGetOwnPropertyDescriptor(O, P); + } catch (error) { + } + if (has(O, P)) + return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); + }; + }, + "./node_modules/core-js/internals/object-get-own-property-names.js": function(module3, exports2, __webpack_require__) { + var internalObjectKeys = __webpack_require__("./node_modules/core-js/internals/object-keys-internal.js"); + var enumBugKeys = __webpack_require__("./node_modules/core-js/internals/enum-bug-keys.js"); + var hiddenKeys = enumBugKeys.concat("length", "prototype"); + exports2.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); + }; + }, + "./node_modules/core-js/internals/object-get-own-property-symbols.js": function(module3, exports2) { + exports2.f = Object.getOwnPropertySymbols; + }, + "./node_modules/core-js/internals/object-get-prototype-of.js": function(module3, exports2, __webpack_require__) { + var has = __webpack_require__("./node_modules/core-js/internals/has.js"); + var toObject = __webpack_require__("./node_modules/core-js/internals/to-object.js"); + var sharedKey = __webpack_require__("./node_modules/core-js/internals/shared-key.js"); + var CORRECT_PROTOTYPE_GETTER = __webpack_require__("./node_modules/core-js/internals/correct-prototype-getter.js"); + var IE_PROTO = sharedKey("IE_PROTO"); + var ObjectPrototype = Object.prototype; + module3.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function(O) { + O = toObject(O); + if (has(O, IE_PROTO)) + return O[IE_PROTO]; + if (typeof O.constructor == "function" && O instanceof O.constructor) { + return O.constructor.prototype; + } + return O instanceof Object ? ObjectPrototype : null; + }; + }, + "./node_modules/core-js/internals/object-keys-internal.js": function(module3, exports2, __webpack_require__) { + var has = __webpack_require__("./node_modules/core-js/internals/has.js"); + var toIndexedObject = __webpack_require__("./node_modules/core-js/internals/to-indexed-object.js"); + var arrayIncludes = __webpack_require__("./node_modules/core-js/internals/array-includes.js"); + var hiddenKeys = __webpack_require__("./node_modules/core-js/internals/hidden-keys.js"); + var arrayIndexOf = arrayIncludes(false); + module3.exports = function(object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key2; + for (key2 in O) + !has(hiddenKeys, key2) && has(O, key2) && result.push(key2); + while (names.length > i) + if (has(O, key2 = names[i++])) { + ~arrayIndexOf(result, key2) || result.push(key2); + } + return result; + }; + }, + "./node_modules/core-js/internals/object-keys.js": function(module3, exports2, __webpack_require__) { + var internalObjectKeys = __webpack_require__("./node_modules/core-js/internals/object-keys-internal.js"); + var enumBugKeys = __webpack_require__("./node_modules/core-js/internals/enum-bug-keys.js"); + module3.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); + }; + }, + "./node_modules/core-js/internals/object-property-is-enumerable.js": function(module3, exports2, __webpack_require__) { + "use strict"; + var nativePropertyIsEnumerable = {}.propertyIsEnumerable; + var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); + exports2.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; + } : nativePropertyIsEnumerable; + }, + "./node_modules/core-js/internals/object-set-prototype-of.js": function(module3, exports2, __webpack_require__) { + var validateSetPrototypeOfArguments = __webpack_require__("./node_modules/core-js/internals/validate-set-prototype-of-arguments.js"); + module3.exports = Object.setPrototypeOf || ("__proto__" in {} ? function() { + var correctSetter = false; + var test = {}; + var setter; + try { + setter = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set; + setter.call(test, []); + correctSetter = test instanceof Array; + } catch (error) { + } + return function setPrototypeOf(O, proto) { + validateSetPrototypeOfArguments(O, proto); + if (correctSetter) + setter.call(O, proto); + else + O.__proto__ = proto; + return O; + }; + }() : void 0); + }, + "./node_modules/core-js/internals/own-keys.js": function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); + var getOwnPropertyNamesModule = __webpack_require__("./node_modules/core-js/internals/object-get-own-property-names.js"); + var getOwnPropertySymbolsModule = __webpack_require__("./node_modules/core-js/internals/object-get-own-property-symbols.js"); + var anObject = __webpack_require__("./node_modules/core-js/internals/an-object.js"); + var Reflect2 = global2.Reflect; + module3.exports = Reflect2 && Reflect2.ownKeys || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; + }; + }, + "./node_modules/core-js/internals/path.js": function(module3, exports2, __webpack_require__) { + module3.exports = __webpack_require__("./node_modules/core-js/internals/global.js"); + }, + "./node_modules/core-js/internals/redefine.js": function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); + var shared = __webpack_require__("./node_modules/core-js/internals/shared.js"); + var hide = __webpack_require__("./node_modules/core-js/internals/hide.js"); + var has = __webpack_require__("./node_modules/core-js/internals/has.js"); + var setGlobal = __webpack_require__("./node_modules/core-js/internals/set-global.js"); + var nativeFunctionToString = __webpack_require__("./node_modules/core-js/internals/function-to-string.js"); + var InternalStateModule = __webpack_require__("./node_modules/core-js/internals/internal-state.js"); + var getInternalState = InternalStateModule.get; + var enforceInternalState = InternalStateModule.enforce; + var TEMPLATE = String(nativeFunctionToString).split("toString"); + shared("inspectSource", function(it) { + return nativeFunctionToString.call(it); + }); + (module3.exports = function(O, key2, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + if (typeof value == "function") { + if (typeof key2 == "string" && !has(value, "name")) + hide(value, "name", key2); + enforceInternalState(value).source = TEMPLATE.join(typeof key2 == "string" ? key2 : ""); + } + if (O === global2) { + if (simple) + O[key2] = value; + else + setGlobal(key2, value); + return; + } else if (!unsafe) { + delete O[key2]; + } else if (!noTargetGet && O[key2]) { + simple = true; + } + if (simple) + O[key2] = value; + else + hide(O, key2, value); + })(Function.prototype, "toString", function toString() { + return typeof this == "function" && getInternalState(this).source || nativeFunctionToString.call(this); + }); + }, + "./node_modules/core-js/internals/require-object-coercible.js": function(module3, exports2) { + module3.exports = function(it) { + if (it == void 0) + throw TypeError("Can't call method on " + it); + return it; + }; + }, + "./node_modules/core-js/internals/set-global.js": function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); + var hide = __webpack_require__("./node_modules/core-js/internals/hide.js"); + module3.exports = function(key2, value) { + try { + hide(global2, key2, value); + } catch (error) { + global2[key2] = value; + } + return value; + }; + }, + "./node_modules/core-js/internals/set-to-string-tag.js": function(module3, exports2, __webpack_require__) { + var defineProperty = __webpack_require__("./node_modules/core-js/internals/object-define-property.js").f; + var has = __webpack_require__("./node_modules/core-js/internals/has.js"); + var wellKnownSymbol = __webpack_require__("./node_modules/core-js/internals/well-known-symbol.js"); + var TO_STRING_TAG = wellKnownSymbol("toStringTag"); + module3.exports = function(it, TAG, STATIC) { + if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { + defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); + } + }; + }, + "./node_modules/core-js/internals/shared-key.js": function(module3, exports2, __webpack_require__) { + var shared = __webpack_require__("./node_modules/core-js/internals/shared.js"); + var uid = __webpack_require__("./node_modules/core-js/internals/uid.js"); + var keys = shared("keys"); + module3.exports = function(key2) { + return keys[key2] || (keys[key2] = uid(key2)); + }; + }, + "./node_modules/core-js/internals/shared.js": function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); + var setGlobal = __webpack_require__("./node_modules/core-js/internals/set-global.js"); + var IS_PURE = __webpack_require__("./node_modules/core-js/internals/is-pure.js"); + var SHARED = "__core-js_shared__"; + var store = global2[SHARED] || setGlobal(SHARED, {}); + (module3.exports = function(key2, value) { + return store[key2] || (store[key2] = value !== void 0 ? value : {}); + })("versions", []).push({ + version: "3.1.3", + mode: IS_PURE ? "pure" : "global", + copyright: "\xA9 2019 Denis Pushkarev (zloirock.ru)" + }); + }, + "./node_modules/core-js/internals/string-at.js": function(module3, exports2, __webpack_require__) { + var toInteger = __webpack_require__("./node_modules/core-js/internals/to-integer.js"); + var requireObjectCoercible = __webpack_require__("./node_modules/core-js/internals/require-object-coercible.js"); + module3.exports = function(that, pos, CONVERT_TO_STRING) { + var S = String(requireObjectCoercible(that)); + var position = toInteger(pos); + var size = S.length; + var first2, second; + if (position < 0 || position >= size) + return CONVERT_TO_STRING ? "" : void 0; + first2 = S.charCodeAt(position); + return first2 < 55296 || first2 > 56319 || position + 1 === size || (second = S.charCodeAt(position + 1)) < 56320 || second > 57343 ? CONVERT_TO_STRING ? S.charAt(position) : first2 : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first2 - 55296 << 10) + (second - 56320) + 65536; + }; + }, + "./node_modules/core-js/internals/to-absolute-index.js": function(module3, exports2, __webpack_require__) { + var toInteger = __webpack_require__("./node_modules/core-js/internals/to-integer.js"); + var max = Math.max; + var min = Math.min; + module3.exports = function(index, length) { + var integer = toInteger(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); + }; + }, + "./node_modules/core-js/internals/to-indexed-object.js": function(module3, exports2, __webpack_require__) { + var IndexedObject = __webpack_require__("./node_modules/core-js/internals/indexed-object.js"); + var requireObjectCoercible = __webpack_require__("./node_modules/core-js/internals/require-object-coercible.js"); + module3.exports = function(it) { + return IndexedObject(requireObjectCoercible(it)); + }; + }, + "./node_modules/core-js/internals/to-integer.js": function(module3, exports2) { + var ceil = Math.ceil; + var floor = Math.floor; + module3.exports = function(argument) { + return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); + }; + }, + "./node_modules/core-js/internals/to-length.js": function(module3, exports2, __webpack_require__) { + var toInteger = __webpack_require__("./node_modules/core-js/internals/to-integer.js"); + var min = Math.min; + module3.exports = function(argument) { + return argument > 0 ? min(toInteger(argument), 9007199254740991) : 0; + }; + }, + "./node_modules/core-js/internals/to-object.js": function(module3, exports2, __webpack_require__) { + var requireObjectCoercible = __webpack_require__("./node_modules/core-js/internals/require-object-coercible.js"); + module3.exports = function(argument) { + return Object(requireObjectCoercible(argument)); + }; + }, + "./node_modules/core-js/internals/to-primitive.js": function(module3, exports2, __webpack_require__) { + var isObject = __webpack_require__("./node_modules/core-js/internals/is-object.js"); + module3.exports = function(it, S) { + if (!isObject(it)) + return it; + var fn, val; + if (S && typeof (fn = it.toString) == "function" && !isObject(val = fn.call(it))) + return val; + if (typeof (fn = it.valueOf) == "function" && !isObject(val = fn.call(it))) + return val; + if (!S && typeof (fn = it.toString) == "function" && !isObject(val = fn.call(it))) + return val; + throw TypeError("Can't convert object to primitive value"); + }; + }, + "./node_modules/core-js/internals/uid.js": function(module3, exports2) { + var id = 0; + var postfix = Math.random(); + module3.exports = function(key2) { + return "Symbol(".concat(key2 === void 0 ? "" : key2, ")_", (++id + postfix).toString(36)); + }; + }, + "./node_modules/core-js/internals/validate-set-prototype-of-arguments.js": function(module3, exports2, __webpack_require__) { + var isObject = __webpack_require__("./node_modules/core-js/internals/is-object.js"); + var anObject = __webpack_require__("./node_modules/core-js/internals/an-object.js"); + module3.exports = function(O, proto) { + anObject(O); + if (!isObject(proto) && proto !== null) { + throw TypeError("Can't set " + String(proto) + " as a prototype"); + } + }; + }, + "./node_modules/core-js/internals/well-known-symbol.js": function(module3, exports2, __webpack_require__) { + var global2 = __webpack_require__("./node_modules/core-js/internals/global.js"); + var shared = __webpack_require__("./node_modules/core-js/internals/shared.js"); + var uid = __webpack_require__("./node_modules/core-js/internals/uid.js"); + var NATIVE_SYMBOL = __webpack_require__("./node_modules/core-js/internals/native-symbol.js"); + var Symbol2 = global2.Symbol; + var store = shared("wks"); + module3.exports = function(name) { + return store[name] || (store[name] = NATIVE_SYMBOL && Symbol2[name] || (NATIVE_SYMBOL ? Symbol2 : uid)("Symbol." + name)); + }; + }, + "./node_modules/core-js/modules/es.array.from.js": function(module3, exports2, __webpack_require__) { + var $ = __webpack_require__("./node_modules/core-js/internals/export.js"); + var from = __webpack_require__("./node_modules/core-js/internals/array-from.js"); + var checkCorrectnessOfIteration = __webpack_require__("./node_modules/core-js/internals/check-correctness-of-iteration.js"); + var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function(iterable) { + Array.from(iterable); + }); + $({ target: "Array", stat: true, forced: INCORRECT_ITERATION }, { + from + }); + }, + "./node_modules/core-js/modules/es.string.iterator.js": function(module3, exports2, __webpack_require__) { + "use strict"; + var codePointAt = __webpack_require__("./node_modules/core-js/internals/string-at.js"); + var InternalStateModule = __webpack_require__("./node_modules/core-js/internals/internal-state.js"); + var defineIterator = __webpack_require__("./node_modules/core-js/internals/define-iterator.js"); + var STRING_ITERATOR = "String Iterator"; + var setInternalState = InternalStateModule.set; + var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + defineIterator(String, "String", function(iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: String(iterated), + index: 0 + }); + }, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) + return { value: void 0, done: true }; + point = codePointAt(string, index, true); + state.index += point.length; + return { value: point, done: false }; + }); + }, + "./node_modules/webpack/buildin/global.js": function(module3, exports2) { + var g; + g = function() { + return this; + }(); + try { + g = g || Function("return this")() || (1, eval)("this"); + } catch (e) { + if (typeof window === "object") + g = window; + } + module3.exports = g; + }, + "./src/default-attrs.json": function(module3) { + module3.exports = { "xmlns": "http://www.w3.org/2000/svg", "width": 24, "height": 24, "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "stroke-width": 2, "stroke-linecap": "round", "stroke-linejoin": "round" }; + }, + "./src/icon.js": function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + var _extends = Object.assign || function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key2 in source) { + if (Object.prototype.hasOwnProperty.call(source, key2)) { + target[key2] = source[key2]; + } + } + } + return target; + }; + var _createClass = function() { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) + descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + return function(Constructor, protoProps, staticProps) { + if (protoProps) + defineProperties(Constructor.prototype, protoProps); + if (staticProps) + defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + var _dedupe = __webpack_require__("./node_modules/classnames/dedupe.js"); + var _dedupe2 = _interopRequireDefault(_dedupe); + var _defaultAttrs = __webpack_require__("./src/default-attrs.json"); + var _defaultAttrs2 = _interopRequireDefault(_defaultAttrs); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function _classCallCheck(instance5, Constructor) { + if (!(instance5 instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + var Icon = function() { + function Icon2(name, contents) { + var tags = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : []; + _classCallCheck(this, Icon2); + this.name = name; + this.contents = contents; + this.tags = tags; + this.attrs = _extends({}, _defaultAttrs2.default, { class: "feather feather-" + name }); + } + _createClass(Icon2, [{ + key: "toSvg", + value: function toSvg() { + var attrs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var combinedAttrs = _extends({}, this.attrs, attrs, { class: (0, _dedupe2.default)(this.attrs.class, attrs.class) }); + return "" + this.contents + ""; + } + }, { + key: "toString", + value: function toString() { + return this.contents; + } + }]); + return Icon2; + }(); + function attrsToString(attrs) { + return Object.keys(attrs).map(function(key2) { + return key2 + '="' + attrs[key2] + '"'; + }).join(" "); + } + exports2.default = Icon; + }, + "./src/icons.js": function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + var _icon = __webpack_require__("./src/icon.js"); + var _icon2 = _interopRequireDefault(_icon); + var _icons = __webpack_require__("./dist/icons.json"); + var _icons2 = _interopRequireDefault(_icons); + var _tags = __webpack_require__("./src/tags.json"); + var _tags2 = _interopRequireDefault(_tags); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + exports2.default = Object.keys(_icons2.default).map(function(key2) { + return new _icon2.default(key2, _icons2.default[key2], _tags2.default[key2]); + }).reduce(function(object, icon) { + object[icon.name] = icon; + return object; + }, {}); + }, + "./src/index.js": function(module3, exports2, __webpack_require__) { + "use strict"; + var _icons = __webpack_require__("./src/icons.js"); + var _icons2 = _interopRequireDefault(_icons); + var _toSvg = __webpack_require__("./src/to-svg.js"); + var _toSvg2 = _interopRequireDefault(_toSvg); + var _replace = __webpack_require__("./src/replace.js"); + var _replace2 = _interopRequireDefault(_replace); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + module3.exports = { icons: _icons2.default, toSvg: _toSvg2.default, replace: _replace2.default }; + }, + "./src/replace.js": function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + var _extends = Object.assign || function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key2 in source) { + if (Object.prototype.hasOwnProperty.call(source, key2)) { + target[key2] = source[key2]; + } + } + } + return target; + }; + var _dedupe = __webpack_require__("./node_modules/classnames/dedupe.js"); + var _dedupe2 = _interopRequireDefault(_dedupe); + var _icons = __webpack_require__("./src/icons.js"); + var _icons2 = _interopRequireDefault(_icons); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function replace() { + var attrs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + if (typeof document === "undefined") { + throw new Error("`feather.replace()` only works in a browser environment."); + } + var elementsToReplace = document.querySelectorAll("[data-feather]"); + Array.from(elementsToReplace).forEach(function(element2) { + return replaceElement(element2, attrs); + }); + } + function replaceElement(element2) { + var attrs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + var elementAttrs = getAttrs(element2); + var name = elementAttrs["data-feather"]; + delete elementAttrs["data-feather"]; + var svgString = _icons2.default[name].toSvg(_extends({}, attrs, elementAttrs, { class: (0, _dedupe2.default)(attrs.class, elementAttrs.class) })); + var svgDocument = new DOMParser().parseFromString(svgString, "image/svg+xml"); + var svgElement = svgDocument.querySelector("svg"); + element2.parentNode.replaceChild(svgElement, element2); + } + function getAttrs(element2) { + return Array.from(element2.attributes).reduce(function(attrs, attr2) { + attrs[attr2.name] = attr2.value; + return attrs; + }, {}); + } + exports2.default = replace; + }, + "./src/tags.json": function(module3) { + module3.exports = { "activity": ["pulse", "health", "action", "motion"], "airplay": ["stream", "cast", "mirroring"], "alert-circle": ["warning", "alert", "danger"], "alert-octagon": ["warning", "alert", "danger"], "alert-triangle": ["warning", "alert", "danger"], "align-center": ["text alignment", "center"], "align-justify": ["text alignment", "justified"], "align-left": ["text alignment", "left"], "align-right": ["text alignment", "right"], "anchor": [], "archive": ["index", "box"], "at-sign": ["mention", "at", "email", "message"], "award": ["achievement", "badge"], "aperture": ["camera", "photo"], "bar-chart": ["statistics", "diagram", "graph"], "bar-chart-2": ["statistics", "diagram", "graph"], "battery": ["power", "electricity"], "battery-charging": ["power", "electricity"], "bell": ["alarm", "notification", "sound"], "bell-off": ["alarm", "notification", "silent"], "bluetooth": ["wireless"], "book-open": ["read", "library"], "book": ["read", "dictionary", "booklet", "magazine", "library"], "bookmark": ["read", "clip", "marker", "tag"], "box": ["cube"], "briefcase": ["work", "bag", "baggage", "folder"], "calendar": ["date"], "camera": ["photo"], "cast": ["chromecast", "airplay"], "chevron-down": ["expand"], "chevron-up": ["collapse"], "circle": ["off", "zero", "record"], "clipboard": ["copy"], "clock": ["time", "watch", "alarm"], "cloud-drizzle": ["weather", "shower"], "cloud-lightning": ["weather", "bolt"], "cloud-rain": ["weather"], "cloud-snow": ["weather", "blizzard"], "cloud": ["weather"], "codepen": ["logo"], "codesandbox": ["logo"], "code": ["source", "programming"], "coffee": ["drink", "cup", "mug", "tea", "cafe", "hot", "beverage"], "columns": ["layout"], "command": ["keyboard", "cmd", "terminal", "prompt"], "compass": ["navigation", "safari", "travel", "direction"], "copy": ["clone", "duplicate"], "corner-down-left": ["arrow", "return"], "corner-down-right": ["arrow"], "corner-left-down": ["arrow"], "corner-left-up": ["arrow"], "corner-right-down": ["arrow"], "corner-right-up": ["arrow"], "corner-up-left": ["arrow"], "corner-up-right": ["arrow"], "cpu": ["processor", "technology"], "credit-card": ["purchase", "payment", "cc"], "crop": ["photo", "image"], "crosshair": ["aim", "target"], "database": ["storage", "memory"], "delete": ["remove"], "disc": ["album", "cd", "dvd", "music"], "dollar-sign": ["currency", "money", "payment"], "droplet": ["water"], "edit": ["pencil", "change"], "edit-2": ["pencil", "change"], "edit-3": ["pencil", "change"], "eye": ["view", "watch"], "eye-off": ["view", "watch", "hide", "hidden"], "external-link": ["outbound"], "facebook": ["logo", "social"], "fast-forward": ["music"], "figma": ["logo", "design", "tool"], "file-minus": ["delete", "remove", "erase"], "file-plus": ["add", "create", "new"], "file-text": ["data", "txt", "pdf"], "film": ["movie", "video"], "filter": ["funnel", "hopper"], "flag": ["report"], "folder-minus": ["directory"], "folder-plus": ["directory"], "folder": ["directory"], "framer": ["logo", "design", "tool"], "frown": ["emoji", "face", "bad", "sad", "emotion"], "gift": ["present", "box", "birthday", "party"], "git-branch": ["code", "version control"], "git-commit": ["code", "version control"], "git-merge": ["code", "version control"], "git-pull-request": ["code", "version control"], "github": ["logo", "version control"], "gitlab": ["logo", "version control"], "globe": ["world", "browser", "language", "translate"], "hard-drive": ["computer", "server", "memory", "data"], "hash": ["hashtag", "number", "pound"], "headphones": ["music", "audio", "sound"], "heart": ["like", "love", "emotion"], "help-circle": ["question mark"], "hexagon": ["shape", "node.js", "logo"], "home": ["house", "living"], "image": ["picture"], "inbox": ["email"], "instagram": ["logo", "camera"], "key": ["password", "login", "authentication", "secure"], "layers": ["stack"], "layout": ["window", "webpage"], "life-bouy": ["help", "life ring", "support"], "link": ["chain", "url"], "link-2": ["chain", "url"], "linkedin": ["logo", "social media"], "list": ["options"], "lock": ["security", "password", "secure"], "log-in": ["sign in", "arrow", "enter"], "log-out": ["sign out", "arrow", "exit"], "mail": ["email", "message"], "map-pin": ["location", "navigation", "travel", "marker"], "map": ["location", "navigation", "travel"], "maximize": ["fullscreen"], "maximize-2": ["fullscreen", "arrows", "expand"], "meh": ["emoji", "face", "neutral", "emotion"], "menu": ["bars", "navigation", "hamburger"], "message-circle": ["comment", "chat"], "message-square": ["comment", "chat"], "mic-off": ["record", "sound", "mute"], "mic": ["record", "sound", "listen"], "minimize": ["exit fullscreen", "close"], "minimize-2": ["exit fullscreen", "arrows", "close"], "minus": ["subtract"], "monitor": ["tv", "screen", "display"], "moon": ["dark", "night"], "more-horizontal": ["ellipsis"], "more-vertical": ["ellipsis"], "mouse-pointer": ["arrow", "cursor"], "move": ["arrows"], "music": ["note"], "navigation": ["location", "travel"], "navigation-2": ["location", "travel"], "octagon": ["stop"], "package": ["box", "container"], "paperclip": ["attachment"], "pause": ["music", "stop"], "pause-circle": ["music", "audio", "stop"], "pen-tool": ["vector", "drawing"], "percent": ["discount"], "phone-call": ["ring"], "phone-forwarded": ["call"], "phone-incoming": ["call"], "phone-missed": ["call"], "phone-off": ["call", "mute"], "phone-outgoing": ["call"], "phone": ["call"], "play": ["music", "start"], "pie-chart": ["statistics", "diagram"], "play-circle": ["music", "start"], "plus": ["add", "new"], "plus-circle": ["add", "new"], "plus-square": ["add", "new"], "pocket": ["logo", "save"], "power": ["on", "off"], "printer": ["fax", "office", "device"], "radio": ["signal"], "refresh-cw": ["synchronise", "arrows"], "refresh-ccw": ["arrows"], "repeat": ["loop", "arrows"], "rewind": ["music"], "rotate-ccw": ["arrow"], "rotate-cw": ["arrow"], "rss": ["feed", "subscribe"], "save": ["floppy disk"], "scissors": ["cut"], "search": ["find", "magnifier", "magnifying glass"], "send": ["message", "mail", "email", "paper airplane", "paper aeroplane"], "settings": ["cog", "edit", "gear", "preferences"], "share-2": ["network", "connections"], "shield": ["security", "secure"], "shield-off": ["security", "insecure"], "shopping-bag": ["ecommerce", "cart", "purchase", "store"], "shopping-cart": ["ecommerce", "cart", "purchase", "store"], "shuffle": ["music"], "skip-back": ["music"], "skip-forward": ["music"], "slack": ["logo"], "slash": ["ban", "no"], "sliders": ["settings", "controls"], "smartphone": ["cellphone", "device"], "smile": ["emoji", "face", "happy", "good", "emotion"], "speaker": ["audio", "music"], "star": ["bookmark", "favorite", "like"], "stop-circle": ["media", "music"], "sun": ["brightness", "weather", "light"], "sunrise": ["weather", "time", "morning", "day"], "sunset": ["weather", "time", "evening", "night"], "tablet": ["device"], "tag": ["label"], "target": ["logo", "bullseye"], "terminal": ["code", "command line", "prompt"], "thermometer": ["temperature", "celsius", "fahrenheit", "weather"], "thumbs-down": ["dislike", "bad", "emotion"], "thumbs-up": ["like", "good", "emotion"], "toggle-left": ["on", "off", "switch"], "toggle-right": ["on", "off", "switch"], "tool": ["settings", "spanner"], "trash": ["garbage", "delete", "remove", "bin"], "trash-2": ["garbage", "delete", "remove", "bin"], "triangle": ["delta"], "truck": ["delivery", "van", "shipping", "transport", "lorry"], "tv": ["television", "stream"], "twitch": ["logo"], "twitter": ["logo", "social"], "type": ["text"], "umbrella": ["rain", "weather"], "unlock": ["security"], "user-check": ["followed", "subscribed"], "user-minus": ["delete", "remove", "unfollow", "unsubscribe"], "user-plus": ["new", "add", "create", "follow", "subscribe"], "user-x": ["delete", "remove", "unfollow", "unsubscribe", "unavailable"], "user": ["person", "account"], "users": ["group"], "video-off": ["camera", "movie", "film"], "video": ["camera", "movie", "film"], "voicemail": ["phone"], "volume": ["music", "sound", "mute"], "volume-1": ["music", "sound"], "volume-2": ["music", "sound"], "volume-x": ["music", "sound", "mute"], "watch": ["clock", "time"], "wifi-off": ["disabled"], "wifi": ["connection", "signal", "wireless"], "wind": ["weather", "air"], "x-circle": ["cancel", "close", "delete", "remove", "times", "clear"], "x-octagon": ["delete", "stop", "alert", "warning", "times", "clear"], "x-square": ["cancel", "close", "delete", "remove", "times", "clear"], "x": ["cancel", "close", "delete", "remove", "times", "clear"], "youtube": ["logo", "video", "play"], "zap-off": ["flash", "camera", "lightning"], "zap": ["flash", "camera", "lightning"], "zoom-in": ["magnifying glass"], "zoom-out": ["magnifying glass"] }; + }, + "./src/to-svg.js": function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + var _icons = __webpack_require__("./src/icons.js"); + var _icons2 = _interopRequireDefault(_icons); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + function toSvg(name) { + var attrs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."); + if (!name) { + throw new Error("The required `key` (icon name) parameter is missing."); + } + if (!_icons2.default[name]) { + throw new Error("No icon matching '" + name + "'. See the complete list of icons at https://feathericons.com"); + } + return _icons2.default[name].toSvg(attrs); + } + exports2.default = toSvg; + }, + 0: function(module3, exports2, __webpack_require__) { + __webpack_require__("./node_modules/core-js/es/array/from.js"); + module3.exports = __webpack_require__("./src/index.js"); + } + }); + }); + } +}); + +// src/main.ts +__export(exports, { + default: () => ObsidianGit +}); +var import_obsidian15 = __toModule(require("obsidian")); +var path2 = __toModule(require("path")); + +// src/promiseQueue.ts +var PromiseQueue = class { + constructor() { + this.tasks = []; + } + addTask(task) { + this.tasks.push(task); + if (this.tasks.length === 1) { + this.handleTask(); + } + } + handleTask() { + return __async(this, null, function* () { + if (this.tasks.length > 0) { + this.tasks[0]().finally(() => { + this.tasks.shift(); + this.handleTask(); + }); + } + }); + } +}; + +// src/settings.ts +var import_obsidian = __toModule(require("obsidian")); +var ObsidianGitSettingsTab = class extends import_obsidian.PluginSettingTab { + display() { + let { containerEl } = this; + const plugin = this.plugin; + containerEl.empty(); + containerEl.createEl("h2", { text: "Git Backup settings" }); + containerEl.createEl("br"); + containerEl.createEl("h3", { text: "Automatic" }); + const commitOrBackup = plugin.settings.differentIntervalCommitAndPush ? "commit" : "backup"; + new import_obsidian.Setting(containerEl).setName("Split automatic commit and push").setDesc("Enable to use separate timer for commit and push").addToggle((toggle) => toggle.setValue(plugin.settings.differentIntervalCommitAndPush).onChange((value) => { + plugin.settings.differentIntervalCommitAndPush = value; + plugin.saveSettings(); + plugin.clearAutoBackup(); + plugin.clearAutoPush(); + if (plugin.settings.autoSaveInterval > 0) { + plugin.startAutoBackup(plugin.settings.autoSaveInterval); + } + if (value && plugin.settings.autoPushInterval > 0) { + plugin.startAutoPush(plugin.settings.autoPushInterval); + } + this.display(); + })); + new import_obsidian.Setting(containerEl).setName(`Vault ${commitOrBackup} interval (minutes)`).setDesc(`${plugin.settings.differentIntervalCommitAndPush ? "Commit" : "Commit and push"} changes every X minutes. Set to 0 (default) to disable. (See below setting for further configuration!)`).addText((text2) => text2.setValue(String(plugin.settings.autoSaveInterval)).onChange((value) => { + if (!isNaN(Number(value))) { + plugin.settings.autoSaveInterval = Number(value); + plugin.saveSettings(); + if (plugin.settings.autoSaveInterval > 0) { + plugin.clearAutoBackup(); + plugin.startAutoBackup(plugin.settings.autoSaveInterval); + new import_obsidian.Notice(`Automatic ${commitOrBackup} enabled! Every ${plugin.settings.autoSaveInterval} minutes.`); + } else if (plugin.settings.autoSaveInterval <= 0) { + plugin.clearAutoBackup() && new import_obsidian.Notice(`Automatic ${commitOrBackup} disabled!`); + } + } else { + new import_obsidian.Notice("Please specify a valid number."); + } + })); + new import_obsidian.Setting(containerEl).setName(`If turned on, do auto ${commitOrBackup} every X minutes after last change. Prevents auto ${commitOrBackup} while editing a file. If turned off, do auto ${commitOrBackup} every X minutes. It's independent from last change.`).addToggle((toggle) => toggle.setValue(plugin.settings.autoBackupAfterFileChange).onChange((value) => { + plugin.settings.autoBackupAfterFileChange = value; + plugin.saveSettings(); + plugin.clearAutoBackup(); + if (plugin.settings.autoSaveInterval > 0) { + plugin.startAutoBackup(plugin.settings.autoSaveInterval); + } + })); + if (plugin.settings.differentIntervalCommitAndPush) { + new import_obsidian.Setting(containerEl).setName(`Vault push interval (minutes)`).setDesc("Push changes every X minutes. Set to 0 (default) to disable.").addText((text2) => text2.setValue(String(plugin.settings.autoPushInterval)).onChange((value) => { + if (!isNaN(Number(value))) { + plugin.settings.autoPushInterval = Number(value); + plugin.saveSettings(); + if (plugin.settings.autoPushInterval > 0) { + plugin.clearAutoPush(); + plugin.startAutoPush(plugin.settings.autoPushInterval); + new import_obsidian.Notice(`Automatic push enabled! Every ${plugin.settings.autoPushInterval} minutes.`); + } else if (plugin.settings.autoPushInterval <= 0) { + plugin.clearAutoPush() && new import_obsidian.Notice("Automatic push disabled!"); + } + } else { + new import_obsidian.Notice("Please specify a valid number."); + } + })); + } + new import_obsidian.Setting(containerEl).setName("Auto pull interval (minutes)").setDesc("Pull changes every X minutes. Set to 0 (default) to disable.").addText((text2) => text2.setValue(String(plugin.settings.autoPullInterval)).onChange((value) => { + if (!isNaN(Number(value))) { + plugin.settings.autoPullInterval = Number(value); + plugin.saveSettings(); + if (plugin.settings.autoPullInterval > 0) { + plugin.clearAutoPull(); + plugin.startAutoPull(plugin.settings.autoPullInterval); + new import_obsidian.Notice(`Automatic pull enabled! Every ${plugin.settings.autoPullInterval} minutes.`); + } else if (plugin.settings.autoPullInterval <= 0) { + plugin.clearAutoPull() && new import_obsidian.Notice("Automatic pull disabled!"); + } + } else { + new import_obsidian.Notice("Please specify a valid number."); + } + })); + new import_obsidian.Setting(containerEl).setName("Commit message on manual backup/commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below) and {{numFiles}} (number of changed files in the commit)").addText((text2) => text2.setPlaceholder("vault backup: {{date}}").setValue(plugin.settings.commitMessage ? plugin.settings.commitMessage : "").onChange((value) => { + plugin.settings.commitMessage = value; + plugin.saveSettings(); + })); + new import_obsidian.Setting(containerEl).setName("Specify custom commit message on auto backup").setDesc("You will get a pop up to specify your message").addToggle((toggle) => toggle.setValue(plugin.settings.customMessageOnAutoBackup).onChange((value) => { + plugin.settings.customMessageOnAutoBackup = value; + plugin.saveSettings(); + })); + new import_obsidian.Setting(containerEl).setName("Commit message on auto backup/commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below) and {{numFiles}} (number of changed files in the commit)").addText((text2) => text2.setPlaceholder("vault backup: {{date}}").setValue(plugin.settings.autoCommitMessage).onChange((value) => { + plugin.settings.autoCommitMessage = value; + plugin.saveSettings(); + })); + containerEl.createEl("br"); + containerEl.createEl("h3", { text: "Commit message" }); + new import_obsidian.Setting(containerEl).setName("{{date}} placeholder format").setDesc('Specify custom date format. E.g. "YYYY-MM-DD HH:mm:ss"').addText((text2) => text2.setPlaceholder(plugin.settings.commitDateFormat).setValue(plugin.settings.commitDateFormat).onChange((value) => __async(this, null, function* () { + plugin.settings.commitDateFormat = value; + yield plugin.saveSettings(); + }))); + new import_obsidian.Setting(containerEl).setName("{{hostname}} placeholder replacement").setDesc("Specify custom hostname for every device.").addText((text2) => text2.setValue(localStorage.getItem(plugin.manifest.id + ":hostname")).onChange((value) => __async(this, null, function* () { + localStorage.setItem(plugin.manifest.id + ":hostname", value); + }))); + new import_obsidian.Setting(containerEl).setName("Preview commit message").addButton((button) => button.setButtonText("Preview").onClick(() => __async(this, null, function* () { + let commitMessagePreview = yield plugin.gitManager.formatCommitMessage(plugin.settings.commitMessage); + new import_obsidian.Notice(`${commitMessagePreview}`); + }))); + new import_obsidian.Setting(containerEl).setName("List filenames affected by commit in the commit body").addToggle((toggle) => toggle.setValue(plugin.settings.listChangedFilesInMessageBody).onChange((value) => { + plugin.settings.listChangedFilesInMessageBody = value; + plugin.saveSettings(); + })); + containerEl.createEl("br"); + containerEl.createEl("h3", { text: "Backup" }); + new import_obsidian.Setting(containerEl).setName("Sync Method").setDesc("Selects the method used for handling new changes found in your remote git repository.").addDropdown((dropdown) => { + const options = { + "merge": "Merge", + "rebase": "Rebase", + "reset": "Other sync service (Only updates the HEAD without touching the working directory)" + }; + dropdown.addOptions(options); + dropdown.setValue(plugin.settings.syncMethod); + dropdown.onChange((option) => __async(this, null, function* () { + plugin.settings.syncMethod = option; + plugin.saveSettings(); + })); + }); + new import_obsidian.Setting(containerEl).setName("Pull updates on startup").setDesc("Automatically pull updates when Obsidian starts").addToggle((toggle) => toggle.setValue(plugin.settings.autoPullOnBoot).onChange((value) => { + plugin.settings.autoPullOnBoot = value; + plugin.saveSettings(); + })); + new import_obsidian.Setting(containerEl).setName("Push on backup").setDesc("Disable to only commit changes").addToggle((toggle) => toggle.setValue(!plugin.settings.disablePush).onChange((value) => { + plugin.settings.disablePush = !value; + plugin.saveSettings(); + })); + new import_obsidian.Setting(containerEl).setName("Pull changes before push").setDesc("Commit -> pull -> push (Only if pushing is enabled)").addToggle((toggle) => toggle.setValue(plugin.settings.pullBeforePush).onChange((value) => { + plugin.settings.pullBeforePush = value; + plugin.saveSettings(); + })); + containerEl.createEl("br"); + containerEl.createEl("h3", { text: "Miscellaneous" }); + new import_obsidian.Setting(containerEl).setName("Current branch").setDesc("Switch to a different branch").addDropdown((dropdown) => __async(this, null, function* () { + const branchInfo = yield plugin.gitManager.branchInfo(); + for (const branch of branchInfo.branches) { + dropdown.addOption(branch, branch); + } + dropdown.setValue(branchInfo.current); + dropdown.onChange((option) => __async(this, null, function* () { + yield plugin.gitManager.checkout(option); + new import_obsidian.Notice(`Checked out to ${option}`); + })); + })); + new import_obsidian.Setting(containerEl).setName("Automatically refresh Source Control View on file changes").setDesc("On slower machines this may cause lags. If so, just disable this option").addToggle((toggle) => toggle.setValue(plugin.settings.refreshSourceControl).onChange((value) => { + plugin.settings.refreshSourceControl = value; + plugin.saveSettings(); + })); + new import_obsidian.Setting(containerEl).setName("Disable notifications").setDesc("Disable notifications for git operations to minimize distraction (refer to status bar for updates). Errors are still shown as notifications even if you enable this setting").addToggle((toggle) => toggle.setValue(plugin.settings.disablePopups).onChange((value) => { + plugin.settings.disablePopups = value; + plugin.saveSettings(); + })); + new import_obsidian.Setting(containerEl).setName("Show status bar").setDesc("Obsidian must be restarted for the changes to take affect").addToggle((toggle) => toggle.setValue(plugin.settings.showStatusBar).onChange((value) => { + plugin.settings.showStatusBar = value; + plugin.saveSettings(); + })); + new import_obsidian.Setting(containerEl).setName("Show changes files count in status bar").addToggle((toggle) => toggle.setValue(plugin.settings.changedFilesInStatusBar).onChange((value) => { + plugin.settings.changedFilesInStatusBar = value; + plugin.saveSettings(); + })); + containerEl.createEl("br"); + containerEl.createEl("h3", { text: "Advanced" }); + new import_obsidian.Setting(containerEl).setName("Update submodules").setDesc('"Create backup" and "pull" takes care of submodules. Missing features: Conflicted files, count of pulled/pushed/committed files. Tracking branch needs to be set for each submodule').addToggle((toggle) => toggle.setValue(plugin.settings.updateSubmodules).onChange((value) => { + plugin.settings.updateSubmodules = value; + plugin.saveSettings(); + })); + new import_obsidian.Setting(containerEl).setName("Custom Git binary path").addText((cb) => { + cb.setValue(plugin.settings.gitPath); + cb.setPlaceholder("git"); + cb.onChange((value) => { + plugin.settings.gitPath = value; + plugin.saveSettings(); + plugin.gitManager.updateGitPath(value || "git"); + }); + }); + new import_obsidian.Setting(containerEl).setName("Custom base path (Git repository path)").setDesc(` + Sets the relative path to the vault from which the Git binary should be executed. + Mostly used to set the path to the Git repository, which is only required if the Git repository is below the vault root directory. Use "\\" instead of "/" on Windows. + `).addText((cb) => { + cb.setValue(plugin.settings.basePath); + cb.setPlaceholder("directory/directory-with-git-repo"); + cb.onChange((value) => { + plugin.settings.basePath = value; + plugin.saveSettings(); + plugin.gitManager.updateBasePath(value || ""); + }); + }); + const info = containerEl.createDiv(); + info.setAttr("align", "center"); + info.setText("Debugging and logging:\nYou can always see the logs of this and every other plugin by opening the console with"); + const keys = containerEl.createDiv(); + keys.setAttr("align", "center"); + keys.addClass("obsidian-git-shortcuts"); + if (import_obsidian.Platform.isMacOS === true) { + keys.createEl("kbd", { text: "CMD (\u2318) + OPTION (\u2325) + I" }); + } else { + keys.createEl("kbd", { text: "CTRL + SHIFT + I" }); + } + } +}; + +// src/statusBar.ts +var import_obsidian2 = __toModule(require("obsidian")); + +// src/types.ts +var PluginState; +(function(PluginState2) { + PluginState2[PluginState2["idle"] = 0] = "idle"; + PluginState2[PluginState2["status"] = 1] = "status"; + PluginState2[PluginState2["pull"] = 2] = "pull"; + PluginState2[PluginState2["add"] = 3] = "add"; + PluginState2[PluginState2["commit"] = 4] = "commit"; + PluginState2[PluginState2["push"] = 5] = "push"; + PluginState2[PluginState2["conflicted"] = 6] = "conflicted"; +})(PluginState || (PluginState = {})); + +// src/statusBar.ts +var StatusBar = class { + constructor(statusBarEl, plugin) { + this.statusBarEl = statusBarEl; + this.plugin = plugin; + this.messages = []; + this.base = "obsidian-git-statusbar-"; + this.statusBarEl.setAttribute("aria-label-position", "top"); + } + displayMessage(message, timeout) { + this.messages.push({ + message: `Git: ${message.slice(0, 100)}`, + timeout + }); + this.display(); + } + display() { + if (this.messages.length > 0 && !this.currentMessage) { + this.currentMessage = this.messages.shift(); + this.statusBarEl.addClass(this.base + "message"); + this.statusBarEl.ariaLabel = ""; + this.statusBarEl.setText(this.currentMessage.message); + this.lastMessageTimestamp = Date.now(); + } else if (this.currentMessage) { + const messageAge = Date.now() - this.lastMessageTimestamp; + if (messageAge >= this.currentMessage.timeout) { + this.currentMessage = null; + this.lastMessageTimestamp = null; + } + } else { + this.displayState(); + } + } + displayState() { + if (this.statusBarEl.getText().length > 3 || !this.statusBarEl.hasChildNodes()) { + this.statusBarEl.empty(); + this.iconEl = this.statusBarEl.createDiv(); + this.textEl = this.statusBarEl.createDiv(); + this.textEl.style.float = "right"; + this.textEl.style.marginLeft = "5px"; + this.iconEl.style.float = "left"; + } + switch (this.plugin.state) { + case PluginState.idle: + this.displayFromNow(this.plugin.lastUpdate); + break; + case PluginState.status: + this.statusBarEl.ariaLabel = "Checking repository status..."; + (0, import_obsidian2.setIcon)(this.iconEl, "refresh-cw"); + this.statusBarEl.addClass(this.base + "status"); + break; + case PluginState.add: + this.statusBarEl.ariaLabel = "Adding files..."; + (0, import_obsidian2.setIcon)(this.iconEl, "refresh-w"); + this.statusBarEl.addClass(this.base + "add"); + break; + case PluginState.commit: + this.statusBarEl.ariaLabel = "Committing changes..."; + (0, import_obsidian2.setIcon)(this.iconEl, "git-commit"); + this.statusBarEl.addClass(this.base + "commit"); + break; + case PluginState.push: + this.statusBarEl.ariaLabel = "Pushing changes..."; + (0, import_obsidian2.setIcon)(this.iconEl, "upload"); + this.statusBarEl.addClass(this.base + "push"); + break; + case PluginState.pull: + this.statusBarEl.ariaLabel = "Pulling changes..."; + (0, import_obsidian2.setIcon)(this.iconEl, "download"); + this.statusBarEl.addClass(this.base + "pull"); + break; + case PluginState.conflicted: + this.statusBarEl.ariaLabel = "You have conflict files..."; + (0, import_obsidian2.setIcon)(this.iconEl, "alert-circle"); + this.statusBarEl.addClass(this.base + "conflict"); + break; + default: + this.statusBarEl.ariaLabel = "Failed on initialization!"; + (0, import_obsidian2.setIcon)(this.iconEl, "alert-triangle"); + this.statusBarEl.addClass(this.base + "failed-init"); + break; + } + } + displayFromNow(timestamp) { + if (timestamp) { + const moment = window.moment; + const fromNow = moment(timestamp).fromNow(); + this.statusBarEl.ariaLabel = `${this.plugin.offlineMode ? "Offline: " : ""}Last Git update: ${fromNow}`; + } else { + this.statusBarEl.ariaLabel = this.plugin.offlineMode ? "Git is offline" : "Git is ready"; + } + if (this.plugin.offlineMode) { + (0, import_obsidian2.setIcon)(this.iconEl, "globe"); + } else { + (0, import_obsidian2.setIcon)(this.iconEl, "check"); + } + if (this.plugin.settings.changedFilesInStatusBar && this.plugin.cachedStatus) { + this.textEl.setText(this.plugin.cachedStatus.changed.length.toString()); + } + this.statusBarEl.addClass(this.base + "idle"); + } +}; + +// src/ui/modals/changedFilesModal.ts +var import_obsidian3 = __toModule(require("obsidian")); +var ChangedFilesModal = class extends import_obsidian3.FuzzySuggestModal { + constructor(plugin, changedFiles) { + super(plugin.app); + this.plugin = plugin; + this.changedFiles = changedFiles; + this.setPlaceholder("Not supported files will be opened by default app!"); + } + getItems() { + return this.changedFiles; + } + getItemText(item) { + if (item.index == "?" && item.working_dir == "U") { + return `Untracked | ${item.vault_path}`; + } + let working_dir = ""; + let index = ""; + if (item.working_dir != " ") + working_dir = `Working dir: ${item.working_dir} `; + if (item.index != " ") + index = `Index: ${item.index}`; + return `${working_dir}${index} | ${item.vault_path}`; + } + onChooseItem(item, _) { + if (this.plugin.app.metadataCache.getFirstLinkpathDest(item.vault_path, "") == null) { + this.app.openWithDefaultApp(item.vault_path); + } else { + this.plugin.app.workspace.openLinkText(item.vault_path, "/"); + } + } +}; + +// src/ui/modals/customMessageModal.ts +var import_obsidian4 = __toModule(require("obsidian")); +var CustomMessageModal = class extends import_obsidian4.SuggestModal { + constructor(plugin, fromAutoBackup) { + super(plugin.app); + this.fromAutoBackup = fromAutoBackup; + this.resolve = null; + this.plugin = plugin; + this.setPlaceholder("Type your message and select optional the version with the added date."); + } + open() { + super.open(); + return new Promise((resolve) => { + this.resolve = resolve; + }); + } + onClose() { + if (this.resolve) + this.resolve(void 0); + } + selectSuggestion(value, evt) { + if (this.resolve) + this.resolve(value); + super.selectSuggestion(value, evt); + } + getSuggestions(query) { + const date = window.moment().format(this.plugin.settings.commitDateFormat); + if (query == "") + query = "..."; + return [query, `${date}: ${query}`, `${query}: ${date}`]; + } + renderSuggestion(value, el) { + el.innerText = value; + } + onChooseSuggestion(item, _) { + } +}; + +// src/constants.ts +var DEFAULT_SETTINGS = { + commitMessage: "vault backup: {{date}}", + autoCommitMessage: void 0, + commitDateFormat: "YYYY-MM-DD HH:mm:ss", + autoSaveInterval: 0, + autoPushInterval: 0, + autoPullInterval: 0, + autoPullOnBoot: false, + disablePush: false, + pullBeforePush: true, + disablePopups: false, + listChangedFilesInMessageBody: false, + showStatusBar: true, + updateSubmodules: false, + syncMethod: "merge", + gitPath: "", + customMessageOnAutoBackup: false, + autoBackupAfterFileChange: false, + treeStructure: false, + refreshSourceControl: true, + basePath: "", + differentIntervalCommitAndPush: false, + changedFilesInStatusBar: false +}; +var GIT_VIEW_CONFIG = { + type: "git-view", + name: "Source Control", + icon: "git-pull-request" +}; +var DIFF_VIEW_CONFIG = { + type: "diff-view", + name: "Diff View", + icon: "git-pull-request" +}; + +// src/openInGitHub.ts +var import_electron = __toModule(require("electron")); +var import_obsidian5 = __toModule(require("obsidian")); +function openLineInGitHub(editor, file, manager) { + return __async(this, null, function* () { + const { isGitHub, branch, repo, user } = yield getData(manager); + if (isGitHub) { + const from = editor.getCursor("from").line + 1; + const to = editor.getCursor("to").line + 1; + if (from === to) { + yield import_electron.shell.openExternal(`https://github.com/${user}/${repo}/blob/${branch}/${file.path}?plain=1#L${from}`); + } else { + yield import_electron.shell.openExternal(`https://github.com/${user}/${repo}/blob/${branch}/${file.path}?plain=1#L${from}-L${to}`); + } + } else { + new import_obsidian5.Notice("It seems like you are not using GitHub"); + } + }); +} +function openHistoryInGitHub(file, manager) { + return __async(this, null, function* () { + const { isGitHub, branch, repo, user } = yield getData(manager); + if (isGitHub) { + yield import_electron.shell.openExternal(`https://github.com/${user}/${repo}/commits/${branch}/${file.path}`); + } else { + new import_obsidian5.Notice("It seems like you are not using GitHub"); + } + }); +} +function getData(manager) { + return __async(this, null, function* () { + const branchInfo = yield manager.branchInfo(); + const remoteBranch = branchInfo.tracking; + const branch = branchInfo.current; + const remote = remoteBranch.substring(0, remoteBranch.indexOf("/")); + const remoteUrl = yield manager.getConfig(`remote.${remote}.url`); + const [isGitHub, httpsUser, httpsRepo, sshUser, sshRepo] = remoteUrl.match(/(?:^https:\/\/github\.com\/(.*)\/(.*)\.git$)|(?:^git@github\.com:(.*)\/(.*)\.git$)/); + return { + isGitHub: !!isGitHub, + repo: httpsRepo || sshRepo, + user: httpsUser || sshUser, + branch + }; + }); +} + +// src/simpleGit.ts +var import_child_process2 = __toModule(require("child_process")); +var import_obsidian6 = __toModule(require("obsidian")); +var path = __toModule(require("path")); +var import_path = __toModule(require("path")); + +// node_modules/simple-git/dist/esm/index.js +var import_file_exists = __toModule(require_dist()); +var import_debug = __toModule(require_src()); +var import_child_process = __toModule(require("child_process")); +var import_promise_deferred = __toModule(require_dist2()); +var import_promise_deferred2 = __toModule(require_dist2()); +var __defProp2 = Object.defineProperty; +var __defProps2 = Object.defineProperties; +var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; +var __getOwnPropDescs2 = Object.getOwnPropertyDescriptors; +var __getOwnPropNames2 = Object.getOwnPropertyNames; +var __getOwnPropSymbols2 = Object.getOwnPropertySymbols; +var __hasOwnProp2 = Object.prototype.hasOwnProperty; +var __propIsEnum2 = Object.prototype.propertyIsEnumerable; +var __defNormalProp2 = (obj, key2, value) => key2 in obj ? __defProp2(obj, key2, { enumerable: true, configurable: true, writable: true, value }) : obj[key2] = value; +var __spreadValues2 = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp2.call(b, prop)) + __defNormalProp2(a, prop, b[prop]); + if (__getOwnPropSymbols2) + for (var prop of __getOwnPropSymbols2(b)) { + if (__propIsEnum2.call(b, prop)) + __defNormalProp2(a, prop, b[prop]); + } + return a; +}; +var __spreadProps2 = (a, b) => __defProps2(a, __getOwnPropDescs2(b)); +var __markAsModule2 = (target) => __defProp2(target, "__esModule", { value: true }); +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames2(fn)[0]])(fn = 0)), res; +}; +var __commonJS2 = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export2 = (target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); +}; +var __reExport2 = (target, module2, copyDefault, desc) => { + if (module2 && typeof module2 === "object" || typeof module2 === "function") { + for (let key2 of __getOwnPropNames2(module2)) + if (!__hasOwnProp2.call(target, key2) && (copyDefault || key2 !== "default")) + __defProp2(target, key2, { get: () => module2[key2], enumerable: !(desc = __getOwnPropDesc2(module2, key2)) || desc.enumerable }); + } + return target; +}; +var __toCommonJS = /* @__PURE__ */ ((cache) => { + return (module2, temp) => { + return cache && cache.get(module2) || (temp = __reExport2(__markAsModule2({}), module2, 1), cache && cache.set(module2, temp), temp); + }; +})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0); +var __async2 = (__this, __arguments, generator) => { + return new Promise((resolve, reject) => { + var fulfilled = (value) => { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + }; + var rejected = (value) => { + try { + step(generator.throw(value)); + } catch (e) { + reject(e); + } + }; + var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); + step((generator = generator.apply(__this, __arguments)).next()); + }); +}; +var GitError; +var init_git_error = __esm({ + "src/lib/errors/git-error.ts"() { + GitError = class extends Error { + constructor(task, message) { + super(message); + this.task = task; + Object.setPrototypeOf(this, new.target.prototype); + } + }; + } +}); +var GitResponseError; +var init_git_response_error = __esm({ + "src/lib/errors/git-response-error.ts"() { + init_git_error(); + GitResponseError = class extends GitError { + constructor(git, message) { + super(void 0, message || String(git)); + this.git = git; + } + }; + } +}); +var TaskConfigurationError; +var init_task_configuration_error = __esm({ + "src/lib/errors/task-configuration-error.ts"() { + init_git_error(); + TaskConfigurationError = class extends GitError { + constructor(message) { + super(void 0, message); + } + }; + } +}); +function asFunction(source) { + return typeof source === "function" ? source : NOOP; +} +function isUserFunction(source) { + return typeof source === "function" && source !== NOOP; +} +function splitOn(input, char) { + const index = input.indexOf(char); + if (index <= 0) { + return [input, ""]; + } + return [ + input.substr(0, index), + input.substr(index + 1) + ]; +} +function first(input, offset = 0) { + return isArrayLike(input) && input.length > offset ? input[offset] : void 0; +} +function last(input, offset = 0) { + if (isArrayLike(input) && input.length > offset) { + return input[input.length - 1 - offset]; + } +} +function isArrayLike(input) { + return !!(input && typeof input.length === "number"); +} +function toLinesWithContent(input = "", trimmed2 = true, separator = "\n") { + return input.split(separator).reduce((output, line) => { + const lineContent = trimmed2 ? line.trim() : line; + if (lineContent) { + output.push(lineContent); + } + return output; + }, []); +} +function forEachLineWithContent(input, callback) { + return toLinesWithContent(input, true).map((line) => callback(line)); +} +function folderExists(path3) { + return (0, import_file_exists.exists)(path3, import_file_exists.FOLDER); +} +function append(target, item) { + if (Array.isArray(target)) { + if (!target.includes(item)) { + target.push(item); + } + } else { + target.add(item); + } + return item; +} +function including(target, item) { + if (Array.isArray(target) && !target.includes(item)) { + target.push(item); + } + return target; +} +function remove(target, item) { + if (Array.isArray(target)) { + const index = target.indexOf(item); + if (index >= 0) { + target.splice(index, 1); + } + } else { + target.delete(item); + } + return item; +} +function asArray(source) { + return Array.isArray(source) ? source : [source]; +} +function asStringArray(source) { + return asArray(source).map(String); +} +function asNumber(source, onNaN = 0) { + if (source == null) { + return onNaN; + } + const num = parseInt(source, 10); + return isNaN(num) ? onNaN : num; +} +function prefixedArray(input, prefix) { + const output = []; + for (let i = 0, max = input.length; i < max; i++) { + output.push(prefix, input[i]); + } + return output; +} +function bufferToString(input) { + return (Array.isArray(input) ? Buffer.concat(input) : input).toString("utf-8"); +} +function pick(source, properties) { + return Object.assign({}, ...properties.map((property) => property in source ? { [property]: source[property] } : {})); +} +function delay(duration = 0) { + return new Promise((done) => setTimeout(done, duration)); +} +var NULL; +var NOOP; +var objectToString; +var init_util = __esm({ + "src/lib/utils/util.ts"() { + NULL = "\0"; + NOOP = () => { + }; + objectToString = Object.prototype.toString.call.bind(Object.prototype.toString); + } +}); +function filterType(input, filter, def) { + if (filter(input)) { + return input; + } + return arguments.length > 2 ? def : void 0; +} +function filterPrimitives(input, omit) { + return /number|string|boolean/.test(typeof input) && (!omit || !omit.includes(typeof input)); +} +function filterPlainObject(input) { + return !!input && objectToString(input) === "[object Object]"; +} +function filterFunction(input) { + return typeof input === "function"; +} +var filterArray; +var filterString; +var filterStringArray; +var filterStringOrStringArray; +var filterHasLength; +var init_argument_filters = __esm({ + "src/lib/utils/argument-filters.ts"() { + init_util(); + filterArray = (input) => { + return Array.isArray(input); + }; + filterString = (input) => { + return typeof input === "string"; + }; + filterStringArray = (input) => { + return Array.isArray(input) && input.every(filterString); + }; + filterStringOrStringArray = (input) => { + return filterString(input) || Array.isArray(input) && input.every(filterString); + }; + filterHasLength = (input) => { + if (input == null || "number|boolean|function".includes(typeof input)) { + return false; + } + return Array.isArray(input) || typeof input === "string" || typeof input.length === "number"; + }; + } +}); +var ExitCodes; +var init_exit_codes = __esm({ + "src/lib/utils/exit-codes.ts"() { + ExitCodes = /* @__PURE__ */ ((ExitCodes2) => { + ExitCodes2[ExitCodes2["SUCCESS"] = 0] = "SUCCESS"; + ExitCodes2[ExitCodes2["ERROR"] = 1] = "ERROR"; + ExitCodes2[ExitCodes2["UNCLEAN"] = 128] = "UNCLEAN"; + return ExitCodes2; + })(ExitCodes || {}); + } +}); +var GitOutputStreams; +var init_git_output_streams = __esm({ + "src/lib/utils/git-output-streams.ts"() { + GitOutputStreams = class { + constructor(stdOut, stdErr) { + this.stdOut = stdOut; + this.stdErr = stdErr; + } + asStrings() { + return new GitOutputStreams(this.stdOut.toString("utf8"), this.stdErr.toString("utf8")); + } + }; + } +}); +var LineParser; +var RemoteLineParser; +var init_line_parser = __esm({ + "src/lib/utils/line-parser.ts"() { + LineParser = class { + constructor(regExp, useMatches) { + this.matches = []; + this.parse = (line, target) => { + this.resetMatches(); + if (!this._regExp.every((reg, index) => this.addMatch(reg, index, line(index)))) { + return false; + } + return this.useMatches(target, this.prepareMatches()) !== false; + }; + this._regExp = Array.isArray(regExp) ? regExp : [regExp]; + if (useMatches) { + this.useMatches = useMatches; + } + } + useMatches(target, match) { + throw new Error(`LineParser:useMatches not implemented`); + } + resetMatches() { + this.matches.length = 0; + } + prepareMatches() { + return this.matches; + } + addMatch(reg, index, line) { + const matched = line && reg.exec(line); + if (matched) { + this.pushMatch(index, matched); + } + return !!matched; + } + pushMatch(_index, matched) { + this.matches.push(...matched.slice(1)); + } + }; + RemoteLineParser = class extends LineParser { + addMatch(reg, index, line) { + return /^remote:\s/.test(String(line)) && super.addMatch(reg, index, line); + } + pushMatch(index, matched) { + if (index > 0 || matched.length > 1) { + super.pushMatch(index, matched); + } + } + }; + } +}); +function createInstanceConfig(...options) { + const baseDir = process.cwd(); + const config = Object.assign(__spreadValues2({ baseDir }, defaultOptions), ...options.filter((o) => typeof o === "object" && o)); + config.baseDir = config.baseDir || baseDir; + return config; +} +var defaultOptions; +var init_simple_git_options = __esm({ + "src/lib/utils/simple-git-options.ts"() { + defaultOptions = { + binary: "git", + maxConcurrentProcesses: 5, + config: [] + }; + } +}); +function appendTaskOptions(options, commands = []) { + if (!filterPlainObject(options)) { + return commands; + } + return Object.keys(options).reduce((commands2, key2) => { + const value = options[key2]; + if (filterPrimitives(value, ["boolean"])) { + commands2.push(key2 + "=" + value); + } else { + commands2.push(key2); + } + return commands2; + }, commands); +} +function getTrailingOptions(args, initialPrimitive = 0, objectOnly = false) { + const command = []; + for (let i = 0, max = initialPrimitive < 0 ? args.length : initialPrimitive; i < max; i++) { + if ("string|number".includes(typeof args[i])) { + command.push(String(args[i])); + } + } + appendTaskOptions(trailingOptionsArgument(args), command); + if (!objectOnly) { + command.push(...trailingArrayArgument(args)); + } + return command; +} +function trailingArrayArgument(args) { + const hasTrailingCallback = typeof last(args) === "function"; + return filterType(last(args, hasTrailingCallback ? 1 : 0), filterArray, []); +} +function trailingOptionsArgument(args) { + const hasTrailingCallback = filterFunction(last(args)); + return filterType(last(args, hasTrailingCallback ? 1 : 0), filterPlainObject); +} +function trailingFunctionArgument(args, includeNoop = true) { + const callback = asFunction(last(args)); + return includeNoop || isUserFunction(callback) ? callback : void 0; +} +var init_task_options = __esm({ + "src/lib/utils/task-options.ts"() { + init_argument_filters(); + init_util(); + } +}); +function callTaskParser(parser3, streams) { + return parser3(streams.stdOut, streams.stdErr); +} +function parseStringResponse(result, parsers11, texts, trim = true) { + asArray(texts).forEach((text2) => { + for (let lines = toLinesWithContent(text2, trim), i = 0, max = lines.length; i < max; i++) { + const line = (offset = 0) => { + if (i + offset >= max) { + return; + } + return lines[i + offset]; + }; + parsers11.some(({ parse }) => parse(line, result)); + } + }); + return result; +} +var init_task_parser = __esm({ + "src/lib/utils/task-parser.ts"() { + init_util(); + } +}); +var utils_exports = {}; +__export2(utils_exports, { + ExitCodes: () => ExitCodes, + GitOutputStreams: () => GitOutputStreams, + LineParser: () => LineParser, + NOOP: () => NOOP, + NULL: () => NULL, + RemoteLineParser: () => RemoteLineParser, + append: () => append, + appendTaskOptions: () => appendTaskOptions, + asArray: () => asArray, + asFunction: () => asFunction, + asNumber: () => asNumber, + asStringArray: () => asStringArray, + bufferToString: () => bufferToString, + callTaskParser: () => callTaskParser, + createInstanceConfig: () => createInstanceConfig, + delay: () => delay, + filterArray: () => filterArray, + filterFunction: () => filterFunction, + filterHasLength: () => filterHasLength, + filterPlainObject: () => filterPlainObject, + filterPrimitives: () => filterPrimitives, + filterString: () => filterString, + filterStringArray: () => filterStringArray, + filterStringOrStringArray: () => filterStringOrStringArray, + filterType: () => filterType, + first: () => first, + folderExists: () => folderExists, + forEachLineWithContent: () => forEachLineWithContent, + getTrailingOptions: () => getTrailingOptions, + including: () => including, + isUserFunction: () => isUserFunction, + last: () => last, + objectToString: () => objectToString, + parseStringResponse: () => parseStringResponse, + pick: () => pick, + prefixedArray: () => prefixedArray, + remove: () => remove, + splitOn: () => splitOn, + toLinesWithContent: () => toLinesWithContent, + trailingFunctionArgument: () => trailingFunctionArgument, + trailingOptionsArgument: () => trailingOptionsArgument +}); +var init_utils = __esm({ + "src/lib/utils/index.ts"() { + init_argument_filters(); + init_exit_codes(); + init_git_output_streams(); + init_line_parser(); + init_simple_git_options(); + init_task_options(); + init_task_parser(); + init_util(); + } +}); +var check_is_repo_exports = {}; +__export2(check_is_repo_exports, { + CheckRepoActions: () => CheckRepoActions, + checkIsBareRepoTask: () => checkIsBareRepoTask, + checkIsRepoRootTask: () => checkIsRepoRootTask, + checkIsRepoTask: () => checkIsRepoTask +}); +function checkIsRepoTask(action) { + switch (action) { + case "bare": + return checkIsBareRepoTask(); + case "root": + return checkIsRepoRootTask(); + } + const commands = ["rev-parse", "--is-inside-work-tree"]; + return { + commands, + format: "utf-8", + onError, + parser + }; +} +function checkIsRepoRootTask() { + const commands = ["rev-parse", "--git-dir"]; + return { + commands, + format: "utf-8", + onError, + parser(path3) { + return /^\.(git)?$/.test(path3.trim()); + } + }; +} +function checkIsBareRepoTask() { + const commands = ["rev-parse", "--is-bare-repository"]; + return { + commands, + format: "utf-8", + onError, + parser + }; +} +function isNotRepoMessage(error) { + return /(Not a git repository|Kein Git-Repository)/i.test(String(error)); +} +var CheckRepoActions; +var onError; +var parser; +var init_check_is_repo = __esm({ + "src/lib/tasks/check-is-repo.ts"() { + init_utils(); + CheckRepoActions = /* @__PURE__ */ ((CheckRepoActions2) => { + CheckRepoActions2["BARE"] = "bare"; + CheckRepoActions2["IN_TREE"] = "tree"; + CheckRepoActions2["IS_REPO_ROOT"] = "root"; + return CheckRepoActions2; + })(CheckRepoActions || {}); + onError = ({ exitCode }, error, done, fail) => { + if (exitCode === 128 && isNotRepoMessage(error)) { + return done(Buffer.from("false")); + } + fail(error); + }; + parser = (text2) => { + return text2.trim() === "true"; + }; + } +}); +function cleanSummaryParser(dryRun, text2) { + const summary = new CleanResponse(dryRun); + const regexp = dryRun ? dryRunRemovalRegexp : removalRegexp; + toLinesWithContent(text2).forEach((line) => { + const removed = line.replace(regexp, ""); + summary.paths.push(removed); + (isFolderRegexp.test(removed) ? summary.folders : summary.files).push(removed); + }); + return summary; +} +var CleanResponse; +var removalRegexp; +var dryRunRemovalRegexp; +var isFolderRegexp; +var init_CleanSummary = __esm({ + "src/lib/responses/CleanSummary.ts"() { + init_utils(); + CleanResponse = class { + constructor(dryRun) { + this.dryRun = dryRun; + this.paths = []; + this.files = []; + this.folders = []; + } + }; + removalRegexp = /^[a-z]+\s*/i; + dryRunRemovalRegexp = /^[a-z]+\s+[a-z]+\s*/i; + isFolderRegexp = /\/$/; + } +}); +var task_exports = {}; +__export2(task_exports, { + EMPTY_COMMANDS: () => EMPTY_COMMANDS, + adhocExecTask: () => adhocExecTask, + configurationErrorTask: () => configurationErrorTask, + isBufferTask: () => isBufferTask, + isEmptyTask: () => isEmptyTask, + straightThroughBufferTask: () => straightThroughBufferTask, + straightThroughStringTask: () => straightThroughStringTask +}); +function adhocExecTask(parser3) { + return { + commands: EMPTY_COMMANDS, + format: "empty", + parser: parser3 + }; +} +function configurationErrorTask(error) { + return { + commands: EMPTY_COMMANDS, + format: "empty", + parser() { + throw typeof error === "string" ? new TaskConfigurationError(error) : error; + } + }; +} +function straightThroughStringTask(commands, trimmed2 = false) { + return { + commands, + format: "utf-8", + parser(text2) { + return trimmed2 ? String(text2).trim() : text2; + } + }; +} +function straightThroughBufferTask(commands) { + return { + commands, + format: "buffer", + parser(buffer) { + return buffer; + } + }; +} +function isBufferTask(task) { + return task.format === "buffer"; +} +function isEmptyTask(task) { + return task.format === "empty" || !task.commands.length; +} +var EMPTY_COMMANDS; +var init_task = __esm({ + "src/lib/tasks/task.ts"() { + init_task_configuration_error(); + EMPTY_COMMANDS = []; + } +}); +var clean_exports = {}; +__export2(clean_exports, { + CONFIG_ERROR_INTERACTIVE_MODE: () => CONFIG_ERROR_INTERACTIVE_MODE, + CONFIG_ERROR_MODE_REQUIRED: () => CONFIG_ERROR_MODE_REQUIRED, + CONFIG_ERROR_UNKNOWN_OPTION: () => CONFIG_ERROR_UNKNOWN_OPTION, + CleanOptions: () => CleanOptions, + cleanTask: () => cleanTask, + cleanWithOptionsTask: () => cleanWithOptionsTask, + isCleanOptionsArray: () => isCleanOptionsArray +}); +function cleanWithOptionsTask(mode, customArgs) { + const { cleanMode, options, valid } = getCleanOptions(mode); + if (!cleanMode) { + return configurationErrorTask(CONFIG_ERROR_MODE_REQUIRED); + } + if (!valid.options) { + return configurationErrorTask(CONFIG_ERROR_UNKNOWN_OPTION + JSON.stringify(mode)); + } + options.push(...customArgs); + if (options.some(isInteractiveMode)) { + return configurationErrorTask(CONFIG_ERROR_INTERACTIVE_MODE); + } + return cleanTask(cleanMode, options); +} +function cleanTask(mode, customArgs) { + const commands = ["clean", `-${mode}`, ...customArgs]; + return { + commands, + format: "utf-8", + parser(text2) { + return cleanSummaryParser(mode === "n", text2); + } + }; +} +function isCleanOptionsArray(input) { + return Array.isArray(input) && input.every((test) => CleanOptionValues.has(test)); +} +function getCleanOptions(input) { + let cleanMode; + let options = []; + let valid = { cleanMode: false, options: true }; + input.replace(/[^a-z]i/g, "").split("").forEach((char) => { + if (isCleanMode(char)) { + cleanMode = char; + valid.cleanMode = true; + } else { + valid.options = valid.options && isKnownOption(options[options.length] = `-${char}`); + } + }); + return { + cleanMode, + options, + valid + }; +} +function isCleanMode(cleanMode) { + return cleanMode === "f" || cleanMode === "n"; +} +function isKnownOption(option) { + return /^-[a-z]$/i.test(option) && CleanOptionValues.has(option.charAt(1)); +} +function isInteractiveMode(option) { + if (/^-[^\-]/.test(option)) { + return option.indexOf("i") > 0; + } + return option === "--interactive"; +} +var CONFIG_ERROR_INTERACTIVE_MODE; +var CONFIG_ERROR_MODE_REQUIRED; +var CONFIG_ERROR_UNKNOWN_OPTION; +var CleanOptions; +var CleanOptionValues; +var init_clean = __esm({ + "src/lib/tasks/clean.ts"() { + init_CleanSummary(); + init_utils(); + init_task(); + CONFIG_ERROR_INTERACTIVE_MODE = "Git clean interactive mode is not supported"; + CONFIG_ERROR_MODE_REQUIRED = 'Git clean mode parameter ("n" or "f") is required'; + CONFIG_ERROR_UNKNOWN_OPTION = "Git clean unknown option found in: "; + CleanOptions = /* @__PURE__ */ ((CleanOptions2) => { + CleanOptions2["DRY_RUN"] = "n"; + CleanOptions2["FORCE"] = "f"; + CleanOptions2["IGNORED_INCLUDED"] = "x"; + CleanOptions2["IGNORED_ONLY"] = "X"; + CleanOptions2["EXCLUDING"] = "e"; + CleanOptions2["QUIET"] = "q"; + CleanOptions2["RECURSIVE"] = "d"; + return CleanOptions2; + })(CleanOptions || {}); + CleanOptionValues = /* @__PURE__ */ new Set(["i", ...asStringArray(Object.values(CleanOptions))]); + } +}); +function configListParser(text2) { + const config = new ConfigList(); + for (const item of configParser(text2)) { + config.addValue(item.file, String(item.key), item.value); + } + return config; +} +function configGetParser(text2, key2) { + let value = null; + const values = []; + const scopes = /* @__PURE__ */ new Map(); + for (const item of configParser(text2, key2)) { + if (item.key !== key2) { + continue; + } + values.push(value = item.value); + if (!scopes.has(item.file)) { + scopes.set(item.file, []); + } + scopes.get(item.file).push(value); + } + return { + key: key2, + paths: Array.from(scopes.keys()), + scopes, + value, + values + }; +} +function configFilePath(filePath) { + return filePath.replace(/^(file):/, ""); +} +function* configParser(text2, requestedKey = null) { + const lines = text2.split("\0"); + for (let i = 0, max = lines.length - 1; i < max; ) { + const file = configFilePath(lines[i++]); + let value = lines[i++]; + let key2 = requestedKey; + if (value.includes("\n")) { + const line = splitOn(value, "\n"); + key2 = line[0]; + value = line[1]; + } + yield { file, key: key2, value }; + } +} +var ConfigList; +var init_ConfigList = __esm({ + "src/lib/responses/ConfigList.ts"() { + init_utils(); + ConfigList = class { + constructor() { + this.files = []; + this.values = /* @__PURE__ */ Object.create(null); + } + get all() { + if (!this._all) { + this._all = this.files.reduce((all, file) => { + return Object.assign(all, this.values[file]); + }, {}); + } + return this._all; + } + addFile(file) { + if (!(file in this.values)) { + const latest = last(this.files); + this.values[file] = latest ? Object.create(this.values[latest]) : {}; + this.files.push(file); + } + return this.values[file]; + } + addValue(file, key2, value) { + const values = this.addFile(file); + if (!values.hasOwnProperty(key2)) { + values[key2] = value; + } else if (Array.isArray(values[key2])) { + values[key2].push(value); + } else { + values[key2] = [values[key2], value]; + } + this._all = void 0; + } + }; + } +}); +function asConfigScope(scope, fallback) { + if (typeof scope === "string" && GitConfigScope.hasOwnProperty(scope)) { + return scope; + } + return fallback; +} +function addConfigTask(key2, value, append22, scope) { + const commands = ["config", `--${scope}`]; + if (append22) { + commands.push("--add"); + } + commands.push(key2, value); + return { + commands, + format: "utf-8", + parser(text2) { + return text2; + } + }; +} +function getConfigTask(key2, scope) { + const commands = ["config", "--null", "--show-origin", "--get-all", key2]; + if (scope) { + commands.splice(1, 0, `--${scope}`); + } + return { + commands, + format: "utf-8", + parser(text2) { + return configGetParser(text2, key2); + } + }; +} +function listConfigTask(scope) { + const commands = ["config", "--list", "--show-origin", "--null"]; + if (scope) { + commands.push(`--${scope}`); + } + return { + commands, + format: "utf-8", + parser(text2) { + return configListParser(text2); + } + }; +} +function config_default() { + return { + addConfig(key2, value, ...rest) { + return this._runTask(addConfigTask(key2, value, rest[0] === true, asConfigScope(rest[1], "local")), trailingFunctionArgument(arguments)); + }, + getConfig(key2, scope) { + return this._runTask(getConfigTask(key2, asConfigScope(scope, void 0)), trailingFunctionArgument(arguments)); + }, + listConfig(...rest) { + return this._runTask(listConfigTask(asConfigScope(rest[0], void 0)), trailingFunctionArgument(arguments)); + } + }; +} +var GitConfigScope; +var init_config = __esm({ + "src/lib/tasks/config.ts"() { + init_ConfigList(); + init_utils(); + GitConfigScope = /* @__PURE__ */ ((GitConfigScope2) => { + GitConfigScope2["system"] = "system"; + GitConfigScope2["global"] = "global"; + GitConfigScope2["local"] = "local"; + GitConfigScope2["worktree"] = "worktree"; + return GitConfigScope2; + })(GitConfigScope || {}); + } +}); +function grepQueryBuilder(...params) { + return new GrepQuery().param(...params); +} +function parseGrep(grep) { + const paths = /* @__PURE__ */ new Set(); + const results = {}; + forEachLineWithContent(grep, (input) => { + const [path3, line, preview] = input.split(NULL); + paths.add(path3); + (results[path3] = results[path3] || []).push({ + line: asNumber(line), + path: path3, + preview + }); + }); + return { + paths, + results + }; +} +function grep_default() { + return { + grep(searchTerm) { + const then = trailingFunctionArgument(arguments); + const options = getTrailingOptions(arguments); + for (const option of disallowedOptions) { + if (options.includes(option)) { + return this._runTask(configurationErrorTask(`git.grep: use of "${option}" is not supported.`), then); + } + } + if (typeof searchTerm === "string") { + searchTerm = grepQueryBuilder().param(searchTerm); + } + const commands = ["grep", "--null", "-n", "--full-name", ...options, ...searchTerm]; + return this._runTask({ + commands, + format: "utf-8", + parser(stdOut) { + return parseGrep(stdOut); + } + }, then); + } + }; +} +var disallowedOptions; +var Query; +var _a; +var GrepQuery; +var init_grep = __esm({ + "src/lib/tasks/grep.ts"() { + init_utils(); + init_task(); + disallowedOptions = ["-h"]; + Query = Symbol("grepQuery"); + GrepQuery = class { + constructor() { + this[_a] = []; + } + *[(_a = Query, Symbol.iterator)]() { + for (const query of this[Query]) { + yield query; + } + } + and(...and) { + and.length && this[Query].push("--and", "(", ...prefixedArray(and, "-e"), ")"); + return this; + } + param(...param) { + this[Query].push(...prefixedArray(param, "-e")); + return this; + } + }; + } +}); +var reset_exports = {}; +__export2(reset_exports, { + ResetMode: () => ResetMode, + getResetMode: () => getResetMode, + resetTask: () => resetTask +}); +function resetTask(mode, customArgs) { + const commands = ["reset"]; + if (isValidResetMode(mode)) { + commands.push(`--${mode}`); + } + commands.push(...customArgs); + return straightThroughStringTask(commands); +} +function getResetMode(mode) { + if (isValidResetMode(mode)) { + return mode; + } + switch (typeof mode) { + case "string": + case "undefined": + return "soft"; + } + return; +} +function isValidResetMode(mode) { + return ResetModes.includes(mode); +} +var ResetMode; +var ResetModes; +var init_reset = __esm({ + "src/lib/tasks/reset.ts"() { + init_task(); + ResetMode = /* @__PURE__ */ ((ResetMode2) => { + ResetMode2["MIXED"] = "mixed"; + ResetMode2["SOFT"] = "soft"; + ResetMode2["HARD"] = "hard"; + ResetMode2["MERGE"] = "merge"; + ResetMode2["KEEP"] = "keep"; + return ResetMode2; + })(ResetMode || {}); + ResetModes = Array.from(Object.values(ResetMode)); + } +}); +function createLog() { + return (0, import_debug.default)("simple-git"); +} +function prefixedLogger(to, prefix, forward) { + if (!prefix || !String(prefix).replace(/\s*/, "")) { + return !forward ? to : (message, ...args) => { + to(message, ...args); + forward(message, ...args); + }; + } + return (message, ...args) => { + to(`%s ${message}`, prefix, ...args); + if (forward) { + forward(message, ...args); + } + }; +} +function childLoggerName(name, childDebugger, { namespace: parentNamespace }) { + if (typeof name === "string") { + return name; + } + const childNamespace = childDebugger && childDebugger.namespace || ""; + if (childNamespace.startsWith(parentNamespace)) { + return childNamespace.substr(parentNamespace.length + 1); + } + return childNamespace || parentNamespace; +} +function createLogger(label, verbose, initialStep, infoDebugger = createLog()) { + const labelPrefix = label && `[${label}]` || ""; + const spawned = []; + const debugDebugger = typeof verbose === "string" ? infoDebugger.extend(verbose) : verbose; + const key2 = childLoggerName(filterType(verbose, filterString), debugDebugger, infoDebugger); + return step(initialStep); + function sibling(name, initial) { + return append(spawned, createLogger(label, key2.replace(/^[^:]+/, name), initial, infoDebugger)); + } + function step(phase) { + const stepPrefix = phase && `[${phase}]` || ""; + const debug2 = debugDebugger && prefixedLogger(debugDebugger, stepPrefix) || NOOP; + const info = prefixedLogger(infoDebugger, `${labelPrefix} ${stepPrefix}`, debug2); + return Object.assign(debugDebugger ? debug2 : info, { + label, + sibling, + info, + step + }); + } +} +var init_git_logger = __esm({ + "src/lib/git-logger.ts"() { + init_utils(); + import_debug.default.formatters.L = (value) => String(filterHasLength(value) ? value.length : "-"); + import_debug.default.formatters.B = (value) => { + if (Buffer.isBuffer(value)) { + return value.toString("utf8"); + } + return objectToString(value); + }; + } +}); +var _TasksPendingQueue; +var TasksPendingQueue; +var init_tasks_pending_queue = __esm({ + "src/lib/runners/tasks-pending-queue.ts"() { + init_git_error(); + init_git_logger(); + _TasksPendingQueue = class { + constructor(logLabel = "GitExecutor") { + this.logLabel = logLabel; + this._queue = /* @__PURE__ */ new Map(); + } + withProgress(task) { + return this._queue.get(task); + } + createProgress(task) { + const name = _TasksPendingQueue.getName(task.commands[0]); + const logger = createLogger(this.logLabel, name); + return { + task, + logger, + name + }; + } + push(task) { + const progress = this.createProgress(task); + progress.logger("Adding task to the queue, commands = %o", task.commands); + this._queue.set(task, progress); + return progress; + } + fatal(err) { + for (const [task, { logger }] of Array.from(this._queue.entries())) { + if (task === err.task) { + logger.info(`Failed %o`, err); + logger(`Fatal exception, any as-yet un-started tasks run through this executor will not be attempted`); + } else { + logger.info(`A fatal exception occurred in a previous task, the queue has been purged: %o`, err.message); + } + this.complete(task); + } + if (this._queue.size !== 0) { + throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`); + } + } + complete(task) { + const progress = this.withProgress(task); + if (progress) { + this._queue.delete(task); + } + } + attempt(task) { + const progress = this.withProgress(task); + if (!progress) { + throw new GitError(void 0, "TasksPendingQueue: attempt called for an unknown task"); + } + progress.logger("Starting task"); + return progress; + } + static getName(name = "empty") { + return `task:${name}:${++_TasksPendingQueue.counter}`; + } + }; + TasksPendingQueue = _TasksPendingQueue; + TasksPendingQueue.counter = 0; + } +}); +function pluginContext(task, commands) { + return { + method: first(task.commands) || "", + commands + }; +} +function onErrorReceived(target, logger) { + return (err) => { + logger(`[ERROR] child process exception %o`, err); + target.push(Buffer.from(String(err.stack), "ascii")); + }; +} +function onDataReceived(target, name, logger, output) { + return (buffer) => { + logger(`%s received %L bytes`, name, buffer); + output(`%B`, buffer); + target.push(buffer); + }; +} +var GitExecutorChain; +var init_git_executor_chain = __esm({ + "src/lib/runners/git-executor-chain.ts"() { + init_git_error(); + init_task(); + init_utils(); + init_tasks_pending_queue(); + GitExecutorChain = class { + constructor(_executor, _scheduler, _plugins) { + this._executor = _executor; + this._scheduler = _scheduler; + this._plugins = _plugins; + this._chain = Promise.resolve(); + this._queue = new TasksPendingQueue(); + } + get binary() { + return this._executor.binary; + } + get cwd() { + return this._cwd || this._executor.cwd; + } + set cwd(cwd) { + this._cwd = cwd; + } + get env() { + return this._executor.env; + } + get outputHandler() { + return this._executor.outputHandler; + } + chain() { + return this; + } + push(task) { + this._queue.push(task); + return this._chain = this._chain.then(() => this.attemptTask(task)); + } + attemptTask(task) { + return __async2(this, null, function* () { + const onScheduleComplete = yield this._scheduler.next(); + const onQueueComplete = () => this._queue.complete(task); + try { + const { logger } = this._queue.attempt(task); + return yield isEmptyTask(task) ? this.attemptEmptyTask(task, logger) : this.attemptRemoteTask(task, logger); + } catch (e) { + throw this.onFatalException(task, e); + } finally { + onQueueComplete(); + onScheduleComplete(); + } + }); + } + onFatalException(task, e) { + const gitError = e instanceof GitError ? Object.assign(e, { task }) : new GitError(task, e && String(e)); + this._chain = Promise.resolve(); + this._queue.fatal(gitError); + return gitError; + } + attemptRemoteTask(task, logger) { + return __async2(this, null, function* () { + const args = this._plugins.exec("spawn.args", [...task.commands], pluginContext(task, task.commands)); + const raw = yield this.gitResponse(task, this.binary, args, this.outputHandler, logger.step("SPAWN")); + const outputStreams = yield this.handleTaskData(task, args, raw, logger.step("HANDLE")); + logger(`passing response to task's parser as a %s`, task.format); + if (isBufferTask(task)) { + return callTaskParser(task.parser, outputStreams); + } + return callTaskParser(task.parser, outputStreams.asStrings()); + }); + } + attemptEmptyTask(task, logger) { + return __async2(this, null, function* () { + logger(`empty task bypassing child process to call to task's parser`); + return task.parser(this); + }); + } + handleTaskData(task, args, result, logger) { + const { exitCode, rejection, stdOut, stdErr } = result; + return new Promise((done, fail) => { + logger(`Preparing to handle process response exitCode=%d stdOut=`, exitCode); + const { error } = this._plugins.exec("task.error", { error: rejection }, __spreadValues2(__spreadValues2({}, pluginContext(task, args)), result)); + if (error && task.onError) { + logger.info(`exitCode=%s handling with custom error handler`); + return task.onError(result, error, (newStdOut) => { + logger.info(`custom error handler treated as success`); + logger(`custom error returned a %s`, objectToString(newStdOut)); + done(new GitOutputStreams(Array.isArray(newStdOut) ? Buffer.concat(newStdOut) : newStdOut, Buffer.concat(stdErr))); + }, fail); + } + if (error) { + logger.info(`handling as error: exitCode=%s stdErr=%s rejection=%o`, exitCode, stdErr.length, rejection); + return fail(error); + } + logger.info(`retrieving task output complete`); + done(new GitOutputStreams(Buffer.concat(stdOut), Buffer.concat(stdErr))); + }); + } + gitResponse(task, command, args, outputHandler, logger) { + return __async2(this, null, function* () { + const outputLogger = logger.sibling("output"); + const spawnOptions = this._plugins.exec("spawn.options", { + cwd: this.cwd, + env: this.env, + windowsHide: true + }, pluginContext(task, task.commands)); + return new Promise((done) => { + const stdOut = []; + const stdErr = []; + let rejection; + logger.info(`%s %o`, command, args); + logger("%O", spawnOptions); + const spawned = (0, import_child_process.spawn)(command, args, spawnOptions); + spawned.stdout.on("data", onDataReceived(stdOut, "stdOut", logger, outputLogger.step("stdOut"))); + spawned.stderr.on("data", onDataReceived(stdErr, "stdErr", logger, outputLogger.step("stdErr"))); + spawned.on("error", onErrorReceived(stdErr, logger)); + if (outputHandler) { + logger(`Passing child process stdOut/stdErr to custom outputHandler`); + outputHandler(command, spawned.stdout, spawned.stderr, [...args]); + } + this._plugins.exec("spawn.after", void 0, __spreadProps2(__spreadValues2({}, pluginContext(task, args)), { + spawned, + close(exitCode, reason) { + done({ + stdOut, + stdErr, + exitCode, + rejection: rejection || reason + }); + }, + kill(reason) { + if (spawned.killed) { + return; + } + rejection = reason; + spawned.kill("SIGINT"); + } + })); + }); + }); + } + }; + } +}); +var git_executor_exports = {}; +__export2(git_executor_exports, { + GitExecutor: () => GitExecutor +}); +var GitExecutor; +var init_git_executor = __esm({ + "src/lib/runners/git-executor.ts"() { + init_git_executor_chain(); + GitExecutor = class { + constructor(binary = "git", cwd, _scheduler, _plugins) { + this.binary = binary; + this.cwd = cwd; + this._scheduler = _scheduler; + this._plugins = _plugins; + this._chain = new GitExecutorChain(this, this._scheduler, this._plugins); + } + chain() { + return new GitExecutorChain(this, this._scheduler, this._plugins); + } + push(task) { + return this._chain.push(task); + } + }; + } +}); +function taskCallback(task, response, callback = NOOP) { + const onSuccess = (data) => { + callback(null, data); + }; + const onError2 = (err) => { + if ((err == null ? void 0 : err.task) === task) { + callback(err instanceof GitResponseError ? addDeprecationNoticeToError(err) : err, void 0); + } + }; + response.then(onSuccess, onError2); +} +function addDeprecationNoticeToError(err) { + let log = (name) => { + console.warn(`simple-git deprecation notice: accessing GitResponseError.${name} should be GitResponseError.git.${name}, this will no longer be available in version 3`); + log = NOOP; + }; + return Object.create(err, Object.getOwnPropertyNames(err.git).reduce(descriptorReducer, {})); + function descriptorReducer(all, name) { + if (name in err) { + return all; + } + all[name] = { + enumerable: false, + configurable: false, + get() { + log(name); + return err.git[name]; + } + }; + return all; + } +} +var init_task_callback = __esm({ + "src/lib/task-callback.ts"() { + init_git_response_error(); + init_utils(); + } +}); +function changeWorkingDirectoryTask(directory, root) { + return adhocExecTask((instance5) => { + if (!folderExists(directory)) { + throw new Error(`Git.cwd: cannot change to non-directory "${directory}"`); + } + return (root || instance5).cwd = directory; + }); +} +var init_change_working_directory = __esm({ + "src/lib/tasks/change-working-directory.ts"() { + init_utils(); + init_task(); + } +}); +function parseCommitResult(stdOut) { + const result = { + author: null, + branch: "", + commit: "", + root: false, + summary: { + changes: 0, + insertions: 0, + deletions: 0 + } + }; + return parseStringResponse(result, parsers, stdOut); +} +var parsers; +var init_parse_commit = __esm({ + "src/lib/parsers/parse-commit.ts"() { + init_utils(); + parsers = [ + new LineParser(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/, (result, [branch, root, commit]) => { + result.branch = branch; + result.commit = commit; + result.root = !!root; + }), + new LineParser(/\s*Author:\s(.+)/i, (result, [author]) => { + const parts = author.split("<"); + const email = parts.pop(); + if (!email || !email.includes("@")) { + return; + } + result.author = { + email: email.substr(0, email.length - 1), + name: parts.join("<").trim() + }; + }), + new LineParser(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g, (result, [changes, insertions, deletions]) => { + result.summary.changes = parseInt(changes, 10) || 0; + result.summary.insertions = parseInt(insertions, 10) || 0; + result.summary.deletions = parseInt(deletions, 10) || 0; + }), + new LineParser(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/, (result, [changes, lines, direction]) => { + result.summary.changes = parseInt(changes, 10) || 0; + const count = parseInt(lines, 10) || 0; + if (direction === "-") { + result.summary.deletions = count; + } else if (direction === "+") { + result.summary.insertions = count; + } + }) + ]; + } +}); +var commit_exports = {}; +__export2(commit_exports, { + commitTask: () => commitTask, + default: () => commit_default +}); +function commitTask(message, files, customArgs) { + const commands = [ + "-c", + "core.abbrev=40", + "commit", + ...prefixedArray(message, "-m"), + ...files, + ...customArgs + ]; + return { + commands, + format: "utf-8", + parser: parseCommitResult + }; +} +function commit_default() { + return { + commit(message, ...rest) { + const next = trailingFunctionArgument(arguments); + const task = rejectDeprecatedSignatures(message) || commitTask(asArray(message), asArray(filterType(rest[0], filterStringOrStringArray, [])), [...filterType(rest[1], filterArray, []), ...getTrailingOptions(arguments, 0, true)]); + return this._runTask(task, next); + } + }; + function rejectDeprecatedSignatures(message) { + return !filterStringOrStringArray(message) && configurationErrorTask(`git.commit: requires the commit message to be supplied as a string/string[]`); + } +} +var init_commit = __esm({ + "src/lib/tasks/commit.ts"() { + init_parse_commit(); + init_utils(); + init_task(); + } +}); +function hashObjectTask(filePath, write) { + const commands = ["hash-object", filePath]; + if (write) { + commands.push("-w"); + } + return straightThroughStringTask(commands, true); +} +var init_hash_object = __esm({ + "src/lib/tasks/hash-object.ts"() { + init_task(); + } +}); +function parseInit(bare, path3, text2) { + const response = String(text2).trim(); + let result; + if (result = initResponseRegex.exec(response)) { + return new InitSummary(bare, path3, false, result[1]); + } + if (result = reInitResponseRegex.exec(response)) { + return new InitSummary(bare, path3, true, result[1]); + } + let gitDir = ""; + const tokens = response.split(" "); + while (tokens.length) { + const token = tokens.shift(); + if (token === "in") { + gitDir = tokens.join(" "); + break; + } + } + return new InitSummary(bare, path3, /^re/i.test(response), gitDir); +} +var InitSummary; +var initResponseRegex; +var reInitResponseRegex; +var init_InitSummary = __esm({ + "src/lib/responses/InitSummary.ts"() { + InitSummary = class { + constructor(bare, path3, existing, gitDir) { + this.bare = bare; + this.path = path3; + this.existing = existing; + this.gitDir = gitDir; + } + }; + initResponseRegex = /^Init.+ repository in (.+)$/; + reInitResponseRegex = /^Rein.+ in (.+)$/; + } +}); +function hasBareCommand(command) { + return command.includes(bareCommand); +} +function initTask(bare = false, path3, customArgs) { + const commands = ["init", ...customArgs]; + if (bare && !hasBareCommand(commands)) { + commands.splice(1, 0, bareCommand); + } + return { + commands, + format: "utf-8", + parser(text2) { + return parseInit(commands.includes("--bare"), path3, text2); + } + }; +} +var bareCommand; +var init_init = __esm({ + "src/lib/tasks/init.ts"() { + init_InitSummary(); + bareCommand = "--bare"; + } +}); +function logFormatFromCommand(customArgs) { + for (let i = 0; i < customArgs.length; i++) { + const format = logFormatRegex.exec(customArgs[i]); + if (format) { + return `--${format[1]}`; + } + } + return ""; +} +function isLogFormat(customArg) { + return logFormatRegex.test(customArg); +} +var logFormatRegex; +var init_log_format = __esm({ + "src/lib/args/log-format.ts"() { + logFormatRegex = /^--(stat|numstat|name-only|name-status)(=|$)/; + } +}); +var DiffSummary; +var init_DiffSummary = __esm({ + "src/lib/responses/DiffSummary.ts"() { + DiffSummary = class { + constructor() { + this.changed = 0; + this.deletions = 0; + this.insertions = 0; + this.files = []; + } + }; + } +}); +function getDiffParser(format = "") { + const parser3 = diffSummaryParsers[format]; + return (stdOut) => parseStringResponse(new DiffSummary(), parser3, stdOut, false); +} +var statParser; +var numStatParser; +var nameOnlyParser; +var nameStatusParser; +var diffSummaryParsers; +var init_parse_diff_summary = __esm({ + "src/lib/parsers/parse-diff-summary.ts"() { + init_log_format(); + init_DiffSummary(); + init_utils(); + statParser = [ + new LineParser(/(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/, (result, [file, changes, alterations = ""]) => { + result.files.push({ + file: file.trim(), + changes: asNumber(changes), + insertions: alterations.replace(/[^+]/g, "").length, + deletions: alterations.replace(/[^-]/g, "").length, + binary: false + }); + }), + new LineParser(/(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/, (result, [file, before, after]) => { + result.files.push({ + file: file.trim(), + before: asNumber(before), + after: asNumber(after), + binary: true + }); + }), + new LineParser(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/, (result, [changed, summary]) => { + const inserted = /(\d+) i/.exec(summary); + const deleted = /(\d+) d/.exec(summary); + result.changed = asNumber(changed); + result.insertions = asNumber(inserted == null ? void 0 : inserted[1]); + result.deletions = asNumber(deleted == null ? void 0 : deleted[1]); + }) + ]; + numStatParser = [ + new LineParser(/(\d+)\t(\d+)\t(.+)$/, (result, [changesInsert, changesDelete, file]) => { + const insertions = asNumber(changesInsert); + const deletions = asNumber(changesDelete); + result.changed++; + result.insertions += insertions; + result.deletions += deletions; + result.files.push({ + file, + changes: insertions + deletions, + insertions, + deletions, + binary: false + }); + }), + new LineParser(/-\t-\t(.+)$/, (result, [file]) => { + result.changed++; + result.files.push({ + file, + after: 0, + before: 0, + binary: true + }); + }) + ]; + nameOnlyParser = [ + new LineParser(/(.+)$/, (result, [file]) => { + result.changed++; + result.files.push({ + file, + changes: 0, + insertions: 0, + deletions: 0, + binary: false + }); + }) + ]; + nameStatusParser = [ + new LineParser(/([ACDMRTUXB])\s*(.+)$/, (result, [_status, file]) => { + result.changed++; + result.files.push({ + file, + changes: 0, + insertions: 0, + deletions: 0, + binary: false + }); + }) + ]; + diffSummaryParsers = { + [""]: statParser, + ["--stat"]: statParser, + ["--numstat"]: numStatParser, + ["--name-status"]: nameStatusParser, + ["--name-only"]: nameOnlyParser + }; + } +}); +function lineBuilder(tokens, fields) { + return fields.reduce((line, field, index) => { + line[field] = tokens[index] || ""; + return line; + }, /* @__PURE__ */ Object.create({ diff: null })); +} +function createListLogSummaryParser(splitter = SPLITTER, fields = defaultFieldNames, logFormat = "") { + const parseDiffResult = getDiffParser(logFormat); + return function(stdOut) { + const all = toLinesWithContent(stdOut, true, START_BOUNDARY).map(function(item) { + const lineDetail = item.trim().split(COMMIT_BOUNDARY); + const listLogLine = lineBuilder(lineDetail[0].trim().split(splitter), fields); + if (lineDetail.length > 1 && !!lineDetail[1].trim()) { + listLogLine.diff = parseDiffResult(lineDetail[1]); + } + return listLogLine; + }); + return { + all, + latest: all.length && all[0] || null, + total: all.length + }; + }; +} +var START_BOUNDARY; +var COMMIT_BOUNDARY; +var SPLITTER; +var defaultFieldNames; +var init_parse_list_log_summary = __esm({ + "src/lib/parsers/parse-list-log-summary.ts"() { + init_utils(); + init_parse_diff_summary(); + init_log_format(); + START_BOUNDARY = "\xF2\xF2\xF2\xF2\xF2\xF2 "; + COMMIT_BOUNDARY = " \xF2\xF2"; + SPLITTER = " \xF2 "; + defaultFieldNames = ["hash", "date", "message", "refs", "author_name", "author_email"]; + } +}); +var diff_exports = {}; +__export2(diff_exports, { + diffSummaryTask: () => diffSummaryTask, + validateLogFormatConfig: () => validateLogFormatConfig +}); +function diffSummaryTask(customArgs) { + let logFormat = logFormatFromCommand(customArgs); + const commands = ["diff"]; + if (logFormat === "") { + logFormat = "--stat"; + commands.push("--stat=4096"); + } + commands.push(...customArgs); + return validateLogFormatConfig(commands) || { + commands, + format: "utf-8", + parser: getDiffParser(logFormat) + }; +} +function validateLogFormatConfig(customArgs) { + const flags = customArgs.filter(isLogFormat); + if (flags.length > 1) { + return configurationErrorTask(`Summary flags are mutually exclusive - pick one of ${flags.join(",")}`); + } + if (flags.length && customArgs.includes("-z")) { + return configurationErrorTask(`Summary flag ${flags} parsing is not compatible with null termination option '-z'`); + } +} +var init_diff = __esm({ + "src/lib/tasks/diff.ts"() { + init_log_format(); + init_parse_diff_summary(); + init_task(); + } +}); +function prettyFormat(format, splitter) { + const fields = []; + const formatStr = []; + Object.keys(format).forEach((field) => { + fields.push(field); + formatStr.push(String(format[field])); + }); + return [ + fields, + formatStr.join(splitter) + ]; +} +function userOptions(input) { + return Object.keys(input).reduce((out, key2) => { + if (!(key2 in excludeOptions)) { + out[key2] = input[key2]; + } + return out; + }, {}); +} +function parseLogOptions(opt = {}, customArgs = []) { + const splitter = filterType(opt.splitter, filterString, SPLITTER); + const format = !filterPrimitives(opt.format) && opt.format ? opt.format : { + hash: "%H", + date: opt.strictDate === false ? "%ai" : "%aI", + message: "%s", + refs: "%D", + body: opt.multiLine ? "%B" : "%b", + author_name: opt.mailMap !== false ? "%aN" : "%an", + author_email: opt.mailMap !== false ? "%aE" : "%ae" + }; + const [fields, formatStr] = prettyFormat(format, splitter); + const suffix = []; + const command = [ + `--pretty=format:${START_BOUNDARY}${formatStr}${COMMIT_BOUNDARY}`, + ...customArgs + ]; + const maxCount = opt.n || opt["max-count"] || opt.maxCount; + if (maxCount) { + command.push(`--max-count=${maxCount}`); + } + if (opt.from && opt.to) { + const rangeOperator = opt.symmetric !== false ? "..." : ".."; + suffix.push(`${opt.from}${rangeOperator}${opt.to}`); + } + if (filterString(opt.file)) { + suffix.push("--follow", opt.file); + } + appendTaskOptions(userOptions(opt), command); + return { + fields, + splitter, + commands: [ + ...command, + ...suffix + ] + }; +} +function logTask(splitter, fields, customArgs) { + const parser3 = createListLogSummaryParser(splitter, fields, logFormatFromCommand(customArgs)); + return { + commands: ["log", ...customArgs], + format: "utf-8", + parser: parser3 + }; +} +function log_default() { + return { + log(...rest) { + const next = trailingFunctionArgument(arguments); + const options = parseLogOptions(trailingOptionsArgument(arguments), filterType(arguments[0], filterArray)); + const task = rejectDeprecatedSignatures(...rest) || validateLogFormatConfig(options.commands) || createLogTask(options); + return this._runTask(task, next); + } + }; + function createLogTask(options) { + return logTask(options.splitter, options.fields, options.commands); + } + function rejectDeprecatedSignatures(from, to) { + return filterString(from) && filterString(to) && configurationErrorTask(`git.log(string, string) should be replaced with git.log({ from: string, to: string })`); + } +} +var excludeOptions; +var init_log = __esm({ + "src/lib/tasks/log.ts"() { + init_log_format(); + init_parse_list_log_summary(); + init_utils(); + init_task(); + init_diff(); + excludeOptions = /* @__PURE__ */ ((excludeOptions2) => { + excludeOptions2[excludeOptions2["--pretty"] = 0] = "--pretty"; + excludeOptions2[excludeOptions2["max-count"] = 1] = "max-count"; + excludeOptions2[excludeOptions2["maxCount"] = 2] = "maxCount"; + excludeOptions2[excludeOptions2["n"] = 3] = "n"; + excludeOptions2[excludeOptions2["file"] = 4] = "file"; + excludeOptions2[excludeOptions2["format"] = 5] = "format"; + excludeOptions2[excludeOptions2["from"] = 6] = "from"; + excludeOptions2[excludeOptions2["to"] = 7] = "to"; + excludeOptions2[excludeOptions2["splitter"] = 8] = "splitter"; + excludeOptions2[excludeOptions2["symmetric"] = 9] = "symmetric"; + excludeOptions2[excludeOptions2["mailMap"] = 10] = "mailMap"; + excludeOptions2[excludeOptions2["multiLine"] = 11] = "multiLine"; + excludeOptions2[excludeOptions2["strictDate"] = 12] = "strictDate"; + return excludeOptions2; + })(excludeOptions || {}); + } +}); +var MergeSummaryConflict; +var MergeSummaryDetail; +var init_MergeSummary = __esm({ + "src/lib/responses/MergeSummary.ts"() { + MergeSummaryConflict = class { + constructor(reason, file = null, meta) { + this.reason = reason; + this.file = file; + this.meta = meta; + } + toString() { + return `${this.file}:${this.reason}`; + } + }; + MergeSummaryDetail = class { + constructor() { + this.conflicts = []; + this.merges = []; + this.result = "success"; + } + get failed() { + return this.conflicts.length > 0; + } + get reason() { + return this.result; + } + toString() { + if (this.conflicts.length) { + return `CONFLICTS: ${this.conflicts.join(", ")}`; + } + return "OK"; + } + }; + } +}); +var PullSummary; +var PullFailedSummary; +var init_PullSummary = __esm({ + "src/lib/responses/PullSummary.ts"() { + PullSummary = class { + constructor() { + this.remoteMessages = { + all: [] + }; + this.created = []; + this.deleted = []; + this.files = []; + this.deletions = {}; + this.insertions = {}; + this.summary = { + changes: 0, + deletions: 0, + insertions: 0 + }; + } + }; + PullFailedSummary = class { + constructor() { + this.remote = ""; + this.hash = { + local: "", + remote: "" + }; + this.branch = { + local: "", + remote: "" + }; + this.message = ""; + } + toString() { + return this.message; + } + }; + } +}); +function objectEnumerationResult(remoteMessages) { + return remoteMessages.objects = remoteMessages.objects || { + compressing: 0, + counting: 0, + enumerating: 0, + packReused: 0, + reused: { count: 0, delta: 0 }, + total: { count: 0, delta: 0 } + }; +} +function asObjectCount(source) { + const count = /^\s*(\d+)/.exec(source); + const delta = /delta (\d+)/i.exec(source); + return { + count: asNumber(count && count[1] || "0"), + delta: asNumber(delta && delta[1] || "0") + }; +} +var remoteMessagesObjectParsers; +var init_parse_remote_objects = __esm({ + "src/lib/parsers/parse-remote-objects.ts"() { + init_utils(); + remoteMessagesObjectParsers = [ + new RemoteLineParser(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i, (result, [action, count]) => { + const key2 = action.toLowerCase(); + const enumeration = objectEnumerationResult(result.remoteMessages); + Object.assign(enumeration, { [key2]: asNumber(count) }); + }), + new RemoteLineParser(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i, (result, [action, count]) => { + const key2 = action.toLowerCase(); + const enumeration = objectEnumerationResult(result.remoteMessages); + Object.assign(enumeration, { [key2]: asNumber(count) }); + }), + new RemoteLineParser(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i, (result, [total, reused, packReused]) => { + const objects = objectEnumerationResult(result.remoteMessages); + objects.total = asObjectCount(total); + objects.reused = asObjectCount(reused); + objects.packReused = asNumber(packReused); + }) + ]; + } +}); +function parseRemoteMessages(_stdOut, stdErr) { + return parseStringResponse({ remoteMessages: new RemoteMessageSummary() }, parsers2, stdErr); +} +var parsers2; +var RemoteMessageSummary; +var init_parse_remote_messages = __esm({ + "src/lib/parsers/parse-remote-messages.ts"() { + init_utils(); + init_parse_remote_objects(); + parsers2 = [ + new RemoteLineParser(/^remote:\s*(.+)$/, (result, [text2]) => { + result.remoteMessages.all.push(text2.trim()); + return false; + }), + ...remoteMessagesObjectParsers, + new RemoteLineParser([/create a (?:pull|merge) request/i, /\s(https?:\/\/\S+)$/], (result, [pullRequestUrl]) => { + result.remoteMessages.pullRequestUrl = pullRequestUrl; + }), + new RemoteLineParser([/found (\d+) vulnerabilities.+\(([^)]+)\)/i, /\s(https?:\/\/\S+)$/], (result, [count, summary, url]) => { + result.remoteMessages.vulnerabilities = { + count: asNumber(count), + summary, + url + }; + }) + ]; + RemoteMessageSummary = class { + constructor() { + this.all = []; + } + }; + } +}); +function parsePullErrorResult(stdOut, stdErr) { + const pullError = parseStringResponse(new PullFailedSummary(), errorParsers, [stdOut, stdErr]); + return pullError.message && pullError; +} +var FILE_UPDATE_REGEX; +var SUMMARY_REGEX; +var ACTION_REGEX; +var parsers3; +var errorParsers; +var parsePullDetail; +var parsePullResult; +var init_parse_pull = __esm({ + "src/lib/parsers/parse-pull.ts"() { + init_PullSummary(); + init_utils(); + init_parse_remote_messages(); + FILE_UPDATE_REGEX = /^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/; + SUMMARY_REGEX = /(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/; + ACTION_REGEX = /^(create|delete) mode \d+ (.+)/; + parsers3 = [ + new LineParser(FILE_UPDATE_REGEX, (result, [file, insertions, deletions]) => { + result.files.push(file); + if (insertions) { + result.insertions[file] = insertions.length; + } + if (deletions) { + result.deletions[file] = deletions.length; + } + }), + new LineParser(SUMMARY_REGEX, (result, [changes, , insertions, , deletions]) => { + if (insertions !== void 0 || deletions !== void 0) { + result.summary.changes = +changes || 0; + result.summary.insertions = +insertions || 0; + result.summary.deletions = +deletions || 0; + return true; + } + return false; + }), + new LineParser(ACTION_REGEX, (result, [action, file]) => { + append(result.files, file); + append(action === "create" ? result.created : result.deleted, file); + }) + ]; + errorParsers = [ + new LineParser(/^from\s(.+)$/i, (result, [remote]) => void (result.remote = remote)), + new LineParser(/^fatal:\s(.+)$/, (result, [message]) => void (result.message = message)), + new LineParser(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/, (result, [hashLocal, hashRemote, branchLocal, branchRemote]) => { + result.branch.local = branchLocal; + result.hash.local = hashLocal; + result.branch.remote = branchRemote; + result.hash.remote = hashRemote; + }) + ]; + parsePullDetail = (stdOut, stdErr) => { + return parseStringResponse(new PullSummary(), parsers3, [stdOut, stdErr]); + }; + parsePullResult = (stdOut, stdErr) => { + return Object.assign(new PullSummary(), parsePullDetail(stdOut, stdErr), parseRemoteMessages(stdOut, stdErr)); + }; + } +}); +var parsers4; +var parseMergeResult; +var parseMergeDetail; +var init_parse_merge = __esm({ + "src/lib/parsers/parse-merge.ts"() { + init_MergeSummary(); + init_utils(); + init_parse_pull(); + parsers4 = [ + new LineParser(/^Auto-merging\s+(.+)$/, (summary, [autoMerge]) => { + summary.merges.push(autoMerge); + }), + new LineParser(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/, (summary, [reason, file]) => { + summary.conflicts.push(new MergeSummaryConflict(reason, file)); + }), + new LineParser(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/, (summary, [reason, file, deleteRef]) => { + summary.conflicts.push(new MergeSummaryConflict(reason, file, { deleteRef })); + }), + new LineParser(/^CONFLICT\s+\((.+)\):/, (summary, [reason]) => { + summary.conflicts.push(new MergeSummaryConflict(reason, null)); + }), + new LineParser(/^Automatic merge failed;\s+(.+)$/, (summary, [result]) => { + summary.result = result; + }) + ]; + parseMergeResult = (stdOut, stdErr) => { + return Object.assign(parseMergeDetail(stdOut, stdErr), parsePullResult(stdOut, stdErr)); + }; + parseMergeDetail = (stdOut) => { + return parseStringResponse(new MergeSummaryDetail(), parsers4, stdOut); + }; + } +}); +function mergeTask(customArgs) { + if (!customArgs.length) { + return configurationErrorTask("Git.merge requires at least one option"); + } + return { + commands: ["merge", ...customArgs], + format: "utf-8", + parser(stdOut, stdErr) { + const merge = parseMergeResult(stdOut, stdErr); + if (merge.failed) { + throw new GitResponseError(merge); + } + return merge; + } + }; +} +var init_merge = __esm({ + "src/lib/tasks/merge.ts"() { + init_git_response_error(); + init_parse_merge(); + init_task(); + } +}); +function pushResultPushedItem(local, remote, status) { + const deleted = status.includes("deleted"); + const tag = status.includes("tag") || /^refs\/tags/.test(local); + const alreadyUpdated = !status.includes("new"); + return { + deleted, + tag, + branch: !tag, + new: !alreadyUpdated, + alreadyUpdated, + local, + remote + }; +} +var parsers5; +var parsePushResult; +var parsePushDetail; +var init_parse_push = __esm({ + "src/lib/parsers/parse-push.ts"() { + init_utils(); + init_parse_remote_messages(); + parsers5 = [ + new LineParser(/^Pushing to (.+)$/, (result, [repo]) => { + result.repo = repo; + }), + new LineParser(/^updating local tracking ref '(.+)'/, (result, [local]) => { + result.ref = __spreadProps2(__spreadValues2({}, result.ref || {}), { + local + }); + }), + new LineParser(/^[*-=]\s+([^:]+):(\S+)\s+\[(.+)]$/, (result, [local, remote, type]) => { + result.pushed.push(pushResultPushedItem(local, remote, type)); + }), + new LineParser(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/, (result, [local, remote, remoteName]) => { + result.branch = __spreadProps2(__spreadValues2({}, result.branch || {}), { + local, + remote, + remoteName + }); + }), + new LineParser(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/, (result, [local, remote, from, to]) => { + result.update = { + head: { + local, + remote + }, + hash: { + from, + to + } + }; + }) + ]; + parsePushResult = (stdOut, stdErr) => { + const pushDetail = parsePushDetail(stdOut, stdErr); + const responseDetail = parseRemoteMessages(stdOut, stdErr); + return __spreadValues2(__spreadValues2({}, pushDetail), responseDetail); + }; + parsePushDetail = (stdOut, stdErr) => { + return parseStringResponse({ pushed: [] }, parsers5, [stdOut, stdErr]); + }; + } +}); +var push_exports = {}; +__export2(push_exports, { + pushTagsTask: () => pushTagsTask, + pushTask: () => pushTask +}); +function pushTagsTask(ref = {}, customArgs) { + append(customArgs, "--tags"); + return pushTask(ref, customArgs); +} +function pushTask(ref = {}, customArgs) { + const commands = ["push", ...customArgs]; + if (ref.branch) { + commands.splice(1, 0, ref.branch); + } + if (ref.remote) { + commands.splice(1, 0, ref.remote); + } + remove(commands, "-v"); + append(commands, "--verbose"); + append(commands, "--porcelain"); + return { + commands, + format: "utf-8", + parser: parsePushResult + }; +} +var init_push = __esm({ + "src/lib/tasks/push.ts"() { + init_parse_push(); + init_utils(); + } +}); +var fromPathRegex; +var FileStatusSummary; +var init_FileStatusSummary = __esm({ + "src/lib/responses/FileStatusSummary.ts"() { + fromPathRegex = /^(.+) -> (.+)$/; + FileStatusSummary = class { + constructor(path3, index, working_dir) { + this.path = path3; + this.index = index; + this.working_dir = working_dir; + if (index + working_dir === "R") { + const detail = fromPathRegex.exec(path3) || [null, path3, path3]; + this.from = detail[1] || ""; + this.path = detail[2] || ""; + } + } + }; + } +}); +function renamedFile(line) { + const [to, from] = line.split(NULL); + return { + from: from || to, + to + }; +} +function parser2(indexX, indexY, handler) { + return [`${indexX}${indexY}`, handler]; +} +function conflicts(indexX, ...indexY) { + return indexY.map((y) => parser2(indexX, y, (result, file) => append(result.conflicted, file))); +} +function splitLine(result, lineStr) { + const trimmed2 = lineStr.trim(); + switch (" ") { + case trimmed2.charAt(2): + return data(trimmed2.charAt(0), trimmed2.charAt(1), trimmed2.substr(3)); + case trimmed2.charAt(1): + return data(" ", trimmed2.charAt(0), trimmed2.substr(2)); + default: + return; + } + function data(index, workingDir, path3) { + const raw = `${index}${workingDir}`; + const handler = parsers6.get(raw); + if (handler) { + handler(result, path3); + } + if (raw !== "##" && raw !== "!!") { + result.files.push(new FileStatusSummary(path3.replace(/\0.+$/, ""), index, workingDir)); + } + } +} +var StatusSummary; +var parsers6; +var parseStatusSummary; +var init_StatusSummary = __esm({ + "src/lib/responses/StatusSummary.ts"() { + init_utils(); + init_FileStatusSummary(); + StatusSummary = class { + constructor() { + this.not_added = []; + this.conflicted = []; + this.created = []; + this.deleted = []; + this.ignored = void 0; + this.modified = []; + this.renamed = []; + this.files = []; + this.staged = []; + this.ahead = 0; + this.behind = 0; + this.current = null; + this.tracking = null; + this.detached = false; + this.isClean = () => { + return !this.files.length; + }; + } + }; + parsers6 = new Map([ + parser2(" ", "A", (result, file) => append(result.created, file)), + parser2(" ", "D", (result, file) => append(result.deleted, file)), + parser2(" ", "M", (result, file) => append(result.modified, file)), + parser2("A", " ", (result, file) => append(result.created, file) && append(result.staged, file)), + parser2("A", "M", (result, file) => append(result.created, file) && append(result.staged, file) && append(result.modified, file)), + parser2("D", " ", (result, file) => append(result.deleted, file) && append(result.staged, file)), + parser2("M", " ", (result, file) => append(result.modified, file) && append(result.staged, file)), + parser2("M", "M", (result, file) => append(result.modified, file) && append(result.staged, file)), + parser2("R", " ", (result, file) => { + append(result.renamed, renamedFile(file)); + }), + parser2("R", "M", (result, file) => { + const renamed = renamedFile(file); + append(result.renamed, renamed); + append(result.modified, renamed.to); + }), + parser2("!", "!", (_result, _file) => { + append(_result.ignored = _result.ignored || [], _file); + }), + parser2("?", "?", (result, file) => append(result.not_added, file)), + ...conflicts("A", "A", "U"), + ...conflicts("D", "D", "U"), + ...conflicts("U", "A", "D", "U"), + ["##", (result, line) => { + const aheadReg = /ahead (\d+)/; + const behindReg = /behind (\d+)/; + const currentReg = /^(.+?(?=(?:\.{3}|\s|$)))/; + const trackingReg = /\.{3}(\S*)/; + const onEmptyBranchReg = /\son\s([\S]+)$/; + let regexResult; + regexResult = aheadReg.exec(line); + result.ahead = regexResult && +regexResult[1] || 0; + regexResult = behindReg.exec(line); + result.behind = regexResult && +regexResult[1] || 0; + regexResult = currentReg.exec(line); + result.current = regexResult && regexResult[1]; + regexResult = trackingReg.exec(line); + result.tracking = regexResult && regexResult[1]; + regexResult = onEmptyBranchReg.exec(line); + result.current = regexResult && regexResult[1] || result.current; + result.detached = /\(no branch\)/.test(line); + }] + ]); + parseStatusSummary = function(text2) { + const lines = text2.split(NULL); + const status = new StatusSummary(); + for (let i = 0, l = lines.length; i < l; ) { + let line = lines[i++].trim(); + if (!line) { + continue; + } + if (line.charAt(0) === "R") { + line += NULL + (lines[i++] || ""); + } + splitLine(status, line); + } + return status; + }; + } +}); +function statusTask(customArgs) { + const commands = [ + "status", + "--porcelain", + "-b", + "-u", + "--null", + ...customArgs.filter((arg) => !ignoredOptions.includes(arg)) + ]; + return { + format: "utf-8", + commands, + parser(text2) { + return parseStatusSummary(text2); + } + }; +} +var ignoredOptions; +var init_status = __esm({ + "src/lib/tasks/status.ts"() { + init_StatusSummary(); + ignoredOptions = ["--null", "-z"]; + } +}); +var simple_git_api_exports = {}; +__export2(simple_git_api_exports, { + SimpleGitApi: () => SimpleGitApi +}); +var SimpleGitApi; +var init_simple_git_api = __esm({ + "src/lib/simple-git-api.ts"() { + init_task_callback(); + init_change_working_directory(); + init_commit(); + init_config(); + init_grep(); + init_hash_object(); + init_init(); + init_log(); + init_merge(); + init_push(); + init_status(); + init_task(); + init_utils(); + SimpleGitApi = class { + constructor(_executor) { + this._executor = _executor; + } + _runTask(task, then) { + const chain = this._executor.chain(); + const promise2 = chain.push(task); + if (then) { + taskCallback(task, promise2, then); + } + return Object.create(this, { + then: { value: promise2.then.bind(promise2) }, + catch: { value: promise2.catch.bind(promise2) }, + _executor: { value: chain } + }); + } + add(files) { + return this._runTask(straightThroughStringTask(["add", ...asArray(files)]), trailingFunctionArgument(arguments)); + } + cwd(directory) { + const next = trailingFunctionArgument(arguments); + if (typeof directory === "string") { + return this._runTask(changeWorkingDirectoryTask(directory, this._executor), next); + } + if (typeof (directory == null ? void 0 : directory.path) === "string") { + return this._runTask(changeWorkingDirectoryTask(directory.path, directory.root && this._executor || void 0), next); + } + return this._runTask(configurationErrorTask("Git.cwd: workingDirectory must be supplied as a string"), next); + } + hashObject(path3, write) { + return this._runTask(hashObjectTask(path3, write === true), trailingFunctionArgument(arguments)); + } + init(bare) { + return this._runTask(initTask(bare === true, this._executor.cwd, getTrailingOptions(arguments)), trailingFunctionArgument(arguments)); + } + merge() { + return this._runTask(mergeTask(getTrailingOptions(arguments)), trailingFunctionArgument(arguments)); + } + mergeFromTo(remote, branch) { + if (!(filterString(remote) && filterString(branch))) { + return this._runTask(configurationErrorTask(`Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings`)); + } + return this._runTask(mergeTask([remote, branch, ...getTrailingOptions(arguments)]), trailingFunctionArgument(arguments, false)); + } + outputHandler(handler) { + this._executor.outputHandler = handler; + return this; + } + push() { + const task = pushTask({ + remote: filterType(arguments[0], filterString), + branch: filterType(arguments[1], filterString) + }, getTrailingOptions(arguments)); + return this._runTask(task, trailingFunctionArgument(arguments)); + } + stash() { + return this._runTask(straightThroughStringTask(["stash", ...getTrailingOptions(arguments)]), trailingFunctionArgument(arguments)); + } + status() { + return this._runTask(statusTask(getTrailingOptions(arguments)), trailingFunctionArgument(arguments)); + } + }; + Object.assign(SimpleGitApi.prototype, commit_default(), config_default(), grep_default(), log_default()); + } +}); +var scheduler_exports = {}; +__export2(scheduler_exports, { + Scheduler: () => Scheduler +}); +var createScheduledTask; +var Scheduler; +var init_scheduler = __esm({ + "src/lib/runners/scheduler.ts"() { + init_utils(); + init_git_logger(); + createScheduledTask = (() => { + let id = 0; + return () => { + id++; + const { promise: promise2, done } = (0, import_promise_deferred.createDeferred)(); + return { + promise: promise2, + done, + id + }; + }; + })(); + Scheduler = class { + constructor(concurrency = 2) { + this.concurrency = concurrency; + this.logger = createLogger("", "scheduler"); + this.pending = []; + this.running = []; + this.logger(`Constructed, concurrency=%s`, concurrency); + } + schedule() { + if (!this.pending.length || this.running.length >= this.concurrency) { + this.logger(`Schedule attempt ignored, pending=%s running=%s concurrency=%s`, this.pending.length, this.running.length, this.concurrency); + return; + } + const task = append(this.running, this.pending.shift()); + this.logger(`Attempting id=%s`, task.id); + task.done(() => { + this.logger(`Completing id=`, task.id); + remove(this.running, task); + this.schedule(); + }); + } + next() { + const { promise: promise2, id } = append(this.pending, createScheduledTask()); + this.logger(`Scheduling id=%s`, id); + this.schedule(); + return promise2; + } + }; + } +}); +var apply_patch_exports = {}; +__export2(apply_patch_exports, { + applyPatchTask: () => applyPatchTask +}); +function applyPatchTask(patches, customArgs) { + return straightThroughStringTask(["apply", ...customArgs, ...patches]); +} +var init_apply_patch = __esm({ + "src/lib/tasks/apply-patch.ts"() { + init_task(); + } +}); +function branchDeletionSuccess(branch, hash2) { + return { + branch, + hash: hash2, + success: true + }; +} +function branchDeletionFailure(branch) { + return { + branch, + hash: null, + success: false + }; +} +var BranchDeletionBatch; +var init_BranchDeleteSummary = __esm({ + "src/lib/responses/BranchDeleteSummary.ts"() { + BranchDeletionBatch = class { + constructor() { + this.all = []; + this.branches = {}; + this.errors = []; + } + get success() { + return !this.errors.length; + } + }; + } +}); +function hasBranchDeletionError(data, processExitCode) { + return processExitCode === 1 && deleteErrorRegex.test(data); +} +var deleteSuccessRegex; +var deleteErrorRegex; +var parsers7; +var parseBranchDeletions; +var init_parse_branch_delete = __esm({ + "src/lib/parsers/parse-branch-delete.ts"() { + init_BranchDeleteSummary(); + init_utils(); + deleteSuccessRegex = /(\S+)\s+\(\S+\s([^)]+)\)/; + deleteErrorRegex = /^error[^']+'([^']+)'/m; + parsers7 = [ + new LineParser(deleteSuccessRegex, (result, [branch, hash2]) => { + const deletion = branchDeletionSuccess(branch, hash2); + result.all.push(deletion); + result.branches[branch] = deletion; + }), + new LineParser(deleteErrorRegex, (result, [branch]) => { + const deletion = branchDeletionFailure(branch); + result.errors.push(deletion); + result.all.push(deletion); + result.branches[branch] = deletion; + }) + ]; + parseBranchDeletions = (stdOut, stdErr) => { + return parseStringResponse(new BranchDeletionBatch(), parsers7, [stdOut, stdErr]); + }; + } +}); +var BranchSummaryResult; +var init_BranchSummary = __esm({ + "src/lib/responses/BranchSummary.ts"() { + BranchSummaryResult = class { + constructor() { + this.all = []; + this.branches = {}; + this.current = ""; + this.detached = false; + } + push(status, detached, name, commit, label) { + if (status === "*") { + this.detached = detached; + this.current = name; + } + this.all.push(name); + this.branches[name] = { + current: status === "*", + linkedWorkTree: status === "+", + name, + commit, + label + }; + } + }; + } +}); +function branchStatus(input) { + return input ? input.charAt(0) : ""; +} +function parseBranchSummary(stdOut) { + return parseStringResponse(new BranchSummaryResult(), parsers8, stdOut); +} +var parsers8; +var init_parse_branch = __esm({ + "src/lib/parsers/parse-branch.ts"() { + init_BranchSummary(); + init_utils(); + parsers8 = [ + new LineParser(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/, (result, [current, name, commit, label]) => { + result.push(branchStatus(current), true, name, commit, label); + }), + new LineParser(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s, (result, [current, name, commit, label]) => { + result.push(branchStatus(current), false, name, commit, label); + }) + ]; + } +}); +var branch_exports = {}; +__export2(branch_exports, { + branchLocalTask: () => branchLocalTask, + branchTask: () => branchTask, + containsDeleteBranchCommand: () => containsDeleteBranchCommand, + deleteBranchTask: () => deleteBranchTask, + deleteBranchesTask: () => deleteBranchesTask +}); +function containsDeleteBranchCommand(commands) { + const deleteCommands = ["-d", "-D", "--delete"]; + return commands.some((command) => deleteCommands.includes(command)); +} +function branchTask(customArgs) { + const isDelete = containsDeleteBranchCommand(customArgs); + const commands = ["branch", ...customArgs]; + if (commands.length === 1) { + commands.push("-a"); + } + if (!commands.includes("-v")) { + commands.splice(1, 0, "-v"); + } + return { + format: "utf-8", + commands, + parser(stdOut, stdErr) { + if (isDelete) { + return parseBranchDeletions(stdOut, stdErr).all[0]; + } + return parseBranchSummary(stdOut); + } + }; +} +function branchLocalTask() { + const parser3 = parseBranchSummary; + return { + format: "utf-8", + commands: ["branch", "-v"], + parser: parser3 + }; +} +function deleteBranchesTask(branches, forceDelete = false) { + return { + format: "utf-8", + commands: ["branch", "-v", forceDelete ? "-D" : "-d", ...branches], + parser(stdOut, stdErr) { + return parseBranchDeletions(stdOut, stdErr); + }, + onError({ exitCode, stdOut }, error, done, fail) { + if (!hasBranchDeletionError(String(error), exitCode)) { + return fail(error); + } + done(stdOut); + } + }; +} +function deleteBranchTask(branch, forceDelete = false) { + const task = { + format: "utf-8", + commands: ["branch", "-v", forceDelete ? "-D" : "-d", branch], + parser(stdOut, stdErr) { + return parseBranchDeletions(stdOut, stdErr).branches[branch]; + }, + onError({ exitCode, stdErr, stdOut }, error, _, fail) { + if (!hasBranchDeletionError(String(error), exitCode)) { + return fail(error); + } + throw new GitResponseError(task.parser(bufferToString(stdOut), bufferToString(stdErr)), String(error)); + } + }; + return task; +} +var init_branch = __esm({ + "src/lib/tasks/branch.ts"() { + init_git_response_error(); + init_parse_branch_delete(); + init_parse_branch(); + init_utils(); + } +}); +var parseCheckIgnore; +var init_CheckIgnore = __esm({ + "src/lib/responses/CheckIgnore.ts"() { + parseCheckIgnore = (text2) => { + return text2.split(/\n/g).map((line) => line.trim()).filter((file) => !!file); + }; + } +}); +var check_ignore_exports = {}; +__export2(check_ignore_exports, { + checkIgnoreTask: () => checkIgnoreTask +}); +function checkIgnoreTask(paths) { + return { + commands: ["check-ignore", ...paths], + format: "utf-8", + parser: parseCheckIgnore + }; +} +var init_check_ignore = __esm({ + "src/lib/tasks/check-ignore.ts"() { + init_CheckIgnore(); + } +}); +var clone_exports = {}; +__export2(clone_exports, { + cloneMirrorTask: () => cloneMirrorTask, + cloneTask: () => cloneTask +}); +function disallowedCommand(command) { + return /^--upload-pack(=|$)/.test(command); +} +function cloneTask(repo, directory, customArgs) { + const commands = ["clone", ...customArgs]; + filterString(repo) && commands.push(repo); + filterString(directory) && commands.push(directory); + const banned = commands.find(disallowedCommand); + if (banned) { + return configurationErrorTask(`git.fetch: potential exploit argument blocked.`); + } + return straightThroughStringTask(commands); +} +function cloneMirrorTask(repo, directory, customArgs) { + append(customArgs, "--mirror"); + return cloneTask(repo, directory, customArgs); +} +var init_clone = __esm({ + "src/lib/tasks/clone.ts"() { + init_task(); + init_utils(); + } +}); +function parseFetchResult(stdOut, stdErr) { + const result = { + raw: stdOut, + remote: null, + branches: [], + tags: [] + }; + return parseStringResponse(result, parsers9, [stdOut, stdErr]); +} +var parsers9; +var init_parse_fetch = __esm({ + "src/lib/parsers/parse-fetch.ts"() { + init_utils(); + parsers9 = [ + new LineParser(/From (.+)$/, (result, [remote]) => { + result.remote = remote; + }), + new LineParser(/\* \[new branch]\s+(\S+)\s*-> (.+)$/, (result, [name, tracking]) => { + result.branches.push({ + name, + tracking + }); + }), + new LineParser(/\* \[new tag]\s+(\S+)\s*-> (.+)$/, (result, [name, tracking]) => { + result.tags.push({ + name, + tracking + }); + }) + ]; + } +}); +var fetch_exports = {}; +__export2(fetch_exports, { + fetchTask: () => fetchTask +}); +function disallowedCommand2(command) { + return /^--upload-pack(=|$)/.test(command); +} +function fetchTask(remote, branch, customArgs) { + const commands = ["fetch", ...customArgs]; + if (remote && branch) { + commands.push(remote, branch); + } + const banned = commands.find(disallowedCommand2); + if (banned) { + return configurationErrorTask(`git.fetch: potential exploit argument blocked.`); + } + return { + commands, + format: "utf-8", + parser: parseFetchResult + }; +} +var init_fetch = __esm({ + "src/lib/tasks/fetch.ts"() { + init_parse_fetch(); + init_task(); + } +}); +function parseMoveResult(stdOut) { + return parseStringResponse({ moves: [] }, parsers10, stdOut); +} +var parsers10; +var init_parse_move = __esm({ + "src/lib/parsers/parse-move.ts"() { + init_utils(); + parsers10 = [ + new LineParser(/^Renaming (.+) to (.+)$/, (result, [from, to]) => { + result.moves.push({ from, to }); + }) + ]; + } +}); +var move_exports = {}; +__export2(move_exports, { + moveTask: () => moveTask +}); +function moveTask(from, to) { + return { + commands: ["mv", "-v", ...asArray(from), to], + format: "utf-8", + parser: parseMoveResult + }; +} +var init_move = __esm({ + "src/lib/tasks/move.ts"() { + init_parse_move(); + init_utils(); + } +}); +var pull_exports = {}; +__export2(pull_exports, { + pullTask: () => pullTask +}); +function pullTask(remote, branch, customArgs) { + const commands = ["pull", ...customArgs]; + if (remote && branch) { + commands.splice(1, 0, remote, branch); + } + return { + commands, + format: "utf-8", + parser(stdOut, stdErr) { + return parsePullResult(stdOut, stdErr); + }, + onError(result, _error, _done, fail) { + const pullError = parsePullErrorResult(bufferToString(result.stdOut), bufferToString(result.stdErr)); + if (pullError) { + return fail(new GitResponseError(pullError)); + } + fail(_error); + } + }; +} +var init_pull = __esm({ + "src/lib/tasks/pull.ts"() { + init_git_response_error(); + init_parse_pull(); + init_utils(); + } +}); +function parseGetRemotes(text2) { + const remotes = {}; + forEach(text2, ([name]) => remotes[name] = { name }); + return Object.values(remotes); +} +function parseGetRemotesVerbose(text2) { + const remotes = {}; + forEach(text2, ([name, url, purpose]) => { + if (!remotes.hasOwnProperty(name)) { + remotes[name] = { + name, + refs: { fetch: "", push: "" } + }; + } + if (purpose && url) { + remotes[name].refs[purpose.replace(/[^a-z]/g, "")] = url; + } + }); + return Object.values(remotes); +} +function forEach(text2, handler) { + forEachLineWithContent(text2, (line) => handler(line.split(/\s+/))); +} +var init_GetRemoteSummary = __esm({ + "src/lib/responses/GetRemoteSummary.ts"() { + init_utils(); + } +}); +var remote_exports = {}; +__export2(remote_exports, { + addRemoteTask: () => addRemoteTask, + getRemotesTask: () => getRemotesTask, + listRemotesTask: () => listRemotesTask, + remoteTask: () => remoteTask, + removeRemoteTask: () => removeRemoteTask +}); +function addRemoteTask(remoteName, remoteRepo, customArgs = []) { + return straightThroughStringTask(["remote", "add", ...customArgs, remoteName, remoteRepo]); +} +function getRemotesTask(verbose) { + const commands = ["remote"]; + if (verbose) { + commands.push("-v"); + } + return { + commands, + format: "utf-8", + parser: verbose ? parseGetRemotesVerbose : parseGetRemotes + }; +} +function listRemotesTask(customArgs = []) { + const commands = [...customArgs]; + if (commands[0] !== "ls-remote") { + commands.unshift("ls-remote"); + } + return straightThroughStringTask(commands); +} +function remoteTask(customArgs = []) { + const commands = [...customArgs]; + if (commands[0] !== "remote") { + commands.unshift("remote"); + } + return straightThroughStringTask(commands); +} +function removeRemoteTask(remoteName) { + return straightThroughStringTask(["remote", "remove", remoteName]); +} +var init_remote = __esm({ + "src/lib/tasks/remote.ts"() { + init_GetRemoteSummary(); + init_task(); + } +}); +var stash_list_exports = {}; +__export2(stash_list_exports, { + stashListTask: () => stashListTask +}); +function stashListTask(opt = {}, customArgs) { + const options = parseLogOptions(opt); + const commands = ["stash", "list", ...options.commands, ...customArgs]; + const parser3 = createListLogSummaryParser(options.splitter, options.fields, logFormatFromCommand(commands)); + return validateLogFormatConfig(commands) || { + commands, + format: "utf-8", + parser: parser3 + }; +} +var init_stash_list = __esm({ + "src/lib/tasks/stash-list.ts"() { + init_log_format(); + init_parse_list_log_summary(); + init_diff(); + init_log(); + } +}); +var sub_module_exports = {}; +__export2(sub_module_exports, { + addSubModuleTask: () => addSubModuleTask, + initSubModuleTask: () => initSubModuleTask, + subModuleTask: () => subModuleTask, + updateSubModuleTask: () => updateSubModuleTask +}); +function addSubModuleTask(repo, path3) { + return subModuleTask(["add", repo, path3]); +} +function initSubModuleTask(customArgs) { + return subModuleTask(["init", ...customArgs]); +} +function subModuleTask(customArgs) { + const commands = [...customArgs]; + if (commands[0] !== "submodule") { + commands.unshift("submodule"); + } + return straightThroughStringTask(commands); +} +function updateSubModuleTask(customArgs) { + return subModuleTask(["update", ...customArgs]); +} +var init_sub_module = __esm({ + "src/lib/tasks/sub-module.ts"() { + init_task(); + } +}); +function singleSorted(a, b) { + const aIsNum = isNaN(a); + const bIsNum = isNaN(b); + if (aIsNum !== bIsNum) { + return aIsNum ? 1 : -1; + } + return aIsNum ? sorted(a, b) : 0; +} +function sorted(a, b) { + return a === b ? 0 : a > b ? 1 : -1; +} +function trimmed(input) { + return input.trim(); +} +function toNumber(input) { + if (typeof input === "string") { + return parseInt(input.replace(/^\D+/g, ""), 10) || 0; + } + return 0; +} +var TagList; +var parseTagList; +var init_TagList = __esm({ + "src/lib/responses/TagList.ts"() { + TagList = class { + constructor(all, latest) { + this.all = all; + this.latest = latest; + } + }; + parseTagList = function(data, customSort = false) { + const tags = data.split("\n").map(trimmed).filter(Boolean); + if (!customSort) { + tags.sort(function(tagA, tagB) { + const partsA = tagA.split("."); + const partsB = tagB.split("."); + if (partsA.length === 1 || partsB.length === 1) { + return singleSorted(toNumber(partsA[0]), toNumber(partsB[0])); + } + for (let i = 0, l = Math.max(partsA.length, partsB.length); i < l; i++) { + const diff = sorted(toNumber(partsA[i]), toNumber(partsB[i])); + if (diff) { + return diff; + } + } + return 0; + }); + } + const latest = customSort ? tags[0] : [...tags].reverse().find((tag) => tag.indexOf(".") >= 0); + return new TagList(tags, latest); + }; + } +}); +var tag_exports = {}; +__export2(tag_exports, { + addAnnotatedTagTask: () => addAnnotatedTagTask, + addTagTask: () => addTagTask, + tagListTask: () => tagListTask +}); +function tagListTask(customArgs = []) { + const hasCustomSort = customArgs.some((option) => /^--sort=/.test(option)); + return { + format: "utf-8", + commands: ["tag", "-l", ...customArgs], + parser(text2) { + return parseTagList(text2, hasCustomSort); + } + }; +} +function addTagTask(name) { + return { + format: "utf-8", + commands: ["tag", name], + parser() { + return { name }; + } + }; +} +function addAnnotatedTagTask(name, tagMessage) { + return { + format: "utf-8", + commands: ["tag", "-a", "-m", tagMessage, name], + parser() { + return { name }; + } + }; +} +var init_tag = __esm({ + "src/lib/tasks/tag.ts"() { + init_TagList(); + } +}); +var require_git = __commonJS2({ + "src/git.js"(exports, module2) { + var { GitExecutor: GitExecutor2 } = (init_git_executor(), __toCommonJS(git_executor_exports)); + var { SimpleGitApi: SimpleGitApi2 } = (init_simple_git_api(), __toCommonJS(simple_git_api_exports)); + var { Scheduler: Scheduler2 } = (init_scheduler(), __toCommonJS(scheduler_exports)); + var { configurationErrorTask: configurationErrorTask2 } = (init_task(), __toCommonJS(task_exports)); + var { + asArray: asArray2, + filterArray: filterArray2, + filterPrimitives: filterPrimitives2, + filterString: filterString2, + filterStringOrStringArray: filterStringOrStringArray2, + filterType: filterType2, + getTrailingOptions: getTrailingOptions2, + trailingFunctionArgument: trailingFunctionArgument2, + trailingOptionsArgument: trailingOptionsArgument2 + } = (init_utils(), __toCommonJS(utils_exports)); + var { applyPatchTask: applyPatchTask2 } = (init_apply_patch(), __toCommonJS(apply_patch_exports)); + var { branchTask: branchTask2, branchLocalTask: branchLocalTask2, deleteBranchesTask: deleteBranchesTask2, deleteBranchTask: deleteBranchTask2 } = (init_branch(), __toCommonJS(branch_exports)); + var { checkIgnoreTask: checkIgnoreTask2 } = (init_check_ignore(), __toCommonJS(check_ignore_exports)); + var { checkIsRepoTask: checkIsRepoTask2 } = (init_check_is_repo(), __toCommonJS(check_is_repo_exports)); + var { cloneTask: cloneTask2, cloneMirrorTask: cloneMirrorTask2 } = (init_clone(), __toCommonJS(clone_exports)); + var { cleanWithOptionsTask: cleanWithOptionsTask2, isCleanOptionsArray: isCleanOptionsArray2 } = (init_clean(), __toCommonJS(clean_exports)); + var { commitTask: commitTask2 } = (init_commit(), __toCommonJS(commit_exports)); + var { diffSummaryTask: diffSummaryTask2 } = (init_diff(), __toCommonJS(diff_exports)); + var { fetchTask: fetchTask2 } = (init_fetch(), __toCommonJS(fetch_exports)); + var { moveTask: moveTask2 } = (init_move(), __toCommonJS(move_exports)); + var { pullTask: pullTask2 } = (init_pull(), __toCommonJS(pull_exports)); + var { pushTagsTask: pushTagsTask2 } = (init_push(), __toCommonJS(push_exports)); + var { addRemoteTask: addRemoteTask2, getRemotesTask: getRemotesTask2, listRemotesTask: listRemotesTask2, remoteTask: remoteTask2, removeRemoteTask: removeRemoteTask2 } = (init_remote(), __toCommonJS(remote_exports)); + var { getResetMode: getResetMode2, resetTask: resetTask2 } = (init_reset(), __toCommonJS(reset_exports)); + var { stashListTask: stashListTask2 } = (init_stash_list(), __toCommonJS(stash_list_exports)); + var { addSubModuleTask: addSubModuleTask2, initSubModuleTask: initSubModuleTask2, subModuleTask: subModuleTask2, updateSubModuleTask: updateSubModuleTask2 } = (init_sub_module(), __toCommonJS(sub_module_exports)); + var { addAnnotatedTagTask: addAnnotatedTagTask2, addTagTask: addTagTask2, tagListTask: tagListTask2 } = (init_tag(), __toCommonJS(tag_exports)); + var { straightThroughBufferTask: straightThroughBufferTask2, straightThroughStringTask: straightThroughStringTask2 } = (init_task(), __toCommonJS(task_exports)); + function Git2(options, plugins) { + this._executor = new GitExecutor2(options.binary, options.baseDir, new Scheduler2(options.maxConcurrentProcesses), plugins); + } + (Git2.prototype = Object.create(SimpleGitApi2.prototype)).constructor = Git2; + Git2.prototype.customBinary = function(command) { + this._executor.binary = command; + return this; + }; + Git2.prototype.env = function(name, value) { + if (arguments.length === 1 && typeof name === "object") { + this._executor.env = name; + } else { + (this._executor.env = this._executor.env || {})[name] = value; + } + return this; + }; + Git2.prototype.stashList = function(options) { + return this._runTask(stashListTask2(trailingOptionsArgument2(arguments) || {}, filterArray2(options) && options || []), trailingFunctionArgument2(arguments)); + }; + function createCloneTask(api, task, repoPath, localPath) { + if (typeof repoPath !== "string") { + return configurationErrorTask2(`git.${api}() requires a string 'repoPath'`); + } + return task(repoPath, filterType2(localPath, filterString2), getTrailingOptions2(arguments)); + } + Git2.prototype.clone = function() { + return this._runTask(createCloneTask("clone", cloneTask2, ...arguments), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.mirror = function() { + return this._runTask(createCloneTask("mirror", cloneMirrorTask2, ...arguments), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.mv = function(from, to) { + return this._runTask(moveTask2(from, to), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.checkoutLatestTag = function(then) { + var git = this; + return this.pull(function() { + git.tags(function(err, tags) { + git.checkout(tags.latest, then); + }); + }); + }; + Git2.prototype.pull = function(remote, branch, options, then) { + return this._runTask(pullTask2(filterType2(remote, filterString2), filterType2(branch, filterString2), getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.fetch = function(remote, branch) { + return this._runTask(fetchTask2(filterType2(remote, filterString2), filterType2(branch, filterString2), getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.silent = function(silence) { + console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this will be an error in version 3"); + return this; + }; + Git2.prototype.tags = function(options, then) { + return this._runTask(tagListTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.rebase = function() { + return this._runTask(straightThroughStringTask2(["rebase", ...getTrailingOptions2(arguments)]), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.reset = function(mode) { + return this._runTask(resetTask2(getResetMode2(mode), getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.revert = function(commit) { + const next = trailingFunctionArgument2(arguments); + if (typeof commit !== "string") { + return this._runTask(configurationErrorTask2("Commit must be a string"), next); + } + return this._runTask(straightThroughStringTask2(["revert", ...getTrailingOptions2(arguments, 0, true), commit]), next); + }; + Git2.prototype.addTag = function(name) { + const task = typeof name === "string" ? addTagTask2(name) : configurationErrorTask2("Git.addTag requires a tag name"); + return this._runTask(task, trailingFunctionArgument2(arguments)); + }; + Git2.prototype.addAnnotatedTag = function(tagName, tagMessage) { + return this._runTask(addAnnotatedTagTask2(tagName, tagMessage), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.checkout = function() { + const commands = ["checkout", ...getTrailingOptions2(arguments, true)]; + return this._runTask(straightThroughStringTask2(commands), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.checkoutBranch = function(branchName, startPoint, then) { + return this.checkout(["-b", branchName, startPoint], trailingFunctionArgument2(arguments)); + }; + Git2.prototype.checkoutLocalBranch = function(branchName, then) { + return this.checkout(["-b", branchName], trailingFunctionArgument2(arguments)); + }; + Git2.prototype.deleteLocalBranch = function(branchName, forceDelete, then) { + return this._runTask(deleteBranchTask2(branchName, typeof forceDelete === "boolean" ? forceDelete : false), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.deleteLocalBranches = function(branchNames, forceDelete, then) { + return this._runTask(deleteBranchesTask2(branchNames, typeof forceDelete === "boolean" ? forceDelete : false), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.branch = function(options, then) { + return this._runTask(branchTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.branchLocal = function(then) { + return this._runTask(branchLocalTask2(), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.raw = function(commands) { + const createRestCommands = !Array.isArray(commands); + const command = [].slice.call(createRestCommands ? arguments : commands, 0); + for (let i = 0; i < command.length && createRestCommands; i++) { + if (!filterPrimitives2(command[i])) { + command.splice(i, command.length - i); + break; + } + } + command.push(...getTrailingOptions2(arguments, 0, true)); + var next = trailingFunctionArgument2(arguments); + if (!command.length) { + return this._runTask(configurationErrorTask2("Raw: must supply one or more command to execute"), next); + } + return this._runTask(straightThroughStringTask2(command), next); + }; + Git2.prototype.submoduleAdd = function(repo, path3, then) { + return this._runTask(addSubModuleTask2(repo, path3), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.submoduleUpdate = function(args, then) { + return this._runTask(updateSubModuleTask2(getTrailingOptions2(arguments, true)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.submoduleInit = function(args, then) { + return this._runTask(initSubModuleTask2(getTrailingOptions2(arguments, true)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.subModule = function(options, then) { + return this._runTask(subModuleTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.listRemote = function() { + return this._runTask(listRemotesTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.addRemote = function(remoteName, remoteRepo, then) { + return this._runTask(addRemoteTask2(remoteName, remoteRepo, getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.removeRemote = function(remoteName, then) { + return this._runTask(removeRemoteTask2(remoteName), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.getRemotes = function(verbose, then) { + return this._runTask(getRemotesTask2(verbose === true), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.remote = function(options, then) { + return this._runTask(remoteTask2(getTrailingOptions2(arguments)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.tag = function(options, then) { + const command = getTrailingOptions2(arguments); + if (command[0] !== "tag") { + command.unshift("tag"); + } + return this._runTask(straightThroughStringTask2(command), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.updateServerInfo = function(then) { + return this._runTask(straightThroughStringTask2(["update-server-info"]), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.pushTags = function(remote, then) { + const task = pushTagsTask2({ remote: filterType2(remote, filterString2) }, getTrailingOptions2(arguments)); + return this._runTask(task, trailingFunctionArgument2(arguments)); + }; + Git2.prototype.rm = function(files) { + return this._runTask(straightThroughStringTask2(["rm", "-f", ...asArray2(files)]), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.rmKeepLocal = function(files) { + return this._runTask(straightThroughStringTask2(["rm", "--cached", ...asArray2(files)]), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.catFile = function(options, then) { + return this._catFile("utf-8", arguments); + }; + Git2.prototype.binaryCatFile = function() { + return this._catFile("buffer", arguments); + }; + Git2.prototype._catFile = function(format, args) { + var handler = trailingFunctionArgument2(args); + var command = ["cat-file"]; + var options = args[0]; + if (typeof options === "string") { + return this._runTask(configurationErrorTask2("Git.catFile: options must be supplied as an array of strings"), handler); + } + if (Array.isArray(options)) { + command.push.apply(command, options); + } + const task = format === "buffer" ? straightThroughBufferTask2(command) : straightThroughStringTask2(command); + return this._runTask(task, handler); + }; + Git2.prototype.diff = function(options, then) { + const task = filterString2(options) ? configurationErrorTask2("git.diff: supplying options as a single string is no longer supported, switch to an array of strings") : straightThroughStringTask2(["diff", ...getTrailingOptions2(arguments)]); + return this._runTask(task, trailingFunctionArgument2(arguments)); + }; + Git2.prototype.diffSummary = function() { + return this._runTask(diffSummaryTask2(getTrailingOptions2(arguments, 1)), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.applyPatch = function(patches) { + const task = !filterStringOrStringArray2(patches) ? configurationErrorTask2(`git.applyPatch requires one or more string patches as the first argument`) : applyPatchTask2(asArray2(patches), getTrailingOptions2([].slice.call(arguments, 1))); + return this._runTask(task, trailingFunctionArgument2(arguments)); + }; + Git2.prototype.revparse = function() { + const commands = ["rev-parse", ...getTrailingOptions2(arguments, true)]; + return this._runTask(straightThroughStringTask2(commands, true), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.show = function(options, then) { + return this._runTask(straightThroughStringTask2(["show", ...getTrailingOptions2(arguments, 1)]), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.clean = function(mode, options, then) { + const usingCleanOptionsArray = isCleanOptionsArray2(mode); + const cleanMode = usingCleanOptionsArray && mode.join("") || filterType2(mode, filterString2) || ""; + const customArgs = getTrailingOptions2([].slice.call(arguments, usingCleanOptionsArray ? 1 : 0)); + return this._runTask(cleanWithOptionsTask2(cleanMode, customArgs), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.exec = function(then) { + const task = { + commands: [], + format: "utf-8", + parser() { + if (typeof then === "function") { + then(); + } + } + }; + return this._runTask(task); + }; + Git2.prototype.clearQueue = function() { + return this; + }; + Git2.prototype.checkIgnore = function(pathnames, then) { + return this._runTask(checkIgnoreTask2(asArray2(filterType2(pathnames, filterStringOrStringArray2, []))), trailingFunctionArgument2(arguments)); + }; + Git2.prototype.checkIsRepo = function(checkType, then) { + return this._runTask(checkIsRepoTask2(filterType2(checkType, filterString2)), trailingFunctionArgument2(arguments)); + }; + module2.exports = Git2; + } +}); +init_git_error(); +var GitConstructError = class extends GitError { + constructor(config, message) { + super(void 0, message); + this.config = config; + } +}; +init_git_error(); +init_git_error(); +var GitPluginError = class extends GitError { + constructor(task, plugin, message) { + super(task, message); + this.task = task; + this.plugin = plugin; + Object.setPrototypeOf(this, new.target.prototype); + } +}; +init_git_response_error(); +init_task_configuration_error(); +init_check_is_repo(); +init_clean(); +init_config(); +init_grep(); +init_reset(); +init_utils(); +function commandConfigPrefixingPlugin(configuration) { + const prefix = prefixedArray(configuration, "-c"); + return { + type: "spawn.args", + action(data) { + return [...prefix, ...data]; + } + }; +} +init_utils(); +var never = (0, import_promise_deferred2.deferred)().promise; +function completionDetectionPlugin({ + onClose = true, + onExit = 50 +} = {}) { + function createEvents() { + let exitCode = -1; + const events = { + close: (0, import_promise_deferred2.deferred)(), + closeTimeout: (0, import_promise_deferred2.deferred)(), + exit: (0, import_promise_deferred2.deferred)(), + exitTimeout: (0, import_promise_deferred2.deferred)() + }; + const result = Promise.race([ + onClose === false ? never : events.closeTimeout.promise, + onExit === false ? never : events.exitTimeout.promise + ]); + configureTimeout(onClose, events.close, events.closeTimeout); + configureTimeout(onExit, events.exit, events.exitTimeout); + return { + close(code) { + exitCode = code; + events.close.done(); + }, + exit(code) { + exitCode = code; + events.exit.done(); + }, + get exitCode() { + return exitCode; + }, + result + }; + } + function configureTimeout(flag, event, timeout) { + if (flag === false) { + return; + } + (flag === true ? event.promise : event.promise.then(() => delay(flag))).then(timeout.done); + } + return { + type: "spawn.after", + action(_0, _1) { + return __async2(this, arguments, function* (_data, { spawned, close }) { + var _a2, _b; + const events = createEvents(); + let deferClose = true; + let quickClose = () => void (deferClose = false); + (_a2 = spawned.stdout) == null ? void 0 : _a2.on("data", quickClose); + (_b = spawned.stderr) == null ? void 0 : _b.on("data", quickClose); + spawned.on("error", quickClose); + spawned.on("close", (code) => events.close(code)); + spawned.on("exit", (code) => events.exit(code)); + try { + yield events.result; + if (deferClose) { + yield delay(50); + } + close(events.exitCode); + } catch (err) { + close(events.exitCode, err); + } + }); + } + }; +} +init_git_error(); +function isTaskError(result) { + return !!(result.exitCode && result.stdErr.length); +} +function getErrorMessage(result) { + return Buffer.concat([...result.stdOut, ...result.stdErr]); +} +function errorDetectionHandler(overwrite = false, isError = isTaskError, errorMessage = getErrorMessage) { + return (error, result) => { + if (!overwrite && error || !isError(result)) { + return error; + } + return errorMessage(result); + }; +} +function errorDetectionPlugin(config) { + return { + type: "task.error", + action(data, context) { + const error = config(data.error, { + stdErr: context.stdErr, + stdOut: context.stdOut, + exitCode: context.exitCode + }); + if (Buffer.isBuffer(error)) { + return { error: new GitError(void 0, error.toString("utf-8")) }; + } + return { + error + }; + } + }; +} +init_utils(); +var PluginStore = class { + constructor() { + this.plugins = /* @__PURE__ */ new Set(); + } + add(plugin) { + const plugins = []; + asArray(plugin).forEach((plugin2) => plugin2 && this.plugins.add(append(plugins, plugin2))); + return () => { + plugins.forEach((plugin2) => this.plugins.delete(plugin2)); + }; + } + exec(type, data, context) { + let output = data; + const contextual = Object.freeze(Object.create(context)); + for (const plugin of this.plugins) { + if (plugin.type === type) { + output = plugin.action(output, contextual); + } + } + return output; + } +}; +init_utils(); +function progressMonitorPlugin(progress) { + const progressCommand = "--progress"; + const progressMethods = ["checkout", "clone", "fetch", "pull", "push"]; + const onProgress = { + type: "spawn.after", + action(_data, context) { + var _a2; + if (!context.commands.includes(progressCommand)) { + return; + } + (_a2 = context.spawned.stderr) == null ? void 0 : _a2.on("data", (chunk) => { + const message = /^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(chunk.toString("utf8")); + if (!message) { + return; + } + progress({ + method: context.method, + stage: progressEventStage(message[1]), + progress: asNumber(message[2]), + processed: asNumber(message[3]), + total: asNumber(message[4]) + }); + }); + } + }; + const onArgs = { + type: "spawn.args", + action(args, context) { + if (!progressMethods.includes(context.method)) { + return args; + } + return including(args, progressCommand); + } + }; + return [onArgs, onProgress]; +} +function progressEventStage(input) { + return String(input.toLowerCase().split(" ", 1)) || "unknown"; +} +init_utils(); +function spawnOptionsPlugin(spawnOptions) { + const options = pick(spawnOptions, ["uid", "gid"]); + return { + type: "spawn.options", + action(data) { + return __spreadValues2(__spreadValues2({}, options), data); + } + }; +} +function timeoutPlugin({ block }) { + if (block > 0) { + return { + type: "spawn.after", + action(_data, context) { + var _a2, _b; + let timeout; + function wait3() { + timeout && clearTimeout(timeout); + timeout = setTimeout(kill, block); + } + function stop() { + var _a3, _b2; + (_a3 = context.spawned.stdout) == null ? void 0 : _a3.off("data", wait3); + (_b2 = context.spawned.stderr) == null ? void 0 : _b2.off("data", wait3); + context.spawned.off("exit", stop); + context.spawned.off("close", stop); + timeout && clearTimeout(timeout); + } + function kill() { + stop(); + context.kill(new GitPluginError(void 0, "timeout", `block timeout reached`)); + } + (_a2 = context.spawned.stdout) == null ? void 0 : _a2.on("data", wait3); + (_b = context.spawned.stderr) == null ? void 0 : _b.on("data", wait3); + context.spawned.on("exit", stop); + context.spawned.on("close", stop); + wait3(); + } + }; + } +} +init_utils(); +var Git = require_git(); +function gitInstanceFactory(baseDir, options) { + const plugins = new PluginStore(); + const config = createInstanceConfig(baseDir && (typeof baseDir === "string" ? { baseDir } : baseDir) || {}, options); + if (!folderExists(config.baseDir)) { + throw new GitConstructError(config, `Cannot use simple-git on a directory that does not exist`); + } + if (Array.isArray(config.config)) { + plugins.add(commandConfigPrefixingPlugin(config.config)); + } + plugins.add(completionDetectionPlugin(config.completion)); + config.progress && plugins.add(progressMonitorPlugin(config.progress)); + config.timeout && plugins.add(timeoutPlugin(config.timeout)); + config.spawnOptions && plugins.add(spawnOptionsPlugin(config.spawnOptions)); + plugins.add(errorDetectionPlugin(errorDetectionHandler(true))); + config.errors && plugins.add(errorDetectionPlugin(config.errors)); + return new Git(config, plugins); +} +init_git_response_error(); +var esm_default = gitInstanceFactory; + +// src/gitManager.ts +var GitManager = class { + constructor(plugin) { + this.plugin = plugin; + this.app = plugin.app; + } + getTreeStructure(children2, beginLength = 0) { + let list = []; + children2 = [...children2]; + while (children2.length > 0) { + const first2 = children2.first(); + const restPath = first2.path.substring(beginLength); + if (restPath.contains("/")) { + const title = restPath.substring(0, restPath.indexOf("/")); + const childrenWithSameTitle = children2.filter((item) => { + return item.path.substring(beginLength).startsWith(title + "/"); + }); + childrenWithSameTitle.forEach((item) => children2.remove(item)); + list.push({ + title, + children: this.getTreeStructure(childrenWithSameTitle, (beginLength > 0 ? beginLength + title.length : title.length) + 1) + }); + } else { + list.push({ title: restPath, statusResult: first2 }); + children2.remove(first2); + } + } + return list; + } + formatCommitMessage(template) { + return __async(this, null, function* () { + let status; + if (template.includes("{{numFiles}}")) { + status = yield this.status(); + let numFiles = status.staged.length; + template = template.replace("{{numFiles}}", String(numFiles)); + } + if (template.includes("{{hostname}}")) { + const hostname = localStorage.getItem(this.plugin.manifest.id + ":hostname") || ""; + template = template.replace("{{hostname}}", hostname); + } + if (template.includes("{{files}}")) { + status = status != null ? status : yield this.status(); + let changeset = {}; + status.staged.forEach((value) => { + if (value.index in changeset) { + changeset[value.index].push(value.path); + } else { + changeset[value.index] = [value.path]; + } + }); + let chunks = []; + for (let [action, files2] of Object.entries(changeset)) { + chunks.push(action + " " + files2.join(" ")); + } + let files = chunks.join(", "); + template = template.replace("{{files}}", files); + } + let moment = window.moment; + template = template.replace("{{date}}", moment().format(this.plugin.settings.commitDateFormat)); + if (this.plugin.settings.listChangedFilesInMessageBody) { + template = template + "\n\nAffected files:\n" + (status != null ? status : yield this.status()).staged.map((e) => e.path).join("\n"); + } + return template; + }); + } +}; + +// src/simpleGit.ts +var SimpleGit = class extends GitManager { + constructor(plugin) { + super(plugin); + } + setGitInstance(ignoreError = false) { + return __async(this, null, function* () { + if (this.isGitInstalled()) { + const adapter = this.app.vault.adapter; + const path3 = adapter.getBasePath(); + let basePath = path3; + if (this.plugin.settings.basePath) { + const exists2 = yield adapter.exists((0, import_obsidian6.normalizePath)(this.plugin.settings.basePath)); + if (exists2) { + basePath = path3 + import_path.sep + this.plugin.settings.basePath; + } else if (!ignoreError) { + new import_obsidian6.Notice("ObsidianGit: Base path does not exist"); + } + } + this.git = esm_default({ + baseDir: basePath, + binary: this.plugin.settings.gitPath || void 0, + config: ["core.quotepath=off"] + }); + this.git.cwd(yield this.git.revparse("--show-toplevel")); + } + }); + } + status() { + return __async(this, null, function* () { + this.plugin.setState(PluginState.status); + const status = yield this.git.status((err) => this.onError(err)); + this.plugin.setState(PluginState.idle); + return { + changed: status.files.filter((e) => e.working_dir !== " ").map((e) => { + const res = this.formatPath(e); + return { + path: res.path, + from: res.from, + working_dir: e.working_dir === "?" ? "U" : e.working_dir, + vault_path: this.getVaultPath(res.path) + }; + }), + staged: status.files.filter((e) => e.index !== " " && e.index != "?").map((e) => { + const res = this.formatPath(e, e.index === "R"); + return { + path: res.path, + from: res.from, + index: e.index, + vault_path: this.getVaultPath(res.path) + }; + }), + conflicted: status.conflicted.map((e) => this.formatPath({ + path: e, + from: void 0, + index: void 0, + working_dir: void 0 + }).path) + }; + }); + } + getVaultPath(path3) { + if (this.plugin.settings.basePath) { + return this.plugin.settings.basePath + "/" + path3; + } else { + return path3; + } + } + formatPath(path3, renamed = false) { + function format(path4) { + if (path4 == void 0) + return void 0; + if (path4.startsWith('"') && path4.endsWith('"')) { + return path4.substring(1, path4.length - 1); + } else { + return path4; + } + } + if (renamed) { + return { + from: format(path3.from), + path: format(path3.path) + }; + } else { + return { + path: format(path3.path) + }; + } + } + commitAll(message) { + return __async(this, null, function* () { + if (this.plugin.settings.updateSubmodules) { + this.plugin.setState(PluginState.commit); + yield new Promise((resolve, reject) => __async(this, null, function* () { + this.git.outputHandler((cmd, stdout, stderr, args) => __async(this, null, function* () { + if (!(args.contains("submodule") && args.contains("foreach"))) + return; + let body = ""; + let root = this.app.vault.adapter.getBasePath() + (this.plugin.settings.basePath ? "/" + this.plugin.settings.basePath : ""); + stdout.on("data", (chunk) => { + body += chunk.toString("utf8"); + }); + stdout.on("end", () => __async(this, null, function* () { + let submods = body.split("\n"); + submods = submods.map((i) => { + let submod = i.match(/'([^']*)'/); + if (submod != void 0) { + return root + "/" + submod[1] + import_path.sep; + } + }); + submods.reverse(); + for (const item of submods) { + if (item != void 0) { + yield this.git.cwd({ path: item, root: false }).add("-A", (err) => this.onError(err)); + yield this.git.cwd({ path: item, root: false }).commit(yield this.formatCommitMessage(message), (err) => this.onError(err)); + } + } + resolve(); + })); + })); + yield this.git.subModule(["foreach", "--recursive", ""]); + this.git.outputHandler(() => { + }); + })); + } + this.plugin.setState(PluginState.add); + yield this.git.add("-A", (err) => this.onError(err)); + this.plugin.setState(PluginState.commit); + return (yield this.git.commit(yield this.formatCommitMessage(message), (err) => this.onError(err))).summary.changes; + }); + } + commit(message) { + return __async(this, null, function* () { + this.plugin.setState(PluginState.commit); + const res = (yield this.git.commit(yield this.formatCommitMessage(message), (err) => this.onError(err))).summary.changes; + this.plugin.setState(PluginState.idle); + return res; + }); + } + stage(path3, relativeToVault) { + return __async(this, null, function* () { + this.plugin.setState(PluginState.add); + path3 = this.getPath(path3, relativeToVault); + yield this.git.add(["--", path3], (err) => this.onError(err)); + this.plugin.setState(PluginState.idle); + }); + } + stageAll() { + return __async(this, null, function* () { + this.plugin.setState(PluginState.add); + yield this.git.add("-A", (err) => this.onError(err)); + this.plugin.setState(PluginState.idle); + }); + } + unstageAll() { + return __async(this, null, function* () { + this.plugin.setState(PluginState.add); + yield this.git.reset([], (err) => this.onError(err)); + this.plugin.setState(PluginState.idle); + }); + } + unstage(path3, relativeToVault) { + return __async(this, null, function* () { + this.plugin.setState(PluginState.add); + path3 = this.getPath(path3, relativeToVault); + yield this.git.reset(["--", path3], (err) => this.onError(err)); + this.plugin.setState(PluginState.idle); + }); + } + discard(filepath) { + return __async(this, null, function* () { + this.plugin.setState(PluginState.add); + yield this.git.checkout(["--", filepath], (err) => this.onError(err)); + this.plugin.setState(PluginState.idle); + }); + } + pull() { + return __async(this, null, function* () { + this.plugin.setState(PluginState.pull); + if (this.plugin.settings.updateSubmodules) + yield this.git.subModule(["update", "--remote", "--merge", "--recursive"], (err) => this.onError(err)); + const branchInfo = yield this.branchInfo(); + const localCommit = yield this.git.revparse([branchInfo.current], (err) => this.onError(err)); + yield this.git.fetch((err) => this.onError(err)); + const upstreamCommit = yield this.git.revparse([branchInfo.tracking], (err) => this.onError(err)); + if (localCommit !== upstreamCommit) { + if (this.plugin.settings.syncMethod === "merge" || this.plugin.settings.syncMethod === "rebase") { + try { + switch (this.plugin.settings.syncMethod) { + case "merge": + yield this.git.merge([branchInfo.tracking]); + break; + case "rebase": + yield this.git.rebase([branchInfo.tracking]); + } + } catch (err) { + this.plugin.displayError(`Pull failed (${this.plugin.settings.syncMethod}): ${err.message}`); + return; + } + } else if (this.plugin.settings.syncMethod === "reset") { + try { + yield this.git.raw(["update-ref", `refs/heads/${branchInfo.current}`, upstreamCommit], (err) => this.onError(err)); + yield this.unstageAll(); + } catch (err) { + this.plugin.displayError(`Sync failed (${this.plugin.settings.syncMethod}): ${err.message}`); + } + } + const afterMergeCommit = yield this.git.revparse([branchInfo.current], (err) => this.onError(err)); + const filesChanged = yield this.git.diff([`${localCommit}..${afterMergeCommit}`, "--name-only"]); + return filesChanged.split(/\r\n|\r|\n/).filter((value) => value.length > 0).length; + } else { + return 0; + } + }); + } + push() { + return __async(this, null, function* () { + this.plugin.setState(PluginState.status); + const status = yield this.git.status(); + const trackingBranch = status.tracking; + const currentBranch = status.current; + const remoteChangedFiles = (yield this.git.diffSummary([currentBranch, trackingBranch], (err) => this.onError(err))).changed; + this.plugin.setState(PluginState.push); + if (this.plugin.settings.updateSubmodules) { + yield this.git.env(__spreadProps(__spreadValues({}, process.env), { "OBSIDIAN_GIT": 1 })).subModule(["foreach", "--recursive", `tracking=$(git for-each-ref --format='%(upstream:short)' "$(git symbolic-ref -q HEAD)"); echo $tracking; if [ ! -z "$(git diff --shortstat $tracking)" ]; then git push; fi`], (err) => this.onError(err)); + } + yield this.git.env(__spreadProps(__spreadValues({}, process.env), { "OBSIDIAN_GIT": 1 })).push((err) => this.onError(err)); + return remoteChangedFiles; + }); + } + canPush() { + return __async(this, null, function* () { + if (this.plugin.settings.updateSubmodules === true) { + return true; + } + const status = yield this.git.status((err) => this.onError(err)); + const trackingBranch = status.tracking; + const currentBranch = status.current; + const remoteChangedFiles = (yield this.git.diffSummary([currentBranch, trackingBranch])).changed; + return remoteChangedFiles !== 0; + }); + } + checkRequirements() { + return __async(this, null, function* () { + if (!this.isGitInstalled()) { + return "missing-git"; + } + if (!(yield this.git.checkIsRepo())) { + return "missing-repo"; + } + return "valid"; + }); + } + branchInfo() { + return __async(this, null, function* () { + const status = yield this.git.status((err) => this.onError(err)); + const branches = yield this.git.branch(["--no-color"], (err) => this.onError(err)); + return { + current: status.current, + tracking: status.tracking, + branches: branches.all + }; + }); + } + getRemoteUrl(remote) { + return __async(this, null, function* () { + return (yield this.git.remote(["get-url", remote], (err, url) => this.onError(err))) || void 0; + }); + } + log(file, relativeToVault = true) { + return __async(this, null, function* () { + const path3 = this.getPath(file, relativeToVault); + const res = yield this.git.log({ file: path3 }, (err) => this.onError(err)); + return res.all; + }); + } + show(commitHash, file, relativeToVault = true) { + return __async(this, null, function* () { + const path3 = this.getPath(file, relativeToVault); + return this.git.show([commitHash + ":" + path3], (err) => this.onError(err)); + }); + } + checkout(branch) { + return __async(this, null, function* () { + yield this.git.checkout(branch, (err) => this.onError(err)); + }); + } + init() { + return __async(this, null, function* () { + yield this.git.init(false, (err) => this.onError(err)); + }); + } + clone(url, dir) { + return __async(this, null, function* () { + yield this.git.clone(url, path.join(this.app.vault.adapter.getBasePath(), dir), [], (err) => this.onError(err)); + }); + } + setConfig(path3, value) { + return __async(this, null, function* () { + yield this.git.addConfig(path3, value, (err) => this.onError(err)); + }); + } + getConfig(path3) { + return __async(this, null, function* () { + const config = yield this.git.listConfig((err) => this.onError(err)); + return config.all[path3]; + }); + } + fetch(remote) { + return __async(this, null, function* () { + yield this.git.fetch(remote != void 0 ? [remote] : [], (err) => this.onError(err)); + }); + } + setRemote(name, url) { + return __async(this, null, function* () { + if ((yield this.getRemotes()).includes(name)) + yield this.git.remote(["set-url", name, url], (err) => this.onError(err)); + else { + yield this.git.remote(["add", name, url], (err) => this.onError(err)); + } + }); + } + getRemoteBranches(remote) { + return __async(this, null, function* () { + const res = yield this.git.branch(["-r", "--list", `${remote}*`], (err) => this.onError(err)); + console.log(remote); + console.log(res); + const list = []; + for (var item in res.branches) { + list.push(res.branches[item].name); + } + return list; + }); + } + getRemotes() { + return __async(this, null, function* () { + const res = yield this.git.remote([], (err) => this.onError(err)); + if (res) { + return res.trim().split("\n"); + } else { + return []; + } + }); + } + removeRemote(remoteName) { + return __async(this, null, function* () { + yield this.git.removeRemote(remoteName); + }); + } + updateUpstreamBranch(remoteBranch) { + return __async(this, null, function* () { + yield this.git.push(["--set-upstream", ...remoteBranch.split("/")], (err) => this.onError(err)); + }); + } + updateGitPath(gitPath) { + this.setGitInstance(); + } + updateBasePath(basePath) { + this.setGitInstance(true); + } + getPath(path3, relativeToVault) { + return relativeToVault && this.plugin.settings.basePath.length > 0 ? path3.substring(this.plugin.settings.basePath.length + 1) : path3; + } + getDiffString(filePath, stagedChanges = false) { + return __async(this, null, function* () { + if (stagedChanges) + return yield this.git.diff(["--cached", "--", filePath]); + else + return yield this.git.diff(["--", filePath]); + }); + } + diff(file, commit1, commit2) { + return __async(this, null, function* () { + return yield this.git.diff([`${commit1}..${commit2}`, "--", file]); + }); + } + isGitInstalled() { + const command = (0, import_child_process2.spawnSync)(this.plugin.settings.gitPath || "git", ["--version"], { + stdio: "ignore" + }); + if (command.error) { + console.error(command.error); + return false; + } + return true; + } + onError(error) { + if (error) { + let networkFailure = error.message.contains("Could not resolve host"); + if (!networkFailure) { + this.plugin.displayError(error.message); + this.plugin.setState(PluginState.idle); + } else if (!this.plugin.offlineMode) { + this.plugin.displayError("Git: Going into offline mode. Future network errors will no longer be displayed.", 2e3); + } + if (networkFailure) { + this.plugin.offlineMode = true; + this.plugin.setState(PluginState.idle); + } + } + } +}; + +// src/ui/diff/diffView.ts +var import_diff2html = __toModule(require_diff2html()); +var import_obsidian7 = __toModule(require("obsidian")); +var DiffView = class extends import_obsidian7.ItemView { + constructor(leaf, plugin) { + super(leaf); + this.plugin = plugin; + this.gettingDiff = false; + this.parser = new DOMParser(); + addEventListener("git-refresh", this.refresh.bind(this)); + } + getViewType() { + return DIFF_VIEW_CONFIG.type; + } + getDisplayText() { + return DIFF_VIEW_CONFIG.name; + } + getIcon() { + return DIFF_VIEW_CONFIG.icon; + } + setState(state, result) { + return __async(this, null, function* () { + this.state = state; + yield this.refresh(); + return; + }); + } + getState() { + return this.state; + } + onClose() { + removeEventListener("git-refresh", this.refresh.bind(this)); + return super.onClose(); + } + onOpen() { + this.refresh(); + return super.onOpen(); + } + refresh() { + return __async(this, null, function* () { + var _a2; + if (((_a2 = this.state) == null ? void 0 : _a2.file) && !this.gettingDiff && this.plugin.gitManager) { + this.gettingDiff = true; + const diff = this.parser.parseFromString((0, import_diff2html.html)(yield this.plugin.gitManager.getDiffString(this.state.file, this.state.staged)), "text/html").querySelector(".d2h-file-diff"); + this.contentEl.empty(); + if (diff) { + this.contentEl.append(diff); + } else { + const div = this.contentEl.createDiv({ cls: "diff-err" }); + div.createSpan({ text: "\u26A0\uFE0F", cls: "diff-err-sign" }); + div.createEl("br"); + div.createSpan({ text: "No changes to " + this.state.file }); + } + this.gettingDiff = false; + } + }); + } +}; + +// src/ui/modals/generalModal.ts +var import_obsidian8 = __toModule(require("obsidian")); +var GeneralModal = class extends import_obsidian8.SuggestModal { + constructor(app2, remotes, placeholder) { + super(app2); + this.resolve = null; + this.list = remotes; + this.setPlaceholder(placeholder); + } + open() { + super.open(); + return new Promise((resolve) => { + this.resolve = resolve; + }); + } + selectSuggestion(value, evt) { + if (this.resolve) + this.resolve(value); + super.selectSuggestion(value, evt); + } + onClose() { + if (this.resolve) + this.resolve(void 0); + } + getSuggestions(query) { + return [query.length > 0 ? query : "...", ...this.list]; + } + renderSuggestion(value, el) { + el.innerText = value; + } + onChooseSuggestion(item, _) { + } +}; + +// src/ui/sidebar/sidebarView.ts +var import_obsidian14 = __toModule(require("obsidian")); + +// node_modules/svelte/internal/index.mjs +function noop() { +} +var identity = (x) => x; +function run(fn) { + return fn(); +} +function blank_object() { + return Object.create(null); +} +function run_all(fns) { + fns.forEach(run); +} +function is_function(thing) { + return typeof thing === "function"; +} +function safe_not_equal(a, b) { + return a != a ? b == b : a !== b || (a && typeof a === "object" || typeof a === "function"); +} +function is_empty(obj) { + return Object.keys(obj).length === 0; +} +var is_client = typeof window !== "undefined"; +var now = is_client ? () => window.performance.now() : () => Date.now(); +var raf = is_client ? (cb) => requestAnimationFrame(cb) : noop; +var tasks = new Set(); +function run_tasks(now2) { + tasks.forEach((task) => { + if (!task.c(now2)) { + tasks.delete(task); + task.f(); + } + }); + if (tasks.size !== 0) + raf(run_tasks); +} +function loop(callback) { + let task; + if (tasks.size === 0) + raf(run_tasks); + return { + promise: new Promise((fulfill) => { + tasks.add(task = { c: callback, f: fulfill }); + }), + abort() { + tasks.delete(task); + } + }; +} +var is_hydrating = false; +function start_hydrating() { + is_hydrating = true; +} +function end_hydrating() { + is_hydrating = false; +} +function append2(target, node) { + target.appendChild(node); +} +function append_styles(target, style_sheet_id, styles) { + const append_styles_to = get_root_for_style(target); + if (!append_styles_to.getElementById(style_sheet_id)) { + const style = element("style"); + style.id = style_sheet_id; + style.textContent = styles; + append_stylesheet(append_styles_to, style); + } +} +function get_root_for_style(node) { + if (!node) + return document; + const root = node.getRootNode ? node.getRootNode() : node.ownerDocument; + if (root && root.host) { + return root; + } + return node.ownerDocument; +} +function append_empty_stylesheet(node) { + const style_element = element("style"); + append_stylesheet(get_root_for_style(node), style_element); + return style_element.sheet; +} +function append_stylesheet(node, style) { + append2(node.head || node, style); +} +function insert(target, node, anchor) { + target.insertBefore(node, anchor || null); +} +function detach(node) { + node.parentNode.removeChild(node); +} +function destroy_each(iterations, detaching) { + for (let i = 0; i < iterations.length; i += 1) { + if (iterations[i]) + iterations[i].d(detaching); + } +} +function element(name) { + return document.createElement(name); +} +function text(data) { + return document.createTextNode(data); +} +function space() { + return text(" "); +} +function empty() { + return text(""); +} +function listen(node, event, handler, options) { + node.addEventListener(event, handler, options); + return () => node.removeEventListener(event, handler, options); +} +function self2(fn) { + return function(event) { + if (event.target === this) + fn.call(this, event); + }; +} +function attr(node, attribute, value) { + if (value == null) + node.removeAttribute(attribute); + else if (node.getAttribute(attribute) !== value) + node.setAttribute(attribute, value); +} +function children(element2) { + return Array.from(element2.childNodes); +} +function set_data(text2, data) { + data = "" + data; + if (text2.wholeText !== data) + text2.data = data; +} +function set_input_value(input, value) { + input.value = value == null ? "" : value; +} +function toggle_class(element2, name, toggle) { + element2.classList[toggle ? "add" : "remove"](name); +} +function custom_event(type, detail, { bubbles = false, cancelable = false } = {}) { + const e = document.createEvent("CustomEvent"); + e.initCustomEvent(type, bubbles, cancelable, detail); + return e; +} +var managed_styles = new Map(); +var active = 0; +function hash(str) { + let hash2 = 5381; + let i = str.length; + while (i--) + hash2 = (hash2 << 5) - hash2 ^ str.charCodeAt(i); + return hash2 >>> 0; +} +function create_style_information(doc, node) { + const info = { stylesheet: append_empty_stylesheet(node), rules: {} }; + managed_styles.set(doc, info); + return info; +} +function create_rule(node, a, b, duration, delay2, ease, fn, uid = 0) { + const step = 16.666 / duration; + let keyframes = "{\n"; + for (let p = 0; p <= 1; p += step) { + const t = a + (b - a) * ease(p); + keyframes += p * 100 + `%{${fn(t, 1 - t)}} +`; + } + const rule = keyframes + `100% {${fn(b, 1 - b)}} +}`; + const name = `__svelte_${hash(rule)}_${uid}`; + const doc = get_root_for_style(node); + const { stylesheet, rules } = managed_styles.get(doc) || create_style_information(doc, node); + if (!rules[name]) { + rules[name] = true; + stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length); + } + const animation = node.style.animation || ""; + node.style.animation = `${animation ? `${animation}, ` : ""}${name} ${duration}ms linear ${delay2}ms 1 both`; + active += 1; + return name; +} +function delete_rule(node, name) { + const previous = (node.style.animation || "").split(", "); + const next = previous.filter(name ? (anim) => anim.indexOf(name) < 0 : (anim) => anim.indexOf("__svelte") === -1); + const deleted = previous.length - next.length; + if (deleted) { + node.style.animation = next.join(", "); + active -= deleted; + if (!active) + clear_rules(); + } +} +function clear_rules() { + raf(() => { + if (active) + return; + managed_styles.forEach((info) => { + const { stylesheet } = info; + let i = stylesheet.cssRules.length; + while (i--) + stylesheet.deleteRule(i); + info.rules = {}; + }); + managed_styles.clear(); + }); +} +var current_component; +function set_current_component(component) { + current_component = component; +} +function get_current_component() { + if (!current_component) + throw new Error("Function called outside component initialization"); + return current_component; +} +function onDestroy(fn) { + get_current_component().$$.on_destroy.push(fn); +} +function bubble(component, event) { + const callbacks = component.$$.callbacks[event.type]; + if (callbacks) { + callbacks.slice().forEach((fn) => fn.call(this, event)); + } +} +var dirty_components = []; +var binding_callbacks = []; +var render_callbacks = []; +var flush_callbacks = []; +var resolved_promise = Promise.resolve(); +var update_scheduled = false; +function schedule_update() { + if (!update_scheduled) { + update_scheduled = true; + resolved_promise.then(flush); + } +} +function add_render_callback(fn) { + render_callbacks.push(fn); +} +var seen_callbacks = new Set(); +var flushidx = 0; +function flush() { + const saved_component = current_component; + do { + while (flushidx < dirty_components.length) { + const component = dirty_components[flushidx]; + flushidx++; + set_current_component(component); + update(component.$$); + } + set_current_component(null); + dirty_components.length = 0; + flushidx = 0; + while (binding_callbacks.length) + binding_callbacks.pop()(); + for (let i = 0; i < render_callbacks.length; i += 1) { + const callback = render_callbacks[i]; + if (!seen_callbacks.has(callback)) { + seen_callbacks.add(callback); + callback(); + } + } + render_callbacks.length = 0; + } while (dirty_components.length); + while (flush_callbacks.length) { + flush_callbacks.pop()(); + } + update_scheduled = false; + seen_callbacks.clear(); + set_current_component(saved_component); +} +function update($$) { + if ($$.fragment !== null) { + $$.update(); + run_all($$.before_update); + const dirty = $$.dirty; + $$.dirty = [-1]; + $$.fragment && $$.fragment.p($$.ctx, dirty); + $$.after_update.forEach(add_render_callback); + } +} +var promise; +function wait() { + if (!promise) { + promise = Promise.resolve(); + promise.then(() => { + promise = null; + }); + } + return promise; +} +function dispatch(node, direction, kind) { + node.dispatchEvent(custom_event(`${direction ? "intro" : "outro"}${kind}`)); +} +var outroing = new Set(); +var outros; +function group_outros() { + outros = { + r: 0, + c: [], + p: outros + }; +} +function check_outros() { + if (!outros.r) { + run_all(outros.c); + } + outros = outros.p; +} +function transition_in(block, local) { + if (block && block.i) { + outroing.delete(block); + block.i(local); + } +} +function transition_out(block, local, detach2, callback) { + if (block && block.o) { + if (outroing.has(block)) + return; + outroing.add(block); + outros.c.push(() => { + outroing.delete(block); + if (callback) { + if (detach2) + block.d(1); + callback(); + } + }); + block.o(local); + } else if (callback) { + callback(); + } +} +var null_transition = { duration: 0 }; +function create_bidirectional_transition(node, fn, params, intro) { + let config = fn(node, params); + let t = intro ? 0 : 1; + let running_program = null; + let pending_program = null; + let animation_name = null; + function clear_animation() { + if (animation_name) + delete_rule(node, animation_name); + } + function init2(program, duration) { + const d = program.b - t; + duration *= Math.abs(d); + return { + a: t, + b: program.b, + d, + duration, + start: program.start, + end: program.start + duration, + group: program.group + }; + } + function go(b) { + const { delay: delay2 = 0, duration = 300, easing = identity, tick: tick2 = noop, css } = config || null_transition; + const program = { + start: now() + delay2, + b + }; + if (!b) { + program.group = outros; + outros.r += 1; + } + if (running_program || pending_program) { + pending_program = program; + } else { + if (css) { + clear_animation(); + animation_name = create_rule(node, t, b, duration, delay2, easing, css); + } + if (b) + tick2(0, 1); + running_program = init2(program, duration); + add_render_callback(() => dispatch(node, b, "start")); + loop((now2) => { + if (pending_program && now2 > pending_program.start) { + running_program = init2(pending_program, duration); + pending_program = null; + dispatch(node, running_program.b, "start"); + if (css) { + clear_animation(); + animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css); + } + } + if (running_program) { + if (now2 >= running_program.end) { + tick2(t = running_program.b, 1 - t); + dispatch(node, running_program.b, "end"); + if (!pending_program) { + if (running_program.b) { + clear_animation(); + } else { + if (!--running_program.group.r) + run_all(running_program.group.c); + } + } + running_program = null; + } else if (now2 >= running_program.start) { + const p = now2 - running_program.start; + t = running_program.a + running_program.d * easing(p / running_program.duration); + tick2(t, 1 - t); + } + } + return !!(running_program || pending_program); + }); + } + } + return { + run(b) { + if (is_function(config)) { + wait().then(() => { + config = config(); + go(b); + }); + } else { + go(b); + } + }, + end() { + clear_animation(); + running_program = pending_program = null; + } + }; +} +var globals = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : global; +var boolean_attributes = new Set([ + "allowfullscreen", + "allowpaymentrequest", + "async", + "autofocus", + "autoplay", + "checked", + "controls", + "default", + "defer", + "disabled", + "formnovalidate", + "hidden", + "ismap", + "loop", + "multiple", + "muted", + "nomodule", + "novalidate", + "open", + "playsinline", + "readonly", + "required", + "reversed", + "selected" +]); +function create_component(block) { + block && block.c(); +} +function mount_component(component, target, anchor, customElement) { + const { fragment, on_mount, on_destroy, after_update } = component.$$; + fragment && fragment.m(target, anchor); + if (!customElement) { + add_render_callback(() => { + const new_on_destroy = on_mount.map(run).filter(is_function); + if (on_destroy) { + on_destroy.push(...new_on_destroy); + } else { + run_all(new_on_destroy); + } + component.$$.on_mount = []; + }); + } + after_update.forEach(add_render_callback); +} +function destroy_component(component, detaching) { + const $$ = component.$$; + if ($$.fragment !== null) { + run_all($$.on_destroy); + $$.fragment && $$.fragment.d(detaching); + $$.on_destroy = $$.fragment = null; + $$.ctx = []; + } +} +function make_dirty(component, i) { + if (component.$$.dirty[0] === -1) { + dirty_components.push(component); + schedule_update(); + component.$$.dirty.fill(0); + } + component.$$.dirty[i / 31 | 0] |= 1 << i % 31; +} +function init(component, options, instance5, create_fragment5, not_equal, props, append_styles2, dirty = [-1]) { + const parent_component = current_component; + set_current_component(component); + const $$ = component.$$ = { + fragment: null, + ctx: null, + props, + update: noop, + not_equal, + bound: blank_object(), + on_mount: [], + on_destroy: [], + on_disconnect: [], + before_update: [], + after_update: [], + context: new Map(options.context || (parent_component ? parent_component.$$.context : [])), + callbacks: blank_object(), + dirty, + skip_bound: false, + root: options.target || parent_component.$$.root + }; + append_styles2 && append_styles2($$.root); + let ready2 = false; + $$.ctx = instance5 ? instance5(component, options.props || {}, (i, ret, ...rest) => { + const value = rest.length ? rest[0] : ret; + if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) { + if (!$$.skip_bound && $$.bound[i]) + $$.bound[i](value); + if (ready2) + make_dirty(component, i); + } + return ret; + }) : []; + $$.update(); + ready2 = true; + run_all($$.before_update); + $$.fragment = create_fragment5 ? create_fragment5($$.ctx) : false; + if (options.target) { + if (options.hydrate) { + start_hydrating(); + const nodes = children(options.target); + $$.fragment && $$.fragment.l(nodes); + nodes.forEach(detach); + } else { + $$.fragment && $$.fragment.c(); + } + if (options.intro) + transition_in(component.$$.fragment); + mount_component(component, options.target, options.anchor, options.customElement); + end_hydrating(); + flush(); + } + set_current_component(parent_component); +} +var SvelteElement; +if (typeof HTMLElement === "function") { + SvelteElement = class extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: "open" }); + } + connectedCallback() { + const { on_mount } = this.$$; + this.$$.on_disconnect = on_mount.map(run).filter(is_function); + for (const key2 in this.$$.slotted) { + this.appendChild(this.$$.slotted[key2]); + } + } + attributeChangedCallback(attr2, _oldValue, newValue) { + this[attr2] = newValue; + } + disconnectedCallback() { + run_all(this.$$.on_disconnect); + } + $destroy() { + destroy_component(this, 1); + this.$destroy = noop; + } + $on(type, callback) { + const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []); + callbacks.push(callback); + return () => { + const index = callbacks.indexOf(callback); + if (index !== -1) + callbacks.splice(index, 1); + }; + } + $set($$props) { + if (this.$$set && !is_empty($$props)) { + this.$$.skip_bound = true; + this.$$set($$props); + this.$$.skip_bound = false; + } + } + }; +} +var SvelteComponent = class { + $destroy() { + destroy_component(this, 1); + this.$destroy = noop; + } + $on(type, callback) { + const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []); + callbacks.push(callback); + return () => { + const index = callbacks.indexOf(callback); + if (index !== -1) + callbacks.splice(index, 1); + }; + } + $set($$props) { + if (this.$$set && !is_empty($$props)) { + this.$$.skip_bound = true; + this.$$set($$props); + this.$$.skip_bound = false; + } + } +}; + +// node_modules/tslib/modules/index.js +var import_tslib = __toModule(require_tslib()); +var { + __extends, + __assign, + __rest, + __decorate, + __param, + __metadata, + __awaiter, + __generator, + __exportStar, + __createBinding, + __values, + __read, + __spread, + __spreadArrays, + __spreadArray, + __await, + __asyncGenerator, + __asyncDelegator, + __asyncValues, + __makeTemplateObject, + __importStar, + __importDefault, + __classPrivateFieldGet, + __classPrivateFieldSet, + __classPrivateFieldIn +} = import_tslib.default; + +// src/ui/sidebar/gitView.svelte +var import_obsidian13 = __toModule(require("obsidian")); + +// node_modules/svelte/easing/index.mjs +function cubicOut(t) { + const f = t - 1; + return f * f * f + 1; +} + +// node_modules/svelte/transition/index.mjs +function slide(node, { delay: delay2 = 0, duration = 400, easing = cubicOut } = {}) { + const style = getComputedStyle(node); + const opacity = +style.opacity; + const height = parseFloat(style.height); + const padding_top = parseFloat(style.paddingTop); + const padding_bottom = parseFloat(style.paddingBottom); + const margin_top = parseFloat(style.marginTop); + const margin_bottom = parseFloat(style.marginBottom); + const border_top_width = parseFloat(style.borderTopWidth); + const border_bottom_width = parseFloat(style.borderBottomWidth); + return { + delay: delay2, + duration, + easing, + css: (t) => `overflow: hidden;opacity: ${Math.min(t * 20, 1) * opacity};height: ${t * height}px;padding-top: ${t * padding_top}px;padding-bottom: ${t * padding_bottom}px;margin-top: ${t * margin_top}px;margin-bottom: ${t * margin_bottom}px;border-top-width: ${t * border_top_width}px;border-bottom-width: ${t * border_bottom_width}px;` + }; +} + +// src/ui/sidebar/components/fileComponent.svelte +var import_obsidian11 = __toModule(require("obsidian")); + +// node_modules/obsidian-community-lib/dist/utils.js +var feather = __toModule(require_feather()); +var import_obsidian9 = __toModule(require("obsidian")); +function hoverPreview(event, view, to) { + const targetEl = event.target; + app.workspace.trigger("hover-link", { + event, + source: view.getViewType(), + hoverParent: view, + targetEl, + linktext: to + }); +} +function createNewMDNote(newName, currFilePath = "") { + return __async(this, null, function* () { + const newFileFolder = app.fileManager.getNewFileParent(currFilePath).path; + const newFilePath = (0, import_obsidian9.normalizePath)(`${newFileFolder}${newFileFolder === "/" ? "" : "/"}${addMD(newName)}`); + return yield app.vault.create(newFilePath, ""); + }); +} +var addMD = (noteName) => { + return noteName.match(/\.MD$|\.md$/m) ? noteName : noteName + ".md"; +}; +function openOrSwitch(_0, _1) { + return __async(this, arguments, function* (dest, event, options = { createNewFile: true }) { + const { workspace } = app; + let destFile = app.metadataCache.getFirstLinkpathDest(dest, ""); + if (!destFile && options.createNewFile) { + destFile = yield createNewMDNote(dest); + } else if (!destFile && !options.createNewFile) + return; + const leavesWithDestAlreadyOpen = []; + workspace.iterateAllLeaves((leaf) => { + var _a2; + if (leaf.view instanceof import_obsidian9.MarkdownView) { + const file = (_a2 = leaf.view) === null || _a2 === void 0 ? void 0 : _a2.file; + if (file && file.basename + "." + file.extension === dest) { + leavesWithDestAlreadyOpen.push(leaf); + } + } + }); + if (leavesWithDestAlreadyOpen.length > 0) { + workspace.setActiveLeaf(leavesWithDestAlreadyOpen[0]); + } else { + const mode = app.vault.getConfig("defaultViewMode"); + const leaf = event.ctrlKey || event.getModifierState("Meta") ? workspace.splitActiveLeaf() : workspace.getUnpinnedLeaf(); + yield leaf.openFile(destFile, { active: true, mode }); + } + }); +} + +// src/ui/modals/discardModal.ts +var import_obsidian10 = __toModule(require("obsidian")); +var DiscardModal = class extends import_obsidian10.Modal { + constructor(app2, deletion, filename) { + super(app2); + this.deletion = deletion; + this.filename = filename; + this.resolve = null; + } + myOpen() { + this.open(); + return new Promise((resolve) => { + this.resolve = resolve; + }); + } + onOpen() { + let { contentEl, titleEl } = this; + titleEl.setText(`${this.deletion ? "Delete" : "Discard"} this file?`); + contentEl.createEl("h4").setText(`Do you really want to ${this.deletion ? "delete" : "discard the changes of"} "${this.filename}"`); + const div = contentEl.createDiv(); + div.addClass("obsidian-git-center"); + div.createEl("button", { text: "Cancel" }).addEventListener("click", () => { + if (this.resolve) + this.resolve(false); + return this.close(); + }); + div.createEl("button", { + cls: "mod-cta", + text: "Confirm" + }).addEventListener("click", () => __async(this, null, function* () { + if (this.resolve) + this.resolve(true); + this.close(); + })); + } + onClose() { + let { contentEl } = this; + contentEl.empty(); + } +}; + +// src/ui/sidebar/components/fileComponent.svelte +function add_css(target) { + append_styles(target, "svelte-1furf50", "main.svelte-1furf50.svelte-1furf50.svelte-1furf50{cursor:pointer;background-color:var(--background-secondary);border-radius:4px;width:98%;display:flex;justify-content:space-between;font-size:0.8rem;margin-bottom:2px}main.svelte-1furf50 .path.svelte-1furf50.svelte-1furf50{color:var(--text-muted);white-space:nowrap;max-width:75%;overflow:hidden;text-overflow:ellipsis}main.svelte-1furf50:hover .path.svelte-1furf50.svelte-1furf50{color:var(--text-normal);transition:all 200ms}main.svelte-1furf50 .tools.svelte-1furf50.svelte-1furf50{display:flex;align-items:center}main.svelte-1furf50 .tools .type.svelte-1furf50.svelte-1furf50{height:16px;width:16px;margin:0;display:flex;align-items:center;justify-content:center}main.svelte-1furf50 .tools .type[data-type=M].svelte-1furf50.svelte-1furf50{color:orange}main.svelte-1furf50 .tools .type[data-type=D].svelte-1furf50.svelte-1furf50{color:red}main.svelte-1furf50 .tools .buttons.svelte-1furf50.svelte-1furf50{display:flex}main.svelte-1furf50 .tools .buttons.svelte-1furf50>.svelte-1furf50{color:var(--text-faint);height:16px;width:16px;margin:0;transition:all 0.2s;border-radius:2px;margin-right:1px}main.svelte-1furf50 .tools .buttons.svelte-1furf50>.svelte-1furf50:hover{color:var(--text-normal);background-color:var(--interactive-accent)}"); +} +function create_if_block(ctx) { + let div; + let mounted; + let dispose; + return { + c() { + div = element("div"); + attr(div, "data-icon", "go-to-file"); + attr(div, "aria-label", "Open File"); + attr(div, "class", "svelte-1furf50"); + }, + m(target, anchor) { + insert(target, div, anchor); + ctx[12](div); + if (!mounted) { + dispose = listen(div, "click", ctx[5]); + mounted = true; + } + }, + p: noop, + d(detaching) { + if (detaching) + detach(div); + ctx[12](null); + mounted = false; + dispose(); + } + }; +} +function create_fragment(ctx) { + let main; + let span0; + let t0_value = ctx[0].vault_path.split("/").last().replace(".md", "") + ""; + let t0; + let span0_aria_label_value; + let t1; + let div3; + let div2; + let show_if = ctx[1].app.vault.getAbstractFileByPath(ctx[0].vault_path); + let t2; + let div0; + let t3; + let div1; + let t4; + let span1; + let t5_value = ctx[0].working_dir + ""; + let t5; + let span1_data_type_value; + let mounted; + let dispose; + let if_block = show_if && create_if_block(ctx); + return { + c() { + main = element("main"); + span0 = element("span"); + t0 = text(t0_value); + t1 = space(); + div3 = element("div"); + div2 = element("div"); + if (if_block) + if_block.c(); + t2 = space(); + div0 = element("div"); + t3 = space(); + div1 = element("div"); + t4 = space(); + span1 = element("span"); + t5 = text(t5_value); + attr(span0, "class", "path svelte-1furf50"); + attr(span0, "aria-label-position", ctx[3]); + attr(span0, "aria-label", span0_aria_label_value = ctx[0].vault_path.split("/").last() != ctx[0].vault_path ? ctx[0].vault_path : ""); + attr(div0, "data-icon", "skip-back"); + attr(div0, "aria-label", "Discard"); + attr(div0, "class", "svelte-1furf50"); + attr(div1, "data-icon", "plus"); + attr(div1, "aria-label", "Stage"); + attr(div1, "class", "svelte-1furf50"); + attr(div2, "class", "buttons svelte-1furf50"); + attr(span1, "class", "type svelte-1furf50"); + attr(span1, "data-type", span1_data_type_value = ctx[0].working_dir); + attr(div3, "class", "tools svelte-1furf50"); + attr(main, "class", "svelte-1furf50"); + }, + m(target, anchor) { + insert(target, main, anchor); + append2(main, span0); + append2(span0, t0); + append2(main, t1); + append2(main, div3); + append2(div3, div2); + if (if_block) + if_block.m(div2, null); + append2(div2, t2); + append2(div2, div0); + ctx[13](div0); + append2(div2, t3); + append2(div2, div1); + ctx[14](div1); + append2(div3, t4); + append2(div3, span1); + append2(span1, t5); + if (!mounted) { + dispose = [ + listen(span0, "click", self2(ctx[7])), + listen(div0, "click", ctx[8]), + listen(div1, "click", ctx[6]), + listen(main, "mouseover", ctx[4]), + listen(main, "click", self2(ctx[7])), + listen(main, "focus", ctx[11]) + ]; + mounted = true; + } + }, + p(ctx2, [dirty]) { + if (dirty & 1 && t0_value !== (t0_value = ctx2[0].vault_path.split("/").last().replace(".md", "") + "")) + set_data(t0, t0_value); + if (dirty & 8) { + attr(span0, "aria-label-position", ctx2[3]); + } + if (dirty & 1 && span0_aria_label_value !== (span0_aria_label_value = ctx2[0].vault_path.split("/").last() != ctx2[0].vault_path ? ctx2[0].vault_path : "")) { + attr(span0, "aria-label", span0_aria_label_value); + } + if (dirty & 3) + show_if = ctx2[1].app.vault.getAbstractFileByPath(ctx2[0].vault_path); + if (show_if) { + if (if_block) { + if_block.p(ctx2, dirty); + } else { + if_block = create_if_block(ctx2); + if_block.c(); + if_block.m(div2, t2); + } + } else if (if_block) { + if_block.d(1); + if_block = null; + } + if (dirty & 1 && t5_value !== (t5_value = ctx2[0].working_dir + "")) + set_data(t5, t5_value); + if (dirty & 1 && span1_data_type_value !== (span1_data_type_value = ctx2[0].working_dir)) { + attr(span1, "data-type", span1_data_type_value); + } + }, + i: noop, + o: noop, + d(detaching) { + if (detaching) + detach(main); + if (if_block) + if_block.d(); + ctx[13](null); + ctx[14](null); + mounted = false; + run_all(dispose); + } + }; +} +function instance($$self, $$props, $$invalidate) { + let side; + let { change } = $$props; + let { view } = $$props; + let { manager } = $$props; + let { workspace } = $$props; + let buttons = []; + setImmediate(() => buttons.forEach((b) => (0, import_obsidian11.setIcon)(b, b.getAttr("data-icon"), 16))); + function hover(event) { + if (!change.path.startsWith(view.app.vault.configDir) || !change.path.startsWith(".")) { + hoverPreview(event, view, change.vault_path.split("/").last().replace(".md", "")); + } + } + function open(event) { + if (!(change.path.startsWith(view.app.vault.configDir) || change.path.startsWith(".") || change.working_dir === "D")) { + openOrSwitch(change.vault_path, event); + } + } + function stage() { + manager.stage(change.path, false).finally(() => { + dispatchEvent(new CustomEvent("git-refresh")); + }); + } + function showDiff(event) { + const leaf = workspace.getMostRecentLeaf(workspace.rootSplit); + if (leaf && !leaf.getViewState().pinned && !(event.ctrlKey || event.getModifierState("Meta"))) { + leaf.setViewState({ + type: DIFF_VIEW_CONFIG.type, + state: { file: change.path, staged: false } + }); + } else { + workspace.createLeafInParent(workspace.rootSplit, 0).setViewState({ + type: DIFF_VIEW_CONFIG.type, + active: true, + state: { file: change.path, staged: false } + }); + } + } + function discard() { + const deleteFile = change.working_dir == "U"; + new DiscardModal(view.app, deleteFile, change.vault_path).myOpen().then((shouldDiscard) => { + if (shouldDiscard === true) { + if (deleteFile) { + view.app.vault.adapter.remove(change.vault_path).finally(() => { + dispatchEvent(new CustomEvent("git-refresh")); + }); + } else { + manager.discard(change.path).finally(() => { + dispatchEvent(new CustomEvent("git-refresh")); + }); + } + } + }); + } + function focus_handler(event) { + bubble.call(this, $$self, event); + } + function div_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[1] = $$value; + $$invalidate(2, buttons); + }); + } + function div0_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[0] = $$value; + $$invalidate(2, buttons); + }); + } + function div1_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[2] = $$value; + $$invalidate(2, buttons); + }); + } + $$self.$$set = ($$props2) => { + if ("change" in $$props2) + $$invalidate(0, change = $$props2.change); + if ("view" in $$props2) + $$invalidate(1, view = $$props2.view); + if ("manager" in $$props2) + $$invalidate(9, manager = $$props2.manager); + if ("workspace" in $$props2) + $$invalidate(10, workspace = $$props2.workspace); + }; + $$self.$$.update = () => { + if ($$self.$$.dirty & 2) { + $: + $$invalidate(3, side = view.leaf.getRoot().side == "left" ? "right" : "left"); + } + }; + return [ + change, + view, + buttons, + side, + hover, + open, + stage, + showDiff, + discard, + manager, + workspace, + focus_handler, + div_binding, + div0_binding, + div1_binding + ]; +} +var FileComponent = class extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance, create_fragment, safe_not_equal, { + change: 0, + view: 1, + manager: 9, + workspace: 10 + }, add_css); + } +}; +var fileComponent_default = FileComponent; + +// src/ui/sidebar/components/stagedFileComponent.svelte +var import_obsidian12 = __toModule(require("obsidian")); +var import_path2 = __toModule(require("path")); +function add_css2(target) { + append_styles(target, "svelte-15heedx", "main.svelte-15heedx.svelte-15heedx.svelte-15heedx{cursor:pointer;background-color:var(--background-secondary);border-radius:4px;width:98%;display:flex;justify-content:space-between;font-size:0.8rem;margin-bottom:2px}main.svelte-15heedx .path.svelte-15heedx.svelte-15heedx{color:var(--text-muted);white-space:nowrap;max-width:75%;overflow:hidden;text-overflow:ellipsis}main.svelte-15heedx:hover .path.svelte-15heedx.svelte-15heedx{color:var(--text-normal);transition:all 200ms}main.svelte-15heedx .tools.svelte-15heedx.svelte-15heedx{display:flex;align-items:center}main.svelte-15heedx .tools .type.svelte-15heedx.svelte-15heedx{height:16px;width:16px;margin:0;display:flex;align-items:center;justify-content:center}main.svelte-15heedx .tools .type[data-type=M].svelte-15heedx.svelte-15heedx{color:orange}main.svelte-15heedx .tools .type[data-type=D].svelte-15heedx.svelte-15heedx{color:red}main.svelte-15heedx .tools .type[data-type=A].svelte-15heedx.svelte-15heedx{color:yellowgreen}main.svelte-15heedx .tools .type[data-type=R].svelte-15heedx.svelte-15heedx{color:violet}main.svelte-15heedx .tools .buttons.svelte-15heedx.svelte-15heedx{display:flex}main.svelte-15heedx .tools .buttons.svelte-15heedx>.svelte-15heedx{color:var(--text-faint);height:16px;width:16px;margin:0;transition:all 0.2s;border-radius:2px;margin-right:1px}main.svelte-15heedx .tools .buttons.svelte-15heedx>.svelte-15heedx:hover{color:var(--text-normal);background-color:var(--interactive-accent)}"); +} +function create_if_block2(ctx) { + let div; + let mounted; + let dispose; + return { + c() { + div = element("div"); + attr(div, "data-icon", "go-to-file"); + attr(div, "aria-label", "Open File"); + attr(div, "class", "svelte-15heedx"); + }, + m(target, anchor) { + insert(target, div, anchor); + ctx[11](div); + if (!mounted) { + dispose = listen(div, "click", ctx[6]); + mounted = true; + } + }, + p: noop, + d(detaching) { + if (detaching) + detach(div); + ctx[11](null); + mounted = false; + dispose(); + } + }; +} +function create_fragment2(ctx) { + let main; + let span0; + let t0_value = ctx[3].split("/").last().replace(".md", "") + ""; + let t0; + let span0_aria_label_value; + let t1; + let div2; + let div1; + let show_if = ctx[1].app.vault.getAbstractFileByPath(ctx[3]); + let t2; + let div0; + let t3; + let span1; + let t4_value = ctx[0].index + ""; + let t4; + let span1_data_type_value; + let mounted; + let dispose; + let if_block = show_if && create_if_block2(ctx); + return { + c() { + main = element("main"); + span0 = element("span"); + t0 = text(t0_value); + t1 = space(); + div2 = element("div"); + div1 = element("div"); + if (if_block) + if_block.c(); + t2 = space(); + div0 = element("div"); + t3 = space(); + span1 = element("span"); + t4 = text(t4_value); + attr(span0, "class", "path svelte-15heedx"); + attr(span0, "aria-label-position", ctx[4]); + attr(span0, "aria-label", span0_aria_label_value = ctx[3].split("/").last() != ctx[3] ? ctx[3] : ""); + attr(div0, "data-icon", "minus"); + attr(div0, "aria-label", "Unstage"); + attr(div0, "class", "svelte-15heedx"); + attr(div1, "class", "buttons svelte-15heedx"); + attr(span1, "class", "type svelte-15heedx"); + attr(span1, "data-type", span1_data_type_value = ctx[0].index); + attr(div2, "class", "tools svelte-15heedx"); + attr(main, "class", "svelte-15heedx"); + }, + m(target, anchor) { + insert(target, main, anchor); + append2(main, span0); + append2(span0, t0); + append2(main, t1); + append2(main, div2); + append2(div2, div1); + if (if_block) + if_block.m(div1, null); + append2(div1, t2); + append2(div1, div0); + ctx[12](div0); + append2(div2, t3); + append2(div2, span1); + append2(span1, t4); + if (!mounted) { + dispose = [ + listen(span0, "click", ctx[7]), + listen(div0, "click", ctx[8]), + listen(main, "mouseover", ctx[5]), + listen(main, "focus", ctx[10]), + listen(main, "click", self2(ctx[7])) + ]; + mounted = true; + } + }, + p(ctx2, [dirty]) { + if (dirty & 8 && t0_value !== (t0_value = ctx2[3].split("/").last().replace(".md", "") + "")) + set_data(t0, t0_value); + if (dirty & 16) { + attr(span0, "aria-label-position", ctx2[4]); + } + if (dirty & 8 && span0_aria_label_value !== (span0_aria_label_value = ctx2[3].split("/").last() != ctx2[3] ? ctx2[3] : "")) { + attr(span0, "aria-label", span0_aria_label_value); + } + if (dirty & 10) + show_if = ctx2[1].app.vault.getAbstractFileByPath(ctx2[3]); + if (show_if) { + if (if_block) { + if_block.p(ctx2, dirty); + } else { + if_block = create_if_block2(ctx2); + if_block.c(); + if_block.m(div1, t2); + } + } else if (if_block) { + if_block.d(1); + if_block = null; + } + if (dirty & 1 && t4_value !== (t4_value = ctx2[0].index + "")) + set_data(t4, t4_value); + if (dirty & 1 && span1_data_type_value !== (span1_data_type_value = ctx2[0].index)) { + attr(span1, "data-type", span1_data_type_value); + } + }, + i: noop, + o: noop, + d(detaching) { + if (detaching) + detach(main); + if (if_block) + if_block.d(); + ctx[12](null); + mounted = false; + run_all(dispose); + } + }; +} +function instance2($$self, $$props, $$invalidate) { + let formattedPath; + let side; + let { change } = $$props; + let { view } = $$props; + let { manager } = $$props; + let buttons = []; + setImmediate(() => buttons.forEach((b) => (0, import_obsidian12.setIcon)(b, b.getAttr("data-icon"), 16))); + function hover(event) { + if (!change.path.startsWith(view.app.vault.configDir) || !change.path.startsWith(".")) { + hoverPreview(event, view, formattedPath.split("/").last().replace(".md", "")); + } + } + function open(event) { + if (!(change.path.startsWith(view.app.vault.configDir) || change.path.startsWith(".") || change.index === "D")) { + openOrSwitch(formattedPath, event); + } + } + function showDiff(event) { + const workspace = view.app.workspace; + const leaf = workspace.getMostRecentLeaf(workspace.rootSplit); + if (leaf && !leaf.getViewState().pinned && !(event.ctrlKey || event.getModifierState("Meta"))) { + leaf.setViewState({ + type: DIFF_VIEW_CONFIG.type, + state: { file: change.path, staged: true } + }); + workspace.setActiveLeaf(leaf, true, true); + } else { + workspace.createLeafInParent(workspace.rootSplit, 0).setViewState({ + type: DIFF_VIEW_CONFIG.type, + active: true, + state: { file: change.path, staged: true } + }); + } + } + function unstage() { + manager.unstage(change.path, false).finally(() => { + dispatchEvent(new CustomEvent("git-refresh")); + }); + } + function focus_handler(event) { + bubble.call(this, $$self, event); + } + function div_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[1] = $$value; + $$invalidate(2, buttons); + }); + } + function div0_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[0] = $$value; + $$invalidate(2, buttons); + }); + } + $$self.$$set = ($$props2) => { + if ("change" in $$props2) + $$invalidate(0, change = $$props2.change); + if ("view" in $$props2) + $$invalidate(1, view = $$props2.view); + if ("manager" in $$props2) + $$invalidate(9, manager = $$props2.manager); + }; + $$self.$$.update = () => { + if ($$self.$$.dirty & 1) { + $: + $$invalidate(3, formattedPath = change.vault_path); + } + if ($$self.$$.dirty & 2) { + $: + $$invalidate(4, side = view.leaf.getRoot().side == "left" ? "right" : "left"); + } + }; + return [ + change, + view, + buttons, + formattedPath, + side, + hover, + open, + showDiff, + unstage, + manager, + focus_handler, + div_binding, + div0_binding + ]; +} +var StagedFileComponent = class extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance2, create_fragment2, safe_not_equal, { change: 0, view: 1, manager: 9 }, add_css2); + } +}; +var stagedFileComponent_default = StagedFileComponent; + +// src/ui/sidebar/components/treeComponent.svelte +function add_css3(target) { + append_styles(target, "svelte-pgmdei", '@charset "UTF-8";main.svelte-pgmdei.svelte-pgmdei:not(.topLevel){margin-left:5px}.opener.svelte-pgmdei.svelte-pgmdei{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.opener.svelte-pgmdei .collapse-icon.svelte-pgmdei::after{content:"\xA0"}.opener.svelte-pgmdei div.svelte-pgmdei{display:flex}.opener.svelte-pgmdei svg.svelte-pgmdei{transform:rotate(-90deg)}.opener.open.svelte-pgmdei svg.svelte-pgmdei{transform:rotate(0)}.opener.svelte-pgmdei span.svelte-pgmdei{font-size:0.8rem}.file-view.svelte-pgmdei.svelte-pgmdei{margin-left:5px}'); +} +function get_each_context(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[7] = list[i]; + return child_ctx; +} +function create_else_block_1(ctx) { + let div2; + let div1; + let div0; + let t0; + let span; + let t1_value = ctx[7].title + ""; + let t1; + let t2; + let if_block_anchor; + let current; + let mounted; + let dispose; + function click_handler() { + return ctx[6](ctx[7]); + } + let if_block = !ctx[5][ctx[7].title] && create_if_block_2(ctx); + return { + c() { + div2 = element("div"); + div1 = element("div"); + div0 = element("div"); + div0.innerHTML = ``; + t0 = space(); + span = element("span"); + t1 = text(t1_value); + t2 = space(); + if (if_block) + if_block.c(); + if_block_anchor = empty(); + attr(div0, "class", "tree-item-icon collapse-icon svelte-pgmdei"); + attr(div0, "style", ""); + attr(span, "class", "svelte-pgmdei"); + attr(div1, "class", "svelte-pgmdei"); + attr(div2, "class", "opener tree-item-self is-clickable svelte-pgmdei"); + toggle_class(div2, "open", !ctx[5][ctx[7].title]); + }, + m(target, anchor) { + insert(target, div2, anchor); + append2(div2, div1); + append2(div1, div0); + append2(div1, t0); + append2(div1, span); + append2(span, t1); + insert(target, t2, anchor); + if (if_block) + if_block.m(target, anchor); + insert(target, if_block_anchor, anchor); + current = true; + if (!mounted) { + dispose = listen(div2, "click", click_handler); + mounted = true; + } + }, + p(new_ctx, dirty) { + ctx = new_ctx; + if ((!current || dirty & 1) && t1_value !== (t1_value = ctx[7].title + "")) + set_data(t1, t1_value); + if (dirty & 33) { + toggle_class(div2, "open", !ctx[5][ctx[7].title]); + } + if (!ctx[5][ctx[7].title]) { + if (if_block) { + if_block.p(ctx, dirty); + if (dirty & 33) { + transition_in(if_block, 1); + } + } else { + if_block = create_if_block_2(ctx); + if_block.c(); + transition_in(if_block, 1); + if_block.m(if_block_anchor.parentNode, if_block_anchor); + } + } else if (if_block) { + group_outros(); + transition_out(if_block, 1, 1, () => { + if_block = null; + }); + check_outros(); + } + }, + i(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o(local) { + transition_out(if_block); + current = false; + }, + d(detaching) { + if (detaching) + detach(div2); + if (detaching) + detach(t2); + if (if_block) + if_block.d(detaching); + if (detaching) + detach(if_block_anchor); + mounted = false; + dispose(); + } + }; +} +function create_if_block3(ctx) { + let div; + let current_block_type_index; + let if_block; + let t; + let current; + const if_block_creators = [create_if_block_1, create_else_block]; + const if_blocks = []; + function select_block_type_1(ctx2, dirty) { + if (ctx2[3]) + return 0; + return 1; + } + current_block_type_index = select_block_type_1(ctx, -1); + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + return { + c() { + div = element("div"); + if_block.c(); + t = space(); + attr(div, "class", "file-view svelte-pgmdei"); + }, + m(target, anchor) { + insert(target, div, anchor); + if_blocks[current_block_type_index].m(div, null); + append2(div, t); + current = true; + }, + p(ctx2, dirty) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type_1(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } else { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(div, t); + } + }, + i(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o(local) { + transition_out(if_block); + current = false; + }, + d(detaching) { + if (detaching) + detach(div); + if_blocks[current_block_type_index].d(); + } + }; +} +function create_if_block_2(ctx) { + let div; + let treecomponent; + let t; + let div_transition; + let current; + treecomponent = new TreeComponent({ + props: { + hierarchy: ctx[7], + plugin: ctx[1], + view: ctx[2], + staged: ctx[3] + } + }); + return { + c() { + div = element("div"); + create_component(treecomponent.$$.fragment); + t = space(); + attr(div, "class", "file-view svelte-pgmdei"); + }, + m(target, anchor) { + insert(target, div, anchor); + mount_component(treecomponent, div, null); + append2(div, t); + current = true; + }, + p(ctx2, dirty) { + const treecomponent_changes = {}; + if (dirty & 1) + treecomponent_changes.hierarchy = ctx2[7]; + if (dirty & 2) + treecomponent_changes.plugin = ctx2[1]; + if (dirty & 4) + treecomponent_changes.view = ctx2[2]; + if (dirty & 8) + treecomponent_changes.staged = ctx2[3]; + treecomponent.$set(treecomponent_changes); + }, + i(local) { + if (current) + return; + transition_in(treecomponent.$$.fragment, local); + if (local) { + add_render_callback(() => { + if (!div_transition) + div_transition = create_bidirectional_transition(div, slide, { duration: 75 }, true); + div_transition.run(1); + }); + } + current = true; + }, + o(local) { + transition_out(treecomponent.$$.fragment, local); + if (local) { + if (!div_transition) + div_transition = create_bidirectional_transition(div, slide, { duration: 75 }, false); + div_transition.run(0); + } + current = false; + }, + d(detaching) { + if (detaching) + detach(div); + destroy_component(treecomponent); + if (detaching && div_transition) + div_transition.end(); + } + }; +} +function create_else_block(ctx) { + let filecomponent; + let current; + filecomponent = new fileComponent_default({ + props: { + change: ctx[7].statusResult, + manager: ctx[1].gitManager, + view: ctx[2], + workspace: ctx[1].app.workspace + } + }); + return { + c() { + create_component(filecomponent.$$.fragment); + }, + m(target, anchor) { + mount_component(filecomponent, target, anchor); + current = true; + }, + p(ctx2, dirty) { + const filecomponent_changes = {}; + if (dirty & 1) + filecomponent_changes.change = ctx2[7].statusResult; + if (dirty & 2) + filecomponent_changes.manager = ctx2[1].gitManager; + if (dirty & 4) + filecomponent_changes.view = ctx2[2]; + if (dirty & 2) + filecomponent_changes.workspace = ctx2[1].app.workspace; + filecomponent.$set(filecomponent_changes); + }, + i(local) { + if (current) + return; + transition_in(filecomponent.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(filecomponent.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(filecomponent, detaching); + } + }; +} +function create_if_block_1(ctx) { + let stagedfilecomponent; + let current; + stagedfilecomponent = new stagedFileComponent_default({ + props: { + change: ctx[7].statusResult, + manager: ctx[1].gitManager, + view: ctx[2] + } + }); + return { + c() { + create_component(stagedfilecomponent.$$.fragment); + }, + m(target, anchor) { + mount_component(stagedfilecomponent, target, anchor); + current = true; + }, + p(ctx2, dirty) { + const stagedfilecomponent_changes = {}; + if (dirty & 1) + stagedfilecomponent_changes.change = ctx2[7].statusResult; + if (dirty & 2) + stagedfilecomponent_changes.manager = ctx2[1].gitManager; + if (dirty & 4) + stagedfilecomponent_changes.view = ctx2[2]; + stagedfilecomponent.$set(stagedfilecomponent_changes); + }, + i(local) { + if (current) + return; + transition_in(stagedfilecomponent.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(stagedfilecomponent.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(stagedfilecomponent, detaching); + } + }; +} +function create_each_block(ctx) { + let current_block_type_index; + let if_block; + let if_block_anchor; + let current; + const if_block_creators = [create_if_block3, create_else_block_1]; + const if_blocks = []; + function select_block_type(ctx2, dirty) { + if (ctx2[7].statusResult) + return 0; + return 1; + } + current_block_type_index = select_block_type(ctx, -1); + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + return { + c() { + if_block.c(); + if_block_anchor = empty(); + }, + m(target, anchor) { + if_blocks[current_block_type_index].m(target, anchor); + insert(target, if_block_anchor, anchor); + current = true; + }, + p(ctx2, dirty) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } else { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(if_block_anchor.parentNode, if_block_anchor); + } + }, + i(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o(local) { + transition_out(if_block); + current = false; + }, + d(detaching) { + if_blocks[current_block_type_index].d(detaching); + if (detaching) + detach(if_block_anchor); + } + }; +} +function create_fragment3(ctx) { + let main; + let current; + let each_value = ctx[0].children; + let each_blocks = []; + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i)); + } + const out = (i) => transition_out(each_blocks[i], 1, 1, () => { + each_blocks[i] = null; + }); + return { + c() { + main = element("main"); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + attr(main, "class", "svelte-pgmdei"); + toggle_class(main, "topLevel", ctx[4]); + }, + m(target, anchor) { + insert(target, main, anchor); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].m(main, null); + } + current = true; + }, + p(ctx2, [dirty]) { + if (dirty & 47) { + each_value = ctx2[0].children; + let i; + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context(ctx2, each_value, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(main, null); + } + } + group_outros(); + for (i = each_value.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); + } + if (dirty & 16) { + toggle_class(main, "topLevel", ctx2[4]); + } + }, + i(local) { + if (current) + return; + for (let i = 0; i < each_value.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o(local) { + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d(detaching) { + if (detaching) + detach(main); + destroy_each(each_blocks, detaching); + } + }; +} +function instance3($$self, $$props, $$invalidate) { + let { hierarchy } = $$props; + let { plugin } = $$props; + let { view } = $$props; + let { staged } = $$props; + let { topLevel = false } = $$props; + const closed = {}; + const click_handler = (entity) => { + $$invalidate(5, closed[entity.title] = !closed[entity.title], closed); + }; + $$self.$$set = ($$props2) => { + if ("hierarchy" in $$props2) + $$invalidate(0, hierarchy = $$props2.hierarchy); + if ("plugin" in $$props2) + $$invalidate(1, plugin = $$props2.plugin); + if ("view" in $$props2) + $$invalidate(2, view = $$props2.view); + if ("staged" in $$props2) + $$invalidate(3, staged = $$props2.staged); + if ("topLevel" in $$props2) + $$invalidate(4, topLevel = $$props2.topLevel); + }; + return [hierarchy, plugin, view, staged, topLevel, closed, click_handler]; +} +var TreeComponent = class extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance3, create_fragment3, safe_not_equal, { + hierarchy: 0, + plugin: 1, + view: 2, + staged: 3, + topLevel: 4 + }, add_css3); + } +}; +var treeComponent_default = TreeComponent; + +// src/ui/sidebar/gitView.svelte +function add_css4(target) { + append_styles(target, "svelte-1f0ksxd", '@charset "UTF-8";.commit-msg.svelte-1f0ksxd.svelte-1f0ksxd{width:100%;min-height:1.9em;height:1.9em;resize:vertical;padding:2px 5px;background-color:var(--background-modifier-form-field)}.search-input-container.svelte-1f0ksxd.svelte-1f0ksxd{width:100%}.file-view.svelte-1f0ksxd.svelte-1f0ksxd{margin-left:5px}.opener.svelte-1f0ksxd.svelte-1f0ksxd{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.opener.svelte-1f0ksxd .collapse-icon.svelte-1f0ksxd::after{content:"\xA0"}.opener.svelte-1f0ksxd div.svelte-1f0ksxd{display:flex}.opener.svelte-1f0ksxd svg.svelte-1f0ksxd{transform:rotate(-90deg)}.opener.open.svelte-1f0ksxd svg.svelte-1f0ksxd{transform:rotate(0)}.git-view-body.svelte-1f0ksxd.svelte-1f0ksxd{overflow-y:auto;padding-left:10px}main.svelte-1f0ksxd.svelte-1f0ksxd{display:flex;flex-direction:column;height:100%;overflow-y:hidden}.nav-buttons-container.svelte-1f0ksxd.svelte-1f0ksxd{justify-content:space-between}.group.svelte-1f0ksxd.svelte-1f0ksxd{display:flex}'); +} +function get_each_context2(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[30] = list[i]; + return child_ctx; +} +function get_each_context_1(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[33] = list[i]; + return child_ctx; +} +function create_if_block_5(ctx) { + let div; + let div_aria_label_value; + let mounted; + let dispose; + return { + c() { + div = element("div"); + attr(div, "class", "search-input-clear-button"); + attr(div, "aria-label", div_aria_label_value = "Clear"); + }, + m(target, anchor) { + insert(target, div, anchor); + if (!mounted) { + dispose = listen(div, "click", ctx[26]); + mounted = true; + } + }, + p: noop, + d(detaching) { + if (detaching) + detach(div); + mounted = false; + dispose(); + } + }; +} +function create_if_block4(ctx) { + let div3; + let div2; + let div1; + let t2; + let span1; + let t3_value = ctx[5].staged.length + ""; + let t3; + let t4; + let t5; + let div7; + let div6; + let div5; + let t8; + let span3; + let t9_value = ctx[5].changed.length + ""; + let t9; + let t10; + let current; + let mounted; + let dispose; + let if_block0 = ctx[11] && create_if_block_3(ctx); + let if_block1 = ctx[10] && create_if_block_12(ctx); + return { + c() { + div3 = element("div"); + div2 = element("div"); + div1 = element("div"); + div1.innerHTML = `
    + Staged Changes`; + t2 = space(); + span1 = element("span"); + t3 = text(t3_value); + t4 = space(); + if (if_block0) + if_block0.c(); + t5 = space(); + div7 = element("div"); + div6 = element("div"); + div5 = element("div"); + div5.innerHTML = `
    + Changes`; + t8 = space(); + span3 = element("span"); + t9 = text(t9_value); + t10 = space(); + if (if_block1) + if_block1.c(); + attr(div1, "class", "svelte-1f0ksxd"); + attr(span1, "class", "tree-item-flair"); + attr(div2, "class", "opener tree-item-self is-clickable svelte-1f0ksxd"); + toggle_class(div2, "open", ctx[11]); + attr(div3, "class", "staged"); + attr(div5, "class", "svelte-1f0ksxd"); + attr(span3, "class", "tree-item-flair"); + attr(div6, "class", "opener tree-item-self is-clickable svelte-1f0ksxd"); + toggle_class(div6, "open", ctx[10]); + attr(div7, "class", "changes"); + }, + m(target, anchor) { + insert(target, div3, anchor); + append2(div3, div2); + append2(div2, div1); + append2(div2, t2); + append2(div2, span1); + append2(span1, t3); + append2(div3, t4); + if (if_block0) + if_block0.m(div3, null); + insert(target, t5, anchor); + insert(target, div7, anchor); + append2(div7, div6); + append2(div6, div5); + append2(div6, t8); + append2(div6, span3); + append2(span3, t9); + append2(div7, t10); + if (if_block1) + if_block1.m(div7, null); + current = true; + if (!mounted) { + dispose = [ + listen(div2, "click", ctx[27]), + listen(div6, "click", ctx[28]) + ]; + mounted = true; + } + }, + p(ctx2, dirty) { + if ((!current || dirty[0] & 32) && t3_value !== (t3_value = ctx2[5].staged.length + "")) + set_data(t3, t3_value); + if (dirty[0] & 2048) { + toggle_class(div2, "open", ctx2[11]); + } + if (ctx2[11]) { + if (if_block0) { + if_block0.p(ctx2, dirty); + if (dirty[0] & 2048) { + transition_in(if_block0, 1); + } + } else { + if_block0 = create_if_block_3(ctx2); + if_block0.c(); + transition_in(if_block0, 1); + if_block0.m(div3, null); + } + } else if (if_block0) { + group_outros(); + transition_out(if_block0, 1, 1, () => { + if_block0 = null; + }); + check_outros(); + } + if ((!current || dirty[0] & 32) && t9_value !== (t9_value = ctx2[5].changed.length + "")) + set_data(t9, t9_value); + if (dirty[0] & 1024) { + toggle_class(div6, "open", ctx2[10]); + } + if (ctx2[10]) { + if (if_block1) { + if_block1.p(ctx2, dirty); + if (dirty[0] & 1024) { + transition_in(if_block1, 1); + } + } else { + if_block1 = create_if_block_12(ctx2); + if_block1.c(); + transition_in(if_block1, 1); + if_block1.m(div7, null); + } + } else if (if_block1) { + group_outros(); + transition_out(if_block1, 1, 1, () => { + if_block1 = null; + }); + check_outros(); + } + }, + i(local) { + if (current) + return; + transition_in(if_block0); + transition_in(if_block1); + current = true; + }, + o(local) { + transition_out(if_block0); + transition_out(if_block1); + current = false; + }, + d(detaching) { + if (detaching) + detach(div3); + if (if_block0) + if_block0.d(); + if (detaching) + detach(t5); + if (detaching) + detach(div7); + if (if_block1) + if_block1.d(); + mounted = false; + run_all(dispose); + } + }; +} +function create_if_block_3(ctx) { + let div; + let current_block_type_index; + let if_block; + let div_transition; + let current; + const if_block_creators = [create_if_block_4, create_else_block_12]; + const if_blocks = []; + function select_block_type(ctx2, dirty) { + if (ctx2[2]) + return 0; + return 1; + } + current_block_type_index = select_block_type(ctx, [-1, -1]); + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + return { + c() { + div = element("div"); + if_block.c(); + attr(div, "class", "file-view svelte-1f0ksxd"); + }, + m(target, anchor) { + insert(target, div, anchor); + if_blocks[current_block_type_index].m(div, null); + current = true; + }, + p(ctx2, dirty) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } else { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(div, null); + } + }, + i(local) { + if (current) + return; + transition_in(if_block); + if (local) { + add_render_callback(() => { + if (!div_transition) + div_transition = create_bidirectional_transition(div, slide, { duration: 150 }, true); + div_transition.run(1); + }); + } + current = true; + }, + o(local) { + transition_out(if_block); + if (local) { + if (!div_transition) + div_transition = create_bidirectional_transition(div, slide, { duration: 150 }, false); + div_transition.run(0); + } + current = false; + }, + d(detaching) { + if (detaching) + detach(div); + if_blocks[current_block_type_index].d(); + if (detaching && div_transition) + div_transition.end(); + } + }; +} +function create_else_block_12(ctx) { + let each_1_anchor; + let current; + let each_value_1 = ctx[5].staged; + let each_blocks = []; + for (let i = 0; i < each_value_1.length; i += 1) { + each_blocks[i] = create_each_block_1(get_each_context_1(ctx, each_value_1, i)); + } + const out = (i) => transition_out(each_blocks[i], 1, 1, () => { + each_blocks[i] = null; + }); + return { + c() { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + each_1_anchor = empty(); + }, + m(target, anchor) { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].m(target, anchor); + } + insert(target, each_1_anchor, anchor); + current = true; + }, + p(ctx2, dirty) { + if (dirty[0] & 35) { + each_value_1 = ctx2[5].staged; + let i; + for (i = 0; i < each_value_1.length; i += 1) { + const child_ctx = get_each_context_1(ctx2, each_value_1, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block_1(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor); + } + } + group_outros(); + for (i = each_value_1.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); + } + }, + i(local) { + if (current) + return; + for (let i = 0; i < each_value_1.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o(local) { + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d(detaching) { + destroy_each(each_blocks, detaching); + if (detaching) + detach(each_1_anchor); + } + }; +} +function create_if_block_4(ctx) { + let treecomponent; + let current; + treecomponent = new treeComponent_default({ + props: { + hierarchy: ctx[9], + plugin: ctx[0], + view: ctx[1], + staged: true, + topLevel: true + } + }); + return { + c() { + create_component(treecomponent.$$.fragment); + }, + m(target, anchor) { + mount_component(treecomponent, target, anchor); + current = true; + }, + p(ctx2, dirty) { + const treecomponent_changes = {}; + if (dirty[0] & 512) + treecomponent_changes.hierarchy = ctx2[9]; + if (dirty[0] & 1) + treecomponent_changes.plugin = ctx2[0]; + if (dirty[0] & 2) + treecomponent_changes.view = ctx2[1]; + treecomponent.$set(treecomponent_changes); + }, + i(local) { + if (current) + return; + transition_in(treecomponent.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(treecomponent.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(treecomponent, detaching); + } + }; +} +function create_each_block_1(ctx) { + let stagedfilecomponent; + let current; + stagedfilecomponent = new stagedFileComponent_default({ + props: { + change: ctx[33], + view: ctx[1], + manager: ctx[0].gitManager + } + }); + return { + c() { + create_component(stagedfilecomponent.$$.fragment); + }, + m(target, anchor) { + mount_component(stagedfilecomponent, target, anchor); + current = true; + }, + p(ctx2, dirty) { + const stagedfilecomponent_changes = {}; + if (dirty[0] & 32) + stagedfilecomponent_changes.change = ctx2[33]; + if (dirty[0] & 2) + stagedfilecomponent_changes.view = ctx2[1]; + if (dirty[0] & 1) + stagedfilecomponent_changes.manager = ctx2[0].gitManager; + stagedfilecomponent.$set(stagedfilecomponent_changes); + }, + i(local) { + if (current) + return; + transition_in(stagedfilecomponent.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(stagedfilecomponent.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(stagedfilecomponent, detaching); + } + }; +} +function create_if_block_12(ctx) { + let div; + let current_block_type_index; + let if_block; + let div_transition; + let current; + const if_block_creators = [create_if_block_22, create_else_block2]; + const if_blocks = []; + function select_block_type_1(ctx2, dirty) { + if (ctx2[2]) + return 0; + return 1; + } + current_block_type_index = select_block_type_1(ctx, [-1, -1]); + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + return { + c() { + div = element("div"); + if_block.c(); + attr(div, "class", "file-view svelte-1f0ksxd"); + }, + m(target, anchor) { + insert(target, div, anchor); + if_blocks[current_block_type_index].m(div, null); + current = true; + }, + p(ctx2, dirty) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type_1(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } else { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(div, null); + } + }, + i(local) { + if (current) + return; + transition_in(if_block); + if (local) { + add_render_callback(() => { + if (!div_transition) + div_transition = create_bidirectional_transition(div, slide, { duration: 150 }, true); + div_transition.run(1); + }); + } + current = true; + }, + o(local) { + transition_out(if_block); + if (local) { + if (!div_transition) + div_transition = create_bidirectional_transition(div, slide, { duration: 150 }, false); + div_transition.run(0); + } + current = false; + }, + d(detaching) { + if (detaching) + detach(div); + if_blocks[current_block_type_index].d(); + if (detaching && div_transition) + div_transition.end(); + } + }; +} +function create_else_block2(ctx) { + let each_1_anchor; + let current; + let each_value = ctx[5].changed; + let each_blocks = []; + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block2(get_each_context2(ctx, each_value, i)); + } + const out = (i) => transition_out(each_blocks[i], 1, 1, () => { + each_blocks[i] = null; + }); + return { + c() { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + each_1_anchor = empty(); + }, + m(target, anchor) { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].m(target, anchor); + } + insert(target, each_1_anchor, anchor); + current = true; + }, + p(ctx2, dirty) { + if (dirty[0] & 35) { + each_value = ctx2[5].changed; + let i; + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context2(ctx2, each_value, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block2(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor); + } + } + group_outros(); + for (i = each_value.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); + } + }, + i(local) { + if (current) + return; + for (let i = 0; i < each_value.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o(local) { + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d(detaching) { + destroy_each(each_blocks, detaching); + if (detaching) + detach(each_1_anchor); + } + }; +} +function create_if_block_22(ctx) { + let treecomponent; + let current; + treecomponent = new treeComponent_default({ + props: { + hierarchy: ctx[8], + plugin: ctx[0], + view: ctx[1], + staged: false, + topLevel: true + } + }); + return { + c() { + create_component(treecomponent.$$.fragment); + }, + m(target, anchor) { + mount_component(treecomponent, target, anchor); + current = true; + }, + p(ctx2, dirty) { + const treecomponent_changes = {}; + if (dirty[0] & 256) + treecomponent_changes.hierarchy = ctx2[8]; + if (dirty[0] & 1) + treecomponent_changes.plugin = ctx2[0]; + if (dirty[0] & 2) + treecomponent_changes.view = ctx2[1]; + treecomponent.$set(treecomponent_changes); + }, + i(local) { + if (current) + return; + transition_in(treecomponent.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(treecomponent.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(treecomponent, detaching); + } + }; +} +function create_each_block2(ctx) { + let filecomponent; + let current; + filecomponent = new fileComponent_default({ + props: { + change: ctx[30], + view: ctx[1], + manager: ctx[0].gitManager, + workspace: ctx[0].app.workspace + } + }); + filecomponent.$on("git-refresh", triggerRefresh); + return { + c() { + create_component(filecomponent.$$.fragment); + }, + m(target, anchor) { + mount_component(filecomponent, target, anchor); + current = true; + }, + p(ctx2, dirty) { + const filecomponent_changes = {}; + if (dirty[0] & 32) + filecomponent_changes.change = ctx2[30]; + if (dirty[0] & 2) + filecomponent_changes.view = ctx2[1]; + if (dirty[0] & 1) + filecomponent_changes.manager = ctx2[0].gitManager; + if (dirty[0] & 1) + filecomponent_changes.workspace = ctx2[0].app.workspace; + filecomponent.$set(filecomponent_changes); + }, + i(local) { + if (current) + return; + transition_in(filecomponent.$$.fragment, local); + current = true; + }, + o(local) { + transition_out(filecomponent.$$.fragment, local); + current = false; + }, + d(detaching) { + destroy_component(filecomponent, detaching); + } + }; +} +function create_fragment4(ctx) { + let main; + let div9; + let div6; + let div0; + let t0; + let div1; + let t1; + let div2; + let t2; + let div3; + let t3; + let div4; + let t4; + let div5; + let t5; + let div7; + let t6; + let div8; + let textarea; + let t7; + let t8; + let div10; + let current; + let mounted; + let dispose; + let if_block0 = ctx[6] && create_if_block_5(ctx); + let if_block1 = ctx[5] && create_if_block4(ctx); + return { + c() { + main = element("main"); + div9 = element("div"); + div6 = element("div"); + div0 = element("div"); + t0 = space(); + div1 = element("div"); + t1 = space(); + div2 = element("div"); + t2 = space(); + div3 = element("div"); + t3 = space(); + div4 = element("div"); + t4 = space(); + div5 = element("div"); + t5 = space(); + div7 = element("div"); + t6 = space(); + div8 = element("div"); + textarea = element("textarea"); + t7 = space(); + if (if_block0) + if_block0.c(); + t8 = space(); + div10 = element("div"); + if (if_block1) + if_block1.c(); + attr(div0, "id", "commit-btn"); + attr(div0, "data-icon", "check"); + attr(div0, "class", "nav-action-button"); + attr(div0, "aria-label", "Commit"); + attr(div1, "id", "stage-all"); + attr(div1, "class", "nav-action-button"); + attr(div1, "data-icon", "plus-circle"); + attr(div1, "aria-label", "Stage all"); + attr(div2, "id", "unstage-all"); + attr(div2, "class", "nav-action-button"); + attr(div2, "data-icon", "minus-circle"); + attr(div2, "aria-label", "Unstage all"); + attr(div3, "id", "push"); + attr(div3, "class", "nav-action-button"); + attr(div3, "data-icon", "upload"); + attr(div3, "aria-label", "Push"); + attr(div4, "id", "pull"); + attr(div4, "class", "nav-action-button"); + attr(div4, "data-icon", "download"); + attr(div4, "aria-label", "Pull"); + attr(div5, "id", "layoutChange"); + attr(div5, "class", "nav-action-button"); + attr(div5, "aria-label", "Change Layout"); + attr(div6, "class", "group svelte-1f0ksxd"); + attr(div7, "id", "refresh"); + attr(div7, "class", "nav-action-button"); + attr(div7, "data-icon", "refresh-cw"); + attr(div7, "aria-label", "Refresh"); + toggle_class(div7, "loading", ctx[4]); + attr(textarea, "class", "commit-msg svelte-1f0ksxd"); + attr(textarea, "type", "text"); + attr(textarea, "spellcheck", "true"); + attr(textarea, "placeholder", "Commit Message"); + attr(div8, "class", "search-input-container svelte-1f0ksxd"); + attr(div9, "class", "nav-buttons-container svelte-1f0ksxd"); + attr(div10, "class", "git-view-body svelte-1f0ksxd"); + attr(main, "class", "svelte-1f0ksxd"); + }, + m(target, anchor) { + insert(target, main, anchor); + append2(main, div9); + append2(div9, div6); + append2(div6, div0); + ctx[17](div0); + append2(div6, t0); + append2(div6, div1); + ctx[18](div1); + append2(div6, t1); + append2(div6, div2); + ctx[19](div2); + append2(div6, t2); + append2(div6, div3); + ctx[20](div3); + append2(div6, t3); + append2(div6, div4); + ctx[21](div4); + append2(div6, t4); + append2(div6, div5); + ctx[22](div5); + append2(div9, t5); + append2(div9, div7); + ctx[24](div7); + append2(div9, t6); + append2(div9, div8); + append2(div8, textarea); + set_input_value(textarea, ctx[6]); + append2(div8, t7); + if (if_block0) + if_block0.m(div8, null); + append2(main, t8); + append2(main, div10); + if (if_block1) + if_block1.m(div10, null); + current = true; + if (!mounted) { + dispose = [ + listen(div0, "click", ctx[12]), + listen(div1, "click", ctx[13]), + listen(div2, "click", ctx[14]), + listen(div3, "click", ctx[15]), + listen(div4, "click", ctx[16]), + listen(div5, "click", ctx[23]), + listen(div7, "click", triggerRefresh), + listen(textarea, "input", ctx[25]) + ]; + mounted = true; + } + }, + p(ctx2, dirty) { + if (dirty[0] & 16) { + toggle_class(div7, "loading", ctx2[4]); + } + if (dirty[0] & 64) { + set_input_value(textarea, ctx2[6]); + } + if (ctx2[6]) { + if (if_block0) { + if_block0.p(ctx2, dirty); + } else { + if_block0 = create_if_block_5(ctx2); + if_block0.c(); + if_block0.m(div8, null); + } + } else if (if_block0) { + if_block0.d(1); + if_block0 = null; + } + if (ctx2[5]) { + if (if_block1) { + if_block1.p(ctx2, dirty); + if (dirty[0] & 32) { + transition_in(if_block1, 1); + } + } else { + if_block1 = create_if_block4(ctx2); + if_block1.c(); + transition_in(if_block1, 1); + if_block1.m(div10, null); + } + } else if (if_block1) { + group_outros(); + transition_out(if_block1, 1, 1, () => { + if_block1 = null; + }); + check_outros(); + } + }, + i(local) { + if (current) + return; + transition_in(if_block1); + current = true; + }, + o(local) { + transition_out(if_block1); + current = false; + }, + d(detaching) { + if (detaching) + detach(main); + ctx[17](null); + ctx[18](null); + ctx[19](null); + ctx[20](null); + ctx[21](null); + ctx[22](null); + ctx[24](null); + if (if_block0) + if_block0.d(); + if (if_block1) + if_block1.d(); + mounted = false; + run_all(dispose); + } + }; +} +function triggerRefresh() { + dispatchEvent(new CustomEvent("git-refresh")); +} +function instance4($$self, $$props, $$invalidate) { + let { plugin } = $$props; + let { view } = $$props; + let loading; + let status; + let commitMessage = plugin.settings.commitMessage; + let buttons = []; + let changeHierarchy; + let stagedHierarchy; + let changesOpen = true; + let stagedOpen = true; + let showTree = plugin.settings.treeStructure; + let layoutBtn; + addEventListener("git-view-refresh", refresh); + plugin.app.workspace.onLayoutReady(() => setImmediate(() => { + buttons.forEach((btn) => (0, import_obsidian13.setIcon)(btn, btn.getAttr("data-icon"), 16)); + (0, import_obsidian13.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); + })); + onDestroy(() => { + removeEventListener("git-view-refresh", refresh); + }); + function commit() { + return __awaiter(this, void 0, void 0, function* () { + $$invalidate(4, loading = true); + if (yield plugin.hasTooBigFiles(status.staged)) { + plugin.setState(PluginState.idle); + return false; + } + plugin.gitManager.commit(commitMessage).then(() => { + if (commitMessage !== plugin.settings.commitMessage) { + $$invalidate(6, commitMessage = ""); + } + }).finally(triggerRefresh); + }); + } + function refresh() { + return __awaiter(this, void 0, void 0, function* () { + $$invalidate(5, status = plugin.cachedStatus); + if (status) { + $$invalidate(8, changeHierarchy = { + title: "", + children: plugin.gitManager.getTreeStructure(status.changed) + }); + $$invalidate(9, stagedHierarchy = { + title: "", + children: plugin.gitManager.getTreeStructure(status.staged) + }); + } + $$invalidate(4, loading = plugin.loading); + }); + } + function stageAll() { + $$invalidate(4, loading = true); + plugin.gitManager.stageAll().finally(triggerRefresh); + } + function unstageAll() { + $$invalidate(4, loading = true); + plugin.gitManager.unstageAll().finally(triggerRefresh); + } + function push() { + $$invalidate(4, loading = true); + if (ready) { + plugin.push().finally(triggerRefresh); + } + } + function pull() { + $$invalidate(4, loading = true); + plugin.pullChangesFromRemote().finally(triggerRefresh); + } + function div0_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[0] = $$value; + $$invalidate(7, buttons); + }); + } + function div1_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[1] = $$value; + $$invalidate(7, buttons); + }); + } + function div2_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[2] = $$value; + $$invalidate(7, buttons); + }); + } + function div3_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[3] = $$value; + $$invalidate(7, buttons); + }); + } + function div4_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[4] = $$value; + $$invalidate(7, buttons); + }); + } + function div5_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + layoutBtn = $$value; + $$invalidate(3, layoutBtn); + }); + } + const click_handler = () => { + $$invalidate(2, showTree = !showTree); + $$invalidate(0, plugin.settings.treeStructure = showTree, plugin); + plugin.saveSettings(); + }; + function div7_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + buttons[6] = $$value; + $$invalidate(7, buttons); + }); + } + function textarea_input_handler() { + commitMessage = this.value; + $$invalidate(6, commitMessage); + } + const click_handler_1 = () => $$invalidate(6, commitMessage = ""); + const click_handler_2 = () => $$invalidate(11, stagedOpen = !stagedOpen); + const click_handler_3 = () => $$invalidate(10, changesOpen = !changesOpen); + $$self.$$set = ($$props2) => { + if ("plugin" in $$props2) + $$invalidate(0, plugin = $$props2.plugin); + if ("view" in $$props2) + $$invalidate(1, view = $$props2.view); + }; + $$self.$$.update = () => { + if ($$self.$$.dirty[0] & 12) { + $: { + if (layoutBtn) { + layoutBtn.empty(); + (0, import_obsidian13.setIcon)(layoutBtn, showTree ? "list" : "folder", 16); + } + } + } + }; + return [ + plugin, + view, + showTree, + layoutBtn, + loading, + status, + commitMessage, + buttons, + changeHierarchy, + stagedHierarchy, + changesOpen, + stagedOpen, + commit, + stageAll, + unstageAll, + push, + pull, + div0_binding, + div1_binding, + div2_binding, + div3_binding, + div4_binding, + div5_binding, + click_handler, + div7_binding, + textarea_input_handler, + click_handler_1, + click_handler_2, + click_handler_3 + ]; +} +var GitView = class extends SvelteComponent { + constructor(options) { + super(); + init(this, options, instance4, create_fragment4, safe_not_equal, { plugin: 0, view: 1 }, add_css4, [-1, -1]); + } +}; +var gitView_default = GitView; + +// src/ui/sidebar/sidebarView.ts +var GitView2 = class extends import_obsidian14.ItemView { + constructor(leaf, plugin) { + super(leaf); + this.plugin = plugin; + this.hoverPopover = null; + } + getViewType() { + return GIT_VIEW_CONFIG.type; + } + getDisplayText() { + return GIT_VIEW_CONFIG.name; + } + getIcon() { + return GIT_VIEW_CONFIG.icon; + } + onClose() { + this._view.$destroy(); + return super.onClose(); + } + onOpen() { + this._view = new gitView_default({ + target: this.contentEl, + props: { + plugin: this.plugin, + view: this + } + }); + return super.onOpen(); + } +}; + +// src/main.ts +var ObsidianGit = class extends import_obsidian15.Plugin { + constructor() { + super(...arguments); + this.gitReady = false; + this.promiseQueue = new PromiseQueue(); + this.conflictOutputFile = "conflict-files-obsidian-git.md"; + this.offlineMode = false; + this.loading = false; + this.debRefresh = (0, import_obsidian15.debounce)(() => { + if (this.settings.refreshSourceControl) { + this.refresh(); + } + }, 7e3, true); + } + setState(state) { + var _a2; + this.state = state; + (_a2 = this.statusBar) == null ? void 0 : _a2.display(); + } + updateCachedStatus() { + return __async(this, null, function* () { + this.cachedStatus = yield this.gitManager.status(); + return this.cachedStatus; + }); + } + refresh() { + return __async(this, null, function* () { + const gitView = this.app.workspace.getLeavesOfType(GIT_VIEW_CONFIG.type); + if (this.settings.changedFilesInStatusBar || gitView.length > 0) { + this.loading = true; + dispatchEvent(new CustomEvent("git-view-refresh")); + yield this.updateCachedStatus(); + this.loading = false; + dispatchEvent(new CustomEvent("git-view-refresh")); + } + }); + } + onload() { + return __async(this, null, function* () { + console.log("loading " + this.manifest.name + " plugin"); + yield this.loadSettings(); + this.migrateSettings(); + addEventListener("git-refresh", this.refresh.bind(this)); + this.registerView(GIT_VIEW_CONFIG.type, (leaf) => { + return new GitView2(leaf, this); + }); + this.registerView(DIFF_VIEW_CONFIG.type, (leaf) => { + return new DiffView(leaf, this); + }); + this.app.workspace.registerHoverLinkSource(GIT_VIEW_CONFIG.type, { + display: "Git View", + defaultMod: true + }); + this.addSettingTab(new ObsidianGitSettingsTab(this.app, this)); + this.addCommand({ + id: "open-git-view", + name: "Open source control view", + callback: () => __async(this, null, function* () { + if (this.app.workspace.getLeavesOfType(GIT_VIEW_CONFIG.type).length === 0) { + yield this.app.workspace.getRightLeaf(false).setViewState({ + type: GIT_VIEW_CONFIG.type + }); + } + this.app.workspace.revealLeaf(this.app.workspace.getLeavesOfType(GIT_VIEW_CONFIG.type).first()); + dispatchEvent(new CustomEvent("git-refresh")); + }) + }); + this.addCommand({ + id: "open-diff-view", + name: "Open diff view", + editorCallback: (editor, view) => __async(this, null, function* () { + this.app.workspace.createLeafBySplit(view.leaf).setViewState({ type: DIFF_VIEW_CONFIG.type, state: { staged: false, file: view.file.path } }); + }) + }); + this.addCommand({ + id: "view-file-on-github", + name: "Open file on GitHub", + editorCallback: (editor, { file }) => openLineInGitHub(editor, file, this.gitManager) + }); + this.addCommand({ + id: "view-history-on-github", + name: "Open file history on GitHub", + editorCallback: (_, { file }) => openHistoryInGitHub(file, this.gitManager) + }); + this.addCommand({ + id: "pull", + name: "Pull", + callback: () => this.promiseQueue.addTask(() => this.pullChangesFromRemote()) + }); + this.addCommand({ + id: "push", + name: "Create backup", + callback: () => this.promiseQueue.addTask(() => this.createBackup(false)) + }); + this.addCommand({ + id: "commit-push-specified-message", + name: "Create backup with specific message", + callback: () => this.promiseQueue.addTask(() => this.createBackup(false, true)) + }); + this.addCommand({ + id: "commit", + name: "Commit all changes", + callback: () => this.promiseQueue.addTask(() => this.commit(false)) + }); + this.addCommand({ + id: "commit-specified-message", + name: "Commit all changes with specific message", + callback: () => this.promiseQueue.addTask(() => this.commit(false, true)) + }); + this.addCommand({ + id: "push2", + name: "Push", + callback: () => this.promiseQueue.addTask(() => this.push()) + }); + this.addCommand({ + id: "stage-current-file", + name: "Stage current file", + checkCallback: (checking) => { + if (checking) { + return this.app.workspace.getActiveFile() !== null; + } else { + this.promiseQueue.addTask(() => this.stageCurrentFile()); + } + } + }); + this.addCommand({ + id: "unstage-current-file", + name: "Unstage current file", + checkCallback: (checking) => { + if (checking) { + return this.app.workspace.getActiveFile() !== null; + } else { + this.promiseQueue.addTask(() => this.unstageCurrentFile()); + } + } + }); + this.addCommand({ + id: "edit-remotes", + name: "Edit remotes", + callback: () => __async(this, null, function* () { + return this.editRemotes(); + }) + }); + this.addCommand({ + id: "remove-remote", + name: "Remove remote", + callback: () => __async(this, null, function* () { + return this.removeRemote(); + }) + }); + this.addCommand({ + id: "init-repo", + name: "Initialize a new repo", + callback: () => __async(this, null, function* () { + return this.createNewRepo(); + }) + }); + this.addCommand({ + id: "clone-repo", + name: "Clone an existing remote repo", + callback: () => __async(this, null, function* () { + return this.cloneNewRepo(); + }) + }); + this.addCommand({ + id: "list-changed-files", + name: "List changed files", + callback: () => __async(this, null, function* () { + const status = yield this.gitManager.status(); + this.setState(PluginState.idle); + new ChangedFilesModal(this, status.changed).open(); + }) + }); + if (this.settings.showStatusBar) { + let statusBarEl = this.addStatusBarItem(); + this.statusBar = new StatusBar(statusBarEl, this); + this.registerInterval(window.setInterval(() => this.statusBar.display(), 1e3)); + } + this.app.workspace.onLayoutReady(() => this.init()); + }); + } + migrateSettings() { + if (this.settings.mergeOnPull != void 0) { + this.settings.syncMethod = this.settings.mergeOnPull ? "merge" : "rebase"; + this.settings.mergeOnPull = void 0; + return this.saveSettings(); + } + if (this.settings.autoCommitMessage === void 0) { + this.settings.autoCommitMessage = this.settings.commitMessage; + this.saveSettings(); + } + } + onunload() { + return __async(this, null, function* () { + this.app.workspace.unregisterHoverLinkSource(GIT_VIEW_CONFIG.type); + this.app.workspace.detachLeavesOfType(GIT_VIEW_CONFIG.type); + this.app.workspace.detachLeavesOfType(DIFF_VIEW_CONFIG.type); + this.clearAutoPull(); + this.clearAutoBackup(); + removeEventListener("git-refresh", this.refresh.bind(this)); + this.app.metadataCache.offref(this.modifyEvent); + this.app.metadataCache.offref(this.deleteEvent); + this.app.metadataCache.offref(this.createEvent); + this.app.metadataCache.offref(this.renameEvent); + console.log("unloading " + this.manifest.name + " plugin"); + }); + } + loadSettings() { + return __async(this, null, function* () { + this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData()); + }); + } + saveSettings() { + return __async(this, null, function* () { + yield this.saveData(this.settings); + }); + } + saveLastAuto(date, mode) { + return __async(this, null, function* () { + if (mode === "backup") { + window.localStorage.setItem(this.manifest.id + ":lastAutoBackup", date.toString()); + } else if (mode === "pull") { + window.localStorage.setItem(this.manifest.id + ":lastAutoPull", date.toString()); + } else if (mode === "push") { + window.localStorage.setItem(this.manifest.id + ":lastAutoPush", date.toString()); + } + }); + } + loadLastAuto() { + return __async(this, null, function* () { + var _a2, _b, _c; + return { + "backup": new Date((_a2 = window.localStorage.getItem(this.manifest.id + ":lastAutoBackup")) != null ? _a2 : ""), + "pull": new Date((_b = window.localStorage.getItem(this.manifest.id + ":lastAutoPull")) != null ? _b : ""), + "push": new Date((_c = window.localStorage.getItem(this.manifest.id + ":lastAutoPush")) != null ? _c : "") + }; + }); + } + init() { + return __async(this, null, function* () { + try { + this.gitManager = new SimpleGit(this); + if (this.gitManager instanceof SimpleGit) { + yield this.gitManager.setGitInstance(); + } + const result = yield this.gitManager.checkRequirements(); + switch (result) { + case "missing-git": + this.displayError("Cannot run git command"); + break; + case "missing-repo": + new import_obsidian15.Notice("Can't find a valid git repository. Please create one via the given command."); + break; + case "valid": + this.gitReady = true; + this.setState(PluginState.idle); + this.modifyEvent = this.app.vault.on("modify", () => { + this.debRefresh(); + }); + this.deleteEvent = this.app.vault.on("delete", () => { + this.debRefresh(); + }); + this.createEvent = this.app.vault.on("create", () => { + this.debRefresh(); + }); + this.renameEvent = this.app.vault.on("rename", () => { + this.debRefresh(); + }); + this.registerEvent(this.modifyEvent); + this.registerEvent(this.deleteEvent); + this.registerEvent(this.createEvent); + this.registerEvent(this.renameEvent); + dispatchEvent(new CustomEvent("git-refresh")); + if (this.settings.autoPullOnBoot) { + this.promiseQueue.addTask(() => this.pullChangesFromRemote()); + } + const lastAutos = yield this.loadLastAuto(); + if (this.settings.autoSaveInterval > 0) { + const now2 = new Date(); + const diff = this.settings.autoSaveInterval - Math.round((now2.getTime() - lastAutos.backup.getTime()) / 1e3 / 60); + this.startAutoBackup(diff <= 0 ? 0 : diff); + } + if (this.settings.differentIntervalCommitAndPush && this.settings.autoPushInterval > 0) { + const now2 = new Date(); + const diff = this.settings.autoPushInterval - Math.round((now2.getTime() - lastAutos.push.getTime()) / 1e3 / 60); + this.startAutoPush(diff <= 0 ? 0 : diff); + } + if (this.settings.autoPullInterval > 0) { + const now2 = new Date(); + const diff = this.settings.autoPullInterval - Math.round((now2.getTime() - lastAutos.pull.getTime()) / 1e3 / 60); + this.startAutoPull(diff <= 0 ? 0 : diff); + } + break; + default: + console.log("Something weird happened. The 'checkRequirements' result is " + result); + } + } catch (error) { + this.displayError(error); + console.error(error); + } + }); + } + createNewRepo() { + return __async(this, null, function* () { + yield this.gitManager.init(); + new import_obsidian15.Notice("Initialized new repo"); + }); + } + cloneNewRepo() { + return __async(this, null, function* () { + const modal = new GeneralModal(this.app, [], "Enter remote URL"); + const url = yield modal.open(); + if (url) { + let dir = yield new GeneralModal(this.app, [], "Enter directory for clone. It needs to be empty or not existent.").open(); + if (dir) { + dir = path2.normalize(dir); + new import_obsidian15.Notice(`Cloning new repo into "${dir}"`); + yield this.gitManager.clone(url, dir); + new import_obsidian15.Notice("Cloned new repo"); + } + } + }); + } + isAllInitialized() { + return __async(this, null, function* () { + if (!this.gitReady) { + yield this.init(); + } + return this.gitReady; + }); + } + pullChangesFromRemote() { + return __async(this, null, function* () { + if (!(yield this.isAllInitialized())) + return; + const filesUpdated = yield this.pull(); + if (!filesUpdated) { + this.displayMessage("Everything is up-to-date"); + } + if (this.gitManager instanceof SimpleGit) { + const status = yield this.gitManager.status(); + if (status.conflicted.length > 0) { + this.displayError(`You have ${status.conflicted.length} conflict ${status.conflicted.length > 1 ? "files" : "file"}`); + this.handleConflict(status.conflicted); + } + } + dispatchEvent(new CustomEvent("git-refresh")); + this.lastUpdate = Date.now(); + this.setState(PluginState.idle); + }); + } + createBackup(fromAutoBackup, requestCustomMessage = false) { + return __async(this, null, function* () { + if (!(yield this.isAllInitialized())) + return; + if (!(yield this.commit(fromAutoBackup, requestCustomMessage))) + return; + if (!this.settings.disablePush) { + if (yield this.gitManager.canPush()) { + if (this.settings.pullBeforePush) { + yield this.pull(); + } + yield this.push(); + } else { + this.displayMessage("No changes to push"); + } + } + this.setState(PluginState.idle); + }); + } + commit(fromAutoBackup, requestCustomMessage = false) { + return __async(this, null, function* () { + if (!(yield this.isAllInitialized())) + return false; + const file = this.app.vault.getAbstractFileByPath(this.conflictOutputFile); + if (file) + yield this.app.vault.delete(file); + let status; + if (this.gitManager instanceof SimpleGit) { + status = yield this.gitManager.status(); + if (fromAutoBackup && status.conflicted.length > 0) { + this.displayError(`Did not commit, because you have ${status.conflicted.length} conflict ${status.conflicted.length > 1 ? "files" : "file"}. Please resolve them and commit per command.`); + this.handleConflict(status.conflicted); + return; + } + } else { + status = yield this.gitManager.status(); + } + if (yield this.hasTooBigFiles([...status.staged, ...status.changed])) { + this.setState(PluginState.idle); + return false; + } + const changedFiles = status.changed.length + status.staged.length; + if (changedFiles !== 0) { + let commitMessage = fromAutoBackup ? this.settings.autoCommitMessage : this.settings.commitMessage; + if (fromAutoBackup && this.settings.customMessageOnAutoBackup || requestCustomMessage) { + if (!this.settings.disablePopups && fromAutoBackup) { + new import_obsidian15.Notice("Auto backup: Please enter a custom commit message. Leave empty to abort"); + } + const tempMessage = yield new CustomMessageModal(this, true).open(); + if (tempMessage != void 0 && tempMessage != "" && tempMessage != "...") { + commitMessage = tempMessage; + } else { + this.setState(PluginState.idle); + return false; + } + } + const committedFiles = yield this.gitManager.commitAll(commitMessage); + this.displayMessage(`Committed ${committedFiles} ${committedFiles > 1 ? "files" : "file"}`); + } else { + this.displayMessage("No changes to commit"); + } + dispatchEvent(new CustomEvent("git-refresh")); + this.setState(PluginState.idle); + return true; + }); + } + hasTooBigFiles(files) { + return __async(this, null, function* () { + var _a2; + const branchInfo = yield this.gitManager.branchInfo(); + const remote = (_a2 = branchInfo.tracking) == null ? void 0 : _a2.split("/")[0]; + if (remote) { + const remoteUrl = yield this.gitManager.getRemoteUrl(remote); + if (remoteUrl.includes("github.com")) { + const tooBigFiles = files.filter((f) => { + const file = this.app.vault.getAbstractFileByPath(f.vault_path); + if (file instanceof import_obsidian15.TFile) { + return file.stat.size >= 1e8; + } + return false; + }); + if (tooBigFiles.length > 0) { + this.displayError(`Did not commit, because following files are too big: ${tooBigFiles.map((e) => e.vault_path)}. Please remove them.`); + return true; + } + } + } + return false; + }); + } + push() { + return __async(this, null, function* () { + if (!(yield this.isAllInitialized())) + return false; + if (!this.remotesAreSet()) { + return false; + } + const file = this.app.vault.getAbstractFileByPath(this.conflictOutputFile); + if (file) + yield this.app.vault.delete(file); + let status; + if (this.gitManager instanceof SimpleGit && (status = yield this.gitManager.status()).conflicted.length > 0) { + this.displayError(`Cannot push. You have ${status.conflicted.length} conflict ${status.conflicted.length > 1 ? "files" : "file"}`); + this.handleConflict(status.conflicted); + return false; + } else { + const pushedFiles = yield this.gitManager.push(); + this.lastUpdate = Date.now(); + if (pushedFiles > 0) { + this.displayMessage(`Pushed ${pushedFiles} ${pushedFiles > 1 ? "files" : "file"} to remote`); + } else { + this.displayMessage(`No changes to push`); + } + this.offlineMode = false; + this.setState(PluginState.idle); + return true; + } + }); + } + pull() { + return __async(this, null, function* () { + const pulledFilesLength = yield this.gitManager.pull(); + this.offlineMode = false; + if (pulledFilesLength > 0) { + this.displayMessage(`Pulled ${pulledFilesLength} ${pulledFilesLength > 1 ? "files" : "file"} from remote`); + } + return pulledFilesLength != 0; + }); + } + stageCurrentFile() { + return __async(this, null, function* () { + if (!(yield this.isAllInitialized())) + return false; + const file = this.app.workspace.getActiveFile(); + yield this.gitManager.stage(file.path, true); + this.displayMessage(`Staged ${file.path}`); + dispatchEvent(new CustomEvent("git-refresh")); + this.setState(PluginState.idle); + return true; + }); + } + unstageCurrentFile() { + return __async(this, null, function* () { + if (!(yield this.isAllInitialized())) + return false; + const file = this.app.workspace.getActiveFile(); + yield this.gitManager.unstage(file.path, true); + this.displayMessage(`Unstaged ${file.path}`); + dispatchEvent(new CustomEvent("git-refresh")); + this.setState(PluginState.idle); + return true; + }); + } + remotesAreSet() { + return __async(this, null, function* () { + if (!(yield this.gitManager.branchInfo()).tracking) { + new import_obsidian15.Notice("No upstream branch is set. Please select one."); + const remoteBranch = yield this.selectRemoteBranch(); + if (remoteBranch == void 0) { + this.displayError("Did not push. No upstream-branch is set!", 1e4); + this.setState(PluginState.idle); + return false; + } else { + yield this.gitManager.updateUpstreamBranch(remoteBranch); + return true; + } + } + return true; + }); + } + startAutoBackup(minutes) { + const time = (minutes != null ? minutes : this.settings.autoSaveInterval) * 6e4; + if (this.settings.autoBackupAfterFileChange) { + if (minutes === 0) { + this.doAutoBackup(); + } else { + this.onFileModifyEventRef = this.app.vault.on("modify", () => this.autoBackupDebouncer()); + this.autoBackupDebouncer = (0, import_obsidian15.debounce)(() => this.doAutoBackup(), time, true); + } + } else { + this.timeoutIDBackup = window.setTimeout(() => this.doAutoBackup(), time); + } + } + doAutoBackup() { + this.promiseQueue.addTask(() => { + if (this.settings.differentIntervalCommitAndPush) { + return this.commit(true); + } else { + return this.createBackup(true); + } + }); + this.saveLastAuto(new Date(), "backup"); + this.saveSettings(); + this.startAutoBackup(); + } + startAutoPull(minutes) { + this.timeoutIDPull = window.setTimeout(() => { + this.promiseQueue.addTask(() => this.pullChangesFromRemote()); + this.saveLastAuto(new Date(), "pull"); + this.saveSettings(); + this.startAutoPull(); + }, (minutes != null ? minutes : this.settings.autoPullInterval) * 6e4); + } + startAutoPush(minutes) { + this.timeoutIDPush = window.setTimeout(() => { + this.promiseQueue.addTask(() => this.push()); + this.saveLastAuto(new Date(), "push"); + this.saveSettings(); + this.startAutoPush(); + }, (minutes != null ? minutes : this.settings.autoPushInterval) * 6e4); + } + clearAutoBackup() { + var _a2; + let wasActive = false; + if (this.timeoutIDBackup) { + window.clearTimeout(this.timeoutIDBackup); + this.timeoutIDBackup = void 0; + wasActive = true; + } + if (this.onFileModifyEventRef) { + (_a2 = this.autoBackupDebouncer) == null ? void 0 : _a2.cancel(); + this.app.vault.offref(this.onFileModifyEventRef); + this.onFileModifyEventRef = void 0; + wasActive = true; + } + return wasActive; + } + clearAutoPull() { + if (this.timeoutIDPull) { + window.clearTimeout(this.timeoutIDPull); + this.timeoutIDPull = void 0; + return true; + } + return false; + } + clearAutoPush() { + if (this.timeoutIDPush) { + window.clearTimeout(this.timeoutIDPush); + this.timeoutIDPush = void 0; + return true; + } + return false; + } + handleConflict(conflicted) { + return __async(this, null, function* () { + this.setState(PluginState.conflicted); + const lines = [ + "# Conflict files", + "Please resolve them and commit per command (This file will be deleted before the commit).", + ...conflicted.map((e) => { + const file = this.app.vault.getAbstractFileByPath(e); + if (file instanceof import_obsidian15.TFile) { + const link = this.app.metadataCache.fileToLinktext(file, "/"); + return `- [[${link}]]`; + } else { + return `- Not a file: ${e}`; + } + }) + ]; + this.writeAndOpenFile(lines.join("\n")); + }); + } + editRemotes() { + return __async(this, null, function* () { + if (!(yield this.isAllInitialized())) + return; + const remotes = yield this.gitManager.getRemotes(); + const nameModal = new GeneralModal(this.app, remotes, "Select or create a new remote by typing its name and selecting it"); + const remoteName = yield nameModal.open(); + if (remoteName) { + const urlModal = new GeneralModal(this.app, [], "Enter the remote URL"); + const remoteURL = yield urlModal.open(); + yield this.gitManager.setRemote(remoteName, remoteURL); + return remoteName; + } + }); + } + selectRemoteBranch() { + return __async(this, null, function* () { + let remotes = yield this.gitManager.getRemotes(); + let selectedRemote; + if (remotes.length === 0) { + selectedRemote = yield this.editRemotes(); + if (selectedRemote == void 0) { + remotes = yield this.gitManager.getRemotes(); + } + } + const nameModal = new GeneralModal(this.app, remotes, "Select or create a new remote by typing its name and selecting it"); + const remoteName = selectedRemote != null ? selectedRemote : yield nameModal.open(); + if (remoteName) { + this.displayMessage("Fetching remote branches"); + yield this.gitManager.fetch(remoteName); + const branches = yield this.gitManager.getRemoteBranches(remoteName); + const branchModal = new GeneralModal(this.app, branches, "Select or create a new remote branch by typing its name and selecting it"); + return yield branchModal.open(); + } + }); + } + removeRemote() { + return __async(this, null, function* () { + if (!(yield this.isAllInitialized())) + return; + const remotes = yield this.gitManager.getRemotes(); + const nameModal = new GeneralModal(this.app, remotes, "Select a remote"); + const remoteName = yield nameModal.open(); + if (remoteName) { + this.gitManager.removeRemote(remoteName); + } + }); + } + writeAndOpenFile(text2) { + return __async(this, null, function* () { + yield this.app.vault.adapter.write(this.conflictOutputFile, text2); + let fileIsAlreadyOpened = false; + this.app.workspace.iterateAllLeaves((leaf) => { + if (leaf.getDisplayText() != "" && this.conflictOutputFile.startsWith(leaf.getDisplayText())) { + fileIsAlreadyOpened = true; + } + }); + if (!fileIsAlreadyOpened) { + this.app.workspace.openLinkText(this.conflictOutputFile, "/", true); + } + }); + } + displayMessage(message, timeout = 4 * 1e3) { + var _a2; + (_a2 = this.statusBar) == null ? void 0 : _a2.displayMessage(message.toLowerCase(), timeout); + if (!this.settings.disablePopups) { + new import_obsidian15.Notice(message, 5 * 1e3); + } + console.log(`git obsidian message: ${message}`); + } + displayError(message, timeout = 10 * 1e3) { + var _a2; + message = message.toString(); + new import_obsidian15.Notice(message, timeout); + console.log(`git obsidian error: ${message}`); + (_a2 = this.statusBar) == null ? void 0 : _a2.displayMessage(message.toLowerCase(), timeout); + } +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = {}); +/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ diff --git a/.obsidian/plugins/obsidian-git/manifest.json b/.obsidian/plugins/obsidian-git/manifest.json new file mode 100644 index 0000000..48bf9e9 --- /dev/null +++ b/.obsidian/plugins/obsidian-git/manifest.json @@ -0,0 +1,8 @@ +{ + "id": "obsidian-git", + "name": "Obsidian Git", + "description": "Backup your vault with git.", + "isDesktopOnly": true, + "js": "main.js", + "version": "1.28.0" +} diff --git a/.obsidian/plugins/obsidian-git/styles.css b/.obsidian/plugins/obsidian-git/styles.css new file mode 100644 index 0000000..68a06f0 --- /dev/null +++ b/.obsidian/plugins/obsidian-git/styles.css @@ -0,0 +1,413 @@ +@keyframes loading { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +.loading > svg { + animation: 2s linear infinite loading; + transform-origin: 50% 50%; + display: inline-block; +} + +.obsidian-git-center { + margin: auto; + width: 50%; +} + +.tooltip.mod-left { + overflow-wrap: break-word; +} + +.tooltip.mod-right { + overflow-wrap: break-word; +} + +.obsidian-git-shortcuts { + margin: 10px; +} + +.diff-err { + height: 100%; + display: flex; + justify-content: center; + flex-direction: column; + align-items: center; +} + +.diff-err-sign { + font-size: 2em; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-d-none { + display: none; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-wrapper { + text-align: left; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-header { + background-color: var(--background-primary); + border-bottom: 1px solid var(--interactive-accent); + font-family: var(--font-monospace); + height: 35px; + padding: 5px 10px; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-header, +.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats { + font-size: 14px; + margin-left: auto; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-lines-added { + border: 1px solid #b4e2b4; + border-radius: 5px 0 0 5px; + color: #399839; + padding: 2px; + text-align: right; + vertical-align: middle; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-lines-deleted { + border: 1px solid #e9aeae; + border-radius: 0 5px 5px 0; + color: #c33; + margin-left: 1px; + padding: 2px; + text-align: left; + vertical-align: middle; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-name-wrapper { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + font-size: 15px; + width: 100%; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-name { + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-wrapper { + border: 1px solid var(--background-modifier-border); + border-radius: 3px; + margin-bottom: 1em; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse { + -webkit-box-pack: end; + -ms-flex-pack: end; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + border: 1px solid var(--background-modifier-border); + border-radius: 3px; + cursor: pointer; + display: none; + font-size: 12px; + justify-content: flex-end; + padding: 4px 8px; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse.d2h-selected { + background-color: #c8e1ff; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse-input { + margin: 0 4px 0 0; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-diff-table { + border-collapse: collapse; + font-family: Menlo, Consolas, monospace; + font-size: 13px; + width: 100%; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-files-diff { + width: 100%; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-diff { + overflow-y: hidden; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-side-diff { + display: inline-block; + margin-bottom: -8px; + margin-right: -4px; + overflow-x: scroll; + overflow-y: hidden; + width: 50%; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line { + padding: 0 8em; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line { + display: inline-block; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + white-space: nowrap; + width: 100%; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line { + padding: 0 4.5em; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-ctn { + word-wrap: normal; + background: none; + display: inline-block; + padding: 0; + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + vertical-align: middle; + white-space: pre; + width: 100%; +} +.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, +.theme-light + .workspace-leaf-content[data-type="diff-view"] + .d2h-code-side-line + del { + background-color: #ffb6ba; +} +.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, +.theme-dark + .workspace-leaf-content[data-type="diff-view"] + .d2h-code-side-line + del { + background-color: #8d232881; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins { + border-radius: 0.2em; + display: inline-block; + margin-top: -1px; + text-decoration: none; + vertical-align: middle; +} +.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, +.theme-light + .workspace-leaf-content[data-type="diff-view"] + .d2h-code-side-line + ins { + background-color: #97f295; + text-align: left; +} +.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, +.theme-dark + .workspace-leaf-content[data-type="diff-view"] + .d2h-code-side-line + ins { + background-color: #1d921996; + text-align: left; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix { + word-wrap: normal; + background: none; + display: inline; + padding: 0; + white-space: pre; +} +.workspace-leaf-content[data-type="diff-view"] .line-num1 { + float: left; +} +.workspace-leaf-content[data-type="diff-view"] .line-num1, +.workspace-leaf-content[data-type="diff-view"] .line-num2 { + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + padding: 0 0.5em; + text-overflow: ellipsis; + width: 3.5em; +} +.workspace-leaf-content[data-type="diff-view"] .line-num2 { + float: right; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber { + background-color: var(--background-primary); + border: solid var(--background-modifier-border); + border-width: 0 1px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: var(--text-muted); + cursor: pointer; + display: inline-block; + position: absolute; + text-align: right; + width: 7.5em; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber:after { + content: "\200b"; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber { + background-color: var(--background-primary); + border: solid var(--background-modifier-border); + border-width: 0 1px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: var(--text-muted); + cursor: pointer; + display: inline-block; + overflow: hidden; + padding: 0 0.5em; + position: absolute; + text-align: right; + text-overflow: ellipsis; + width: 4em; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber:after { + content: "\200b"; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-emptyplaceholder, +.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder { + background-color: var(--background-primary); + border-color: var(--background-modifier-border); +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber, +.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber { + direction: rtl; +} +.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-del { + background-color: #fee8e9; + border-color: #e9aeae; +} +.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-ins { + background-color: #dfd; + border-color: #b4e2b4; +} +.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-del { + background-color: #521b1d83; + border-color: #691d1d73; +} +.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-ins { + background-color: rgba(30, 71, 30, 0.5); + border-color: #13501381; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-info { + background-color: var(--background-primary); + border-color: var(--background-modifier-border); + color: var(--text-normal); +} +.theme-light + .workspace-leaf-content[data-type="diff-view"] + .d2h-file-diff + .d2h-del.d2h-change { + background-color: #fdf2d0; +} +.theme-dark + .workspace-leaf-content[data-type="diff-view"] + .d2h-file-diff + .d2h-del.d2h-change { + background-color: #55492480; +} +.theme-light + .workspace-leaf-content[data-type="diff-view"] + .d2h-file-diff + .d2h-ins.d2h-change { + background-color: #ded; +} +.theme-dark + .workspace-leaf-content[data-type="diff-view"] + .d2h-file-diff + .d2h-ins.d2h-change { + background-color: rgba(37, 78, 37, 0.418); +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper { + margin-bottom: 10px; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a { + color: #3572b0; + text-decoration: none; +} +.workspace-leaf-content[data-type="diff-view"] + .d2h-file-list-wrapper + a:visited { + color: #3572b0; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-header { + text-align: left; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-title { + font-weight: 700; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-line { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + text-align: left; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list { + display: block; + list-style: none; + margin: 0; + padding: 0; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li { + border-bottom: 1px solid var(--background-modifier-border); + margin: 0; + padding: 5px 10px; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li:last-child { + border-bottom: none; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-file-switch { + cursor: pointer; + display: none; + font-size: 10px; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-icon { + fill: currentColor; + margin-right: 10px; + vertical-align: middle; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-deleted { + color: #c33; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-added { + color: #399839; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-changed { + color: #d0b44c; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-moved { + color: #3572b0; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-tag { + background-color: var(--background-primary); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + font-size: 10px; + margin-left: 5px; + padding: 0 2px; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-deleted-tag { + border: 2px solid #c33; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-added-tag { + border: 1px solid #399839; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-changed-tag { + border: 1px solid #d0b44c; +} +.workspace-leaf-content[data-type="diff-view"] .d2h-moved-tag { + border: 1px solid #3572b0; +} diff --git a/.obsidian/templates.json b/.obsidian/templates.json new file mode 100644 index 0000000..1971e34 --- /dev/null +++ b/.obsidian/templates.json @@ -0,0 +1,3 @@ +{ + "folder": "Templates" +} \ No newline at end of file diff --git a/.obsidian/workspace b/.obsidian/workspace new file mode 100644 index 0000000..9609c49 --- /dev/null +++ b/.obsidian/workspace @@ -0,0 +1,124 @@ +{ + "main": { + "id": "a921006dbb6be528", + "type": "split", + "children": [ + { + "id": "7286f5cf329b0978", + "type": "leaf", + "state": { + "type": "graph", + "state": {} + } + } + ], + "direction": "vertical" + }, + "left": { + "id": "cd23f13a527c4361", + "type": "split", + "children": [ + { + "id": "87e52623a67e4786", + "type": "tabs", + "children": [ + { + "id": "3653dc1c09119c37", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": {} + } + }, + { + "id": "c4ee54683da3fe2f", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "tag:#z tag:#0quest", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + } + } + }, + { + "id": "546fec9918f2a7f8", + "type": "leaf", + "state": { + "type": "starred", + "state": {} + } + } + ] + } + ], + "direction": "horizontal", + "width": 300 + }, + "right": { + "id": "37d55b1f74c38b8e", + "type": "split", + "children": [ + { + "id": "caecb903f4368a62", + "type": "tabs", + "children": [ + { + "id": "f38d6a8fb7073246", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "collapseAll": false, + "extraContext": true, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": true + } + } + }, + { + "id": "7050ecd3be531e0f", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true + } + } + }, + { + "id": "c008b3aba7d16855", + "type": "leaf", + "state": { + "type": "outline", + "state": {} + } + } + ] + } + ], + "direction": "horizontal", + "width": 163 + }, + "active": "7286f5cf329b0978", + "lastOpenFiles": [ + "Daily/2022-07-31.md", + "Base/OKRs.md", + "Templates/EisenhowerMatrix.md", + "Zettelkasten.md", + "Templates/DailyNote.md", + "Templates/MeetingNote.md", + "Templates/OKRNote.md", + "Base/Untitled 2.md", + "Templates/CornellNotes.md", + "Templates/Zettelkasten.md" + ] +} \ No newline at end of file diff --git a/Base/OKRs.md b/Base/OKRs.md new file mode 100644 index 0000000..d176dd6 --- /dev/null +++ b/Base/OKRs.md @@ -0,0 +1,20 @@ +Tags: [projects,management,goals] +--- + +# OKR - Objectives and Key Results +Цели и Ключевые Результаты + +> `OKR` — метод, используемый в современном менеджменте для управления проектами. Позволяет синхронизировать командные и индивидуальные цели и обеспечить эффективный контроль над реализацией поставленных задач. + + система постановки целей +подход, позволяющий добиться вовлеченности сотрудников и выстроить организацию относительно измеримых и вместе с тем амбициозных целей. + +## Форма постановки цели + +**Я достигну _______________, что можно оценить с помощью ___________.** + +**Цель** — это запоминающееся `качественное описание` того, чего вы хотите достичь. Цели должны быть короткими, вдохновляющими и вовлекающими. Они должны мотивировать команду и бросать ей вызов. + +**Ключевые Результаты** — это набор метрик, значения которых меняются по мере движения к Цели. Для каждой Цели вам необходимо иметь от 2 до 5 Ключевых Результатов. Если их будет больше — никто их просто не запомнит. + +Все Ключевые Результаты должны быть количественными и измеримыми. \ No newline at end of file diff --git a/Base/Obsidian_templates.md b/Base/Obsidian_templates.md new file mode 100644 index 0000000..6602407 --- /dev/null +++ b/Base/Obsidian_templates.md @@ -0,0 +1,4 @@ +# Шаблоны Obsidian + + +[6 Useful Templates for Obsidian](https://filipedonadio.com/6-useful-templates-for-obsidian/) \ No newline at end of file diff --git a/Base/Untitled 2.md b/Base/Untitled 2.md new file mode 100644 index 0000000..e69de29 diff --git a/Base/architecture.md b/Base/architecture.md new file mode 100644 index 0000000..908da38 --- /dev/null +++ b/Base/architecture.md @@ -0,0 +1,6 @@ +Tags : [architecture] +--- + +# Архитектура + +Общая схема размещения и связей элементов системы(приложения) \ No newline at end of file diff --git a/Base/nodejs_video_.md b/Base/nodejs_video_.md new file mode 100644 index 0000000..c3ebc11 --- /dev/null +++ b/Base/nodejs_video_.md @@ -0,0 +1,2 @@ +# + https://www.youtube.com/watch?v=oJ83ruPYESU \ No newline at end of file diff --git a/Daily/2022-07-31.md b/Daily/2022-07-31.md new file mode 100644 index 0000000..1c2f518 --- /dev/null +++ b/Daily/2022-07-31.md @@ -0,0 +1,11 @@ +# [[2022-07-31]] +date: 2022-07-31 15:57 +--- + +# Задачи дня +- [ ] #work IT-ONE + - [ ] Исправить баг связанный с со списокм +- [ ] ... + + +## \ No newline at end of file diff --git "a/Files/\320\241\320\275\320\270\320\274\320\276\320\272 \321\215\320\272\321\200\320\260\320\275\320\260 2022-07-31 \320\262 14.26.42.png" "b/Files/\320\241\320\275\320\270\320\274\320\276\320\272 \321\215\320\272\321\200\320\260\320\275\320\260 2022-07-31 \320\262 14.26.42.png" new file mode 100644 index 0000000000000000000000000000000000000000..442b895a20bb76d1ec9da459bf58132554190cd3 GIT binary patch literal 926547 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

    DCjBpuUOM>p(n!)&9!%yhTR?h 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̍|5gtzv7aa^47biHomM+E9jZ3}<3P<4?| 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

    p6kG|HAzC6*Q#ux*I?r{j06hamx?AL6%?hd6|() z&U_@Ev-MKNtQ+n>2u9!AnDwYlQ>yO%u%f!FjlL_4zIgXaK^R$Fs~jC9zxq>s(kHH- zSKlB(B-V=X^W{%u6?FAp^}Kq_-u|-ht4~}#uRi;S`2Q`Hzn$N9h0*u7F#2X@VD$au zCzz^Lt6dLqFc>_lrAELf{FYT2UXz5VD>)0U$=@&4tVY{1s*?1Il zFY_-T1@p_bU=!Ka;(E0$WciPdj(6-pV^S0EXQ3EJ_O4-OpOxZXiN}J!mBq*P>yt2$ zMgySe=!6Bu;J&@Rk(LO!8Uw^Cr^O|~sg0o}cQAZ5`N0fgN~+3cv|z)PC5#drN74aSwIiCLCS3IPU;pz*8o19s)!>2e4Rz zk+r`ESjPmjm4S1FMg9QxHM&qwb+`Qx;BcSG!Y;sJ5zyxGQx;2<+baMT*Kab=1Fi`E z$d-HhWG(%V|7SkfL^A*oLoj|OCI$&}5FiGsKRb}xQ8V1F?E?8OrNss8+n`FTxX#VZ z!glHlRlr=1@=n+?B0t(W(jmpYd#D0ovn&Pw zZF_S!J$&>W;IPiLTo}XU=Oxp_;Yk@O?wDAelSx}uVG3ndFIR8Ad{q)Hm>X;?u6*d+QLV8j2 z?FQH#8tSREX93fM(~LFB8pZ=^A;YMd_Ve8MWEba5bI>`AQhmGxV4#iKz!QL{1mn7V(}QT zs}&~q91cJLyqYZYasbVD?{2`*!~V|h8LH#m*l`^S#$gxWeR~cyaOB~H4VGOd`>N@# ztYNqAS%JTU^dJ7@db)mX2Cx)+J$R?ohU&=)i!W{ZAglN8JrAHPkNv_{;eO>7%mKWD_An!*kaj&Sx_kgn1;7oK9O;3*5W(m8UEXVVd!9$=$Spf*SOG=^Nu=CckxW-8uM zhf$B_Agk4^jg7a=QBu`>}!80%Cj$W+1R5`6Ip9#Xiz2}Xu8$T(hzdzZ> zwkSZF>UpZ}s-jqB^tp(yp{;3S?gaL+;M6ui-~Njg(s#}xu{(7SkEX$K*fR8~Wv(5f zs(uK7PVp34l=m$ZMSwW2w`H zIr9@8U|8qHHCSFev(IAx2tcrge!LUrSQl)aPWm&Q0SFYi9;}BwSH!8^#*-&0Pr1w7 z?gUWHp(fodzy~NHqe>66f;*+cX4<@WhjRc7#_M{ncLM6jeq_L)kCe%W?cuHMRCoa> z0_#!rRher!%3KhI3J5jOLpJJ*tJDji+q?`W6BDD0j<$_{O!=GX{eTmfRU_SfI-O_y|x}CTOX!4al=Z z`~~bvz7_yy1966Z!rB&CQHy|;&jAGw)6n(nu+RV>0V-A9tpNbAPV{6f;1%pv>RASv zb|2fQzk%7A)P>yEFi$)nO#)BF=S##nAM>v^z#8jMPqYolkAL;8f@-7_hcC)>Y=pBZ z==@(>Z637)S<<5|4oH;$!ZYdw&|8(!b{JkV_1ci}M&gwncS;?r%DW3VEZ~jK0t~`V z099@E$s`;gJ(LR|plZOS&20e5HO474LS~R}=8ig%pmLEp0Ap(55FoXLr{g_$J{H+HytZ; zF#Eqy-NhWm1;D6G%`E_|=Rf~dwDsXPZl`W!v_X|?CyX%80u-e$(LUe)8fFEaJtIG8 zA0RfZf`iC}K;H@N`w$TR5cOVFsgJOeSqp*_3`YtfOy`y84H;h$m__;A%rhOdJpX}3S3eN%YkqMo@^v+EM$k)ndY$NPK zO)%Jpx%pw43!pY(3$UFH%Ql#nErQCFcX&N!9(T;&2K9GHI&|ofW7D9MHrT}T%8bs4 z1p1cWy9?{_K5ec&wFBgK0qEwa=N4486Iul>w=|ElPhYaDGn_3Ly2!CMD+h1hOkISl z)1rN3tSC6Wj4e$zHy?jJvpd?Ze((TB-`urKb$5Kc!sz=U&N$}AqZ1{( zc)`F`4>ofK;BWs&f5;UZ$*=plOc*EC!ph#Q+=;{GQ{1|G-6yZ!%ijDt-RwVW?Y>1BCeUb;N_I>mnZ?B&~>{5HzpiPR1q>bvh^qYq~sv(qs8{sw0pw{Ay+ zv>^xm|F;zXWk$c^x-+I4mw?LXSR_93{z|7ic*Hp)1U=l${>KGjo? z6~>`=ekbvh*({fIzl=V+*vDExE%3wln7jb=sRpVuhqqw#O^uinD_4^kNCe0H}ZVV*lzjRP*LwQ_JF9Tv~xe^a52;9asSLvD^Nq ze>#(!Hn_)dnz+_tW_c2JrDwLV6YM&t5KK9sl0F~~10Hq!kzG=MU&JcG;4)sEw)%M>L z!u#3(m`_ii?g0b>fMUmMj@_s!?4tDzphkkXFvBdfE3Cb}Eo}5XgB`g6xT(6ptFK;5 z(||16{%SxC^8#buM=ZEXEY|dBya2$e&CM=YZ9Uj#X~zM8s>7-cIC;PiZK%&a0gU{| zUoOCWYYM<-YHA>jPT;@*`-1!INBA47qq2Dr49sh@)b}v#1Hjc(1JkN-0K4l2^+MSL^tA$Z-Ml#st8W6J z54J^v_TR9<0ti)0!;#fzK5Wl6Q|13i{YlE8jtQe`-?9=dmji4vwqabkgGp&SyQ3Y% znd48j3%#qVUitLNI%?C{Swa<}AEw^yY+st10j$9$;}N!CHnAhPxQOaEK%esS%1xP~ zeaIN9sHlB*qQ)DO1mZtEu0?KEV2=WL11NV=#@hXxLdJ)Y4S~Lg51*x{k7Qz^egtSF zFnr_YcrX|-*@7Gjc zXWbVag&hPP$}#1Wr<@<7zAnICd)}DlX8N&H*Tm)x3mfdl2~K4|ANFQYbya59@ala3 zKI(JGtWH{9L&o|Co0vpZfIh(W4?lnf^+XolS=bM}er+J~YkR51!I4^a=4Ay2!{U<|`pX}@l3u+v9f0K-Am7CWwuzKmn7M}c{(B3gc?VD%RsoCUZ{41xZHxd^ zw;=986`m{?DAm{oV3c;Rh3_%cClDp z9$yabQJ>W5@4Em0#^Xnp9T*jC$G<3ttT0gAWj+m4viJ2gSy9~uj$&NWd;*JH8$`Us z!53rfuAJJBFyY={f%oZ}j6Q)roN)jWp16PoEQ!gw@5R7e392$!8*+@lS#Z%07>EBZ zh0jHQ5eA$6oJ^*!@u@U0GY7B(c*6K0=r0p&>%jxS zG*s@`5Yo}Y;En64mj!h@fQaCacI=KB56duSiZI~>jC2~%3!!Q#E3r%Ek04z@bhJ1o`$+QQKc$1^hV(6~68%Ji!8BX!EX& zeNsWY!)?Kw0-FT%ySHw{!dP~qo;J@YbJe)QK?Fd;_S5+QIkms1`l{-CIlw;EVs(VD z3tJ|Sy4?Z&+A-s6BMh8gRD4zY)J9?0FO%uyf{tR}#rD?L!-oMN7?0|vIe?RPRCXJ? zv5N=`33QFkA{h7pojRvD!(m3)Yn9ytlSun!wWv|bigba00LY*x*gPtrGPl|R24t^w zO->RNtW@SHhb;P4(=M{;mr*7QtanVib*RQNCd#PNv4?4LQ*f7ZTKV9kcvn?nZNc^5 zybg#t6!X#o;71YASJt77&jx^`pw^ z44Y}CO@PG@-XR|g)ZK2B*U*huD9gF9DF)q{Mg{}VJOh-S(yt2WZarY5o(mn+SvQY&t+X-v% z`b~hw@l=b7_18Ra zKDZCi_lp21M_#*~dI8Vtbp#jiK%qhcW#!TA;I_}FtJmz+ODrpdec|EiBNEerSoeR$36+;=ZD zh&X`&{qToBNI&`!&Nx8UYq?hG@3Y{@ueL#|d3W9rV>%bI=qiO{tku&v8eMcBSJG2` z;L4@Xoqpj7E<{~cp1X{n-`TTQ-l(3&@elF;dn*5o(T6jRJ9pAg|J#3O5j>OrD~vw9 z?%JV;tcDQB*XN|}<!^zqnA5|IcMt%CC=Qtv5TX{_BI|c0DXAfeFwWEFtePz=qdND?*Klby4%sk(v4htJ0CfA-NC15! zER=JEsV%NOCi*MO+W>D{Ft6CT!$z8pEZ%%`3ZQJ9&bbVWa5;Va@p7oyZUENE4*ZYb zpGmh~orH;lCtFxiGRBU0R*+#IyIfwY~JqUp>c(MmdcV));pB zQ~_0GRL25O0nmQ-vuA)xCD?|&fH?qta|6Ms>w(#J#_qmMv_n7`8ALmPAM=2#tLv!G zFi5}o=Jh0-s0(`(KwnI9Q0-xoQ)V|&72;hcZvr0Lvuk8m8*6MKR!&EqxLjN`0Ga}D zlJ9rkT}uNp(XdxHF@deVIT&mJq9tshJZ2YK7ME-}Rr|Xsn?L*GS71j0f&y^V)KdTK zeD6Hc;9qvi6`D>L|e-bX9jVdvvHw!`>3ysngaL<))Ji>#70!aSqtpZQFqr z`Rs84utxRpbL6i%UAr-mZeZ7=1NGCB6P+sLLyh|h&uwoXr*FSCnzXUl+lR_oI}-{3 zrEIcLhh4`SfGL1JR8zI*rw3UbQOwQ_p}vb<9YE}l?>$PNV%KgPhbY?mn;08NbJvFe z`dGZSQ6~UD7nGm%ti8n5WmKE7XSal{wOtA8cgGu7U)FQnw#nCk?9i_L{tiGheDwoS=Ul` z$g>9v*2&@TQU6bBUVgrj@rTK>`R5bkUnIcaj+FrXXE0m=`c&QR3DsQ?)KJ~EFZ7)# z*6bv%R8A@2VD#a2HyC|OYv~aiC`A^oCoqGUxMy#>28#0cJz5ueei>M0{54J1Rm8@D zPt56gKF0s-Qg)qhZM|KN|Ay%u!nM9H$Ny?@2K1HlkFOIy8Fn$P>Mn-b!w%Q-5@5jz zs(bV+Z@wL>mv!{PZvN;TL69#${}e!L6%YU$w6M^+Ct<_PUW)~_wyw?q?@F+g)<5|K zmI+`Q>WPAcqi?8wE8Qv=i3u_KN3fQve7P(@Z7ePzI*LjbQLK-wN`ChebTKB;GBI`y$Yuf?H5 zQ5E|~k6{XKQ^XITKA zIu?=JfHe7Mr~$KpKWEP1qP=$(78L-7j6&4`Rmlq#TE?|~SYewi;#Eo3SyTH6j*S4% zI(lLA<*;`~I^8(8@3ZVmTU!7_^s9_rwT+D1j3ss033ca0rjS5i2}a*8EXrL#0*sOZ z^!24~*x|jib3EG$XoxLQ*#80a@tk()R6p#eT$%v|8(<5nUJC+7U(JRP>aYcvN9%Xr zhlPdLTKZyHe1;0~FtZ!Kh<}(vFTKP}2r@9J&1_z|$lkOE=E|`qZInNGIk7 zq%DsTEtB<-a%3Iw=7J5o^8oE&^xb(6&}#t@1Y2tWv%>(yJyX}QT{xC%*{BozHP08! z3r_$)_gArJ_TdMpl|M{9i!vOknAz)M0OkC zv<}L2{GjTkb)tIi5p&5l0IxArOM75I)e_bzpg|Ekf_kXld3>MpKM(eubtgDhkNngD zsv;Co*8*NP{Akg(Tk}kOmV};*1zyX5RC_QY_edvbS$He%q24-S%~^KZX0z{6ZC1w| zs(bG|egZ%UW0j4dc7VYyvhV zhNrS`amp31Tv{qK3_32J~@)+-9527XbdU7`N_cK%dOT;cwkeeWbq@W~8e1syj3IXMGc! z$p;%a?szJr53j)hhN>zL-MSg7&Bydh+5*+9tm>(%QVU*pPRziB(-x!PnT$H?L+2FC zWdOR@-hYpC`v$N@`j24rQhs_(HVv}1!r29V*)dLVwy|}%{p2w+UQV4;8m@eBmwxIgn+2#-vpLcYaF`oHwkfk?+LG&W0ZGji2-NBwS(c(E1NyGfpAADQ zV^gHe{7rDxb|Q$ahvh!{1npv0 zMaI8hcmBgTsm!#<=!2Z_MH_w0u^9ua_?yl+!l~qC{!Q`ajKKnlCakFr*QJ*>`rM@- zr?b~a-~aWazhvS$NgqrhT3BYB7b^!#AwDkOgAK&5D4WXl>fM)bT)A6KOZ8Yy5iflK z4seoSEq=x43(tS%xoQN}W94S`XZ84p_$ipIjK5Hx|4Pfh3iRE1?+!Nl{u@BwT-fNl z{c6VOa{!AuZ)E#Y5Pm=9kJ{1x)B#?1x57prUUv`XndISa9UFZvvaB~JC4Ow!SwoGk zFYZ*^P~_QXY*WmgvktP7e-1ACVxTu5%Z5%WcDmw0@7YFQevCKTzwf@hTsgZEf4o_d zGM{y9{T;+#O``eN-q#+gb(!ie01!Z$26VMo_m*CFVf1x$k>gqhJVwZ8PdCy#zuG{3 zcRRiP#t=Y5FY0W1i*11&#SSvyowgA2s2U2+-D6?CwQ&q{tUf@2+1X)K_ZV1nlo`w- zoj&N{^3mf>7&$nnfKe!0?d`W`08qwBi#GZQ=aUuGLyrKI0Q#_@@%``5qJlmRQ;o@A z1L_k^unpMl6BOA)RZ)iGKmOx7tglka;jvA}0yj{%?H^#`$;ACG?7ZhVX~;3CU&kJx zHv9yNI$?q}VRK7xNmVE2Rxs+$03&w+HtSG6m>p%!2!Y1{4D0_w`xc~b!2{`PEuf;m)EPtS4i z0GOvOA=O&T*rPkuP7&#L@}Du1GUlbyBrxk>w}WR_)s^qw&4+EmDb!deQ6HYep^BiJ zjwGI<67vzjg@BEdI|0Ez`I8%{l;&WCDZkYJ#W9oV2I4yhu!YHZXBnVJ8zps^wa5Vk zjfI+J1Kw?SP&@hHgC*)kRuSXoSQGGQl%Y=KOg8B<*t z>siiufDJ!Vb9YPX?ckI_B~I9CjsiXe_ zI6!$UBeNz=BNO9ef?3#(0*GpW0a%Z^uRu}s9`*~-&)7LA8Z6*gh}xb6aRvI$PX%0M z(E{{gGjRy@`L0eU#yXjR3CYB?2w=Xo>BI)MOfdSI0bphH;XH@7BGC5&w&4fwZ-xy) znV4hay~s@t&w8x4L<>+oK zKm_;qv3vR9-Q}=Zxq)p>ZLYj>a|+;X2tb`3couy39xS5jz7ux$%(ANM6M)k_Fcs@y zmIlj_Z$ZFQ*rItrd+p^3?Dhii%YL2U9a(@niFx>V9uM;`(kGwfVZQ1(qZQ`gP`Y(% z0`?UW+xT*4lso_cMYf`ZdiBiQ}JX#jcIh1v9k{_cJ9?U*q-)<+r# zVDw>kllYqe`eb9O+6>K-bBik*D>$=jN4_mVSt9=Ofy%e_{5$IZBNg9h{Pbn~dzpVD zH~*9j_Ey6gNAI`N_~0Mob@v(|8iw~}^~vb-b9Mez4aWEFFDOG9eGg#t>5StcPIC6} zx_g2en+qXpA;#{@__Oib1XRcWs9Y;JfWEjx+>}yQU0m=T`l@J`Jm+=O;fHhQ8o>(o zx7Vxp>dMX$n?lRdlJVp7$vF#- z3uDzeRc$=N)}LNF_fe%S;<-|FKLL$i?CK2xcGSWc+GVq5{i9D&{oF&1RzR$mh4D0b z84R^cE>iB)5cPcy)64SNnSUA#MZ?p6pPpO$ug_)baV(N|*gV``SOBO5=mVT<8|=j% z9O`k9JTj(ZWg$%+>e*M;)%GKSK5X;>*lACzgGGEhAZTNUPB;KO08Z@x!j>CO2~OEq z6Ks{)rw!=<&Pb>6`OG0e);{Wk+Tg1tUpfrvnVur=*C`)BD&p0KUlEqx9zdUh(*g4+ z)T99}>i{sd2j{q~{Hfw7aJc^AM>rYS2{2Jxh~wXWGxd@$SS%?oGl_aD!DKo)f;|ay zZ}|1MQqSZxAWILP-rdv{IH2t)zajG(b2XEHt|1A|x6cInkek&z?-C|JAD~Jjpv2(Z zHGr5|fIff=SbAq{sR1^Q%~HFsh67!}%G7;puElOw>6{+lrR zMgTSegBXwiUv(CxiZ=C(nr48YD|kZ|=wqJHK8$_fTd%?Pno2b|OR%Z!1I%qdeE{%# zpSdDh43u3546?QnR3QPzLOqst;Cv|R$UIY~(OjcH=bV44?uMN>RLu_nY4$=L9&hyk za@ttS0mPhH7XZoHVpKg_M&BNwvTRVo7(0h&E}m%NB&*^Ajpwc8GYI$+jT>R z?#fcu_Sk&rnSt@wjkjdL*{}y{`I92S>)oZLwEFI^0ywW{4kqKa6W}^GN?QfEl-VZ8 z7fe}z!;=F{wg4h;^LN7goq(JjqcZyX0KNtKY5@V~kqI^r$XhFB1X=+4^y zG4_XgY?jTcVfWIV#nWXT4F2lkKbNb<~@%Gy_Nm`XODlC03+D1il1&mkhz%+ zh)YHvbK5>NE;0!P=p&KU`IJ{9hgoC&eC99nm96E@P~DZ$H;d{n%z;USIBfL&bq4e` zu-igEfZ$gKbjyQ;nqdE;h$`1CyZC)I%FkW++|PJ2u6@aktCzxnaAfF9;CjJQd z<+X1xep3=@A@Q=O7GT!g4MraTkc>VUKyOx5cRPC+q+n$UUTCxGm+x+*JMZMv_ud{w zbr+js*xc&wX$Zip9>$f7x#Avnoj43QL1hs;Fo0cM82-NoV@sBm zj5fwuKndq8GOU>Fppu}Ii6tCo{Nm>;0CNC`vXhY2Xg{V&L~ zD$vTD-e3=56dpmL67Va-L@J`nB(N5sSFqp&R|O`HQF}c|4;~d!)6cH>%wK$Vsq zVgSh^woM*CSqjG<1=vxwOs2Fo_C0Jd4vpZ{qy+(_E$LLi39o>g_7(5mUBUj@9_gwD zn1pXafM%Hg-ln0MJ>dob_}p8}juxrUL-(K_==NVKmT4LS+{)C1bj}a3C%k zjgyC3CW*F4+Y(Cw79eMoQ8^fj;nV@JQHGqXy%YWf<^;_SDGxp0GXIXYt!nSLzBQ3< zzB-OPQg6q*FeW$B$_p5t07Tn3ocND_HV3PWi8;VeV^f(8`7%t!Y_f|eqMEx53l-aK z*o`xds-xe&Jw~1Z`dH9@^x=ba7iL?rcm}hplfU6KF$Fts2v2c3XMyE-!h}2~PyiL{ zFe2{)6g|M^ZD8t??_yQ4UB7#P&(a|Sl5QWRxkIe2DSL=j=Pkcp;hz}ma~-+#Xj zn?b-8yDl)=W&yeM)-14@0Q$--(DwoQ_5rcBwgCF@kn4FLpzG~dXK4qhd}CYkn6|Qv zvz+(u;^YOEs_kHEVg#8*O#~+s9nlsva-C==c<)6e{M~of1HjXpuHK&i{LgO^KPqvk zKm+ZC`nWz&oSVxwJ!0sk2#XM@zGLCxz(8mGarT~@4ko5--o?)YpO#$o@_Olx- zm@3=yIx6%%0rVZx2JOcvC*)}tuzh|3hTsF4LKmcOBtS#KUD?Jm`W`)63kM&jNR{tt z=h*Q3*#B2$%`}_Z80knar;&DlTPD#ivq%0J z;~%BLe1qm65xD3#MgcJY>duj6fWC==KT5rA*Qsk5eMwe@{X!(k7rE|uO9Epq?uD#; z*OB)JYg_483+w6e_CYED^qm3pu_EGGAL7(^Vn8-#n;u~Sa`Zgbc`BXe&Gp>G1xT#G6H}dgQKvCW&rzUP|<`fO+p0^Gi_44Q0kQyoB!PN4+)4gptm zfS{wKHoyh#wzXhCQ2SD<7V805wY+0g*Gkyb3ZM@*nktd9X!>rcRjbjXGrj)N~`<0@5hIHnRe(Q3V>?xOz9v$pXR~W;mUI z38zyG=hH{9u1<#=24OId`vso)a1)Tw~r>iWl@gkuc7z3K^e{H@nv zM^3P?uTML)6V-)FTdOdYGMi({P4Dy^b^?2ndpKdUO@ZZ86=4fec@74RZHhK@4r4x4 zci$K2TcmzukD+!tjeG&LwG50#I^BrWNsI5C!irO^dG*e(u>1B29+6>L3iJW?w8H4B zhXE+dvamQ0$his7jEXj4>G(mGWnHK&0`xH#)gD}tcm+&!(4d2u&av?{{K{=S2~VX9 zoudE>${yQ!_6Q*R6UJMdnf0S;3sBTPgriMWcd54kF#x)>;cA~`gATyUU&xECRv@zs zyG>8AA+N}Sj6UPk*+d8OeNGuOc*Gp#6gHd=OLk!=3OeanLEx+n8-0C%LA^6`jLkR< z^ZwKM7$=%hZSMrE?3B4rGm~juuc5QJsg%We?bm%m{S?J zelviwLmWsH7UlsEaqPjyRx?hmI>%uUYL~McMxQLf$fIhH=8ZY0otjc4`GbGq5t>bQ z0o5a9RMp+3fB1RWoEv%_)m_4?!}eSaKwmg8p|8E5EW$>gY-54G4H$iFgtY_Wj^cEs z86eF~!hLKDT7G)~csef24UN&y2m}Je$>yW{Vl9W5DbvO03u*QJcaSf2 z(gA?igv>G#y#)FkWKL**JC7gY7~?+a*`;hSvxB`u?Nv6kU@wnxMaJLO!$*K_o7fIz z^8pq2`X=UMfPAuKwe1&PiL%lNw&lUb4sDk51h^CA7m#g-CD;fHFAq!BKB|Dqd9UC! z=~KnG6$Wl2EJb#WDPz^YVMqe*6_*wO`}BssPMoc%HoppZITbAHBTS_n(kB#G00Wno zf^pa@(1+@-UVdu;!2(>hu2h-!=z88d^bj?fwO6b8%jX|lzx*iOj;&mXAhO@yu3XB( zCH+c=(fo^zf02eO@%x)eXEWtLA*1iwXu64wzEIsoz8aiok{Ae`SM=&)|dbO{5`|r?=x}xW_I!N`w#Jdv5fu=m%q$~ZHytm``)|h zZ-4sVS;WkyzxkV=z^RGbuoSbWDz67Ihb4MF}_W&*y7|8LuTU+(IOY>(E zA|U5r&>^HA*`tqLF{gr)j%mOiV zqPr5m4;Vj%9D5~_Q7z&X_%=V0^6 z=o1)hYbO;j$8=b*wkD$wTYa#zRP)V%zNvKc`V@5u^9a?9PXPLM38%nfKL_LQ&%ggl z*uZPUPF_tNlbuGHL@@e@doO^#0xGOHZXvuz`t%+cIJa-3;)j}}EV;XPvCjiz%zVxP z^o`&EpuOXQO=CffbLNK(A5@l;AZ^brF7BkC1N1$AUJNy4ZGLHgZ*+u7BS7ENr_1So z{?BIsaHr`%{s-B4sH4Hy>h8scUpw3s!qm&4Hve>*v5So}S%=SG0Q6C=0)10BedqwN zsl}F<&O4kShl(K#z)ip|S%4)#Kh>J5~bHPI&I(F9}pfX!hR3x$SCuCn=u;_tNrt%LpZH#Ljd3F!JIyF2na$bITiW@G!FMdfeGY*~XkrLk zCdtJ^c(}xJ2#dtPW*4;$emeY@&`S^;!7}oZVI&h_Q7RR9-$}b+iZ?3$t+vSigraSxeU=tC^PD zxo+>pc2rXXgO%{^#FYUkKcnsUf88PUN zhVoY0o)R)ukx;JPms~}--lLA0l1iFUeY#$B%52dJA#!s(1+E5gIoh%~N)`BB7=g2X z{&&Jq)q=BZyYXhL|{^=aQ97I|~jX(e~$yM`Qx=OtaAXi3Qft~uyXIn!CSPANHnq*O> zJfV}$l;L3mDsDb>$g3w#b(vIb0O02!)R#+#zD6fOJ4Hp#eI6lS^b$t%AqnXrpF%`M ztFiy>0@l+c!^-N)duN#!KI^|qugg1_mrfPJ3IKx7jcXmP%D?dJO5Qs1mOX7fEzz-O zTwEbh=5{s^H5o90LR9c7DCd3Uh}b8Tb9UyzaU-YsIx6z)id8YP3M@nj4gaWp86b7* zp@Sm7wNB5^Juat>WD-Y!BsiJ7XyNh|qyL6z*Ir?+QYO63C-_zg?g7$S6w$S}^Jfee zMP3112$Vbp@_Y%poe4x3FXVpS03Ctp_#Dd1HwKIVEnR+ba^5$hiuz`n=T*f-Ob(dx zLmD`kv@YY>?@0=xD=tR>;a{@#ZY8MFZBA)KD| zEtZM3#EL0}?CnYPDZ{AGVfQyhX~a+`GD)DFF1+jt)Fu%BT+rAzk*Rq4*%2EzaTSv=$aCM-MXr8!&-u#-}5Q-p%^# z!}9D>m~qmrriWhI+yf(j>1|Fcb;u6edSn=`?PGK&gu%bCRR&PbY(bH`(sU z;?H~oujl>B_WF7RDdh|GjG{?TG(v8M)A zKRM4Bnd(#Tb6YP0E1xzWh>{$$Z@qf<1ROE^Rk_+JEU}{O`tS5Dlgdd$dT-Ey;Rwqd zWBkk2b3K!Veopfc-bO>ylly?vDXK4!kX&Oj$X4PucX$1Okf zJ3#m!_z-0DqEXU^$d+fyUZSV?G2GO5 zLm5`@RoQu3~iP#8-$2|h$VOfljn|Z1{%MUj)xU*&0%7hY6qy#6$Lv{ zzoi8r&QJH+{UKLJ=gzRFRJ)iVnt$GBf2?|<=8l4vRC8U~q)11H?(oB#yxPun4x7PP zx0VS~Rf8g4FLi&?!dQgIOt_cfNb5kJrA@?nOY->ajSc-Cb#KS7xM#y=c*QT<;jOqr9|fPShh8yA`OxtD1ox!0*) zk^$Y#$m&u~_a2T3`$u_)T*0?g@HRFpPqWJA?@NJ!Pc z$oPg>^pL3%Sp05mb-eP@QH)o<+$~7uzvKPcg2rnvY_H=pnEd%gyVfmz)`(M$P=`ZG!trs1MEt_@cw!FblPEhE~;SY2!A8H10DN41c5Con^-1v0V63ya( z0_P#u-KHTU1vTK_JwlFtJ#~5gxgbcUZHtMF+jQ-hB?Dsr9-KLDZ}Ez9jKNCi2jfzU z?^zpLL8OFwZ}WNZ{g&f~T>HJzcEBfw^+(b_ZRlYo2ZWgX8CGbV#fuRA5~gp#Gvjn8k$4?=XRPuO%1N03NFUSavtaX zC%MFyr;`*ThjOBs3QGmR$gMH5V}&SA_LomrlHB8~UoYTe{KBMIWAIKm9o5OJm+v{8 zo@fMQ0Jg}q7b{*!CX~uO93_H_hvDIxX)QxQqdFtuBbZ84SsGR=0!g{{V`hjo-8F3J zpQ_gy8C(u1srLd{^xx`Am%=wo*CL+GF8hx5n;pM%&ytw^djF2(4}i)gEr!YCFx(0m z$ONnLxSqRc_n|#fIIKYE0VD`iDXgkd$#a0uiDN~n6TL_>+|*ZPFevBi`rre7v`h=A4{< zB)0(j^HKB=HZ^4i7%uatQ9q53l_-`Av-(2b?jA0-`a>^Z4f9-9d>YOo}|YI!$(iQaTMPJ3pR&zf8tX3Pw~Vh6#?sEe!|2+Cb<` zzf+JUwl3fMmdxIwM;XcmotpMe4;<=v5H=R^?o#ICB_2JDPOut$$eVvqp88=jHElWM z*>QE?18{k)9H5JCckIr;e@bX@*1n~z)AZ^ldLBMZ(l;C=7L&Re#Qa}OY(W?7VP-H0 zHW?W+eZ)7o=|QWUTaxQzS^w}|TzoNWDISwvJCU~KL{NVHQCAR0ht?y~Nt(=(wdUJ5 zwqSBg%&q*r%+Pzv>*w$;DGYstHm~nuxW6JPBv%YOZ3(O376;oOE~Jx+nzJOEYI`-r zH+>$XgDk5~RaB`wD5xZn4zL~0ApUcM223h+5Uqb{*l2_!4o@<^c)vPM@z@LjvZ%vg`aqYd3=j59lrv6*xV4Jq@%5m z9j3Yw>$}Om)S03CX>5o;aYYd%{?C`F(N=tZgTP*O<`mzQ0J8ICdU(ZIiENLJ#uP!2 z{2l!!;YX>r0rBHOcnEx-vpllbaWWP4 z^>~Vt>$6y#ko?_flb{>!N0&2sC8Y`%6%$D~c@gmV*Yun|0o6*;%?%~f5gkGegmH(C z2IFuoHiiI7<(lqyX<{*nCUD+NM9%h=uGMjM#g4licrc?He?lqGRRoS377)++(T-i= zvjB*NY~~VluQ5GtNRpEbz*DbHkdoinFH^bCLyGaSNW(`uz(23aHj~80K_Q!tiI)bmz5_=O$$tTa`N7vafDLZ%K|22<)9^*z zppWwX8=XboN7hSIV8rxy5Q~HNgF`V$=8~(Sg)FIp9f)FELNyUVynjnv$7+?n2BuRdq>RGVaUGkJCQ+EcuQ-Z`KZMd*%tl?43 z0YyrqhGmnorE=Ft$5-XXD=&6>nygveI&OYk%%|qw1q1YFUQ~Kh0o80UKqq}5x9iFe z=<(lmfNC=kYn_(@z23I0W&DsCQQ4o|u_?S?wzVy~^O{R^zW|UAf)y!Ohx*T&{Adm- zDc7*~1U!bY?W7FdBC7yMePRO^Va5^Bx76uDj>|u2Ti&S{9LYI16F+ddE0b@nmom3= zti0xfJX+D6EydfLs0e261J$SIs$0fuQLxN?XdP3-E+zqBfH_{kuj(sWq&*kBU}jEZ zHr(u!(cUJm0ZRQB;{a*B5t|4D;Xf(`$3Dtpc(?@308EOYrY< zB4o`cNJK?g8n02POh2QdBmJv#G+l21f8V+LT794fAoJNMzkp32v6XPUb&nB@5oDPI zz*?j43`0{F7@6&HX#_$%1MnlL$>#ej_lhP}&1zTDZqVfL_Z_sOT}at?d+i`>nx}Dt z_H+;#H6w#OWQe{&UsuePS&S;zVRa%G_V%_C=)b*6AMp88H}ku1eTp<*>;7}1RV0QC z{UjGIwlx4h)+gvlQ1j`)ZrbzJoMgc%X>8@lynJg-*RyGuiZxe zws=?qADf0f^^d(_h&VhML9E%{{b~CuukknQa@B-O-c{y2{P~OOTV;6CVf+3}q@l)* zuLy=IzV+A(Yw*%xS)2zwBo%l&{QrKC{pVP{w!Un2D}DKk^8Vj?d`)gaQ^1EnP-U~c zqSwV+Mz(KS1R0vx>uYuSwVT#t3tMJBK1@^QJet?4pppl7?qmuBe*CZ=mw;^9L?siq z52|f&F5e!N`4&|-`mlfO`eJME7L81PC|p8qOljr>J@E#YxrdR!}(rfj2x{I++Mg;%5vtJGF$Dv#tt#SjtHQbsh@kZ%eHkTrT zQvcnthZFoj6~&~B;>Nf6rC<6QtZMp++4$(tF)pUEUw_U)-%LWsF5Vs%)BjN+^+-_< z7IDgtmt$7>bMhaaJgdCqcKg+Ht{oZPZoQo+uJV_ZF>;(CJs%q6{2N5fWbqDdY{qlC z3>Ix?puE~S;Zkt9EGN^Dx#>`!m7#JLJ#f)%pKJGEXIyGbo38LFa)ju?_Y0lpPvLG5 zv*`f@T}58gHK>T1cNOOSU_M~gsPh6J%c^M;9KUn0&;nUz$TC?mrhzDKF{<-}2`pc* zXa(=8t*K64y!8{DeKq1fz4Ga<;6n41tX@S5fZfqbWsm1Y$P0GlJ@)j!v=dF!L9sHu zuNjBede##=wXJ-EXwd#+-2-ds-RmWMf$sE?6ufT?PK*%xyxYajo!f^-2 zG_{y2xQX{UFmFeoq)h&@v}QI+ajKAS@@ZYvPDHgViCqxg)T|dg!TjIqVyUh6bCn+Z27a*zg1jZoU_0dB z;`2}EV$J@5BB0UY;M@lkx;frwT~nTb`c+Sf1T*@FdD~TaO{dnLHHU$^*;*0VFQ6wu zMzaZ1vyI0|7#6%Sp=dBa(9(XruPwXAHed^ zUj+Ke+3FCdeNwr=mOhC;#ZnQ#t>K*h9w62qfVSz!l~A4>EaJXj1g-X1f8^MZ$3Y7! zsm?ZgKG5b?TQCTc>$NK9+%`&Tbxm+`uwCBs_1<$E{JSKVzEAkPks6d*!aa_O$UM&o zP1)1C2%uqtMd;@Z`Y!7K;putw(r`&tpNWAyFWyfaE|>O}O};bK6LB!zjaEFPGk(K{ zLI~fb0iUi~VC6sk*!-KDjpja61P}Y4IBm$uNoEj_4WS+*a8qW%nT8+V5QR#Wh zl({Z28^{8OUFW;>Q{t7llt2aK!@@!t|7{AZJ?}{j%Bnxh3C$jtkIE2S;q55(Ua6-) zZP41H!k|7A8bf3jF(qmO?lXeIMl$98;pPu%n~nz#(P>~RVUd) z+G(nDGa$cJiXQf35pUFIXV17NxyOlND zRAwCi2(Q*NIiJmX9~?h)Bka|P&)o$f8Xb#tZm!y+-s?kgLUcDt6!b&nj4g!;rF((c zVE`P2lmKvQR>e#`m=SQ8l9EWfdTbJ1c1=#d?nMp0ksGG!QF%cQVY{^^&ePO41ZwZY zvi-N7=5*tzaNor?U)m&+oqAu{{-7YWY9YxZpPuH0qzOY~cxKe$qS-~gAib|Yxkl;E zy=*>AvdQA+ku^R1UcTyiGHyqj`@Pa;cw#jf z9V;M^Ly;(fCZqZIaXjC-T8}wAuDq0fqgAbbb+xJSX8H(uxQql~44v91GG^%X+(l7AH zO!N)uJk9*~Rzd92qH~|7yH~DLYdB|#^;gZsyCn$SwQfJS81QBeQ z5W3ZdWVpuA4U&>vBof_iHx{rQRnrzRqEaXEkUPzu_4GB1ip^;x=UHb;OP+E+sK}g& zr^ktQfk$+J%A#X$vmmU@Zot-Cq^|y-nS(s@&)bM7Mff3WT$wta#;L0ZLmqix@!=lL z-h=T?@VPfVm3Y-y5zF*caql;VyhA>*8>mgjJ(B3{(2D|hqk|A5YPq`aSG#TQf%nni8->mGR za0r}NHsf)LcW0JO|Kj5W7R1LUpDhW1Hc5S`PiAYLWX%*bMvJ%Za@`Iew%vgVA|Vz< z_Z9_r`dsgzI+uERhlfGHOdgzYZq_>ZW490fABP5q?(31`cgHRq+A7Pp=S7L~;=0%V zi&M%Lt1(um#8d|9>a;7=0NqD!LT_>ho6LkQTr;nYzV!AKeiR|K`($qay(Y#xZ#}#3 zFeolLw}VXX50wQmO}3Tgi8zntU^G+6Yx%Y4)c26v^+Lgfgs5MpJ%x**VS9{_W#K*6 zsWZKeYaB;%-Bx<`nMttPWtj{c=ow6{kqH1>zB;$|CSx*VY;{%iGIY(!ff5yvdv%(? zJsPS~>slH~j&%Bmztf82Ho|gy@VY$ClB(M}FF4NfD%&Vdo>m*TPBwXyHYktPBF`>x zFS-1r>yYiP*8YkV#EBys9^Bvd($)Mu?S_BiqbbpDf933k8w>s+K*_@@Hbw#T{G5R# zd617KU^r#4MvTyoHd(WdynmYCbWzOqUN=z4UbbzMZSrMIv`}qBf7}7nE{IR z&q`9ErNjCQaFZk$V{{MH=)@%bB`_-J-;;^y8wnkYFx02L?*@;B6AInLnMq`)lp!Cq zoX=60sXB?TuH+F<(KEodMu4ciH3Zk}_j|uOO`20p0BqqA-T_>DU?3AoH=|{{^rhZA z1a@{J**`{_q*=HQ3}9jx+Hv>rNW#9b)nsh}0eHIuU%|?0#8w0Fz}OySet5>*!9%CE zD@6A-02X~JjnfSSXv5dRd5@!Oo4mwy5$Nim~FICUy z?29P?h9jqx=eVfgy1e9RC=p>#k!cIE7G-X=`XhX8x-UG)?<(`d2v?v}CI zN^e^*l+E)$Dyv*uQ9hhQIkp6lcVE>;@0_r;1mKDoy!xI*TWX{v&6qi1DCzIK$_~)BTsp8#i19qFBxf7K*#?1AL3FF1=GlU*zDg22Jx3^rKi;~tJh3ZfVXX#& zFTc6J4{56*-6bE%nq0j)1;A!27i_zIZhM~YgsGEg=rn=3<)T7PIP}l~SZJ!)1bIR> z()rJe$LAQAWpe_wBPqa>THoZ_fvD`Czfrp| zR|D{oXOH&uuikY6GRnsVhkS$PECHC&qO-;pe5kvo@^X=2f&3%DUjG`40>1^3G${a9 zw`#{3OH(cVa(0Nr;xCVLT3ZBqKF9rj#PUY-#DoLcbLd738BA-J95VK6-|jVL#yu!plHxs}O;oPCZeUt*cB9TN{Ht(&j~ zK4Z?+UkoF7G;c?#<#szojr0G5ONN}_q>hKiV(8g-($*q^+|4*Wc9PTw8c_*Amf;0T z2E_$m22BHa9f`DpvL!9?0LVuJj>|2b)VtCoR%HMz;0a#dd*)@UJgq4o8g@s9!vZGX z4~V zX_VLJK+pNUr%3qRyC7Hf7!F=}87W&hi#Uw32I1}j=gmKqqv9b%$B}>g3hL=arSt#e zHIynCRbFPcC&BzZA0KUxX7#_HtVWYAZ#6p zCCz3@fZudDEl%UmaU{l1@$4k5_o7+}zU)8EMY;&Ef-9-FhR&KKjm_YvaUmlg5%0|g zPe8kqg%n2P{<|<1FR2#z!m`2(u|V?mYS^|W*@hrJ(l2vj{=?B<`hDea1bJ(xR+3*Bvq7+H>$g5djTO z)&+}Y&|iHcr7vj)!N}RHM}n?KjGsD==0tA+NR7!Ya}fgdwf~<5P=PN|$Ro$_Q*eTF zFukNfFzJrdNp$@&S}rWMjZ@FIPP`>bviJ;|BDX17G6KdDN@#I=?Y#cd#`nNpWRz2S zdYM`bD|ah;(gbod1Ia{~LM-_0Pj$VYh+)4o^HJ!*=}Zym`>0fsGm=Gv~O^%Tyj~I+NZL(_YLsa*^|LmJF>+_qh z%Reee$<%+*Od+iGKHEof0ZpuIfj9GYXBQkN8u>#cPISjc7T&fM0~7gHLwKD>r=`@x zLFTk(_D}8ffiP?UA-?;w<$6#F7ZZWZrcViD5k~XnJxV2?J}m#2JNDy7DEC;_>}I?7 zquyq2V>hX}|L%=NdgCLbNRFi_=@y^&_X9&|+e4o_qcKc+Q0Z4ea-EJi3P*&sg*4N zu&j?n1tTrjPblf@5?>WuXKTu=Y09WJEMYHRVegLC2aexpt{+Ci|D5VsCauHtC> zCw@Y5sw}hh_-{|ww&vF$hhTA^0h`u?HNDjtKApL~=KKQ?#q|->R@E5J;1?qYZ{z3O zjsWAH9qSa*n}@7wT$UKSBDFkn@AM@HOPcLkT=CL^f7s4}Fgrm>GXT#PiiwSw!IcjH zU`Djzuv!{(pF_O=(g=E(r|f^Q_kfQR61N~y?2v}q)15ja6PpXV8o+5EbwJEE|M^<7 z0=(Q{+&m=x>|1sBhYrd&{3M@)jNY;pH<73oM~Wp5(O+9-*i!X!oZ|GEfD&^bvj;oy z_jX{(Bs=)e#;%uVC{bETiAo9zeqdiK3En|h7&96#uzLA-gj_PDt)-nK;H6-k?f|cZ zO*&y(x7d;gTrRt!Z}fUvyfWPXKS$kZ5x5jm#7EM`VB>mfAWZ883tIlL}(%z8kuA7`^Cr83)!p0g~3ZBTgY!a+y+c}YaY%yaHpr(fO=tkI^%CT6nLqIG<5II(~ zQ(-ffgyGIy$X^xP2_FjAaM2<-#}D%JW0~@Dp4;Z|Ng8?sifq4iriX$30|>B;0A9-# z=bG8&&t}HTZ3heHdCLM}58dgAh^ANPqG6K?B7SS^E1OA2;VsYT;~x$(K=#J8(}=;A zCLR8I1-5?Sf#CBsxHSol)b30BaSd9t)Oy9moK}0h%!~PkqO{!)+J@#sSa-x&gi~&K zh#>$b9JeaTAs;zr*rR&(baKlTCaGeokKxTCh$RP^j;9D?p^S^I7mu&PBNbTA&sJ9m z^)HXzuU{-hGbJ$T#gHS%QptR?6yCqOP|b*UdIfw?v3WgWd&4FFZ#!P({>Po*D9gsk zmUJ*t!6AiK{nnz>k3$nJ^x#|ZMY;69($LH>h~O%IWSEhx&O@V|G_`y>x!%Yi;?9>+u}>@ zWiFJw`Pu4WM%z`$bKL!MH2HVaWF$s-5jTq6gp@QRB&xN&$fiq69GZn~@ul%w-Vufa zyf}f_+Odcz#*gjsQma^*b3eA7g>?dGk4(}OnObG31VbaW2F;gm#{_xg;5URz0-4(< zr(1AhT{!8~+;4F?{51N(`t)@%Xh|5Bb!9}Lh|B+WFCv@ENEZ*UH_(nwy>LNbWs%l< z#FL_mu&*d}L9s`3%I=!87xdZKW-qfD#>Vw*w#H^p(6TN6@FCNBrvh#!bfH4yJ*yhF z5kIK@W#NxM>O(ZuvY|h@CxslrIY@R&r4}g~jeF(~POSEPwi8^X6>d|AB(M`+!#OZj6XN} zWJOa%5MZs-?1JK2=%8JcxyovfeJ5=7ns_>23=|eRZ;@{J+*o935Qub-zL! zu!8Ogk3zo@AypQpLyqZAeQ8((orDUW6vwu0JLdj_EOX}JYkcjoTm|xpcC$`tM|!lR z>m_^9)o)6%pJBFgZB%PDN5VWTU8@*Il>_{UFn;_0J)GQm(?A6&a;6Z4Lf$)PznGuG zgvf4I^8eGib_T)xJN1(rn7n55NlG%~t*>XVYXX^~NqiMs<4bVsX@A`2M^)KE9zIWD zb3mMu$E8w?sA>}LHE>uUv1OK7cs``QhWatcv5ah}&7F}Yyo?GYIY9bHVQYr%Qitl73)SrLA9UxN~(?VkVQ#!EE#A8dKxNv*zh0U-k#73 zp0jyy7yd~h0T!Ak+Wk2-5v37~SgrLA@WNBJIQbuEe#N|(8~#E=kP$~f49k7sJl0aq z&zn@78(8sp_3;WVqM=<-HZV>0YD2!$I@FJRzCK%K+G-b>bH}HZ0dF&dyw=A81ri+< zvCwL_wYZ;(->naqvcq>9StjkZIv`z9j}In+oZz)HBf_S&=2?cldXHDaN^T*O%S&2 zAF}YREwcbtC0u*)&$7ByB5uE$iJb=AL)5oyiX8OvTA->PQH8%R%_N@4^Va_B+YP-)3^zJ!Ni4 zPwqEKRD9yT-!=^7n$*Ial*?Q-Y&}$G(I&r@mwT*e*@qtbp1;F- zGp>Cc(?Psb`Xb{YSNCO1JIWEi&$YGg=GXx9ce3+jxy@(KF)EIUPtVgi=t*?&SIoqk zFN6MgQG80xh}`BgQFxo8-aGf6yc0_}ulmS!3>-R#I?r8UWe;bEjfhLeH|*BY>7h zRc6VVZ6$=N;Fhnc*Yd#YV}D!c=32CgX3dr^Z>QXUuImWBxK+xjk2BLid+j(`jql=G z`TT;N;O@VFwsJfFb!DO@9_6dj^>(wj4;J7Sd%c>TJ^4Ea=I5|U#kw&rN4`0x3!a3xgqT|0yIKgkFpQ-*%w!8ma9}t;Vo>bD*>8n0F%Hnp!m35CUxq_2doO z9ZedGeS;M3-N}ig|MuFiKi|#-|1n`H2@6G@Y2+Sgiea(yM?Fn1O?7AU@J6R_{%3}4 z`oPcpJ-WW!&M!%u9!{AJ9N3cdvYjHFAL0N6iUIGsKQmdc7OHnE_a8)JY;$EpC2`Du z7EwyLTxTDNuf#zpLm{1o{JBLytLj&z#n!9sAH%MiH>rsA^mP4><}+lm?OlfPWbl@> zVNI2g(|24Y@Y=eW6U6zz4Xz!&-T0-3X!1=F4k#=KCBvAt#R$2TUAQ=x15(z!QYF}+ zIC1Fch$tAB<`Ba+;ne4ygQZTwqVEEQFA01zX)i_*7-Io<1Lwon3l)gD*15t0&`xRUg**z?|DuV;}9oYcOF|gFzb5; zev%GTh}AmGw~h5#ENzd|B)5yaVg&%CEu_rLgR=P=inp&ssF?Od-zrTBZc08{`n&m2 zvm1#?LdkS}?G8X`i^X3?z#VbKe7?vBXN$w9Ps02s`_@9g)p(09a;!*Jg?1iw@?(J< zIPba$LMyW3G`q<{0P)%5mX7e%yW7-!e}1c?N-jSX>(lss#1-%TSAH^F-}e4iql-yq?wIg$D{vGPRh#=OVEV zKzFkmBMy3=sY2!MVzKd8xrf`z{uCU6Irn9Ok*RCNtGcDM8EwZqKZ(I%kI8|tdW$Unhl*mQw@xXzCQ7EM z(w%WCC$FmfrL>5;sCTAJ5Q{DD_4QeNZb_DyDsvjOkhbR?38GmVPDll!ux{EJX+({= zHI>YRf_P+YGGv){r&t=HUIE~_(ln`DU%vTLs|m#9H$^vXqq4j=a8G|Zq;VaB4=79= z@|4~C{;q?4YKcrjVxcp9j?*s*SR0nHNXx#;QP#4gYFq6Br#Nlt%#RbRt4}p};yhD^ zcerXyqotN<1tN_KE2*iD@=i;#-bKrF#|H88wQ&y0dxG2Qpwa_)tIt~w1myi6uE0fb zb&EKskgX&;6h;oSsq0kJs?kyg|*3-!L`mT z#t#5P7EjySVAQJw5Cc-UjW!_J6QQLf?RYOJMI~IGVRc0i(`Ew38eNpWHHj`c?F#_Z zBc!T-4W-yZLpjKI;Yw0934g`hu4LhIlTyIXdNi`1{pcU4_tkw$y$hosKOVPaIn9d8 z{T~>-nRZWoO3x80?iH(<_l|Uw2>GLT44`hut}xq53imych-Td9IT`bz1UyvEB_q>Q z#eAt7?5uz!4+}I61ANDVP_7d}*^t~;EiO6}Ue!sGbHb{_#_)H0!zll0pR12zzQ;Tc zQ;JCLIwjDkIQb|Mw_Ly}$r^MR?SOYgFpFbYTq*oSDXR6-+-a_Vo@ogtoR4oNn%p8h z`*4lY{H_itYu;9EwZ&b@Ju3oUbfwI_;@B|Qb0I9c^xv4Iex_Tt9VxC<>v#TXzlXkA z(UW`O{k`r*?SoEa1B0`gY03LT5AcgwyWsR+Kt)Qzcf5mtX^rgn!KV2wK=}Bf<)?C) zfWC#lvjE*{JZO9D-HU?Cj9(`de$ifpSDudq=&R!5{|x>_-Qr9Nfco{miTmqRz^~^x zYr_>FD%mZnAiL?^&J_jRJHD=bXS!PYEW;_7Lf(n#pW9)mPw|DoNp1@+?90iE(ROTh zw!_aOw`Bpqq)HR>8TCg7nt!#l++fxLM+*}VA6(!7;Nyl-ckP1Qe?uB}7ItgW*xx&u z0>9`#&9m}+;0KtU(qI$zhO~Hq@9+h^UQdiiI|zC$_0Z>qlJ<`LdoG@9YZSa!HfAfS zHGW!E(n<=5DQPtcID@xFYaS5Q=pSjVEVwIVCOrqVOYL#$An6NgPwjGzfxk_9hj+Zw z-5D5mh^H130Tc~$xqAtM`aWlayhh6*4zT&+F|DBrfvSo)jlUK%6$GQH1EuSp8&*YU zK|zsMhYjWOj{^5vWr_o%N}qjgNTj5?Y#0h|Nm;73x(z=g50TN+FL+N)r7r)W(t}dj z!mxEuwj@!uz*s~qX$q?NZKjRsV);%bofgqrIJll*op%tMPa&I z4Ty*tRl7b82+@&x-I8cTiF~kk_PZC*^5-YLp{C4v#8Zt|H_CgI|HZGy&hU^&bGgE9 zaf4XRbTFOwxP zW0l~%TuSQ@=r(b^R{+HwYS(|>p5w%tBq|oL8)Fi`lv7WY2C;rOjnSuuwyYjJ9J+>S zht=tyx(3E}-6|BkSo^D|CrylsB0c>D)nOp~4GKMh!`ZeAWtsicv!F@b8nO7yxS|Gt z%^%;)2Mgghjx#A=G6A1sE?@ZO`&SJs9jw05b?c3UQb@a&WIn9;ZztbEGlf+Wo8WbtwY8$ib-C5;TQV(?Du?T9Q#hUUiwz5)19ThsP{I*PBloa<5H6T44dDa{y(ZterATqxa)f`ShGDp6SQTAe1S_CKHh z2@DrlFM1e~pZvTul6*cmze&{$f~0e?)CEDQpCMDJ>hpsR3y;G2lJ;ZwZB|OMX&C6ndVZ?+?eo z`o^AN`}nUO7qDh?-@LI?8hxtw37JQpE2XrJzru9II?2EMxQQ_lDjbI)Up6$b>W!lQ z<<+TQe?Or`9=Y-|m@ioY8hWR+=H8Da0 z==+^l@_&ZLWD?B^mn1%AtKSf=E)}!;)m`ww5}Iqb^cUEcS;wJ0u((N=3W z-g&nBzo|odG;-&lqoKxy0Vc5qc}v_Y)Rv1dtemE26C6%ey8?xaFw-vPD0={>7MuHm zPMQYT`#IawUacpmX}wwYW*BehDNpNiFL?avhCX#5w%;*10$=_- zQipDvDwsMFIo;j<0@gF;tY=2xsdq6CSD-cb(OzcqKg1Ke!Gm+mqOEjmNJqH}G~*FW zr_oLlk_mX!XxyT1{^&LQ0i$T@)Dw7>8(SXv*~_UOe4ARD8Ip-tCXS#7o4Vn#Y9;&n z3MsZg6q+I6#smZl#Vz1sg9><%(0M|!BM0ax=DneY{;R3=9qm{eGzs}HrcyXw+M|%p zI+BEsubV`1fciM{2wjju3qKj@!0f@iH6LB=SRU*!IU0EwKBv~*VQF{ zp=o8d|67`GU-cWF@P2J1NZOgt0KRwkB;bC>#`;#$iMK`$5~iL5 zOr!P8Z&7_c7Jw{it`Tqlok%d83xMl;F^8*9shhC~lYawR@P+QZnb*z?$3rlBlf@Hq zYnSi*xD5}>f=&3xwmB$q|2u9!x3&x$28(E!f6kBSh2+yCk;?zN+g*AlcPs%^xo4sGr`+vXB|ju&G7aY^89Uhsi^Er zT?D?ADW=hoeVVcSvhTq?e}5o7_X4h?KY3x3p-m`D=SbvwzPSbGoB}wPBg>nvX6X28 zG6-eU3y+^{TK1#0s1}py$0Ph6DF1TU_eauRng!j&V4XWE*6cu7x6d`2t$!uoetlXH z-zN2QomoF7k!3o$95dzJ!8KP90MOp`fSXH%&jI@CACV&eNkMPwfbi+Awi=DnZL0vJ z@kIjw1za1b&EFR9{OYLSZ34KejkiNhN3VPzmcT&EMdHLJU(N&Y2-J2ntUlV3eK?}- z+hidchkm5ZODrcF<$9{6ynHfQvo|MyPqNE&O=aKtb?V&gsk1KL`W}S`t2Ds!d_&(F zC8Xk4#&PK1$NCuEEw(Da;>cplTs)|$n1f1eT{`WPQEPptAO@Gnb`z>0%qxWr&Si>& zI!Ml7|B8w7G&!ME9jz;_zLpL;8nlsNkuvXfk@4l!j zngOX+rQem6IMD=v!q}Z?#%=ZUXPiQuYW#OJE9bpPCAeSysZ9|*6z*^UV*z8=m2IIc z+VgnHD`L)1-m4@WPY7>wzsl28VFF#w_a!~rI*1ejpC8q#1Z zVGrxbH`Ff7R1Ur;Gc4wTxa*&o|^zy?^RXZhpsF$;ZL?yK-8R?|EEk zXP&riWUx}lNAEhupXT=FuwK9WEbGU6ufM=op|sL3D$C7EH#5V!B_A&3?{r=fOGjWCHg5{IEIHPZVY4wbh6_?bZ&p=m2o2d zV*^^AQvyEwSn5irQuaCuZOI7L@Ia*rH*h|Ki0A zX+Fwk0J3ENXpsN?4>9nI8e|8Is|IZ3u?9vySm-k;ufmoSIG6|gQe{|!{5nnO=+L7V zHupAm0T%%yQ1@C!Eohs?Od~+tDL^becy@KQhC0tGfRc^~W^sricqq`>!AaieD2wrd znyeKy5DxR0hz|e(UuFOEf1;wXu$TSScd<1Vs=JK<5p`KZQ*}5O(Dsljom+rXGcum= z4E!91)I1>2820&wU^)rTwV`UPdZErZ=3r*2f+_ISf}@KuSbd|YK(=8+tr`$?lM~M+ z)RX4Pqqf!-VNV9&#saHUUmYr}=TR*k#sS10_FbMmpM{mhhJZR^Z-Q;NCOjO&K*ZKt zOB=F?T{hLP?FXuA3mV+|%u>^xaxFf35T-C;ql-OCwlKnl3M)LF>dE~>tD)JuDm=`>6;ZCk2- zU8Slx^-{$qAdNq%ZmcP5NOciejI#8;xRGoQ%4(}&QGVe9AT9uKE93=LXV+M4FT!Y@ z1~8RHC@9vziShVYSN8t9Y=AoVsY?(NK=zjaeV<-KWe>nhAnx>ORlJ)+eVnx~i&&OZ zEV^v>O&F7_0Mbuk;N82Yx9An-lTKs-HX*hO>9W)%PChuXUImm?9%o=h%FxuwiE^#% zUcfQTD0vY`o1VcD2W5Kxs*Ekq`2Z_V0Xz@UuX|CStwLs4p2cEYha~fhFpp6opP${u zflfyPlaa^hUn~so1Im5O7RHsOsMb1`P*6mkw*{`3Xx+|j(kZ`v;G5VBAXKKScuNA-2_!BXv zrr>#{J&rX^G!^d|LjmZ;lut&IdOh#u;UlZ*g^0@gzjghQ0;ROggYuBaSA6wGO5ZIF zeG#xm)=U}OUb1@*VBa;M9y|E{dw@@>l4_$5wp9JLHxl$AJF07soHk8e4ZT7>XLAnw;=>PM%?x8+ zC1>=ZZd!hVZ9tfF2e5ebOsYrL60Dwvjt;;+ys_Kd?UDP%qn|%hUWw2cl@<^cLO0ecQuYt%Ak4dRTW zT_+?QoUOxlw0#A~EQ_kmr#?__PEqd802mEdT}|H;Oc2>&uC~vHJd%{GdbKeQ0NVum z1Ywegd8>6~Ih2Ox2k; z0Ke8yTQ5JG=DkDuN>A242E&W8hcga(-!3504gkBJWVJnaz~PrnNFD4na;-uhn67y) z+ja^@AKF z?9*Bp?;RsJQ333$2YlV(z+ND13%Qobr=yZR+l~V`0j$AyE{Cm7HEt5nhv!*j+VtCD zH|hvScA(&O6#$l9PY_a%;#;sRAuw=nP{mo`X>}*Ne4)cpYP89c8X#Os-};qm$ZjR#@t* zT+uEncw zxuzgr9q`R3uirWPUHMjgDXwoxx44ype09J#pS*tO=y&B?@uj#HiM{2Tf_!zrH=n$I z=jeCkTk)m1z9rq_Rtoaf0pEP``kkZSm2btD;#ws3mTL;~_JEG zeUDg-V51N9z(W~*gxAn^OcHj+^#92|8G}ULBaJ^kdHG|I%U`mir!gYpv7XXU>9z7= ze5>?-2B~yvkw?qLkd-kZUW+>^Kzu#=?cyLdLEic!rElKK*tC1bX7|&NvDXDSX4Um# zr%NXeV{GPSu2rF4xPMTW-M=ThF4@8QHelSyh~QKyfIdCI*3@Z34WN%j*zMbMfC5bX zFvA7``UZMsGxY;-U_2P0PYE$bR%Ayq6ARv>0_oZN)W(iXV9-Z!)Cz4>(bTouu8fhY$6H zyGni3!_q1RFxUq3OQ#lko;rxI+kk?cBvY;?z^7*NSSkthDMm;o0?!;qy;C;AKq#X; zum=G&t63CJOtgkKRbAK1ikg9CwvL*u!YMfQ(KjbD!H^CB3xTIyHh$LKHa6xKP^rBR zqv;typ2ngF0d@7}J2c!wK1!i_@(kNp+8TT@1v?XGDs8CHo}#^nvG+ED^8!8eMjgOh zla*JQ5S`?yJocpIA2lWFSzuAyh4&xoJOcm<`;XQIdkz*}^bZyR<}K{D*+0pXY%9Ud zRcy!AA`7FW+Xc(40ft{aAlDM?x(5%-wDV^6!|x3PAde7l3(Qb~pRGJD*k~~N9zUMJ zxyS zJY7xfHdWySHaAc=F9X2pyhD}vQvi79FZ5-nC%Wll*vVo8=D#@rw`WfmsaFISS*{1P zlU1v%3(V{w)6QkA<+Cl~rIG<(hq5zgbh4q>Y3h*TKe#uYUAsO9qZMZy0J(y4!?1Wq z0I{`asG}5Bne+<2g>28k(tQrFtUB^0bv2H9_Bid_gFzVAsJCs{YE4E^G`7T$KVwi z{6nU11z13?$aW0E6h3V9u}D{Scc5Em9N)>h8&Tbb(HE+_hkyiUs)Avrq$<;Ud&;b zFt{)BDWdQT{nhdm2aUyh5oZxT-brDL_kZ{Fl`4uv{|MV;&!5AJ66nLG9Rq(ojvV?q zz-__aly=e#t=g(gCPB1KOdZr>h~CYvw(XkP_zFIS_f!E405a|1ZLpEv0w{Bj-+ksB zs*{rdHWfCtXw<(NK{2BdDQ-nJ*9h zWbw&(as#T`@(y#hWeT<#;Gp)}jAI9YOlG8~neBs^otT(F1sdCA%x!{!t^<VvF*+D1kJ7-Y@CQbaaXmljN@ z1vnCX3o}2+aLB)DIaeVddTU*{OA$%U!o4fj*jXh=!u$!U-?ga0>cFKF2WjmvUzwfw2)w}FMDDF?`-wLARsgEN zk4UQvKpDGnsDG;pt7!`RfB?2_vbnf|Y_Z0Z4as4xnQ&Y(9G#l1cmM|ILH)MF(3Oo^ z4_JAKr|5lTUo}(NVA^-nJN6!Jj_|;aOm^s+P+`@>v!Hr4@|FqO_dT_w; zpbwx=wPV$(wJWI;7xT~v=-SYZoUj%(jkLa{o&emp@EW_z94knvGmKMs<<^d3?UDwEf0=0*#sj z2tbLkreuHTfT0sm&OE3N?}7UgYSObe0Q#n$Vkc5{^wY=|?a~V4umq?Iqt7{O50Ail zf!^Y9!#Z{R7R>EnuM^`kK%Z^9iMq6aWdQOov9F3_nOeq|dis;h-xA}!plvhbCBq4o z#UDW0G{xDDQMEkqnS$)cIjWd{xO&@n(@Xq}(aC^_uMu#K=jrnAp8t%m5^3?ZNQ5Wk zLpfKDTuYx;b(eMCdDdDz_2!)^NC{FfA|CTaS^Y0nf(e}XSeFqecRet_gPDXXZS-m6 zIe@;O9CyZHL`LnE)EGSYn$mJU@fJV5RcyYF0(kfBpGpzqOXb(Gz{NeUe)2?ZnEY#8 zc~XRoV3l7d@1|!*e=ASpOXb&5fD`d}`|I?hrvHP~zk}qWK;I{y!sz=s?9@qAcVYBh zNzOQI@u0l^hiLy?b$5#s#Dy=g({~FSeNX85Wfll9iDIKn>$s?Ava?7n$IjHtOeR6en%x6EeS6Gc@LWgQJ-v#Yg@1uE--0~Qif&+u%BQGUJ8UO0~$ zE{5|vV68PZv)SkL*aevbYIzN{xJUD$(zy#0P8G;@76qp`0qpIA_D}c?PPbJ3Ttp3X z4&ZGOHldq+8Ppf>+B!Vc4~Vl1D@watv)KYbp9~>w*PJpZdKpDZfV(i3|p zs-T@6co^lBzMBP3XSbjX3jj9uz9-Z1vrl0b}6QT1DZ>eZ_ifWD;wIjcs}mP&+%&pm+Yd&a zYT<%$&CQ&e!g^61wyixeRaM1x!E0XhLbRsdd}LhE6q}aq*ap=bvvoCvP0NQk6?*x6lk}PZFHwoX-d+!k!%m#$R1?k( zit;89x`b^~ot9`%P-bR7ObhM$sbZ}<@HUK<**V%675jPWdZmn`AvRmV^dvrQV9IPg z1<ruI6JeZ?@-+DD4s=LAH1L)fY=#v=| zpQ279U8AwCjf(NUh%(R5@#HG?Z<-MYe|)!SKyNxO5f|N?Yw_Ipy<1%K@5gWP{NJ9w z@yU!r?Q>y17%AI;4hN_d)&TCQ?x(Fj)itTS07%wkZgEg1!>txoGgZ^v95!%hRl^u+ z8QmOf^GxPnu=&;#Xwu4|mL5?B!2|?!JfJF|?3RrMSTk(qw^tWpe(ahU1MupnZ)t2_ z^;J|GpFCtUy%2y_`_OPwv1K!@Csap^T^K(CMu)s}$h;sB5P+Eg4F7`RMOZ(wqt;=f zsrD)8r3!2SFw}=K;T+*uQ6=!j*e5ecwv9}&W^8bk*i6gjvnf?a+yFFK!#3a!pynPP zxCLxv^|fM8%y+87_FZxW#1P2le1Up|0R(`u1%Mzpr~Ju^(so=U;AFFo4oE|wbK&8` z0K!7GPE?Ba(7A`|x7C6J$fmZpN`eIl&j#w!+v`a+P_~XL#kkq&d(RzER(@>b78*EkAk)8%@<&4?d}X%H}%6 zkL69{Uz!7>xrnJAfJ+a(t$d`itWv1-3pKAowHnnFd8&hy-m33(yAg=1g%`jt{Jq=*D;D?4OC)l0QzFwX2T(S*|qK=C)e5pwSTN@Tl2{j@sev~teQ1Kt!g!t zTfk2MS-D(?9k~Vr*tJOqj6v-@+D3xA0_aK2A7^azt2I=o_3kUcWIQxpK-C&A;RY#BbT>DJLh0$1ceULruu;R;6{fe}(BfBn|^ zuZW{ahqvrq*0zs~hd=Suc979GhTZ5Nox_9^`zUSnCDmQ}ZNz0hXn!W~IAHVb7;}uL zh|8-V;^iIJZg=kJjAIgK9N32#89{aTuXEL1CNLM#R?hL)Q)#1vfs>PuKm9oS`Ty~A7!YTI z(Rb;}6$ZdGpecv{A>@yas@L7k%^B?T3G`{B?=b@{lTN7aa>^Bbl);)WsZ8_*|Mx!c zJE%EG9C(fH!QTj;`nRK16+oRQTk)cSd^vT@{Cf0@8~MjDPVsrzNZd5+izx~hbCEvx zBK>$oc=8j5xg&}{Z2C@mC(2JAT!V_U$Y`0t#Rg-O1~WABhO6h zv=|FX>PpbYk4(i57Qs!h5gOS zfI@ESnGDU3jtEMeyw|dUP>ht>EdaO;SQ@GTw{bGoL}mm^Tr6(zzAQKwg{n#SV3$yk zuO7xzRzrL7Zft-VBer3=y~K{1Y%;PQ0AxLjxpvfFWX$Q^QAZIQ0EjZ!^vGI=s)(#R zy^`8SU8rp~!^*3ttyFQ0b293}Y2M9}^&I07`6hcw^%NU;%gfkLtZhO@)~PrESL7=| zG|JjQxtm~xlwchQ+$cwaM!}*$*6IX50d2Lbw~5NjDktXqq%+J$u9f--_9;Nt?ymMd zQ{NQeUPBi3G^}G0J;^BxJ>4w;O3D*}vIenfCt0d`ZJnJj)0R<~Xj|*9Hh@Uj2N?Nw z@huqUX}q$cN^vVdsX)4{HNEs^vO-n+WV0p%Qz?ycL21^h#A&hp-}be=1?QCwWxuj1Ade;5tERd!RIy)SlW5lXky+(TQ0y%1$YFp! z4-eeHZm8-D13_mj+b~eI*QisJO*Sj`l^TqEyY}9t91U!$8fo)J0A_*XZu+%jQ(c_) z9sn|<29GN6$|?&*JT5lC%x$DBs`h%Yz|cTm0qb0qlGlw5RPs~-U$q{qD1V83l|oi^ z#-Xi6$0ePclmYol|}$Ni*3VPV*4DQfA(pQ zSl4nt!VuQr|9R&h${$sd&p))M<#)D_d8O*EjK0&o|6A78ETa!~zeCyA3FM(>jy}Xw zOwZt{F!&F%S^Dg4RIpUtz0ZMB8IVv$Ujq7Q1JXM=|3(iZ&SUj&3ba?+-1tIdkgE;D zcf-at-SSudlSjsL)aDV^HZ_3%`#9px%OB5-ARh4Cu*UbB(l-EU@Gm^eVzNQ+lB(4S zg2_VBj+wxbfLsFTVYkDw+LSHEp;oQ)BHm|Z{|OXSaj@hXQIO~WS>I%>D0_w>n*0E& zqZaEXy&m;fI%1@ux7cmc-a+kjAJYiCuzQ%UVHN>4;FMy=aTri+9cLWnrw`dc4kcORb-34=9+MngG}YXY?HECOSGS;hl?lG1=cEUDab{_-R8d z4!+ok3*ftMFdo@6Zsx6%dQ=qaDRTl4C@*!TgQ0!q3cZ}}0Z6D;Y6CO^t~GShmr1*d z1BEzf;gMr&cn3zsPo|Q#_^b!xl2NG5!3OO51#rT9I{+gxb@uRjY#z0t2rfoF)iI_5 zgwQ@Ue6N!^C##aOZNU`V1MKhTu>b%-07*naRDcseF+s~=y$D)5H|{zff~u(6D=;Sz zSHqaC?6B}bE+`W=igy7-HaXlk`~hhzSxp>Z$lel!am>|r-*z}YVGO4%4zL1ef_>qY z6+l?FnEy<}ImwS~Ro73!S|y%C>RdJCRTyh}@U=b;0etM&4zU4HIY02a-AT~X^_iZY zOUy^snV@Dh>j>q`J|vi@*Vt_|J$3+gWP|Q;wVjDL<^ts+R3>E{0_bKL>kZoQfHA$E zHChR^@WdL`RwZj4>P0!!yYs;g^$gH=K)zjX$ueyKpl;~EejDGdZ=E$nhNIZ2&!%}6 zi3oLb`W^s{Ah8Uv67tm$a*NDTSOHn(+`6_u$pE#!b*3T1tcH0;mGXK#&D+M7OHb2> zlywu?R@GQGZh(u(jSFf4OXn{8ngDo!!~(L&UQKg5eGkxyK5HM4iKdOWEkIvYq*V=9 z-8F$kFv0-bR1uYt=9)Pw)j7#-z|d#^EXuEWgag(zI=Ki{bAUrV+g2mc<|o#3u9Nw# zyp*Vq+F1XQZTltfYs0S%Rq8tOt6Xfu!rY;ZJFFS2SXa~mZZ$E726#*T@P&MERn}t2 zgS81MKpTZS)Q>D&wFKOy;on$QV;ier%^u z_oaPQbGI#ZUK44OC;JUqC0sO50DaYrC#qUoZ%yn6YzOPkIb#dpP9Rs6YT2yz&)Nq2 zD0PgS+DBc_9CEO{v&EWmUHSHqVUu_`SmcnPo_zV;@mtV$OPPhCE@RcbN%SGcfI4JH zFXE~gJ6^Kj$}{SGYNn~Xkll3K{^!f4@73Ry&yR5yVH1GnUE|{u@5P_uN8C>D^EJ}) z5n+DY{P(-=e<=Xn2B41v_HGz`XY{&TmvslwCoh$U`8Z?-T|Gob<6d45MS&u>=}&;^ z^r5?Vaz>wn+Ue0@Z1lnC`{_@zNmO^;z(ysdC{y{0^5>BiKV#hGo)wtaYh3eSsd5bb z6`y1Eek|;XyI=8Ux?P0)I{mNfKY%_?c0Tq4js z`HA0^AC)gfu&=xpA%E}kM}&I^TWm^aP}|i;A6~mQ9@F#ny31yrjWTlz|CkxbL`vVu z(ZPVeqp=A9ug(No0Lz>^ zL^W93FnYjbRm3~>fDvn`t>V<`sbT?O!>qX4|2Y6C4z1*C;K;Xc5HYK3|N+u5P*LiNEb|EL?YAq!0)!F(Hk zWDWIGxKiX*ppOj;bB`y=YwI=|-auJs>d2tBjtv;~;`cCmZa}Mu`mVu-)E4h-VrOL! z#*-(&du|FqUS+9SS2Zqp$b+he0!6Z%WIJuMK~hCSP)9&Vz)v<{2p)M7nsGrTP+|BI z@zt7l7EeCYmZ3JBtc+UT)3d40M=Z~wtRyE>KB?za0mQIr;Fc`0dNu^xEd1(W?AiW; zUZ%mhD(O`N+?c)q77G&U&3uK7z@`#Jr)H^J%BxsJKK)JG@Rs>=L8LvnU4YR2JvJuD z+zJaGH+wE3W!Y6RA3G<@YSeRZd?>Io=O)gLk@3}W;@rxnXp2SSHh`Y#=-@+DGeN^( z-!g8vAQy~t%-B;V_Nc!-7T^akAZU*gAaNa_ASn<=AjkSeU4=YuqtY5xiHy@z0FeRG z$WslAeNWy682H0|7rlE?AF?oABUVu-1)DE6mDYpJNc_I14El+`$Rt&5R9x+UfRZrg zsD)@7gVu23Yn?W*ffNwi+0%Ips>BGb8!VcS?|`_1QiL?VO>EU6CZq*J($ix0O~K?7 zcr-D?aTRbpBwfKq-wEd@+MYp<%`dfy9MHy9+F7d0HepZR`tn9L^%QkGz6(MQHQs>{aQPF^FhI8C0E@%_rkl z&z~Ep3fZUjc9nHDTf|STQEvK_tXk@p|D!(bTQZbg+v{}3epiRA$|4k?cEfF-lPxN^ zw~N~H9%EhruZ&UJzEURWru-9xrU6vJ#^z(}nDPlHPU1=R`23^8D97TsM}DlkXyg3q z@8SkU=c`ZS?ors+UP|G}UlBKv|M|>6N?R0!zeOG?Q^*bNd5GF+*SpzhKR_Rd&-k;?D*neI_9e0R>D#V+NY>4ofH!$u#6P`tZag&@0$HRb$OV@maIZc?op zmyh$V#@$Nv29I|mWZqa2ws;Vs`C(Dwl9$czhL6PZ_@aSKH>G?OPyVh6`yT&%R(w*s zayOo*Im!HZpdnZx;AKVBFfKE&F{Uu~A?QW=0&2;qei~y-uu|MiI`)O*GAl7Q?9ARA zn8;vB;45MH$bt(HhFqz>DE6An&sq(W&q3YWN zlV}jN;u_{fH@-0tIaV`|Ss(TE-x?=c;}_tfQweGXLxT#iD#KPBee{5|1*$aRQ0=(Q z0l+paL+{J(s%4(81N@<;0#Fi&lgU;^oH3>{hlUCy#TE>WG`JV+K+>}Q1RQJx=XS3F z@=$J>Jpz0IqL~MTCfJD#nlT2Ncjp!A^Z;;ae-A*30jA11$&tqah`CX@6!bH{!SW*? zNivux`0o&;m0U)gwyU$53`XljyIi!k6F2cWUs6Bh!!bVOf_0PZ%mc|{7tfOk`P8ObNX$v_VHZae}KEXO6_2>`$buCoO9IM(j110&! z!~}&)skBpoe!MGyBfxAs1*oAca^F}Z4XVfkH$j*x{#8>pnSug-v2GyI z(A*$T=Cf8C3#^?4jP{*_xnILUsjQkZ-yS-y@lW}U$q+{(I<3*+gJX_m79`!@ z!KNJj#GH7Vubo>24^U7QXu>mx1<lRg51uB^ck!RR^A*X2_ z=^9BQK(JM*YuAb9EhL3Fs$6?|N{URm7jT_m9uL`Tq;(?q?VqIOJARV9af9EcFW4xk z?06?rP_|(W`>WJksqVCuhaCtA1K9Ds|0v8B9Izhf93Ky+s;aIH0OhrU%XuDMV}xoj z>|*6E(x#owhW$?UdIjBnAgFFXwax`vV@!%H5}1A`t5J=W08C-RAAmQ#6#&S*66lH*afv7s2|nc;}9aEckH7d(T>WS4n!Q+s`+QbSzorH*)!+n zUs>=P62yIr71{Ms1n^6`<9v~Si?~wA^qAV^WuKor(1+LEpN7}n5e5?%3=vOWSw&krq?Ly`aqsK&X`ruay|-0rsy&~?H~#z~>tB_pMVLSz ze~gX3zxxGtrY5qV{j31`7{<(mgV@`$TIBK1ME>l+`#9rR-<*TZcOB2WUuNZvM@%Bv zi>S$gKElMHWOvzX+UHV;**HaXM`hy zct65LQ0}JaBK_AANa^zq_kHx*V{ZKZ)7O}3A+M2szEN_p1j=CIadDGFNl=Q09$Wkyq~v{CPF42pZ*&x@VM0urBqe*u=%=&QiuhWRhprar7_B6($Fa zpXYweS7eanBSXHM(l8+U^cO7L9$0uga5VjZP6j%(WALL6% z2(h-M3|53P9yTXqrD|H1nLf&8mw=87sz0xkQK5m|)`1F(>_Nd|tJ(g2K%1$myn)L1 z&0F`w_NUG~l3mB%Yyd|W-Kc*zwU9pjau-j*vGJsg%9bpy*tFR5B{|tWn91|h|QsD(LPX?YSqEeH;v<|kpHyWN@OEqn7BlS`GGhG5a$1C%ma?Rj*=8x-Xa~P~*JN#PzvqwR z3*RH0`HYa(jrWXSNlX33{811d5RM4^86V>`Zhl0(-h3^AcxD*GzWJD&r2KnJKTm|J ziHwpn(^nP8{MUw!zIUfGq>uZh)O6^E^Dy!Zh5( zqvZ0lXKc>5!iL=-S|oLNlC6dx$&Y2uJD&bLN)1^)V7y&4@~ zcjBjgoV(0puqo5TOS;NGw_Rs&MPf*vao0mMfS3Z9h%wrHI#3&qmkb;8iE((7`U+WO z?6y40uYDmtR+;ZP=foGj$Cdd4u*!D#AXi5u0ZNirm6-Js7A5VzVav!?>G9QFhOyXnt$sgiIFrP=Jcx264U;eee_-*@Ac7aXnBI?@q zWxmu&kA2(p<6uDW)Vhj(MtI{eA0}#E%&_?}CF_oS#4~?WRvDav!*ptZM}AwkhEu+f z1MA-?6vou=kZhkDiB~?xZo9^T0&6wX6%;m4(ZqyJ>HCiVr~KP?vWNBTE9j@zi?#us z`%y+`-j~r!mdTrd?((B2j6biqfo9T}K%b5{P?g5+VJ+`QeUaI4I6{76F7av!tb1iv z8L@H5MH~t^M$z9b>;KQ*n|5nflzHAeCkDX*upCMOB|*!ns(UTFhNstho;T%y{ieXr z*y8h1TJS}+rGm9qNojQ{37Lop36ewqe*f!=*!#ZE$;<-+l6ptx*%5KYHOIK)-g`&- zt_GpM73jtzgwV9p^aVe9p5{-QYTMw%kJw<{_~QXI`C;1i8f}Lvfj3a_vdJeud7)d? zA+oU9r?Wj7SiR(phS5{?<7@RtH=z}@iIn;lQZ-5RE)$WF^5zAeJ}CQ9DnTB$KgV0O zlt6{8)#BQ$o433gF8vVDFy)r+jVC(;Hhb{d!@M!^%`f~VPxRfn+|P1c54rL0Hxa`( zX~!x53mIWZ9kFolDX#G9?%3#~5+8c#Gi>tl>Ml?8J#zkG7MN6QY%NcOoJ(?C^j+$g z*mOB=2;Gm1$3FCEeuFoYGZFM{P9G{eux-H+#y2h8U~lkdawZP)@xay_A4LDVA#jn6 zzGvL%d+Mp>{3Cp$?@15isBiS8bJ%E(4IArbawbBt&AsRL+fm))BkZ)&4& zIrCda0B#mtRMGKR|J3BRHA_VkQb@%a`=7x|0w%YFiD#L^7-fbwbiitW8o98_Bvt(n zt~$f|P}Zrq%Rd(?B(aNOmSjyz zpSn{^%GV$+3~lrEMs*}+#D$4wofAH?^mHQ{dLxX|?V)?acE#gG4m zlleGcRmfZbo6NT5yR^!^G7bymNyP9pnuT|JA1C>l>Mq zm7$BcD1i0>DNDGl{Dfq)Ohnp5WM>j>xkPTN zq<^&BP*GWDSlr}+f%dWft#$(jn^&5qe(Gc0)*`H!L@i_v{c=O=MxHvMn0o0vH=F#< zWBEY;^XCST7*v9<-&d6)MIq1|slAOl>)W*Zw0fcO|L7~;$hnx$=5IC7CqFR_3!$B28qMNgm$QldUti{?nsO`V~+TlD3Bl|l=v27g}l=EeR7On>Lb z0zIwU+*AOU!uIFuM%Hhct>NB~8tXrAa!J#M&T>QR6NDjDDm1a%r#6x2B03d`4sQ1O z^s1!xqdaNj1|Kw{W%C_ftbc#Nzz}%D4g4q)Aqvo|5fq!>&+#9{;~|u&|8WUv`cXnh zru9Sh1v0`zQZVbPo^B|Na0MoNAxGywG5Qbt6UchAU_axzTVCDeiM~(#J%@380p2`q z!guy~%%N~wew=B=%8KA{;mz)gyt?Z*`krBSH1^)L>ea`6TWMy0<5p_7@)RyO_@ z$IwyAs5ot$Fp7syWHarT6@avhhR1%9Mi_j|asJjbD^%%yI!yUkfH z9u$s4VU4`Jj-9!o{Nd9=^{qX}P#F>j5B;eB+Sss&@fR7c*LsqTdQqViX@!)jRL9_& zBN!ml4)t%<_?+B!jC^Do=R)DSF@gJC*e9lK;I}hcl z^Eh7!{AA$5lWgopwi)#s^KWE8Bmb`8;77QyC`cY?e7!*I)egZ! zlzp}wufH4{{2%G1lYWbC>Y3Jse;qV+6hXBcZgZ*eU+`KkT5?^_or&G4`{onwG=j*l z4rNI~=~VLH_WY+`)3`KPCHdca@2o$>qfzG7UA~3>kB@zZZ}gp8?&lLoXYeaOHQ_G& zP~8hy`7HLsGh%Xy%3RFoAMX)%4&(6D-FkKR@$b~DyKeMl0EH&DHzO4dlVYE%ZQ)j- z$eRhsNv+vQz6EX56JaK*^yWAdd82J98@gkNx1eo$rjUBKV-dhAucZ+6%6-~am;7f*`4_altWXD=^Tcru6< zqU6$p1*^Xl`nrU}w_eWTLaa=h+Euk+%yg0Zu1nBK;)!8D>NtUGM`(NwEVX14`KlZWtwRjbpr_`b0xat#XquE;vG6So?IF z^;a4Qw^sP)LYDSW@>7{Cyj--akKWWFrDuGC{A}QcvHUD71UI(=i9X6mDUzz)rYO?t7?ct zdkwsG)>CR5pN81Q4zG&9pla8CfGqHB7Zparda88ls->xS$ybteUXj8LO z^9v5)`1#L&%OMt*IpD(sYVKM-dLJ?0-SqW#U&r(C6Te^hb54|gl?}fSvk~}LU-~pp z@_jhp{k-d5f06ckLvHdR1$E~5XBPcx;f99ZKxqoPxZ#*SjBfVn;nTE#wU#z|!%%`S z7A6D7B*%unS)??tm*oZpe$eHH7r%N#=-lbefc57;MCU1lssix&RXsF{qHPEdjqOpG z@}q-#mI*#4 z_fwzfd;W#xUpck=l~WwXaoX1@y%`cQ)QMO7mA|py(yg%02LyTQf;jCf>;$$dwl8@R z*^k6E9ojvfv7f>t{y&j?bhdqmIb#5V90O|pb^f8H(us2umNJ-*po$4fZuz#=_JJdD zhCE{b%Ue65ene4MbAt@H-O>#OKBsbx&jI*p0H5gdpb)=>=4q_2{>Ojhb-NF-(f6sZ ze3fs5aUjIq_acWMP?!Y#0nl;XI`T;kW%WBrvC<(KHIZWP&f zoO@!#U`!2Zv%<#sr#oZ6_2^%4VSrxY7v0L&G8JEVepI6U`lFj`l>x6!7B`gq5p>9x zfg^BR!wzg&GAvg5$1CdWZil|sCEb*x4ext$- zIN|zOUTFmQ+Huj%LFwXua8x`446$};Fm>XOi&05YDCfMLA9?k0#&7sCp86($OqAo8 zT$_pT*ESjOm$ps08!)mLtijo6);9jKevAVwr!0M(7<_%Ce=>ha9i;(kgHJJ9&L3=w zRthqDH*=AtG76qG6YR(@U0|iputa@jSW|!8K8PS40)m8e3qz!&CLtj)kM1@RXIu4164=T7K#qJEDSJ_$H2 zHTt)ZZLh=O;KCCU=(dK?^tIpi`SO_v4hhK~XZv<82QLba@H|)@^2d5HZA?4dB}$er^f zuV>$kH&7sCF5?C%n}P4&D)E}!^4!VP;D3ZQ~(En)Q@PTA%qKgHhD#(Qlj zh`|yXruC&at@hTx4OhRlb31eN<~P19^SImoE;Fe^)9*boE1&dE#BEXxzAbB`<_Y2H za4K~he9@IJvM3lJkM*PN{*X4a7doO2|JOS?Q(e?x;%D~3UR*hpA5jfUoi6wwBDW88 zK->Cn$Mr6t=T<3lWPSc2E)s(t4fnsD>Cez7$#}Xx=k)#fONEfmU^x>(tN7H`!;)C{ z)gAlueBt?gzgNChU(-O@)DqdUvGR*~&d-V;5e;U~Xr?R&L$)1lIZHa3VM@n7;)7V0 zeu~0I${>B+W0FulW3($GZMJRu&WzWxWFaCgxPZsCsL4y8R3>B__2hH0#ZH8_neN^6 zb2WJRLeAeJ$TQZELPPXHjR}$#+qr}HRJ#ZUUS+V6Z`k63Wp-HZNq<|fC8J)_iS3M= zovqJ7MX?90eN&6aRw|VeQCJ*`QKU%AxU0F>g1)a8y(fIqvHQAgxs&Wk_C3Bhb@NCT z8Hyi_kEWSsXAdCS5;-Hy9efjGlrSpfwUta;S^X~q!BM*nZkszwp6J$q8 z&Mn;_XnEAob=KrLvVGftc4u9!2ac_S-^}Ni=kjap&jGSP)}opAdB+1uZ0*XQ9u#fQ z@%U04l4VZw$%_5%nOV><+gn-N)>jx{R6hh<^!++?WQx)%sgw_smlu`uW)$I2V#8q?ntI29QZ+c?y<`^j726*Ug3mG!0bhw*JJv z#`!oA<}Y8iD~zVG3VXWn-UTr776hyWEP*P@hM%~2boyJ)nOT|HVGFIqz)O9z^m0&oG>__UEsA6w7?B7-Bq%KaI>89+CLNMZV>Y~U>=|{iP zzjwg!>W4e2`=o$$@Y@!D1`ya_f?i_ebyvgw5@77^ zj%&>8G2Gm47Ejw*iAY0!n_gm;u=)n24moLdRb^-iZ`7OnG-w`!g2&_bQ0%>1Os40( zxb(UlIYIdR$V~{wx_9ay7^x12<2yCi(9)CzPt4~*kG{~N2Z-p|Cu|Q)+j~a*zJ>nS zj|Aa1e<0ZI?Z3NKrQUk;_RB2w%gippyp5%hKp3ui{2IbSeMO*EwF%m;fU<8vU|ddL zCyHqy1~>!kM<_k=A*(w?HFUqS_7h}ZHF;}B2eWnsCLg*qPX2KCSow%=5@?Z!tYy;7 z)?Kd99n+}a%G(ly^IqZCjl-ovDbL=e%G`J@onB(DfuVV)L&&i|0=+jT;{~5@0!~!_ zLOwi=Bl-{-w!@$V%7>R*smYj8F>mARP zD%M9Nm~g}G_TDcQ@~)|p;i}rTZH#x<-alQx}QdRZ*oy<=yvf=E%e>{jfD-n};0qI^`F&H-?(7^mjt^_W`_cx`W;32048wzBLQ z^D=T+9){sQ7Qe55{HSE{-UfyF{jo^!&wkHkz`rvSsugYQXwLl$<>U@ArnH`x8!n|p zs+(FXuB4Er0}ydMuX}=o4A)$>p2Pz3y7)TpN(d6JZwiAS*sfi3daV>J6wR@uc7V+gyhoa0(<}bTUTW>{~U+5;RrdDQdMenfaY66NdJI{AlJ2|K?Ov-qok{duF|HAMYbCQ?v zRYPD&oD3THF*ROWYgoaZ=3RDH0k@>3w5UPomn4=!BG_nmdD|^#l`e-3o<0qAJO#Gk|eqtd$IRdCZduZu~6D1TaRH-I8 zK0AI`VlDc<;eolFCG%$nYBvd%x?^6SX%=5vZOyTN>mvO+$8XuTIc_~;Iwxwnd!`XY z(x_W?I8VxBcnE^5aL=|B5JAsAgq0fb5c#@hyYVP^vmwqZ@!uB=*E)GaTn~1bLIDre z>#beI^%h-NG3lY@e#y{uT{u38UacQ+p(EIMmD~}{NTHPn0yFfB(~8J6ORW&gb{&3k z`Wa`Aw1F=qLCd6c{#tKIcZnc zW#^8a5ojdTq!}yEM>Rf=v)-e~H%}y*Ce$|x(jtGAD1tnA zOzmKHrpW%tql4CD?-7)?+LU*rQW! z_|UjOPhZR(GM4t>O1pn#A*YRs#iT_CV^P1x-JW7985FVkFUz|$of{=hVF=EjsF_(W z(kFOqB|X1uvhSeuX=GXA?V)^vFq6hCWVGEhZ|xl;AOxIWg-~laqlMnTVCm!oR9FBG z0NUkgJHQ;vjX124DdL5RG%kGliY+}md-{ai>ggMbGmwZCc2>sE61GE;o#5Y0~HV$){+NXa6&&h4-A@o^k-&NHCtG;3!l!P8sL10xY~FUHQF zyrD^R_jh8D=|?zhCbS5(9dhfBVj7S6v%U3-ji&C5^S*2T&V!J7)QckQPS5R6 zLO?ptP?7rjb4gwIixckGS)f7x0(rPxzXSdPhi_6g)4*FCpPV2c2dKB6M`nxs%qApE znpUP;Cuv12dltk|Rp>1(a+rH!_i$M5q5)Z@lbUV_%!Un2fImSBi30`=Jm0P)4$8b| z;mG|Lg?s2Hpv#>(tHQmDxz%>>gL+WIN68fk-h->}ZpfW%eFVG40s*0jr6o4q<3^Bw z{;}%p*ihmz!Qp_m`I`vFJg4*I?G>d3T0Q+Q{=3chb>a$mX+ayaIg{_NRf3><8* z+ai!lkNlQSY4*O+l&7U%P%nA`yEUl+_w!j__jdl}BJjjUSGrhlM&AOlPvI}R^D}~Q zo8#cGCVzuVqD}nRaqkz2ni>#XL7ux=x-fzhe}}_H4KjYm7Xp=7{?;W4Tz>Z3yWU~) z9Rv+JsRKi;VHY%KzwNMTZ5a98QqokNwcpH_S@+{MH8#%jixNp+|Kc$KU`AveXdlQo zX$gaUM4=W3e=-{vT0Vq5drO+5yk-8l!CGxlAkTCg)EBb@bc&MyJxsknsy!KO(!eNh z{XjOk^mmd{VR3bB=oGHmrYd%NE&)=TQZ~sS6_`HJ?pi$RKt5*Q>^OFB;i|zUwib}+ z7%N?!yr^l`>h80~Ss})|x(A?PPRN!ca=cxvouFn(W+m5S%M%6c|Kh`H{EKC~0#!^U zjXAv7jKR|(qCPb#B`Hw|Zt1)$z~!iKfjYEATSCbsR&&0nm*0wfwC>FrNO#19nJ*bQ z@v#*;^zBl3kukzaxPEJj}*Pp@hI z@Jz(DVyjSM(rppyIbk12GQ2(p59p{Dh-G>avw-tJa!gN6sZt7%AYPR@VDK@{&}487 z7-pI`Tg)0l6LK^#E`tyG7`EXJE&xLivxdK9(qYWIeP7v|+AABhU|T2!s?)K^Laz>w zs`KMLTHbTQkQYT;aY|H8FQW;E#LU~02bi1zR&I7)iO!27COzM!RZ7B)#96haVx?M# zl%nk(oO+vIExlZWnKe=)uKEtHq@>st?rRj}riYyU_dK=wFj38$npynQdVx8-oB~S; zw_T{8{yzV1kvm0&{%?^il_$%>u08L>m)%QGvxBo1|0*IFJsaMph<_7qn8Qxmu=RAI zH_JKB@w*;(ikd%e%vtGyFImlzH-VaEF)thMv z3#xM+*`wdMtJQHFefljsb{xKoVtUm3Lr6>}_ddyiNYAxJU4H2C+qJH$^j%R}HqX0a(1{FXKyTMAdJ-}~NZ|JP zZ1DH$=UHFuEeyH45E7i3Lq*UVvjuZ6AUntxm5Aa=v?7=@q|_0=e-$(b40q#P7lgW~ zmm6tz#QV?5SOxX{EqPzEp0)Q_Y(I~SDVWYgXgA)r?^TtJa*3WpUrCxUbY2+#qW3o4 zm|FJJ7q|GtmsAam>LH%*`M_eEL454@?V=$1ROYs-=AL7}2t`O7x-b;tRjdm-H&GSo zKUyT_&2do=*~dZ&+Q>}aRP$AM37k`Tvrbh&R6CO;PS%?A&; z7@CK|$a;U+h+FD6r+)7Ssl{HHpyB5& zYo21?8+$INYsSZWUgDNr3xAM_?p*7xl)!6yGoqGY9376GI4sRY{HaDZS_|&Qgt}mW z3l$QKaS^OV*4%BHaEj>~ApqxIOB^Il=$aShO!rGa9NZ_bP9NpY*LK7ahV#CtfxG|F5JkVY@AJ4 zTy9Cd21i<`+U`}ist2`Qx39c)$dZaSO#*-5g9c`@t@g==U`p{n=7P_`Nz9Ep+(*xJ zv*icAm%ik}yM{+LUhRH{gqaK-&RS7#b&Sx5^mNHnZ;d2Tds7~${c>1)xCOoaVc-xg zsMmD}e(tgwU5aVDcYuq<5DSr5;hGqX+}Lg8KVbz<|M7W#$2uW5yhU(4)x_$m)3IR^ zEQ4i>4KLCFKqLAA2EtioBUHA1-zt-PBcJPZh5W+A?X2r+6+%}taZ*2Upy#Ml#M_gM^_$iUqPHu7k7}&}?t5jnU zZbY%d<-HZGdX{Z22IFLuY%utjeJ&j3@U&*RM>&3<%GU&-`YVStQ$`&vBdjPA*GO|LxoDbDN~rH}-JL?>&vq)pWM1MuFUdc_qUjcH}hy z#4VB~An&R{aULR+eGs1e>Y8N1OU~ymyWG;m&*++Kp5|dirym>#E!E=W0A!ZiaRxB# zx&&HQh$wGo`}j>o^o>;*C+~R7NH`HCsMPe*#oIo!J;LyJwPnILtS!XdE}iQmSS5|- zUbE#kpMavP*ST1byS^EOU(CDlBEq1G_wn}{kAw`%ZG+xB75xXffep3W8^j5b+ZIfe zZPq0;w==i_kToJY?e+$^o#UIvg8u1hyKjDzOp&ME>>y%YJQF=UsSaikhUQ?d1r4rD ze8^u5zXouPlMEI$1P3i2WsO5E#BjTez5TFul=Tj+x?bIt)MjH|E!JZ@faO?GK`|H> zbGlRA+im9eXMjGmF!^V@^3u<#pH09|>JV3%eigd~ngEsP$;cIK(q+yIOTtW$Rt9KU zLIst*{*&E1T{Xm7gQE4%^5{+4>nD^uD^4-MKdB~qYkJDjz(DQt$NJhz3tW(I#ni9C z2#+D*bjRO2&(nHXZGO90gr^7I3Sc94f!lqA-KE#Vp_uC6aD8digec99c=F_9@a>|k z50g18MG&kc#}0p)(rfVd-Pj92IpwFC+uX~H#;Lyz<1`m)@b+Fz$~eydcBSXhH7zh& zyyJuRD;kjzm*%GF=b{OP_G)(@kQ4I|2sY64HJ(>}to~xkYMu4RQpR3cC$w(Sh?Mvq z(s)I8peP*|LhP)F-x4^E)Oci7cq3MMf=E)T{B;XIWaBVJ@83144`7BRunnJ223MvG z$S(d@ySd`YUyV>#8>5KDqo<9Ndi_Pv+SwE9PhqNkp@Qh3ccqqzb)d3p?CCu7GqmA@ z9`B|UI-#eH-`?#>OxI0*jBlhmZ4bVRtydF!1XGXdYbs=DyE_?W^F>N-C+2IS5Q{eL zliWAj5e){LcB19vNv8YHAa|6ZC4> zALlSh{G6+nxYPP|Wq*x7x@RCa%G>+R0}Yg32cdAr{Teli z#fY~CGG87E+ElTcOy3qEs-Kp_NJ5m&t^mh=yYgCS&!Gq!ts{X4KcNV5B%K@hiLymz zpCBXq+yHX^v_>m|pE-SA5FnHIseae?ObGDWUB{*sN|5#VyL~<_aykC4`*o482vJMR zoD=a!;$fr6<9UcomkM=S`e8-lU@ZjWNbsa1>nXcg8uSY4G|wK&HF1;CWtg%{_ZAte zs`=vnIP@62ljGi>j|f`=Yj6A(6uKVQ?q%p5tynvS`zQ4J+XrL__}^fqwj{3lt6NND zzYRz^*G6n(Q$p-IV`gMed(l6=b663*T?6W1X_8t+*d4d{q7~{-Rv#v4h_XL&KR)jJ z@J1Yl^FWjx-xp9rz8to5Patvwlr7^Bh97>u#+!wKaKa+C4A{vM(3*dEOJS?=7*4f! z$O0L~fvlyNTX4m`wcWXw8D2nZRg2S{e)>w~5s)AYy#2oJnr8T3DAt)?1D)c&!-~Ff z)?3B2#CW|sI0*@1hW#)Ic-Hu8+SfV#oS4bq4D!HgeQvb~i{itBVTUMn4iM2UYX~yR z`fH13>UkD*64MnQ7qzr9=l5hB8q+W`jyuyvN2u}3UjdmJp@x>cVX{Y+D(!E}nQg{^ zZCLI1u4_|Mu4?cqY}VU>hlrFGsQ;T-y;=unSKHehmX@r95aq55a)og2#vhSUaE=JR)IT1Dv326?;kW8LRk5D>i=j{O# ztHie&Q&g5KrRh-*!dM1LM}(=rn?{i~WP|>kkcEsI2>#il&GPdBx1<4Rnx~9noneYQ zEAfxBfo@Kv9^RBi8a+ecGihPPFk&U zxbZXed>e{g&f-Y#)r=5hp(~lEfY@V2VP*A$`kqtc-)N&Ik01=@0@VX$b&fk118R|r zxE5%DpmFpsyk!Gc3TsNjc??<;`C7(Pi|~}h%D&D1-HKCX?;PV~-?h8}iW}7(K;P9! z#ThWC=NdnCua|atrr>7se2~F*tX;H1H_ov9^@FrD6%2q;;p1P**m<2vgkQG{8=FQ79)md~pYr5s9~Kd3Q!O6hvLB|-*xN(b zzCPjpXNQ6=Svwef1|C=f#$*{TfKu17E+ zHM7%JJ3oPB2@g#@`0a&>o@NgXkI5KT%lG%5+`MA~GC-0&FGC{mSK7de(#c=z_2Oek zOO5-NsWD!Qm1B48Ux|M%Po+j(99ZCEZF9hZSd5p#pBS%8`jA3`hxe2XTQ;Q42L0^? z-@n5fqgY91*zucJ>xRboW;_dTB5p|(bxMD zX%N14+C%P)3gFog5pc~!n1~Be&4{pKTX2$ zJ&TE+CQC&Oe@H&rN5Tcj6_iBzUPPfq&4q(_NsgR~{YMdu%shX!M$79G^PkJj6tB(^Ibja*dJ+jtoqTN z^y@WE#NCVMuLTZTmH~hA(S{yQS{Cq4&6zipaaUiRUEanF@I}C;c0*`XTKRnudNO>c4nyve??wKEv(^bx14O;6-CkB z)|{0zD!62FfyO;RV;7QiNNxRF>BZ>eeaH)m1`8Yr zIb|eW-Yh#Gg@WcBrU(JuzaMKj962WCRhAuTbZ$(`l)b0-$ipsJ7pjc5Hr^seiwSMe~2Vy`f==WPfzeo>UA3`>O1qV)A->7%W`RSS_Jc*g& zB#s`2TvrAAc-x8|-Pg|g63ltfIR+S?VYeeu52tL3*DSe7x)W!A$D_)K!*qCpYe2T_ z1;BZkqoAqRN`wZx&G>9_R$<%xwz!p^o>)p}#5B%5a#qU0sky0an25m;2gmDV?XtQM zwBG|-#bze6`J9T2Z=wZNHcFB*KUd+LS+90e@?3E-<|Hp;#ngwMl31t(bS~dNzhS*< z2wwJZ68CL|G~k3(l`LJb?iSoLDj_;<&D@V3h$tyHG9)}i4&a^-QspNP-ETudO$qMC z-wwVR)%o$pU|PcbWe%hJ5luw^EnhOnSaRU~SzpD2yU5KLsAS}b4`#v2ZzP3#836D1 z)fQ}Y&%h<~Y&K5`bY6YYxNzk@dqwOya*qUlE@`bMesYryQhZmHJ!W^SPwZrZ(+Dr$ z;IdX85izk~ef{KYnxIM+^}#l#XUb=}s9!7J;8o8TXPMNTd2gO)2Ztmv6;1|j`Dycr zo3d#XP<(@Auf!tF*yh%E3kA?e7!av2@Xnnl2S>Fg`a5dK@@D?Js!VpeeUdHw<_h|Q zl>AGRg3rI=wLSEGJWtwns9qG~wYNa`Ri+C`eW8eyNWe5j%_nU*7KQje^TAF*cUVKT z@$lmA7JQR61isEQO>?oKVL^;DdYrAYh%~&X_ll&4*^s=y#wKeuvQOP*Q29@%;b>cM zh2vXVHv%o=wVDl1=hI>gK{8yyoVsimHCkIWeN|RFi^^2 zGE~vfMVD!=r1CiD13c9EECyuxFu56WV}%wmJl>-<2&}kmn5>RzF%q~im)vD?JXCdi z#5MNe<#$t@*!}GdMyU=DKDPt#Lk6SH*ku=w5dkWw6`I2MiU#n?@Aw`k2X=HwT=s#T z2$Yvm%v7}MEED(4N$E6nKez zuAU2@SAS?n*dE8IP*3PjE8=b_6iU&uX_{awFGH8 zZ@3(h`gwh%f%V!dLLfq5d!+@zoSz^I4QO*ph1d0Ifs0^pofl})$Om0TJU%y6$(&sq7Wc^k5V9Av5Xo+UHg`?#$zXm1)kSD&3 zf-ir*9`BZ1nujbya@>v=eivN(5#dAty|X0me79|5EHiBcvBUOt$baBa7rjX}4$pOjOe;r~@s>$TYpq0t`G)W0x1uqT3MH{?R zVW-c0ax|X3`_+qchM+XzRE6Hu&&dw>^^zFSS70m&Rqf3OIBweW0I~-e#6eNm) zcHrK&^V5QPTr%dY@Y+_ha4oJU7ku43RHKr@ofXv zR)a{ZMA}}@P98Xt0}u^%uEtdG1DjF6Pk9yDuL+5()2Fa?X&wgal}~g74>=ZlgOA1! zBQuRW!wF?Iwqpznv4Eee%pE=Ep@Sp~(k5MxM1Y&j@JvAOHHQfNyfb&D)+b!_Ei82Z zPO(D#7)6Bv_Q^5uI)X{kMfJW9DWoIowNO2sb>|Rtn`wXQywWgM^|!&~>iRi#0wC1GikH$IPsLzihhy{EnpJ-EZr2o78(m7r?It_A4}z2p4;AZo$Ze4rk&-B4jl0*}HOm6CA7m z4hX7YmfuNk_tV=J@be3~D`5J8m9y#Q*Rs7P>~Dx&9oUQ#ZJR)zf&}tLHDBWhUeuvE z0)*0Om3I1@I2M1G(%y{~{Q$*KuwzYxguboHy(lv3J(~wxBWaR5EEh~eA{j)s*7=q1 zclm{24HovMj)9-DZ-o@FFUWQ?NB@U!aR5`SM+W#Uo z^)r=km(G9GqfB4vBm1d3?2KT;7!ecMkE%e1wTSpXPg#CGsvN2isLHWA3olKTr6kEo z_AB)($FA;;*K`B@KMlzCLO(;c({{+Hw{C=Eykg&)BD_ z0xCqwzi8gTx~J4N&)+>CSBK{V9s?{Nk#wal+*Q$D0#z0no5XYF%wQvMbB0Oy$-Sx8206{)v&ZghUp7%bowP*LFw zk1IH8B8&vZ+=|m>4c2xuq~FUPuuzL%SChXw{h$!vFWi%O67e>@!arz=WQh7_Hn{ge z+H4CHQF1cEfqfJ#Bi%CWX%R}-Cw_g}4*cL?6f}rSOHtdNM1rhhJQJx@g=~*R+GR?* zPG#v!oPqWSJS0sh=x>d{3NNG(L0@r(}yx zKi2&b?|aKp)&%THAbpfBD zPjE*y@=4Q6A6TWa>2uOVP0tnZJA#5LY$b7iq=ZcIF~oBju730_fJbhW2N8BMTOQ!K z)8k{8uqc2!!R7C4fG!SBtb$8Zl9Y<}YG%svkrmW2i#_}kxjq{{)~gsspc6t3{vL2e zAA;vmsJ_(Kk-I9DQnz6t4F?d(%<3SPm|+;!m>Of4&NdadQgnBKuA+S-7N;C+vVzw^ z-LXvu?N8^tEq!VF%C>(oa-_ihO?J-opM2uU;Hxwns4c0&ro5LNC3u4Se!P#su(&Qm zn1Vhbdy0Cm4XWFdwC0szi@ybirUKhQ#W}1GrAm{lTmo96Fg-ujoQltDuuv0$o(LHyAk@iq`t^GiK z>jbKAh-RfR=f(&M=3geCYJqMR)2}*FBb(QjZxaSrQ`HmwiQ3@U8p3c|hbaFUEW9d$ zW2uCgw*Nuxmx31e!`NFczd=L*({52eH+hSm9N`nMjp6pyapUq7S4i7KadixAwj$SE z^ZFO$TgnZsG-4hr*d)pj)C!;b>4EcHeMpL*38?LPqVDo1wJ7PCQfqe59l6ur?eFq} z@;G@#NwnTMSGwN<(O^qQcv{6JvmqiD{8g|^NPsn*o9@%&uI!~>yd>fsyadfjZnqpS z^<>gdBlLOHgCpX(qF9kN7?d%(UBS*lRy{PLZK&K6 zd3JNIVLZl>)Sl;*vDNTK%&$NmA0YlchWjU)_?^n*sbhti2z^IyacKXG;M z`<(X92u0V}{>dc1g)Xo$I4z#^X1>>O92x`F@GqH6>NWiQm` zgGxTXAPi?4kRRJ#|Gm+2cXpLYtZC|BK7I#Qb$6v~V#LCa;Mcqy0hM73oT}rKKgtCt zZ7ny91{)2><_kL z3@&uUFW1oW*&U?5Ch>~Qwy1PR)hdHb9H|tU!)xk^XeU_cdQ_+Z8pA(Qf9u9^c1;6^ zkG#zVQ?720yQ&IT1Yfnhy`3Bi)Lc=Tz-12YerXS(iY+cXex#<75U^0|js1v9aj+4F zb3rfb*v|6jfq_S(@V3shdQ;4J=&x69w`!Z&*PaL9Wx8lAA`bGYxOc4%67}3?2D>1r zpQ!zSU|O^L`d6bb-7oPYnIiDhevVd!BPP(?H5xt(B=rP`{#?BPnwR|&3c9f}jVd;C z)aTqa(~(1!RS{OSUnl(LVn!je5hnHMYmqaW44RN}6H(C|8x)(D5m$jDDd8(lUiK@-9FM0sivzXL0QcEiq7MU72qT#Ag-i19 zJMoaPJGiDzXP;t=CyYa1(f(@Dh1&ViDkz(@mtJs5|rd2q^i+2XTLuf9uH}5di>8 z^T>2|)CnTffZKd_@Tz3_!$U-OAdVI(bBq&(1Ug?PDk6^u7mK(F7Xhnj*CwW1Q;cho z?+whc{eX3oV{I$Z-oXSN3=P+?D7SeUIAPnC3!gCc)lgN-3O_XFjD+p?Y^*Y_R~d`R zsv%#j@=E8TmtLJ1Beoz>LLkML*^O@WEXFbuN!rS#H8$^J*4pSi?PE^32ca8GwZjXb zp~^2?F5O~Cu2D{Q;!2%d)xC@b#6L0A)(U6bhaiai zQl2dvdR93Xf7tvuhM z)GpwGXTLBlat1f`@(#ri=M9nbXo_Ol&H`^nD~2aKjCZV$EFqem9b(?wrCLf%RQVQ( z?}26*?0r>{UwoHpac7yZS8o;pJSuq-A^2LCw)n+gLOnnHaeo4xg3*WkTkTZnd)){B zFp-?pdm`M5sib_Cb%3sBcr(k`%Yi<6j~|n9yHxzC4sZX1@A-Q1k?1tpr?KR`(S7dQ z%^o{>?KPd@_ekoICr>neh(d^dhVY}2qX?&d{Sh^5dQSH3m2=$X?P=Oy0Jzq~uLz~Y z8dCI^HAHFZ-(16MoayI@w=q!mBfK1K8P9j_P>gE>a83am_Ij%!$A8C#3irBw4|Lu9 zMJ^&&#i8Q190RxJH7i)T>0zDanS<@EZ0uVJg~*KrZ^U7c<4J-~*&j zJ7y>(ZaC1KyD4pv<1@f=@U+4=I&3hWM)=Tvl=7_!w_1yL3qWY%B>rUo*S5Bn5=MkM(1;2s~TX5~ep=!`#zC%UdHd- z9`dk-M%D6tLD$JYpOc;0Ros{j+kc9ulnoj@ayqyAxvK^p4xmzgbi-pbbaUz#0N!Q| z0V1yw#%V&mY>*~}dqMUav#U@2o_fyiN9OTtN6w2vjf|Y^(72+$JPYnQJVk?~CP|(HOx%Ua4Ck|Lh*wL8d2~qjsAM5D-W<@G_wY zYZ3?|ELk%QO^Y!K#>1i_MbHsIn*mjS8gLn$LyvEFWs<(k&M+ts^riI=e^#NmIDiaH z0}VqDOQxH+<<}$Sm8p06)uD*>U&MEX$sZw78x3@?D$lE`H*ql2!i49cr(w^d)gXSHzk8IXQHg zDy@ele!?Dl`x4v2*rmYBR6O0%w>{)pSf>~ED>KCpjiWl?IC@y}V;8%k(EAe~RPd8L zi1oLhwj z`1}iocGZadeJmy0+8DPzX8L=8@J`!X?rKG~Wn+3;J@*#HBiUKG3_q2*pCjx^GL*ud zgt3ZEaoQ5Q|-}XmJc7Z_3U=U=;pzv zFFW6uT4!hqM5xFt!c>Ua_uX;h4G9kk2i_cmic=Rf1?ea6j5M&x{g%L11hZOgui&_E zQurZ%ayc3~qGB*lbRl+kBo~U^EspO{>+jvp!O84lp&0UsxFf#<+JF(B!f-pAwb!nl zQ`|LnU5{mjIf9o8G_fwwBX}JO@cy#AD-k7-bkZnvy;r%l4SPN}b=Foy`fiEO65Yt& z_iGt4MTr!x$%{N;Mw$`c)gUIVn~+ZfxF31)YaGG)!l|C^$|QIl0XXJA%ilgZj;Yo2 zZ#@D3Cos?N{gNHaa{+HSoYANGv_`Zabqw(t`h z_k77zALUsg^HC7cwn*-Ch84{TlxGKdImWp(gi1}}kH52(Koj`RDAmUL%}Qt-NJ_z; zFvii&2R*s@Y{FULiVP^GRin*iC}nCYes%nn?A$oii$a*P7(XrTas?%}2X@H&vm!;e zV{cjKp>hwPReBO{iBCsy>xmFKP2fh#o^v!%?#vmlB(TJtAx2Z)ADjqa@%8fg!HGA` z@Y%s}^%ZLfS7ND$oO^%Bpz1$&MZ_phWZ@#<7le|X&%#ffa7<}$ zvENy*IFzb0c57HOIUIBA+Z;mM>k6KS9y#@Tvjs4Jzc_b1Yc4deyi*QbxS=Qd7-(Dh zrsO95!ve@Ktalka_ucKaWmLg1R{D=-wnP%#gAe#&(-ZmQ?xP{^k$cK{szuoiCsNq4 zk69!E`DGhw2#O~?Cfx)-oKPHkh@@bodPO8D3qm&)yhDQ?5H8QIv8aP?^5!uBZJ%bx z%%y_!gS!!R3+V!?manCW%y;Bn!rMzTBxW0j!9%UHdFczUs{FsR<7ki)VJB(`3u5UpOtAfF|+=+VJf$dS;1*bCcMB zdVas{7>n_C9i+fHWaB|^@CH3$neNHRJ=bm3is=`n9|pcODi4~U5j7_Qk;n7UKH<;4 zdBAyG9~r&pB27f_znM0tfM6c$%nYM}SuJ*V$cA0=k7RPIA0J~xUl0{aHbT=M@_wpt zc_16$F8NbcJ(BpxP*XkbquLAWpc>|wN_Xli#Ek&F_&uUHBj<4#FX+>4CP(@;bSJVU zwg4-@@VQMyVzv^Qx0nSA&8)df1+c2@3ne)iv5FPE4(3vc-e)Z5(c@xH87sUpd#8_|`6u}g*fX_^x~H>V`en2AsP}9%Q7msuk5Zv@ zP=Q>B^~&| zpq!RRHw-opadtib-960*`4)dWtciTgnR8wFjl5K_lk@!(CF9VkyLIWxb-tcxz_gzj z2lXoUmQMaBqqM4*b@R(iyT#MZUJQf+?Mg=~cB85`?Dzgo^sVONcgo-wxz;-w90*<7 z*B(u@_f*Cr-FISSV;PtNrWmh#qK#ffSH@sODdysw0;&w_~` zUd~szcQ_!+tsi!`brDs3&~#`^8s|BhEAza&4)rT>!OSkEj_gYS!SXe48E8Jw|8mRH zO&m+PBbNF`)0%$cC;-Ty8?NpiwV+*kO1Bjgr&`zg;oZ_O zEb|dQGq{uEr%b64-7k$(3?tZl8n1%O+jFe~DFyk$Jpa43W`YBEo5y(Fp5<}am7b=)LJS__rGc~L;z>GO-ldtQqjQi|CkNKL|S-e2_j zM!*O}+_!~`E}h;(bdU$MR?_6e>T9wB48sw2%f&AS=CnXn>U?w8-KLU~{;frs!CWj1 z$|A;G=l2WQ(WtoM9$`j_r_4-g5kZ66QGXB+ocMb+B|(GGeX-Lm40Qf@k4O0~bQm|? zR4=-B_o`uIxxr{UP|-Rxi^CnV+%UmsM!m^!eFn65ZM;tomV46ubL7l-TcmrWbL|^e zG{b9=Lj-vBYN#gInUt%*TgOSc`RRDkwaH3LUst%x7OsiT6r01eBg!+r7I*vm{X>L3 ziAcSRz|1x7x!b#2j-S~gF8X&bj&H!v+Or#sBmb#kT_8PQMdhAeCtWWr`6A{+eVXb? zUd%?uNGE-{cDQf_R=47)D938Td9JE(u8H)^97OxZ7>zE@9MczlP zXHa8bcXW`1i)&x|<~_H54oi-P`{5|`4SX>rW&Yp{gKw&b^iKo?! z!N^n-KL|cj1Q$#OezsP^_h;}E6F-bPd^fK5_gBHVYNzJ5qn`xnN-Qd?>+XSX>a%#a z{S(u>MOpXhXgoBwM2Dpn#c2>40#iJ&puOvJh~Db40IC< zQS(7coMK<8VAZ&vjqdd7bBVoj3F0=hP4JWHwgb-HrJX*Ulln$|e5q zBTqys2l)HkyPU$jr*r?=F@Gs1n$1K>9LRT+D1$f&TJltq+!;M@^08=`ax&Yw&yM?> zw8Z7qD_xYh;i)og!BkOMv4Uj>W_3ggqa7sjTBl*7-dTq_OqIAxgNPPtbDWcI=O|U}{JQWu#CPWgZQs4c zmh8zrH6pA>@2wCWA-90kHI`d*nAV)1LV)$Z0|N^p0`A}KKJnOj9xOnn^=B&l9_N@8 zJdfScHt*W&_lZ%?8P@n&F!4$}L3Z5=PGdb#D#6-k{S}+9 zGfg%_Wx5|z$V{fl3c&UNBLu;wK67^Xy6oWcB>+NQLq;ZDw5)S_FKAr0aH51}DDD#X zSD{}&-{dEBDQEb@bme7rr!RYi?Ctn-i@ejJWU%h&i)-%}8im7>XT!edJ$MzfB9gAk z6*u{c@uQov-X3=HtG1fbJ5fTeje0I?FzIj1D3{`hdkuvzvbhKocunIihTZ6T$V8YZ zrStJCE;m;q_3IvNU4MDWE>J7IeDMXAWxcSnt7M~tmdpJ+|0H%wa$+(5rbC&Re%6}e z)55^=`7u~j^O*N{sIknYZoRzdZ?y}6-1)acjn0><<^5uIm!W>1D)p$&?hauUo(-6u z&zUBw8#RamC>hle>{U+x{1=)uvel)TY}5^{pLy&z_06~H6E$S2XGD2{u5o^$h8pa* z=$K^Q@)>G!rr@g89>Zi*6|WilWhWdp{$`2A6zl;+;>m2ApO*mUQDxDn&_{CCd-|MN z_ajKceZGyvqo0$F-g$dwq^1{Cw%5_0dpM5txHWEm*8U)KggxOg@#t+WF@1BdxAzDd zOPukU{>!@q3}Pdn3AO7;FsH}n?K$Y83mciwlpyHoo_Ta8Xj^9e7{9EJ=t;5d1KKuK_FO?^FLT+DI zHmXgWD$nwj8B=@qTKC1E)8fUv5}m^* za6`EX@p)ummhO^DmDR)}5`f-L8fCqVWB0h+iWneo-T145U9-nG{VHexu;n}uLE0)B z(e*w_+9+Jh<+GjawU&lcVXDF`T0b{>s|NM<6NDCqK7~BEr`BQ@PUHW6J^&neg>ada zoDXqsE3}O$De)tPXsDRhOu%&K(`mcAj=7`AA1ozeB8?75-TLSJn@nejs8-yY(0h4V z#gMr3H*!QD%d6ELX8Fd?A zvxC?0^J`dV#PIzoo0z!TEybfyMgFYUNPkikJ;J5W?}%-~ava5CP!{cDL1@?$dhjJm zhazdV;S>j1?kGtqc>E@>z_e3R;cD3^CHvX-)dB*9%Je*cEaw#V3>9lEuNWI6yl`5W zh0s>Bik$6H8FqX0v50K`hAj@h3*8^H_F>Gq!^9v}28PdZ1zJ4%<6W9;OnJX_B~-WC z!nKoMPo1i^!AuMtY>ZMXjXtWbGrid9=DP>)5@M}@#%`M>G{JXK`#WRPRg-GcK}>L4 zO@LZ|VDCZ>3LC~`KLzFO0GrA0;^gz;pCh=}*f2&OfA_k9;(ZO_h<9P8O?mGGwwnru zQ|nViE<9LFc>MZWHFY29>VTY$rIQZ2^Ey;Pug1TL0Db)H{dHrpOkPn2uU&N7VxiB( z^_tS9&khb|OLGjd6Q|$3$o0I8$FXSd&bQZjEPE!BW=H_ zBvQueC#=8S-ILejZ@2{=Au%)hPA{B#ckXVAx?iq7!GaW!piFv32r|yNd8UnI#fc8^ z9T;8Q=%hsme4RRYeiZB*`|u-oA$gjTG+bf=So(L%@xfd3YzS$0u*)7GQy}nuL74vj zscyNkmvW_&Oc>j7@nrnD+{B?`)4HyLhGUlvQ`o!xk)44c)FK#@xr^Nvj!@+^)i~WP z2&*)w-H;HcGa6!*wv3ZXsu_rWYTUQ+<+tSxy4Hv`RpAqFaI<2IN`|#;pQE4pMqy3f z%`g1Txb#NIi{|u?jajO97HEC^4qFxrs02AMdEK$22}(slLtQ~@U**)qmwmdeb=qb> zR)UcuzKNg+<^~VLfu>-l0U~5{c<&MFwC=RJ@MXH(Yr{IHa9{~nV`{ksnxz-{ZKUIT z!&wIc-{Y5WOe`LrW5fyCH{FyNN3Ra9UB5N{lM8l|bC{YT(}6ue5*&4P2*{C8&bBn& z$6a~UJ+yDcE{5iYwX5xe!ArDM=p;6iiaD4^VPv^JEV}JYxuKP)N4v~OgS#@6tL!K{ zL5VGcUNM9|3;>zE)lD*>td(xeoZ)11&%9D`t?j*YwiHWyE!qe*p&Ppt z*qzeQDPF*Lp%w3VYn~b<I?AYuTp0-=O9kn1x*%^U_{+MBy5!=@#h0_QHnmJnfVz+nEa; znaN=yEY|iP`;;Yajn>Be&4bJ{V{tMq4K)z?1r@Ah0(CphNiZ@M=_$STtVwcB&e`2^ zSi_mfiuq_z&GvEN3Vfv_!ZX`gGgyF)wljH8fBd#P4N}Ki;%RH}c0BYX#9z5$?Rs7i zX=;dSk-Zh%PXZ1~WX=0TPVkn{#5fQcHt#u73cY&HZl5edjx@UV>H~wm?qh!Bpb90_ zU8kQ=2)btm>{7)vQ6~3h$$W11WITB~z9Dc^sq7{D?xpzq5jVh9^9h@aY-jl-RhBLK zhjt_bEBC~I2{v{~?le%X!n8CTA3iAxA{9~HefXXFsh+WAcijIb#?F??lgyOBrmn8L zbhZB(PEzDG`i-pt>de@7Fa#qrGqgEW1KHT>&nIt(+Xc`!@zS z9uh5(E5n{uLIQ?0@zSrH#!x}w_+8T zS0S;F01LgrbY{Zg=A7B&o0}?Vf(SJ@z?<2A2)9gvMlr2e-z`ZgfjK%6JO%dcTvG$c zT!Jvq*{;%tag6SN?;&$8Q#0uXP_75473gF{h2pTF|;Y+0=-x5f`B1BVudwNm8j3DacTg??;GPPe>wC<>BGytuk zl-zSNscSS|0#;T+@0f!D;v_i%euBT@$Z24hpaLbgJgXm?IP>P|QyUgLO^55*@r(5I zA3sX?UElkwow(w%Z+C>L{aSa(fUSj{qq6EK@-25rp7f>U%UPZgNQLYKYtmC{_;xUp z*_X!RlV7|}k*UNeQ7atAuRAtu=e5sQZm_xxkF${Z^(_j*$paMX2oWaH<;?|g|4Jry zMRTQ8@Bx|V=#D0yytgyJOY!rXO&1!d2J;sMyu>yJM}baaOB<@H_5>vc5ugJ{9ZROI zg$-2i?W#pd@G7jbg}{!BU9JT6x};>@G}4&&<$>AwAIBbK8Ap(*1n^yEm=5aHya8QeRe&>Ydrfdj1JMT20g3#T%=& zEE>4`m}l4%agVwYp2{HC zNnu>~E`hAyyfepx89bO@934vsa{#IJKHjPI-8+9ENkkf8sHS6VOKsxHD_C+kM;NeY zy#Gt|=+2LccDu{`-!?HRqJRJDKP^N=N05A>kG*$|SCCVeFwQf0WbnrzQV6((Ov1-0oaM8s*ONsjK7vV-YY<2EX6*%-1f4ey}V%iVWb2o;}muNh(pbWpE z8k$2lh?37Pdwg!6?7s{8oPq{OzYcsFOgzZaj~XZ)P$wobzp4@H+EeSNz)(#%8f%J) zX_4}DPYBwJ)z-u*bx?aSz2dt_f8nybSD3_(C|i3;U+*j zRbje*RjF1AXD4M_L=*J$-NUmyLInxy?fqOIfZNu2BtTUcnMf}FNjTNM1qad&* z23!G^4~3HfEk4-l8ZG(dhqN-AvLpNrnxg!PJ^)Uurh>+#gvDkj;8KLKdbjoLI!V9u z1N=ZFyNzCFTC>RUFQUl%j3QeH>832WdricWk6r7NwxD3pH!=!BxZ29tBy6+8>$jpQdImLNT+)FViIg@=%yP^>1%eve+7h_|&g1M*jt~M9EhSo_*@z z?+(T_4xp+B^z&fi3nE8iIo=N0Ih^Ng`>O&y`ndV1OC|mGxgfprA7>69nK9`@r#s)< zFT3U#Jfs=bcOD6Q>$N?XyO@-RGDQQF5a~y`0!r5x z;2AZknf`*dOmE!xntbWrmN|RLSV03h91Yg#umvDl-)3{xug4PD%@74b_rp^zij@^@ zh-ZDDL}I>VGqF1_S^GUJ&P=2q(r>jd?Y{JM*gzD0jrq$>Z1Ba~3Q|k1Q6+5jloGSA zZ$yIk;W%XQcCg>B?PFRfah zwHwq~>VE=_(~5px^HMyEs?Sra_3yg=EOx!nHZ0_jBz9YF^)2@@37CsC!w)xQ0g~A~ z2ti|v(fBf%_#?tqRgLLIT5+US%#Z-=+EtmlBkZJ^*X;yC!xFX-U4O(5y6Wb_2Ahh( z1JFvR*Z&6zjfKneVqdrDomU}QAsF}1$ctI;wyk7IoH8xB%23mJ_cKI~mKYym+oIyP zcxq33{8VA5k;q)&_8w!VMdwMAIDYL z4JHrKHTjlqltkKs6OF~O1-lsg$>(hn!_jN9Ln)W;pFL$)DHBvs=1BikJ?&h1*-+>| z66+6t=Wt)r-(1>H_!{T)`gPA{1Rrtus)TU66E{C|6^PPCw6w%JW%B%UQFs@HJWhFo zJoMx(VG4U2HknP-2QO>xX4D5G2PN+cTpuCnS1;_bff&Y<*UZ_+G^dr0K=P0umO=Bv42j&?Xha>vZ18mnY-WdXAWqahnyl{ zw`{^s>^ulcQIis-o(|7t!F)MCV|lt^)K55DTTlWV&2|_q6@D6ZsomOAMr1sYpM4TL zLu9LAC!&JFHhB9UD<$=I+`6$#;gb50cm#PeT;E2tyV|89+mcC+gZ?|`H(5swg}d$i zq^eGu$@Jcqm@<2{SmH$$2n*R3oXJ8Y0^W0b+$KSY7%mTdrvD=D@2?)AH5Q1}ySwkE zd#}y!aiTiH&HE8oXa6-d%PF0kHV{Uqv*<&U!y(WKmS}i zvaj~A-Sn%kI&IUh^Loi^^mBKFzJ#CyHB%?e?b?J{Uf34PeEP7ocXpQX@AU!>Z!u6D zca(f2IiTZ!6)3Ebm?GJpf*caE$ zT$1a2!sS(gzR%~*XbRT&R<*%KS6(Bhl;ES*rTYsvFmn1D-ErMNsiVICf!Xx){pO@5 z#4;+`1#wky*Q_7DBp1Ec0~WAQ#6v(N_|0v_AHj5kT^5dI(kV#NZy(cx5P5VKxCH{7 z40CqO>~X(^7}bGmZlCjKLkOO@h4yRPv-vS(ZGYl^McWmxyBwlaOHoBl|7{riTF5D> zyzh@5_5b|rnRmDGFCC?i1RYY~4u0(!Wv1uxkNQUSf9Ypgm{NbC@!2wz0seI=iR#Z$ zN40u3oAL<`=9*eS@I^|8%||TG+vC-?R8YKI$u8;ND?Ck9PdGPAUBxG6-Y5Ef(Sakf zBA+$U!hl$xTAQK|?;k5{_88(BFF7Ds{`Q(Mow+P51M&ARhlwoqZ=w8UY^nN zJWYsc7YT{mP@tfKsB6de=|E6c?JLRKjM&;O!gBo)Pprzc_fI2nRl$%>7%-bxVnW&5 znd=5k(p3;V^spcT6w3{p+sGy~b4WRmN2F1o6=gaS^i9ukc$| z4mUOrFtItBFEAU8ZYh>!G1m!x(C0tS-4nnmZGK|Q>pH>7f;8;-wRQYc#?w+AutVwq zg`V7h()>NAjHq##i{-Cy9jgT@E~lS0+DNr*??w+Y=@&4aVpRcw#dH0T9I9Hs9&}a7}qJ41>D{^=t0dn z(e){6FZurcf89w+sFu+I%_&%KbMu&g}!z61LbsZ|?S(d+p4 z>phwOKIZ!Q708O_3a>FexrCP6Sd6x&*4C7MKC<`MS+Py(fI+EGoXc}sb5M6)YGo(!N zpl}6hbmac&14)ymu8A_neC3t*J~fNZ`1+LdBl!=ls*kiEjZ#x&1{M6g{>>s;gL|_C zryaW_10fqFvcqzD?C)^M#b7jN8;VtH`7qM#TN6m#o^x_(NP7ekYugvQ>zrGD%qO7g zBlY31JxKRy`N4Jt_KUP{dvxIKq?DA(moDziw00yWQ%oZ%7Ia6T&07ZAWLiBq7w@u5 z)*f8r-!Y;6QL$erxhG^7@FwbEW%ZStRxQ6C0ypg$i|F3w*CNGb-W_A!UO|P>=7c*1 zLB6C+UVeVK2W6HzNYkzKf6uI_Y@h9X&;zRQi_w$u7Li7ME65Wpk=`_Hr*I5C(Ay)^94+#2L1UNDC^bZkx_ENQP3p6w(KF`CbYd*0}; zy`ZxF>EN?W1K%_^?WSPZY2`hZX5b0S` zTahyK%yo7%@PVX17iWi9ao}^=xu&^3$0w4V0Sy;d|D1^Mym8GYyF_!E%n5LUce*|t zEawWCna@v_j7&(Zn*_aSv5b-Z%AmzX*LVf8z@q>24(GP1i;ZM1IKaihF13SjaEoyo z!m7^WBQJ4$1%9LR)v1kf_HQW{ihuk$f~MT6>bia<|IEstr70F}eT@Bed~O&GgV;it zf;lbnmetL%lbr zwbJP;Xi!IhSEvatJj&ZF#^Rpbi9${VWJ8C8oxH|F*zv%r%7l zRkV9Ouu#Ms`FuVs_Ed4~qxQ8V?O64ob}@u!+WzcqA5A~LwU=t0yeY{a4$<4?_a?+z z7XJgex}rO;CqC~-5$IfAGX9U$<2Zh(?#CT&+q@!FsjYB=qYrg0zyyFoCQt`|6*hp8 zbbXN4UC_T=KA&}tC;S;Z?EDeHBDY&bhYy!MQ0gt4$un#4w(10!IF)*Qb8Xhon4%)U9PUM_5#;kXL+qtArYtLvXV*Qp|rI81#&eRotB{F_p={MF@;J;>bLqa(9Z3~g!*a;W zT``HPTr(H`fIqYS$;*9A2aY^+0}b^#knh2E3*cHx+-3I88h#w*;aTMa=2@_l=Ux(WEVsd8X8;|`hs7b5?UJWySNANi`VH<2d)GTSl< zIIC8p6u5$I&tZ$ZI=frg&Wcpj3N>%`ewYncCBGf~@N+useDree0^@cvTj-alHTD5%AN2C$IAO9Ydd?)Sm@ z>&x%k=($wxGWL%@bTh#eX+a3lJRZb-mjE`%iD}(&Vu1U7lV@;^+f!$D;cEIXK5@aD zqZpd2tnR<8*M2MF+oHwujaf3PY)AuAxaN1W-S9~#!`Dgd3+)n8y_eG72T@h$pZNao zx&BPL)UJy(XU6!pg|!?W{X`+P9rP?%=3|U^>!`UZB|x`;9Ib9L!76;WEkKe&?XESq z%O-YDEEFc!Y?28P$e9~gwt|07`|PLIAFTs|4=k4Ufvqk${d`pP_wbwUW6#rFGZ)W1 z($6Y;UMH6N>Q4yZgVsFH1E*6#VJy4HHtYb6}j+_kw z-lzAssS=z4O@MV3gBha_Mh-k5?8%mF?mRMswwZ@7M~_WqQGnmOq+gS9?I9O>_yAD3 z2eNWh#`}bsg#@y|eXSw7Q|lzVAsl0NVc3$)5#3|@Yjw8FWTzWC)@C*ROi%*ZY=5Sx zyLi5Kx96Kq?Z4YsPCV1*KB-l!mBp=|TxF?ly5Uvsd6GQvbz~Z>&32b_S}!52(GOE{ zIJxhu`5UTpFP1%G5ad30^2}wuJRl~kgyI88LnIK)W*99 z$lNnZg5TOPf``nGV!F~U@S+}V$Ft@3pKIW)|DP8?t?`SK{O7;X6N9MP)ZB+RBqV0= zB|}P-kCf;A%)|rJYS_4erJm5YBlLsrY^9iRCp# zll0b`LpicjG&d50P=6Z7JW;tj3dny*Jmw}+iJI}Wu=puQ$XO1ezVQ_$^tpXrRDk}5 zzfb(jeLYH9N_Enc?!opjbRKZ)gP^>=$rk1|tPe7&!>d$LF6T|fR>xi@-SJtU^w1V3gEW+7EhWEPfUq_#6au<0u z@{S5IH4W0LVn3~XRNrrFw^O;O3MOMjvjs4z|{T;eL)mGIU}PmJidqY2})=}X-X zLpya0*7SXise*2XQg{hq1*51abP@$oh5F!|bUcy;gX9e7XA%TQ52T zd-7UP`VwJyboM4T?DyD0{*;xp5aY?Loxr(7ZT|d|%*eN^rstDC&MoA7GX0V0$D2F~ zz(qST1cBO%Lmq#qGEQY)dh*3U41o!DM-}=?1$&x5A=@!h2kuZ(=vnFr7xZcJ+O6Klh2}N@sLLD%rYy;r4U|BM-gXSV&HM-DAu22P;nx8kRk{AzC`JJa$v6P3;uz8-U3~TLBbWy)^>(SJ%(c)KjM2aik;Vtl)1W0UXS~}R}`-W%M zMyhSo$zq#fQPc49+_RIO;I7I{WJkW5=4ybY=9fw<&#tu9mmL9GTDkt$92p{3TBe>r zpoZ10;=PMbV+Ul zbxw|0>6Rcz{9Wk=Zwr%uexF{M(LN=!#J4ms{&gGQ`-m^Yy_C5k9pUd>_m-YSf7{91 zN&I=op175)LNlH5=dHlpVFpB>mfCvyfa#r*3(p@NRjQckU4dVBM`8vZQKDc-{L zYQCz$guWLmF+pRSFo7y{#ef@_qW3uw;08FM=}~ib+N##zu610?6VF9JbO!T16@Z9xNA>2&_?&mopuxH z`AVKVqN;wGC%2sb%qGUYPGOw6toN-|nC?yL?zP3_`>*T^*kXkv-dcq9;SSrs&IZ0VN#2Uj^@D|C3*ZeS0Le$^0sMET4jc)X@)w^f(f0DM!pWOKwD}M3q ze)FM{gvIq62D^o?2Wlu#5|peN$YpzOf_X=Bg~cFnW^lSbca?QIHuEV1$8)koVzL|_ z@-#r^eI^oi?MR2Eae&&hflIe;Vn+niJI2PSa^C5O?Y_6hbMUKHnQT36@-RtrGl}uG z*Jnf(aoCgpxNmt6KDr4$DN0in8wR?V*ccG45Yo_$T;7 zzk&#pqUsdiwm&_u>T-@N_dCo4)H3COaMXtS(OK%VvN=fG4e6IJkR#H^W(SKOm_0E6N?arEda$2LvsFQ1 z=JkXcLPz;>>ivgZ+kNm=EmBhMlJT4AK78>YTIX9hXjGO|R9TI;yHAxUyiYjiR%s~y zO`p5i%;nx_+KoAc5Tm5;%gGk_2Z2EaGt&Olg@|ORk8nx<>bwA5QLQ|S^*2W6Yn2u{ zppb1XCV)2{A8}tHUObgiYa}#v&c~BF-Wb z9qHJ}b{u9-3Aqhdmk!UET|F;$j!#@7JZRY2+vdgPD&BuZ?THm1l2vBBnsj+t-Tl8g zK5S9u6K|?>EgI%OX?l7uN%J99-FSo(PfJy$s`Cv_yYhIk?JzZ7RzFV2k`8T@a@gRz zXxk~XDYTT*m)wRmux2te-Hz0X@KnK)y=B?mX{VP5FN}BKgQa5Vwg&aPlzVYLp)80k z)4Q0)<}i7Vwz57>q$_?RWNordbOQT8pnPtB>y~)T2`S0kv|Kl0_8Uz5b#WCcU!=|r zF4*>o`FivT8kNPOFj&@|HJ1G5|Dr#&Tig&O3im}^Y$oy}rB!}i|A?#bFa(Q{O#!EL zJXTqfi0sY{r+52<|7R$h@`T1RL&?sa6E z=8pIq<&Rd=?#`ngweZRiK^7a4y3ABY;=Vy)fR?ZtFKaD`6 zNV*j|7*=&SrW4qV!^{iSHLt|dQBCm`y>gp5Wd_xcT}0v}fF|+vKR_o%AK=H|4OY*@ zh#odI+#liVVao~bjR%?MyuLCFc$&hjBUp9oOKI}Zk(=1_x+tW~7! z{muAfbM9`~P6Cci-{B%@3^O3WxjK9+Pbo%=vxz%d7zd$5QY06gaHveA6^lLleh@j@ zp=C*s+2iVVD2cckG?~4H9Ogt|55myWK6qQgMsob7;MoaS?~j9kXFb1|E~qKiRk{~8 z5~kD_N6nn#FD5v>jYJ2@hh=})F`N0Zqz47jmm(9=Ufry4?7psYQ}RoPU#$ zJ`wesLGnm5oaiX;MH0aYg(1&^2xQv{jxQ5b!0IA3aMzw3haem_1?_pmtU8^rjv5*t zHA!o8kxJN1M`ZbKbo}&YrWGT;UJ-O3y&~SNc^^Hw#47S(C2(&k#gHptBeI)t(X{@k zX*wxk^Q{Ur0?kzArVo5nuL@Dmxk#|&?Y?&7w|uH#E30_#lA%s>#90MC?0ksfRfCwo zLEXTM=UCmKFW)nRlW`?+8r&EYU)gx;7%Qhe(DNf@CrE&hljl$m*LhMScz6GndT_(M zwx2#%cIai40`*$J21hTh!Tos!!E~$>z*-;GsYBy2@tJ$~CPw`^>smxt>zdw=xqhvr z7&*IZO0ovp5Y(Ark5B#1>&hu|=&*XitBiO&(9yk2Ysh1gxuT?_Lv6%fW+V+N+5L~yiiOB4{jncIuwH|q@%0e|Y@NkGgQ3PVeZXZNeaOPra5t?|9|oxdtbOnIsN zx$}K@Zf)2XLWUl>9eDmoy24vhfvNf>8CSX8Fps{Y^U30TNmRX{|H8YA(<5!ruHrK; zP<)WSwYuoDu)=-RI-PY5Hbt7b<&HkfaTPXOkLMvqct7>Xy@{OjPmIRGuHP2vaHT1^ zQ+U-nDf|0U-mF#G<_hNWuPB(9LKrgbQQT+i*Ea74PA2cPvhHh2oPj= zW9NS73XjfpgZi;x--D!tmD+=`_p|9*(UKBApZ5kLgkIRTc26Wl_#hqh7}WARQt~y* zI48GT`HMWIWrkh0N{T+;I?w2JZIth~k__4)mr=;Z=D{YpO7A&$<}IhJ2d&<3+L;O~ z=N8wWwl`s_`9E{(Eu-d7HPc|6Pb_>F3ig zNN7zBS!GzumJ$G{FV9j2{R~p>N^q!G7 zyT-JHWl@RL=#V2{1f7@zGxoL^wXx^LiA;vr!Bg96QS${Rh0WS$n`@unTZD;K+ zYm3*T?Njm@(A2xcdtPqr@z2bk$i2x)eHC!}B=P+N7(KmJ52s0}xa9RKh*pUWl;0;E z`gbv7zpZy#5o+piYI&;fx|17oyI6Ve!FiH=T-(s}#}AM@7SFBb6#F3FDUyz@L(>N{ zLQZy(XgknK*#z&Mp8Yth$2DqILCq?uU*i z>f4o@I-b{hc_U$SUZkf%=(;gx$wMgVveN(mbVoCk$Jx)Y7~etneTdKJoto$EgYX~f za1_W?W-?zQ8C#u+bYkb5gUw;w`jvIQT>J$`&4ha-0IyWdjLjF*PJajE~`K*eBz ztm!HNv5aArhu0c10u_)Uyc|An@u9y!mft}S0cWoeFj}EwN+|<4hZ8|pPR3ly4?KCW zzN>z&dKpOeYGBFA_z1ruOfO9|sFxWVnx3w5P{>fhLs%Zy{o5U-Ltkiauo?XH_wY6J z({f3WfWl2hInDfQ#m}A2vj+J&mC|xrKCQVtJ2@7X8UJ(lv5jCAQ5e^f^%Du%JWijy zi^6!#ZzIf%m&l>fbqO1gv=>O`y2=lq+YV!%Uiz(;g%vL~t;yb!am6Dr>;=It>#HNv z?$YaYyv8ACU;a=C4tAnty^vBY2b8($rg+~^|L5l|tv`0XXoK>1yJPN$>2@>R{sFK~DlC zR+WCWse62GA*IY)bDzl$`8Y2+fiCFwS#0+bhIb{ zjYT!>za?~PR=OSZtn6ebfZ{7j{W4fiTk!YCCU@3enqc`*4KWO+Nwrwr*auw1E`VzF zg>uAV5b2@~FFbxbsaMxXR76(iJ5Zoc0{&|6ZG4#Z5f8 zH5K`M1EyCIKKuMlzuEK3WhkC4=oloagjl=f_t zjMLs(u0Z=oPAvj3pVuN40n(IBI)8uHv3=AUzeS`xI;mplDRu}4K_Uwa@h5vkCY^c_Iq&RltoULM2(iyjlLI)!nU=6K2^tLN-#B74Ou8T^h{} za533iOEMlHkJTtYj*ve;Ta0W{Ee-M<>OaY2dzP9hpy)XL#3pC*WF*6~zAu>XQ9WN|(WF+7{8* z$PndZmvdr7PT0N!XzC>wqmTN!s%Lo5r8NSn*1*d@Z6OlX9%g{~W9~5#G#-I2nlh~S zscYQnQx=+T>f=N_aMwQ#Pg*MdC9t1BR8*DmE!u|}o|!omDc&~Iatz%-jEMAE9SMD( zxs`JZLh>1>0zwn!J%d9&{u>1=NFVvEM5QAiDObP@$fZH=?gF5Y<1p$FnD+BvZ_`8C z?XfyMQdTP+mYv(63W?8tz^f#Ki%arlO|%}1+pr=%v{Kiwd{9Lq_vX*{?R%^b!k5;~ zR*v}NH_?a9?-p|tK+Uk_Xv;(#$)3p9h<=k%krnXy!KdVu=@V}$=_@_o4_b{7Ukp)3 z99mM}E<#>NE8B~3ul7ufr6q;F7lWTU$PoIPvUbgmwc^X*9y%3c^FVA3v0Y7cgq@*+ zZs@r0)dToO=iaoOp6PF(kq()&$3q@9N9J_fJjA&0KqbUd`+Ag{lTtQp^>R+E;~EfU z#*M^_(nm9Q$DByt);R|X8YZ(f9Uo4p{RwD}x)WpbM~P9_&D#`tB17b=!OJH*0k5n6 z)~lHu{8H9MS{sGBIX@zlil|?cd|aTAY&6s_dm8c|s`@7XY?M)E$X z>Xp9K)eF{ptZy%Db@ubX(Tni{JAWQ|ywksvAIUHALcW>@De`#d^45s{xkk>VpBevGkZu-%mf1D3QqS8o1!x`{yn-7pXs~+_W?>TS@=x=^ zAJ-L|%W6e=2RjCzuHtK7zSq(eZR|oO@c8JCULILyQ-**3T6aDlb;$IY_k7l;b-(w- zN0=`c*%|1FKc5@iG+k&2P>@JedIF)O$YoOt%;*T}_r#Ae)xjsSOTwdIu8eWmLTpAN zMNEfr>Kkfa!dbsAVbiaH9gt*Xn??K37OCG=ZV4BjOFBy}(zW8(D8^FG_$D4z>~VAl z($D`GtO2L52gl`E5V@(_;#inGrJJIIIjz?3THcI`;PvH()z39fiF8VMyHCJ5qk}|%@LEp7|T&lXf_@8 z$3BNNQLxeEw+6~QQeK*<(KUE*DgxwOnOqhGZQjodZPOO{r`Q?BmA60N_HojjB@5l9!VT(uc;YuHyPAu*qi_2-3*a(_&W*_6Tz1K& zaWKPUrd@4Reeezr@!ilyQ$fEB9k^4Y&TsK-C$xuAzjOP%8#jVUGb&vu;auI=!A`P^ zoxi7_yi~G`VE1!q*tg4X--l%Q#87W!Kb?(@y8V`S2XPg_^^Iv#fb!oXtap=bM}M#P znALo8dq0i*vKq76em`0Lqo!Bt?YinCEw8z8c$M41(PBPi{uNSwe`Q$Sr#jL^jy#9C zEz_;aLEm7~d#W}^2aX*Wn$|}m%1Aq4q>Upsd#lv?2!IuplZiIe^ZGjX@{^O_>@yi@ z-oPqc*-6!yH7vS)n)W>IJy|tUU_Uq<_TF!xWFGaC`g_CB^1tHKWA=}fy^PXiEvKt~qCZ=tJUu4otku%ogK=tsy=yU(*D z-Zb8$1~76kwutjF2D^ix0z|U^=0q%>B-=*H-J7=Zy{b15ZT>LDH~)Q*y-=B3!ZG*O zpaq#9e>ql;olqDxuPu2+949@!OdG@YX`+ozni<1?cPV=5V)m(%EP65x#j<*D_fggQ z%s~S3xR&##z=a)j!a_8b&wob|ZX!cvS&k(rvOV&U^9596ccsj~5@j{{})WmEjr+r^D=gAT>R8UXVE zs}HtIEBbH(Y=-p$s#pNpqi{xt)35UK^;@6xv$W9W#s#x}`ZW6J&W&!A;7owe+aHQC z#!2=3ngrBCqn`Y?{Bs^@KPT%5!A{mZAlzKuyYiqHhx{45erI}G zRB!kSbY~2YIuynCk0`OL^MDXQIU;`ztlQn$ifVjoGkU6OEn|z}W%|fnD=GVpwvWwT6uStD_VBSpUykY&(Ym<5(qNj9erV^qs$EDlp*}sEx zYG9G>*R#$&lHv98uc`Dsm%9@<%i}kqC2nqAFsf8GjQN_XfLU%8JvdnCo936o2-pu^ zCsgbp(PBdS#pSA40S`cV6|o?W`3gV)b9%ZKK6$tIb8BYeYx~RZi=^UGWupZh80O>N zO(kL^RTWYZ%dga8J{cz1!t@xc^J9kB&xOHcs{xAyN{vD!uJPGh2 zqKotDzNELBaWLuS+hdmSz_bi@ai7U2IOj=33i)Cax@{}Qr5 z>864VU-qJV*n;Asvizs{f**{TlSnSzh+W&FHkwgf%;K9?%_arxcX5lq{j(V2qYY>_ z^%BsP^H!0uLCpiepqgxr#Lwl7D5AENI6R^=JY_%Y_%4^MFf}UCf(y5|GI!wpvd_~I z26>yDmiJNYKK$+Smw!~1-NqVocSbo#eCWtL@rQr5(AOw$^EV3uJFH-`wrC4LwL!vW zxvH6DcE7uxG@}T!fIQY_ka(lg^;rk{1tdqM+5dBPutt7Qw@+k2zxrXT4+NNcz8#?6 z+Q$Cp55e}r&^n8%Fp3MIO%n6d!*#W`-qPkBQ*AI7L*wWJgofIxf*>is;>8B1*hojT zKquyFlc(dFbTv=Ug>&`R)O+W6CiMPT#P(W@*|__4DK7kEb7f9#cYUyWt#MwnD8);z zK-YA{lrG%w^;>)a3`Z+TOC5y$_w9g`hpdtJ4XDLApRP<_Qexkh*4WQP-y28e`Gj_3BL`*Io-2Dk z4=%mU8Y?$kh`c%V3jEty@+4DFS{DnJHG%Sm@=kYew9s%UOO8lc;ic;KrOO*px{+j| zMYevw>&8oKYSi5a*TSbm0qN5avr=VXBH0W4^zCIgB|tnlgGJsN-;A} zeU{Zh^iM5v|3|_qp71rT7YI&6wa3L;(J0=OCEaL-cxTM~`R0Qk&21Q4a#w)@vh*&^ zuiPPQE9C-HC#lD|v3iW>hDUx}YFO>c812haY9NF{OW7we>iGE0|5wujVwR!9|Do*7 zrStk1~WZ#$UOJvIyvKz)2 z3^Q{bbM`%d*L`2t@Ar7z_aEmUsm|sxGoRylAFtQz`8rn9aCoZ*QD-{5Ns;=*Cy9V_ zb7|O6uY72Vy8MrPy!A^+iAlJR(``@1ZBs2TM(4Pk29i@?r#^Sx29rm%2O29G?;M`G zxt>=iA>zJhmNf4CXnI>Bs%bXWsW6_UD{W+CW~E09=zHtW9vhntl&7ak_!d`XZ+RWV zn0#(zB#7x7cdTBR*{0jdZDo)b!S}SnIlDdjua(oQd1DMIqLgyj(FejdmJy9gJ?61|CE18 zob>1_HIDDQDVy~-2j&I#9DG15)8jJA{<<-2zNcocV{~0D!GvOmu&2(J-z%uwGN0&L z9iLF${PQGf>s8I|%NldC%) z>s)UfyL?&_aUTcK9n@~LPdwdOo3@+R#XHU4FN;j>{T=b>!FX5l#R573DU_AkZT*8B z7ZARd(w$hdcetw~h1)IwJ1O{YiWeSeLLD7R83m2JRyxhf^T?G(rHg;~3<`@)MgM$L zt1+kT;1ZqIJbdu#=s5ASc#ck*DA%jey)qq`QQ*67MkE}}a`Ebo^ z`YDrbDivB@6Ym}#bm%)@W^tKy@V~sLDE*8T5)`Kl<*0RUGCoQJ-d_XuD>@pqJ@k$@ zVk^<+3P@B6I@y7k)%wE31CwQE4=Glx(Yqj>Qd^vE;_U5kXGa}!WmYH%x34OY%dR3_aAF`+UhAL% zJ=O3|o|?h>D-~Rp8bMObe5{GC-dE63n9P-@poJZI>T2|~Yvpd!j!lg)E8N8I}me9l>UA*oaGBv$V zRT5k+k4?*edAY*Thiw(q@axPWEmNcqc9bnsp3fqT;YjP)wvi5R1tS*+q8TGL)Vgjz z{_&u(4|ct32q)H2i~<{@1|$M>et;MO_2eH_v9ofU)zg|ZFaL1B$IN8MAJuBb^}CS{ z7<((A@}MGNd;QT|Z1V7m0&d_95=90w7P6zwtyD9qB2)DDr?JTz0wX_V?6o+w?gh!Y zLruo`5jW9gVEN=>?%^k;mWbTrZk%)t~yhcCIBU_xLJ)Rf|t1Yibs#qvS%Q@4(kM zz84d7q$DF9Uc|(maT?M9A?AO^8VC9K3#VGa0nG# zyN(ohyn$soGL9*;_G3VGh&*ANB)RX#v+$-9{iuH&A8_0&w!zZM**qI2oQcj?x!>v`jU6&J%O%3Ylu3*y9;6QNrN8wLLOgl7~(I&`0JT`^(#`QsO(azQ}V*^VksOX z@aa)aI6h}$IYGGBmJ4Chh(q%uuIDqD)x4m`%U}@r1pFo@+7~AM*3#gdHpRi!SoVii zQ$v@&w1FTY+Tv(IN;kgb#d zMPrUb4!1Na-xATt=Ksj-*1=ObF!GA7+!rT1BbYnNDDlBUO7dKK{hRNO#?ZSW5j59s zj%1zOnJ5<_&pGx!Js}{%#i~}zfcx!fWp}5s`Na0;Y&{A|9&w`>iB^k@=Ar%sRSJre~iEWgiVJg}To<+nVIyfW=L5H^+AO zXh1-nc<{PeSDdE7Pb30&a>41=TT4}Y3dY^L2DiHrqv`D(zXY^os8IS(e(ha7+Tihj z=mH~#=Ytn?_V!N`W@>8UOwF%*foz!ThbmXaYBds^|7#2zY$4p`cuZ{fs7Y4Q*vE<+ zvW|NWt{ywfPC3teOBXtFOu6;DA1sw6;^4QrmXSvw`Q+h_ z()M#m5oMrogzK8SZ9+e;r}H@*1#~v2k5E%(UVU+W^!elF5B3=kb3{8K*{=@3YEE)E z(oXw+hdAb*dA1748yzakK!y@#=CIUOsrjE3iy=p)P0tPR#rW*g-(U>STW5Y~G%j(# zWr6)G1NC2uR=@=pgmsJR&d|r!KMN6v6#>vb5*3)Z4PKY0&-&*CBg+T_CSuZ-zAK7_8ob!M z&sZ|iaD2iY-Ome0CH9LDzdHJV)bfIUc!8?II!-3U*$L=EDQ8k1#T(ShAMH;)GmvD0 z&|mE+#brlREK@rg35$_Eysbv4G<$2FPJ2N>?cNx_LJe+w*h?qNg;LD!DtgWnNE-;; zsTtS5dJuSotzXkG*mRVpZAL$-w?LGIR_e+ecUhI?8ntpHK57Lp~1Oo?}YB^bA85~*{hR^38BL$~vx ztKo^H0~`I(-a*$8^kNdan!{W}NX(gxa_?RHOtlGz6YVMXxY|QWH%#FkDwj~9$+no81WM<+9-by- zmkyjCVY(l;U)9|8rxZnXU>E(TFS>ATakFL>C}l^P^(ppMjyBp7%2emCEc!T=ji#YR+8m6)&b7J|?@wh}Uy zPTENux5S0*>7V#k$Jnfa1noPkxgtNX_rVxOcDn0ATMMr)`~Gqgq*!6t@M4_-Zn%t? znOI3f-4&9m!I-d>lt3u{Iuyz@XdYTgQ2OpDqxQ~1*U8j-Zu9k7yq5gwr2ED2{L3?$ z!qM+r>KUe*6R>Gl@6A=fE(pJ4!0kNUnNxU*f%eif?C>M*uLYNv^3uw2;Dq`D_toP$ zWTi0T3Ig6QP!o^_!A5IusfiTg6-L)WxTgh4NeHKbt$f-t)Gn3*gc6Y#tc=Eu2v^0{W|zuk7EYC_vvj zV&T?+r|=GidB1a|MmoN@Wof5{)a9@ISG6RKwBl6uP1BIitB9NF4!)!5>06VD`BF?B(65fcBhhfMwR(J4%irrKBPiau zSUvPf-Q3BY3r>5i>i5fHMnT;)5P_#Hgt|E2(KID4&ak+d%_d8Vp~Yxm z52k&NN6+12NW!qR0%48%&I^)*KXZ_nMJXtcK{ePSFlNsT+6W7Uv9NEN22r!d$Aq88 z^`g(@`W|zD^AI)6EmSgK*VvyG#PYyj;-=LTeUKg8W zX-2)fHY%h%U&Ea_I)1uYH2Sj4&Xr@vsB7th%62qJ($B~ieG@ln=MUO1tjF@b3RpGS zD%0TMc}Vnn`DfWm?)Xr?wCn)`ucG12SDdMz{h$g>!CO%}GabWTN9%(Pq*t=d3j};= zp3VTIE~Nkz8Xe+_HmhSBsJ;>xfM(TWEYnbuy!aYECb*^c2Ge{o;b%2E|AfmykSq7X zTEVM;MvFq6-A7eJv{9lmbVBA3_4yVq?bOrn<|kBP&L$iP!)s3~+47&QrY!||Q<{em z=oN>IHZ@+05NEMna2CqT7kB2)6^C;@Y2SHu*>*B$nPiXS-L?HN{a%Y80#qp*Az;q$ zg*&O`8VKOVx#=`j9FM}d;b1NIIU0o-&7XT7LLvK`*{7f0j!d(S{O$;L{IPu=&Eg}z zNz-WZ*`1`f=xpEkhk`m^*>Gv$SH663?o?b|8FKo)_%Ff1fn$sP3f+npEjsTv0W}$y zNSq3}*a;b9=%LzPcMLdYSe1yfx)q@sr3i#-kdVWYbzuvO*_(ArH6Z*B;$5)ZvvFQa ztA2YFq)$~>r(sbS*dIE-_D5!ZlzFge^X=VjyKr~7Ps_1ZoVRnBRnG{~+0rI_VONbk z=W_Fyiiz^r`93p@v52-D%ak%PyazE`#)!P@Qelp`T{H*9tEbL3h0GLD>+o2w-{v^} z1ZD~&unbT5Hksm-{J;>-3zwO@LJA^{uaCeguQ4p@Sxt9o-TZYC>G(zLGxT?5y`ogs z?aarq2WObAdraRW5)CQH#xeRghVrz(vUp_)Ur2uR{B$J4X%6W-lVEDmg^VC(GX1J; zBM8RUcHhmn7*`|3I5!`3lFTCiY;35%hD$-qO}72^k21#)K20EBL_?NIPiu~Wmm7xl z+8n?G=UHOw$`d#2U6Fk?$8J{=oq_Rk3>4hi4)=xie)Mp$4e78_J}^$6cELbGalJdF z?p^9Dvat`>^rdRvT^3k*?atyDrgE;X^rGG};m9axKKbk-qczq8_bg5KQ~5un67*6F z+QO&&(<*c8gXO$zdTCh5Ny}ySo0z#FBEtDNbU6a=>7-_T&~|48vTwWa1!2E<4TNcd z6>`W=!aiUifzQW~HHke^fgieNK2%L@7l9C+50doVeWsQr+INI5XefBUw-5 zULTO}(0d5eFMB^=zGnA&ddT26xn$vaeZ4e2nP;vpOsusQgCp%Rh8Ivlg!X8K$pf{; zrrHYsH5=7qkGD6d?v}eg-Fot9^+z|;Om~hZ<@Uvw+wW(;Vg`Q@?<_}g!%e<{liR-g zg8{`fl5;RHm2jguYAVNeg=7Dux8;LY(&qqOYAAEGlitOnliNt<+BX*|E{`0Yu(n=$ zD{~Z`JV31mdAM32u|t;o(Yb{f2K%NAl?C-MxU@HdVn)uHE_~Ni2`Y(({SV$;cJ|@H z37xn9L42ycS(@jgDkik!ULO{x1$q zNdL-`!g=*N2E0hhQOy*j4^*<&({6q%_BA$p&}A|rZ+L;zjM5kE6m}0k`#%CXx#5u+ zahEtN;1SIv=+5lF`0k$15T#fcv~ikKLOVc(n&(f=9YrN-GHV1sFnMKXUI=gm_J1qLl`S4D> zN}NtWzV)eG(=(#K3=5eXl^|J$)EHRX1BH7+%T27~H2Zos=_cuEnv}kOc{cqgB%%#) zO4(K*m28%=&!K9yX)b#6Y5O^>m#=Kd_Qo>5JWl6!c2*sDh(LA&#*>`^922XvJi;)x zdL7yl$wNy3?aZEREu*i3uq}9d*MU@`KBw(>vbGrb{#Hx>#i!>r1;yB6^O{bkRx?MJ z{;Ru+me(XH=)0c+k!VkJ;YMqxIX?(Tz;v*K|Ewm<__p(=JXxOn!2DM2#KpCoCR((SB3rA}!f$EX!7hE;O?NUa zzYFiLXLjl~o4?nORJZRqU?6jYP;&IoHrbEET_ZC9@-pN_RsSrc?K?CTVfjJC)%-x3`eT$wHzM zaSyL}Z3eERaNL=(5g zxI6hT20E*oKroe6(7R=03wegjh5ms`Y4kMZ;p2{XUVk&Bj`R6N%PK?}D~O@xa82s* zTM{!j$rHFX7GTZm)tZj-l0TfQ4Xg|HRmYz9icNUZ7g@eGrOER=kJf@*7Z{Zr_;R0R z&#fN^A=p(v9ja)?#k>$yKr{N24&!mvcXD$glU3%`B2bPtz9G>j@{3 zH*&h5Al?-!@dz}W?%TPmGTX)RkJIx4L`9qvjmRhqz)ieRXwN)-hNSIIQ@P3sDR-K7 zNx*+v55bPpsQtP=l7T3aDw2*B%pK!W){Lr2lzomOF(bzPb%2Dl!i_W^_e?b_KxHVvy zusjziMKmhXsg;64kgpD;nk@E+}hIyfum#zY!hfWvz_Wtox z(bmqQc>0L>PJ*VIu+4*x`2ZVPn)=89Q%@9*b^z}3wy)pMT-B458oE{H%c%MTK297( z$a#7>Y-D0r+J?J;z7YqO2A{QUp5FID)LQ8(*_Y0qXuNbF9&|(LPOkCRY7)Jz9!f6p zEsY}*IBPEY7&{Sl4#K|(N_l%qQ66#)^|tU9jzL0)*P z&5J0fZ||*xmE>t^v+;s?-mgq)^VVXhzi^qL-Y?^xu{3ir=K8%U8sr?*eK};#fe@a< zLT-mVcw&AoND;*W5_RFU9+Dq3nk;DZlDSFWH(VfV;kGLA(Zdize5aoId{bPLYs2kp8s?vB{nEK(&7&Y{He>3YL2eY{8Xm6; zu*WZ>O<83_v+CqQ-jm-JQ?xN387uU8gclBez5T}hiI$h`OH6>H%A~8jSIKP5*hp#`r z==mJXhijrb8gVB$7T5AAO5a#b*yIzryL}$jE_FsVBrz^DJmG56cx(Fz57Cvs*1PcWvI8+taPz9>da+915e0FC=Ze-J<0hOF-VKXD@&UQ<=~fN z1tNH&8e)dm=K+HBy^UFxFu<`zLyxl@Cw=A4=9L!mad|}WBQgXp@wP-}ARJ9rIe@TYkS>FC zX{TmR*xM^d)W;pZyMI4_EB*L4Mk~C}Z}C_GU^Vb1ejY%@!FW2|lon5UqB)k&SnB*3 zW*elLZKnSmeD3tvkGprk^6Pov1hQ~@#&u;L#!-zg1`}U^$g}t4Q0HqF_n3zvf;aik zC?hA+&X;pkDr?q4XR|bwbUn#TzH8yU@|uzr7TmSL8FF^!YDt1OjGPMSYAFtgPD1F_ ziOHJB&W^AV$Hugcr5Tyt%9N(74qW4&>>8dJ+7JYTy$Nz^nKtt_Pvbr(w^0{o>Y9nN_9^Zkg45N8xBpqAgpSV8 z@}O-yK$r%ERyqkDSeeLQ&u9u}I`l%2D3Pwl4N@*~`WkrNgiyS1A#09mZ51K3iDpA3 zzCfsRF-9Kt7o~vmjymvkMl@EoS!+=HYz|B;M)NoJ=k4b`Rj;r>#J^>vCJSPC|M4{W zv#9j~Je!WZ=nF@_nhJb&{<(sx?X%HaB*>RJ+eSPBN?MpUAw179&@UR6-_x3)q}j~4 zQ*DGVDaL7v4XDV*wy962F}7UYFx_)=Kkl3Y(aBH-r?^sU@qQ}N zO7%QIWW@S^^7*N_Kg?k8-D5VXs|l{5g&NAm+bl$I&4KWfVR^1c5C<7#kz3Nnh#%BsMu$U;qZ3pKix!+>PBT|sPX1{6Y>lJ9;E=M6 zJ4sL2&L`Z`*tbOS=h{^^U7tq&-hGr#F`6=cS>^kqpPum5I<-{71D<9_;^`&p>dCuT z&oP&r`@svnomWZ}_E2ek@b_yb(;eI{AlD0mNuDc%H7#*$-Y~BM|P~mHYxb zGTqX33f{Uta8Id|qwkb<)kQ>qR8f-YP1rFp!U3qW9sy^CQZV7WsR!cVQ9K4~u^*S}G z?@d1ZA;g@_{h}rmkh+z0TNvK><3dG6%brJZ{*v0QA=?bjkt?Ahf2Mi+HooEx+q)yw z)`Z$FZTc@a*{FV&@0`LIv~(~Nl|lmuzeTXVtCHqi8!y?N*Vq@Yoeh?qw3&y|1|(GJ~8t_;eivm zrB{P|40iy0fd;OYpM@)73vt8fTGA%M$#1`lquFg)%715qB1LyzN>=oDI-6Lr!He;Vc)94b)b{{00fRWjHkbahLGx zDy!*5!|+4GX>~;3Dj26_ai0MuRniOca5>w~xpti|&W0qP*aCm~Bt9tX8_zIYE*Obg zbYEx{*AktHH$YW`wD9D%*2-s*9BE|qa{a5F9M!=)!5@hhgOa>~g&j(54_{DT?nO6# zta}@3sHjgpmwBz+aLf59Kzyo-=Ih7xVR~GwUv}e<{{nici9)lYXuIq2o1phCPU*h>wKS(YyGW-)(RV;;07$DyAHB3O) zZaQwOkWm$tm@k3QKgju|fcXE?l8MQWG@Y5q=zzjpf{R~4tx5q=?`k4Y+El^zh}{TZ zZe0ei6=gx{CpoQQJ~<2v)^1v7`MnjC@s+rH`uP1m-5Hgte~vz3!6$&!7NUcxB6*8A-z3lZ&m;}j4O835VA7I*C^#lb(Zc@}HM_e1jg455upZ+fdv)x(>sf+Htq z3DuvVsI0oV=~VD7v;ohp-vd(P3boKKI$AHq>efIm8`6M3&7tDrckCN!o%@V8PPCn$ zB~<*hRj+uEccJ@3{PD$hAjzdEysSCi{6WaEaY2F9PEmMr|3R(JEI1d+XK_~-!+onN zo*8SNs!^5dnO+gBmrFNJIBk63vB>X@?GlU-yh@(>v3+0)%NRp^(!a%&|1h&0%TZ65xZ(KJvIU}QccPFvsZq}#4X7Ow8Uwo zfpp9w{MrooRK4>O!7mFwBqENR*3D9SI5 zI;ObQ$zM)5I=KcJ%}AL(1Q&$^8nF7`Pz(#_g~v)lba*b`>(wL0H$}jHHPt)Mw+?&h11>QJWGFn?LoZLe>33>FQAh8MK;=P^lPtY>Hq*_ja`i)u z`3?w+*L!9Rtg^I%)Kdi#^@(9g7LI$~ziMD2@$1G2Rek0ugRB_%dkEvPl3Q9liLR|1 zPfk`KVX-W``YrA+v;BIKWQ<^aNdT;+t?In+Kd`d#59>drlK%QbwfDhc_5VE>EAt@r zsY1nKxY3hc@IPLhH8){ZW4?;MoNrJV`tntorij_VfXA<6hl0$zDr&rjN2oSgaH<;_ z8{Y?cxS#SLUIDA!UrPn-?;(ZztU1ZSgXkPt$-Z*IPrH35st-9ZC4>vA^Eh;*3$6{=Vb z@ir^#2CivyE_FxKDQHzE!*TBr7~PL$6g|BfO>}3j-O@(>To~xBvObj-Ax~`n+C4He zXLh9oe3hq-Zy8JCVHs8#PPviSDHtdB_1|1Iez(~8B*Wo!Cw$lNiojPJEj%$c(Z=45#RPg~!Lp1=au;d0(rH2=2 zhpKa!4s1Rbj2@!QG3C?N5pJV);p6&#q2?^z88O;EEm!tm$7wAo+WJCEh?&uof(9A( z^xCT_VmIP$;L^`qhmB*O6~B9#7=sv{0RJ8%_2`RVLTkz=Two@G^jNP#>hNXHRf!=D z?_bU%0IP|_D?cBOD!vBL*+gweF1`^L&PO2D)CdsyuEjZV4UpgRkLS^61W)dFe(Bm6 z##4?*QOxy({-X6&Kh!s{^4ip7lSW@%Ew@oBPG-bxcH7%lbgT)NN}rqm;n^5_#G5&s zamUaZe8KxBMZKqEWcv|U$XY1%%RRLGP!aLF8gKH(VE>@AX|8#A{JPKb36KP#fM(4TBD@cVwCEqVkt`B;0a&^fi` z5QvYZDHaPGZ;6&l)f**LjXB>?jt4oUz(nl6MAR)L>b1_q4x?}WdC$nAjM5!tRmKPS zfV0-cKk_T?IvFMwS3YzW;e)HcI`JtSR(Ld@YklcS`~?n7e^?YmB%*`^{2mCoFMOjuDYSRT|}Hpb??(ZpJxTpEx9~bvRWR> z?h@i^nCRBIKS!GD7iL_glhvQdY;2PDTVT6eyJ0F-a9EJ>n?il-HKNyYh;jcE+rL_Y zu6=NI&Hy*=8w7Dv9_=#?DSR?zF3NAdcGLc*ue}X>yQj|>pov)l*g}|K>?y1D@G9c% z%+L?gpJ~AwT$k%VjQ1~ACjRN4zK%qhllm?;z|pwmtB03rn;-s=A&k#h;Dg{aBH3`u zrA_=-*!WX5`(-mz2Silz%unqw0>yi&zFeZgIvk z#>!Mw)KH6yS*^2gP*BO0Y^4e??1)~#xK(2RPh6JU!Xlk`BjRC(p97~4(B!U^aMLk~{K-acer{)yHbZj#~qQdJVd_wF%M_7rL*)LXhwO zXnx0$Y7WNe=3l0|KEqQ@U!?u@7qTscf`u2>Pv$&MtMSvN^xB8!|K=~immF0%Got-(ynhaoOF!o;WH;noCd;P?^3oFWzTtBBaI@Lq zI=XS7gKLBKY5^Z6^(2T|bT~{mz2xTT<)0yc3t{MwR7L&{N>$ME$g|k-m+@vi*b6Hu zO0QrgB!)KIzzc#;L4SwaT2pNsOyUD&)0KVggK+}BGcPE=))iFqzyZ^-CJ|*kJ3Ioz zk}%%^&<@b=@lk_^@wIhk8Wy_sf^*N2)%)o7>SmKZ;Ab0{{Vyz-RuT1vy)71w=oP@h z*p>)jp3XT{!jSAA6+D5aNS1UyHotKkG?tT7;9_-8`tsWwgKHGEis~@L^zu*!r8`D} z#L$Ax_J1?9*yWBJb;XY2i`1o4?i$$!y>oM~_U9&N#n?dn3Q)AqUvU8W?$tsKdPEE8 zc@+$cLyhospc`Zcz}qJijAiP`M^6-fBt1rje~Y^No2eOvG*`}{vVqMY*WOz`iMOC& z#Qk~TE;#u?w2}?%37gd-(H|bur`v2M4fOe%*B4=kuq$NpIA?QFwi1HMK%-3WK3CJ# zI%;W4?;ti{YKbrOu2dvmK!+5M;ins8)By|6cyx1H*utc$~>H4O5fqo-8SwZ#z+yB{B6UxEZ~VNfd$2+SErB0BXb zQQ8qkf77QYt_4~0|KwpSvg)i4N?qG|;Z@1+!s~(*&%eYBOH5x&0q;cr?T8=+8~}?= zfl*()(nlU45|`=RC+2|+zUQ+pern1Q&lPE`e!fm(s{&nqC284RPX?&4EJIGtZ^&17 zHTteLBqSN&bu7Tbi`7%`JW!I$hRIf>l-NsZFq(gA4vuo#kD#vL zK$q3snEMSDz~MyT--8O%D}aW!t`lEF#gS%Tsi#KTjc$YHg3UQ!rb#etedni5G5v>QZ7;9u%Rd3!kA(ikU3Xl7 z9SPkJib<^xiQ|8+N(dCc=&VFecf4f2LDoS zAfoYjuxIkZ-`8{X&P?+{oYeUrCC4uofIyqT4KHat0Jmj#{0qHW5NS=zrt|;YbQ?yb zq_ESBGRDjj^xkXsET&vqa3a2m=^wtb*VxDt@xE4j>MllkjcGnev2XQI?oij36EBVn z@aCV~J)Fj03brB1AnUaED{B#S_&VK9Mk=P7?3#!n)uXOH#ilU{8d*xOkHg;{G_I3W zpMxFX>rDi<!}Y9htuOViJ+!Q}kj^33Jx5NDJ93jP%j!r-s{Yg{ zVlg+yIb{EAhsd~zs9PS0!mdtFi6%n58%$4>a<*r^a|!`s^=hli_1CT}Ev$7D+OCjD zleCscd-vHdP9+E(v%RA1)QVmL<#!sMj6V%59xiCevpCvM%p-RcKeaWdDb2lIe}nyZ zH6`J3x?|r|iQBrzUmX$qyiPX~>C(`$_g^?2WT4y2P~aHDuvm@am{gU+fp8mVsN00% z%Y95ZF?qA_V1*@#gu9X&R#m}D1x_(d^?iAD)XS^#g_Hh3@e8Fy8(QbjW+KM!d~I5b z6!;J98kT>VQk(?4+H$vq_CanCR=0@ha}%={|HcMmWkKpY3pQ3J6nI4uQ{ru5^J@c3 zt=e_g;5(yT%6+)k@o{3>4n@eA&*xz;Lr}bVdm#&;Lmr9Zn50c;>>F;y&SK~n&-Vh{#8g7|?n?!+AwO7J2WkG_iSX00b= z8-L=(<-ig2ct6HTNMmSLTmH3nc3+z`+v~j)xhUV0v#&cDLOsPgX~FD6*o2%3+PEf9vwng)?4oyL9;_;9pa10o+tA_`Dx1V)|lQ57}fed>atdLSm?*InKVvrwWf zBTrwCQPUZ{RUC&lU%;if{fv0)g^7>m%%|tUEZmXgn7MVB25VCge!SSeiufIgqxlUQ zy$RpTJzC2_GatRtUh7WPanS2=PI(Q)0+o)xdp9lHlaZ=rQHrV6}?Bqefx>BqU~#`|k&*2}7Y90o>(f)f>N$<^6lk9v7Gu zy!|uV5z#0B7F9Zu_}XDVndDy`-tFNlk%Z+q-q}9)glNp+CX8}Kn9klZPXt{xd0y!1 zzqsRPMKcD+K1X7UM%KyC9uM>f4^Z)Z`->a@NO>-$mm z+=r`j&RFrybxtjpmn3yIlLOrElmXIW=&f~e?5gTIs70pOP+dq00wsdsKI~m}Da%`o z{>H^?e9@^%K<^~-zMtv6T*s6C&<<-}YR8PYJEYTNS3`I6$gTSoQ zL#sfAF31CiAsLZ=a7QFb61X=;nxjkZe`o6;>_|K^_#6sZFAYD{(H3{B!;6sY-y-kf znhh#Gt|AWlSe7S40WzU%v)5ggl7_rxZ@fJ_UCAI?a?i2TJrw+86NI!uD|9fq82Z>Axqqo@T~>VHQKZ zbK0L(#q0(HCX$jrqrng1}m{Y~)vG_%cV`o;zg z^Or8$&y3v|7mTJ{molj?Tg*aJ{68!{e(iZ4RNV6*>|w6zAMJx8_1>wMl|=f#`M64{ zVEMnjW|E`zlTd2^T2LuBDL>~9`d@2GJP=vwDU?(qbv=} zLVVl5q09H0rM}#_gK#T^-d=K`%Wk55 zWWQA6LPVIYMFb~Zt}YV?k9psxF>14(BdgDI|Fo+Eq{bS^Yey}>Wya^XkIY=7m6O5+ zKX69qjJ>ehyzXTc+e?wM6V>#xolO_?(~qv829 z$At$yQr=Qqsp8M08(k7(MM3jyV~x!oP@1`4R^{CM+=D)j7HeUAdXi4P-d|L!VGc4W zPG+{?f&sB0&%pU|k*%kQH{qYHk2eg*ng)z%-|}Er5$EgfYhlfIEQyo|KSEgdDcFtw zN^pR~!f^2J$}WoSC&A*zzU_}LlafKvv)prYPx>4d^Y+|UfLrg1yuFnL_6pG86LlS_ zTW^^mc8odA+rRyz5O41k`88S|X*N_fW66zZke_}eA`}G$Ijq5W(uD`3-Q~sgpRCC* zQqjGrjF)xk_5g6HH;=>f+xPWLg1E+!#j4aPkF^e1Y3$D2`weRT#4YMLIrbH(j30}C zztqe;ELKC25djL~*@-?Y+c00}jumE_gBR#Aj@#KXr^++?Hd8tF@w%)39a;K(aSPb& zCC7x2A=V^UmRH8nUg}v*!eqXmV0#(R|<|=Yj7t_ff~1=7?E@34|uhe zC$tFhGT=SZKxGWxiDe1V!ko+(;iW`p zhnuozkb_3YbMuR3e=2xjTf}zOQk2T*CL)t^7}f%(d8X?}L(De_BCu!nPv2D7z#pflq6*48cyFtfxF#F4$_(Y07>${Z@lhQ-4U zUxSMjk#sJOan}9`I?}n1Rh^V>eyP0MG0)NwY)Eyd4rBOx;>?N4(U}ZkSoc7LGU5%m z`)OTDj-BCL=C@~dc=M!fwX<;PW20GzBJDqL=HQ0orhKRWkt5wwif1~cp;69iIJv;5 zW-#3m`oZ$)X{7XA+ttO55W7apy32AdlTO-3>{dN~U@HUM81V5m_H2-4A_0{_@<2gqtff%Pd+asbfgF352J z7*5o&CyFgQY@u%6a*Tt~_d5v8<8Wj57RGIoRRz+=DEIa4NOzb{>z3yhAOX@$12<_e zsZKxZc^e}oJ!E!gDj(X&%Lo3=$Y(=_I%x9;uP+Mgn6MM&!?hBQ8H#mz5g)POMBFOz zNS>7J#i@8upVA&CfsVPVx#HF4ba)3CtvEImZ#n7gRKEWz-nPW~Y!OO-69@JzFH8$~ z&a}W|8snt+Y{ZGn`)HW_hHq)Z+afthnbme_kFH;#KF*2%6GQr3sRb~k4I3^MJRc%B zR)cPIuBkoQ;_o)QGWZV_%DwZ8p86=balnj2Wcjfzz)Bs4jB^&$gqpZb8ZftCtm${^ zyHiXe(+6>{j!H7nD#UMVPPb%^n;`1%=Jl8F6PbFRXc7Vj|7TK^`8KG%`Y`lbZU-q5 zoE);MSQ$+&*Q(3^`KC&L!OrfpOB5r6nc>TjN55+&RQbAAI#JP7u~IfabZvQYlyUcZ zF_At!To`;K$SFWaVq3Lq!XpTw1dhL{or5a;@NrA!*k%dU-ie;#By_MVRzLQJgGGZP zxJ3eJZkFnEKrS+o7rh5Qa0-tdYWnLOCRHmtX7!n#?-jtE8-B|(2fgBe6$i{XNK08U-xs;!Ns8^t`|LV^5(S1_(y-T33%U(76q>J$!XTYxCKW~y`r?-yK5q@Yx~aqi z>gJjZq*VvKG;+2-BQ_G$KsvhKMe!e5RI?Xp?#)skF6>gC&CY+LRthlwq6kU;jYdYkB%7`p4crLFC&IRBY(HfH?d#eFI%;IA4QOkZ@I4T#(@_ee5N%IArf=zGnFy!Y()&yyx2~OiqIE9vmuy3M#Q# zY)=}DB-U#UR+t=^Cg!Pep6;E?g3frYL#R{`nBB=v^`z%~eRM|ix9xvAP+dyM$Q5#M z<$`B4BFKN=wd#MK%;qIfeya6yQo`%LK7Xq}V`nSoe?n%6vb+Gvm=#YkCfH7%NPt4Q zFModh{CsUXGkfJ!-7rgmyXKVPqCIXYm!7wY#Y@oncQo23>XC6lN^d~XV9CD9tJ~FI zGA|h!0FW7%*>OsCyWjuwMXMBf)TgIfXWc#mh>YX>NQX?C!zbTsoD5X^<$Wix|zS zvjt8#pdQ@N_kb1J_(>j&)3Uf=oh|n<`%hoHcP8nJ&K>Dpbdr4hk#;6AaN}z9I>Y7P zT0H6Dtq0rMG z&b}M-6(RjdK{rjApCNy1D^*gSFNdcU+01tsRX^^fNT~ibRSR==em<8x2QxlNNF3r; zd}Z!)*lRAvsEE;%^H|jbSI}IM547b|jBSfK82peNNlD$)5=n^-P)lQSZ=g=Nu#*|6 z)&41u=Hg09@qRq{opg)nQhmoS0X1rQIX7n}YdAn55NNRlbF%c{YTdP&rY-Cc=P!7G z^1i(Z(sG{sG5uA_s9R31w7Mx$=7XxqLt_QHlXi#3@19VX{t_B8`k+{Hnak)w;LS{s zFGb+1{}VI&IXw}dfjG#(m&Fz&Yi~lLEsk?!)rX_o-`vphf?U<*K6VB%x14SFm=N7r zh4a~u^12DN#_U}HOMUayK+9{c+PkJ6yA3X*5uH(ZRAu`FSJ$X~|MYN}W#qz-FR@$M zG#C3`IDLX`$W{pn`>>QgSV!YbRq|hk z;aE9vddtdrXccOjHlr)#L&mYu;RHuwE4t$#t^8=e7&IOV0Ojm|W2oOh4(GhRCNtN+ z#CattDj;Cq^y8Oi#$dN~po+?Z8J+7Th9{A9-OfMja>sD!F0IF~5;MC?bT?( z6_Z@+t8~*tppVlukd_5%zSZLsAKvM z>!8l~4Ah!v1^vvUGXuH^Zbw*cz|v~Lvs&li`|^ocKsL`6fjdqDD(#|ebnQitMre(x zF)y+f&-tjA?r5k5maP+L2gRAh&uv@eKEB7|X~GF#ss3;T{pWBL8bgvhsNubHLrphX zj=Kq8S_(>vp+>wW+}P-E;f=O*yUXZ!0ibv&;I`X_*+4;YJY`^R)8WeA55ZNIc{g6t z#aaI+(z>yNki*^nx$Ucu6xU#`wqx4TyZGl!%&8{yl|6Q4pL>ug>G`*l4ks-8r$;|G zWs+x=r{HCtoBvH)#i%}W_xI!x597C$RnM-PAhZ)D27Cq5^e+<~=O)G2Kqpla$|t&U5p0LR zd!Hm#9`~)Xc;HU&@axNSYF-4rN#)7?O>OlBJ;RF_ zpZ$jU7*{Z5t-0KW^xv;-(4EctVzkq?=dF3GcX{A3kd3IJX|Q8%m@2cDz!!1#S)MDb z!mH?U$jE$y{b*sl5~6swS+2=-CB^1A@-2yLIvBe#b$Xl_HHyAmJ>u;o{`MR4ObUL+ z7O+~3o$hwrz5I>%bbff*_xw1j9Y)hx_^)-*yc6Yh^zU=E5d%Ax02>KtwC~P_5lr|J zxPcQq6r6Z|6uh*K4=zjYuKp5Z$7UO<79v&~U;HSBU}5AIMJuNV3k;@{H&ohw^ghLA$m-+USMq8}QprEv)7uJ{|!kThhx#2Dsqc2eAQZs zx40};RNs(U>z((KKUc8?7<3D?ejvC#kyGsM7j+(Bq979Tclud@zpM`M|NpeQrY~?r z>jzu+hTBZ|vudUxRv!M{e9njuGoHNTen0hlzSBws#wkL;UR41Oqq&Mt7L~5hw=@`P z^WS{i;(cv!-2}UNcHOjki`{DKx~`gLH@_(}YY8Y`YWC>MxdXl0~L*MKoP`5}5J`9J?{d2(Xps?0c)XF>nGr%2>zz)2cqw4c6Ppfr}q; zS&TYw-tx>(wi_q#8w)ss-={4NqX0AsNXI z28sQ@RTYXLaThB3x13P#*qQp2C>MQh#8|CY70U9t(#CJ1>`o))LE5VRutn%)YzDI1|4i}r|iI#R}m-{T|a>#x>dMfu)l>7aMtZ%6M z-Fb1?V1KsA&d+iI%Sv|KVi!O5fsb+?$0)qFzh~ZtI@WqP$5|I+bVf!) zF~y}Se?z0i2z1>kt9Cxoc0Q?<|8DDX=Ec1@(=|deh?{Q*d;#q5)|dvbAD*$75UJ+E zOfg!`s3>KDM~wVl4Yxk>ib^QHPFAQ!Mt6!6t?P5Ir~3Px#XfjJ$x)JVhd{l=3azXw z)Vn;Z>ZMgagjeoa7JW~9{Pmp57a99>3=T&`Ng#XnMJS+(t)mL4B6 z5jnmm#`4?$UJ_GGH91<%=Lf`l4+K};)lE4m&I&mN{g8HEi|bs;Je-d%Y$Nsnh^BOk z?#ZE!_vVuYW}q@$19`kpEOp1CJiJM4AMq@nUCfQ=h84J7;lv?&8GF|9SEnF&5G2LW zlsP6kTGP=)B`Hl<{hkts>*~}F&O>Og_srvmg33t&f z#Z#Zb1BbrOSly@p;U9t5c%c@H$s_i!5CSc0`C(bEoV&2B+K4!-RTDPRQ$MC*izw$F9f8}Rh zoIXZk3TWXQ_*Duq40>4MHBbI2pNtKAt9L2Qg z;yZL|l_me_6{2PKIZqsJ_&7Ex}4)+n}duirD(wAE(AB8{U2Ppok=Uqk`YC zpt)2spV_Xhz7q&a_cfo|>e@?|WdPZZhaeyJekO`T>=g$G+=Dskw2$D5l3w+(<#=Sb zD7mtq!Vv^!i{1(f2=94C9M2!NZko#=- zxF#IBIrpHoq?>>Fx-*d=idQW#K9iEJGmGu6e-9?`*D-->bk+Vb_ShoO_0g%@G-O== zhpNyXI{p5z;SZ4+53uDJk%xCW1i1?r2|6px%$KCZfyeLP*|U04s}(@t!5fa*LSQvn z!H|g!IHGgi*u$IN0@6}QrP+D8;!g}_NS-y{v*U;sClncq*W-7MGX!aA@LJc@-20ZA zLaiZ4OJkhXRK#lQ-+hrelO$nT#6{zwllSLqm@w6x#q=wK?HD5-u4>=8B;SNB+(qYC zIwOIJAJzLGLSHse)+<`Qf99&U7>Mt?~(I&uY|iF)nX>BgC0xBCTAa*B}{f_(ElR`;FGg$&-7Mz3`+i^LP_B$QhIB<`&-(Y^ZYyUWE% zr|)_R6*ybGd)S&Q~%>%Ao!>hkFC}pBUhzG%ExwUisA7*M#udOOW1PTpqdO74ui)}gNlUwV~6<% zf)h1*5Bg_rL<6Q+p}TN|ILmUeWZc-?6qw&^Fa(Do@U-oVrj?vmoW|#kzV*5L*&f|5 zJrM_TU4=DtU`STB2hN?^d#YisYIs6}PvvNjcsdJf)Q^HSx}JRqKGmmhA$^)6{#Gl; z(^?bzi3YD;Zq{tiXUkr{Qaw=!m-Opbn_+a!uT?ShZg?LB^wE1oP-#x!Y>nkmT)Xqd ze0lPPC3X}xCDQ(|8Rn)0IqL~?Wqqm~bSYv5_Ar7_Ms{vq(8eJU3oV9ichYFPDbG4_R;|HmHQd{t~oV*uy2 zb>74mm8&9b#LAiD<3wtjG#H-y($8&-Bw7-?bxmxVutl}S86gs#sLrcXfBWnRG!c&J zA$`$mXeq3GE0zC#^;v78rTkTJWM^k?=3&I_a-J1^Zq z7k}qfoRZ1zh!m}HpgOjuxJQ*=(8N(@o4$)n-QW83A)D0Y5i+qy8s5?ipBQk=p*Prk zzm1ovE9Kg=JNQ{r(ewSlc&?I7*X>qKciYjt&hghamqlN{?W#re`^!UAEVC~SQGSz>IjgcF$7xEf`tHlD2^IkTT$M4>>Y$Zm2 zW>R)8;XXXxzhD?`kFv*%o{5gKYny&Bgr?NrFZZS3UN`Nvy(ar}O0mbj_XtgeCVMvQ z6U3Ap#5bEB?L*L68K)tn6y~5Sh!r~I*hMmgg@IO zJ4BL_2_>?!#R`>eU5vPBFQl3)8c)XXUb@@k$(3khB`P1`9iQ&V6cK()!CVe;3sM=a zV1ifTD8ev2xRnuE6Pd`aR~5bIptBZO!b9M?vHX{{*{ z7t&T+c@8h^1V8#@K;(CeQ{*$2pVE?&g*R8q7&!OR1Y||TOwldx_TuhM6ZT?te&6ku zI!?xS-$Vp*c7o_I%!9g?y0>3m)ioU|%uUIBvyZQO9mC!7Ju@~wc9C)E|{)W|GG zdf|OJx6U1P5G%7%3%!ZlN(h6P_I3X`_^dhG zvdbhRF=At#Og+rvLX2bwCVW~qGUF_{Lo*^^)tvIw^j_=mdNU(KgYKP@M9x6Lhl{Bs zEH!JvSzX8YOY!R^m>1xp?$DEaV*Nc5w_6yEk4e8iaD2x6yFf;P*kfr-7g5bmTdioO z`_h{X`IOkZ0LgBp)^%%&q>2isjKLJFn{B>4XMg*M=vhtM_d)qZ(wep~WNX_Vj@9dU z#LFx8X#8|$lsnkcbMU0+9C+%@Df5-7Ayz1In%F@RR&ZGkyGt~s?xSqslwZ%ceMK&; zCa@q7Pvth$Ztzht9X`R->&)5RNfRE;JpsJ83d9QRaxnK!F)`XM{`9#AXY3@KM(d^1 zRa)iUUjCTf`?4RwlM6+z14gSry)x3oycYxF{48nS!_4wDS8=#Je>bV zIWFtxO+PN%TBqAhudQZzXKW_0?eZw&ibdvxXZ}M5k?PlQ@0|JT2Kovxp3wAZ;j6wp^SGl$C+9t1QYDPCEP=lF_@E;Y z_!pDR;lMXzsDZuOwmOI$c>h@9Qw(^e4RVfpadUoiWFxa`+D72kwlkjBfJN6}!#bb` z8HbEa_3tl_=I5@O&D-7e!Cs(H{RE#?{}W#3B}s=Y>31pMWpM_Sh?y)^6ieyBX{r!v zAn<5~^F8`p<{e1!_~O#-8&eQ(sdzTlS~~S^e8ZYHXD-*t1$#H_pwJ?(vHY|6!M4Jk zi8lL#9_0OfcxJd{oGl!m94lbuO5j$SWZnLCRtqPe!GCOZm>TC>Dy|{5<4ZM<;o$TO zg4&fM=3qswzgC7^I`Y8u1&Jvg-YJlEZ$PrsBT_HyXUuO&+mWBJY}ITde~kWV387&c zXzk8;ED(#7(S}o91%LTRiVg!QALISsEP&^w_fqqiQH@mXWre`uY;tfPluQw0G7vxhv~70TS+;eQ70L>I8O0qxz;txANz1;B6M^*UEtUv$aEK;D z-8bh&>u9i@(r56%f(?lb-w+Z5nQ1xWlc zj_9l{DnHIDSi`M(4=QRzcM%13wFyf8UM?qadbN8>B?eq*i;H$@$F1*g*C-X*%V$v@ za_m*^e+e9ddKwT4#R))$4JJs)hBsi+(VjgIG zxvy%Ol=8@lC(9E%O5OB1aulavZoU5&<@tElsCAf7g!#+b)L-s4zmqQ=SWL~KB6*;3 zjd@dLy6C(mHmWO9{7BZflyafJKRhu#|v3@_fBMacfk;;`y;RIR`WXMT#Wlb2e{4_5*m866fMz8@>#Ah}V*?({kKd;)a zM~jNdj`n##P?VLiRJT0VFql)#p9Zb@6o(}HcMF+3rPL)=CI>-I0{JWYEe^vJJ5-p_ zXY5DD%zpxkDMncX6(t{+EP>}EOh$@MuNQt@G`sx0u?kDb{1+(Nm-bzwdYnZtBlI}d zYw~^ihG(a;lrIM7etymA^qEy|^&lRXEpe%z3M*`LSk*R$GU)sgQj~v+-fuIf&8_`b z@L)|=c+Y)g?hE;!2n;7M6E2R}YNN|Y1U*sBRfPFtGmXOc^ThHr8VbTwcJr=9C%S}T z^|#PSq#iBe7tBv?5TbLxWw=eI;;75$cwuVRQ4PKC?R_~M>AE~+944_{t-SY!sI$Ne z%zjCbw%=8xTY*Zi?babKULyD--i}SxV4G%LIs`-X+IPSZM>xLpF82xBO`?P~WaW+b zM96LR+Spy%@0M@f%gDTWkp^?G#YKQq_FYw|OP%=77pK<#djd63iKpF37LOmo43hGZZ8DA z<;pi0a395@;ZdOaW!Xr~@w!^udk9_|y0-9WI{8A6y?YX{0YzDqoD@91L8eQd$(Afe zn8R!`NOrb9Z<8W!Z1Qd{srnd)vgUx5o+ugDUc^fTyl-kbDVu>RXg!kmcE1?pi+tGa ze9Y30=$#x=K(XnXpZ({k3>UU>d|Ex(5G7!;CQk`dTeG%wXQ;B^I{qOz!j#lRA~12S zi_q4@nsr<*WfK(A@L;B77n=l9U<9l4W_&zOxutKv0A zx+JN;;{KW3V9uQDc%*x4g0wCV?TFg{atxn+cG6<&-r_p~j=VWL$en5N z(O?(%MdukRwY)fl6WB7I?nM2*p2+I%i7)$e+`T$AcdF$Pv8=dh$Ky*$i1gCk!)W=k-edoZJ5 z-E{M)>*;#D0&4A37*M6iw!UYG?0j|%WMG0BJ2*Y(WV2Mad}9LddN&!4=UJ8}FB!55 zL>{QIe+rO_JDx+l=Zoukze^2#H`Y8p)O|KTvGAI*O|{xGx!RixgQyR!(OEiKCt^GC zTBrA9V{8*092?DAHoX+b#Ku|#TbE#tx!S9akH2#1^D_JzO~vLShd$jWlCVNyA|wlP zGPCQQXRGJ=@-TFf?K<+UH`hCPizk~y2gT`~&I%CMDE-``SLdM|1fwZOd|XtAM(NBj5z>h;g$9$^-c8uVdCs<7%(0-Bz?VKZy+wDsW4xe~2bCw4!k3 zimkvK9sL*RdIZLU|C=jC#k32g2gh?EW9^m=f{Pd2>4=TVH=Qt zQgT~@i7{(F=|WCUV5$UIcOU!NFy2*7tN2$JUErL6Wi$_NuYmG!zfL~egMk7nyKRU* zSK|>v!eTJzG7f9%{;%AMFSSb_Ij_x!4TUUT>4AJ7peOW;kG6m8$1iokx^5$XaDTdn z{>$;F2}s}T=E8Wu|1QjG6SNv8LS$xC!WO!*1Nx|h5BMJ+IB zqEH%UcXYeyCvev+w-ORFAGeaJt(wYCUkzEJM{&7q)xO&3eY$!V3ere%2r%w<=f@t=2Ckiu&>

    0ZI>!x!u9Yr<}sPQEY|y%?AWcO)_plx1ecVPVCrYg+Sor`$L>0L>u9zd#t}fa zTyZ0%8f1u35e635MR_CN(tsiBKE~s+s9Hc%QwF|{IzZ%g&~#zSG#;`p9(bd=`ESKV zd=KN$t^)ACuW8%iD|ttIxb5ulTB&t^xeZf#ONOTUX+T|3T5Xj>sx;Oqgp&Eg|ErAl z>n{|C{3nL1m>toP51D#>%2&5jFLUh{cEldBpR-dy#TE<7CKI#!$%UUrc5=#Y`eiAgq3vJNe&bPygf=e(j$(Gq`wF@?_3V{#A*r*be4L z#tT6s0Vbo<`lP*FYsnprhL(A`Hpo$~dH-?%J&>?p&)Z+DVisZFt6n!Pq&);$>K;za zt6+nx%o_#~AU_U1W_!K7#-q;L`nWCEVD7l<2*US%*v{ov=<5|S6^&aJfo#=5i5=f{R3B(%bR2)f#{5M*R{<+)d|kh;8sfqwX0DuXXkJAtydOQu z-T3jEJwpG*fchN+WW4lkL@0CzW8Rn)$5vr9EptcE4&?=jK6~lmj|_<^rq`Dm{jfmN)>b%kyu3aAzTOP3pZzLoE94&aqO)@{ls#gQzpyayMdwIB>ZrQy%Sa!JFHY@EGH2$*2w0N^w^4RPW zC$c+=if=2UunU%a$iCtx+I|(U&S9~ypUV#qh@yF+WR(|3l4>JrxSlrxQ-Cb$I^Tv91EMF}ZTDUu~c_q07 zVjvYV9p3Oz+zs4(lpXspX@^*me9^Sumz1gs&PzR7JJkM`#6Nw6no{I0zrmI0Ke?~m zEcY#1tz>{bHCsrRhx!}Fj`L`ilLRS5HhF98?j=q2-skFG#En!I5hY z6OX+oFi{o0P^R^J4_}jkM+3PLag1h7aYg?fZ(iMo? za*Io;9?TVcOoip3YTdN4xxk535Y$23W(7*!u~~tNDZ2KUHoO7{ynjP(7PcH@e%v~0 z(*lHPK;WbFUtDf-%VU-Go1`SCS|pM^F!?jfC!1%jd{;|-s#$d=6#WIErvh6Ih*3a& z`)4S7fLD1C@P-BaO33&+BYkZ{ybY(zuQC;Sk@Q~+3w$+noA)Sn)s)GGR+&tC!PbS8 zzf9ADL{BmuHV^IgD|Lf{X`4`dBGUH_UQ$zwCo_N%Acs5kMG3n{W|}2G{(Bs?-#$?e z7qfdXYPlB=On-e|8G$K&&>v9z8^*a@p2fN9@Gl)-er?$h;_cnU4fqLUxaT}sLeCQ= zD1?~xXr<|pu^f8*fE4`W^z!p0 z==b7PGNzByY*$zFH%@AIfd6uYWZW}nz}!s#vF}<_<8ccYc^LVMQ6;$n`U)FPt_?T2 zd$j7^-4e_S-5DR*M^rW!P5{Geu0BBA!K>m2PN9-o*_n)R8uxeaes8l) z*iim?!=TPgL7n@~YH1&VsH<9RoJ-qj92tgOO+H?F2H0PSW#_Oq-}#b|pw}G%6pHI> z#=e5Nrv=%&-!}&Of~qDas+t7kuMlgOyA``-HBA5v`M75<34r}8Ddo1 z`c$N1WnqnXo(NH)tIehOKzySatS9>1q5oQ>X6TDdegdS0@M`4Np0nS~(OcAWuSgukHE3tL03pWK)RcV}>w%46*S;nlvuI7Yue}dt{HV@%x2D_To2V&$;qMafS~t+Wf{Jl)QsnsCZJo}H6kUy6%8Rc=??Km z;dmK*)o!KhdS*gsWc&<{z~I+dL3hEBRp?Ge$0b{~2RY#Qis1d_U%HzV9|fP*`g|I! zO0k&7@nmt`h+Rd%H7?BoKiKy9hcp*pRWG56pos)~1n^T&?Bm?f5`I6@-6P0kG_y-U zz`}zE4-Q5}ca1jdp{O5jhiB9F2UCUM<1z(n!)SWC?ZcBzLNO&skIySA#L|AR$5KJh zW99`(hxZo;4SitB#T6y7Qwl_5)$7KMPUY@yyp<0i(90j?gmmjpbRRP4A6H0szANPA zXsPuQW-EP{(zvmP&|pMuYreDHkYunYOKpPZ-KxhVcH-1)ToT)ioK={@r`;{s ze{N%@Z#LDFtH7!3H@RoU5{I%m?OIy{#1v$i26yr^+J18X1!_>ew5|-2Y(;T!!j0h% zOY80182?hs8Ns_R%)d~xdVW}$pR-y-#V<@Y&VDRxYn&ry2?FQ6by>6i8cZJ{Z^7gg zBTZ`0V&BV1d;|}Zj3a7Ci2NGOV54ynZzSK|QHeFh*B1TQTc~&$q>`3TTe7 zNzg!xdp#A)9Qc6t3>mv1|EgmFX>-A8a-TfZe0F#nrTQJW>Z(S7I=v8S{iPqYpgay3 zUXK{gi6B5i8+X_l)ddACNi|C;;ZA%G>%6O)?&@zrDhJE;gNArzfn_CCtp?O&;ZK+! z;B#%HIoXZ2O8g-$&1~Fz@))ryR~+H~xFGsGZ?(0 zAbov|+gLT@;_6DN**PSZ@uyCbN`a_5w;kqrxbR)#s>-s9=JJAK`0i07>*8Tc$XKH* zT3(S}ab?X~nW<-Bho8niOb;mpjTqBeNGX3QU;giLYVTotCS_JLA|O@_C?MU2fXJbM z003CUIqri!Fq3X)3sT~MLH_{Oc-{b_Pmd~O%SYvwR=W0H<;5Oe$AxCR*jgdz)Vu=G zD^77b4xZkdV`JQSfH&0BYLw4|`)iIQA(UfI8HnhX$8lcN{v!Vpk0O;ckTRdyySLXj z_Ol=^kPkyA?w+M4N+O{b#)MOhbuT3noxUh+1G~sTkX6b!HdzXr-4h8815@u4FgCh` z{6pV)Dc14}j)cjf>=s?zHEmMJKLCNCfMO`aGX7>m7k(b>r@Bp7zKBo>z)cL*MWs_r ze*w*0mM>%#$)j;Tehl{Dorof2LrzGO3ae(K|Ic#dn^$2RXzRLXsA7A~ZJ?#wI!Qh+ zc>RIvkNtJ!9VBv}T~Nh1u=RpV0JJ*KCjci+9PE|{Jo0%9*5!e?&e#qKs)7{q4R}@g0KP9kFJvon z^3sY7t%;r`Zk4~Z!ueEcK zX}4hIeU-xxAWpQucj~yDLrc)rae-1s_HU6+?S9q_-g81(L~wzduP>eAr>fdz^O?nE zXCJcPEdc{YvQRqcC?$3&Y<9W4awdco8XG6~iDoECPJN@0ms~R5Mp*Nnnr%(u+n;Sg zV&&JpJ?XX)WqcgppY&GB+s0fUE$3&r4+jr=j&myN!B^j(=*7tZ@5cY6P_qYbugQv4 z489tnrz>D5EC!jFb5yC2LBRBZiJ83ukwyQMx$LHi4>gK9Qh8}=_OU(7ulQ8otARXc zMkX@H+SmOe!FA=P3bBQ4{}_e=kAUUFkb)YjHncl13WD-)X}_U>C#vLW0jzwV(WE+< zU^InlEnLu!RaEj|=p4qd2&*}d$`!2wd149YW7GjS2Owa?SnF>SCv`V6j*504k$I$b z>2+ZWzVxxHwX5tqZ$@(Ofie$SB1_M{71po=!w8Nhr>i;h#iLZPPbl5pWZ1m=W73*o4M#>}YQK5|m9k;MZ7>3Bn%^ZVcx@-&knqgUZFRH7 zG;1g)(CaMTg>B`nET_qM{pWed{eDEdE7SE_xLQ|jU-xqC4JyEDZvSw%kFt{~i2CSP z9LQc1nRwOJbKlptrI|OK2v)F^oQj7Bekl$z>5mYn9UFTAzIuy^(qL0Sl>nuc_eM(W zv+hX%EQ~pBbv|y53G1L`P~X7|n{~IQ^BnPmh*+i!65ssRA);jnM!BcS`(K5~-xW&1rv>JB;N4Olo!wQZR;}O61UHRhBGgsWjH80v>dx1{x zE+(YJIYR;s`o1DPno??MtqDniqc;~$#}CYhME@pJ zv5|Dn{NXKScAl+z%q(-^;W3^QI*z&O?`8DTY}e(!4>QLmhx>g69>KIL zqUX=4HsPLDp@A1dVuNKaA%mJ7~xYB#w}^UPJl>i5Tl}`Hx9I&8Fq4788{VPg@$1 zwc25H0*NlDYof)5|6Wst1~a6#q;BP%Mfcxv*i2gb!Lv)-tIdc7D6P8Z5%IU5n0Ga= zpW(A#|AdWrp~)&ZLpmUxg>H9&YWDAxITPwvoU+9jA?@8K7sShFuQ>ys&>_LOj)>|S zQN_rxUqJnJSF@vFS+@1YRlZfB{k1}lES8bMF)%eyk!-(jUu3%bkYYqVQLv)I>fJP5 zMMAkJ5YNim4NQ4r)Di6A8^*>4MRGa(W*>lG`Tc)?HRWb{`sZfHI{j`~q^xpET;2xP z=zPl%@F$d|DWmSkzeBfvZw%@qVmNyFqi&Fiy~M>Gn_{ z-Rdcrr5E;IRC>2JRgNCDzLAk?)}DN`-mk1Z$^|b#u4`!2YXxrY?7UfzAnYo1BUeCa z9_2I=&rQuv4HULXPEO2C4O#dbv%|J$dCuR!i^DbvgEf13Xfb;s-gpoP*n^$|6+FU( zpWx%`cuoHE2?7drcd|>id3@Q^vRNQyB)&yHRuL&qHpkwDXkhWul2Sl3;0|C}%}-A( z^%I^CCV8QDkDPy}-;=L*>YuWHR{IyF7W)L9cSHZlLuF$vyWPD^s| zK{;P|Fpt(F)@Le29bf%|97&FvUeWJHJ092`_=ev-ddsYsFs3xb}{pjv&(trA2F?)9OxxtwMh?z{_VQdeCL4) z01S*Zy6nGXR%xdk?0F=1aU$y`^9ibmcs<0URzz+1{h%xRZjb($hf4joOv*C8V|J8z z*~HxM1AZ2d?EaJG=?ixh(}N}ar2)yPIC`WGO2Yh$vtPu{$`==c}d{VsGE4FiWhNtJqK(lQEvbN7mfu>>coOTvj<)GLGyn zvUMMVT<51`dfcX}@3k6?t<#ixteYJ{<2QNJ#2* z!^PJn0#zG&V)HpZXuT4!{XfPkn&86_06wsy)x_f;Uj2e`UJBfvH&9v|6MS>@wrZfI zfT}eY#)AQh*3D~SYN%yOpn;XQ7;E#|?a;(5{aesR9BfYW?qlR4`!A9O@pZFiH85NcVd#dW-tv} zEA0NHj(}}Vb>WW6(6{B(ikz*q&(F(c1t%VzZV6p%rT+)N-tq%>>#8-vutAHBc9m7D zTARyEUqhT*+uQ(gBM1$!1psCHf*wqaN78KNUlY9J+bjst|AlhzG`28#`0Wj8CBmI6hYf8cq7RNWjR1 zE=2pje+%6Ue$V325?a;%B%J%jQdvcwu=vNgw6x+{P8fWtg5#ieN$IEP64^spp6#pi zOdbH_;FLt)oe+59nDF2%Z<=cY zdVbyvj8>vJ`PVPeTtFPV{t2H*Vb>5GF2RNKO8xfnClH+G9R9SmP?U8UI;o|Ag8QWR zs>Zgn>OVBV;?dU)I7j|+?8s;0dTB-RYb4+mx-wq_dzaRoh4}=FI0tmNY0K=5_Ka)2 zvj-EP;W%MfHyJs=EHI;@6rbe`*Q6M%cA0`AqNP$Qy0E>Vf12?7)_3v$2z_E-B!xSe z-7f^RoT`BG!s`CL(a`8J zI5UIL^k21D%lj7F%;*>UdVM_L(8wQB!)XF#ToO8iF4PBiWeut9unvc{sdR}(**CB> zxM(Rut&@+p@9vi$iHVB~nJCOn7hu=A&H<*0_w0&ZT!#zLSmwV-(YZpRwt_m}uOfpW z$NH9$!|>=1Z2ZyU1ZHRAU@z5qu4C4Pn2NQYJBo4g^G{U1nj?I_kE;{h(CyRO zXBgk0^z5Dd6b@Y9Z&^ta&z@!0Z84%vQhI*Mg$%ir<%^8K{1NGus-%@x*Tz0U?iH4K z=Hww^`g>>fAx|71?!k(XPbas2-$Y=jyw$%Qptvt<&f^{K6L?wMqmn5~?>C&S?Pl zfykb9T1!qPKMn`%o|#ETQ^U?QE7bdW?fZm(ShDDfg6mCW)Yll%^FUL+w^mOQkB`F~ z>|)h3ea1MIaF|~@b2EDsuSA*l^lOAVcf9>AFiW&baGzD(OiGYl-8}W&<;oMQ$BTA^ zZ>}mb_ystPxI+C$m3zdOy0AB0O^Z!#iyiMT-QQix-K1kju}-U~3!266&P^UeD<~gV z_-mZA_}EViqCwYWH@kY+HfRv)+t|AG{-J`02xhqH;Cct!i`iIQZ3MtZ7w)(d-%XMu zgMwJg%;3-(F3iWEi>|11*>8m{3h%f(Woe0Fq`<0g!80}MviWD5iD< zTd498KDjTlXL86te^W6qX!n^SXxi++#^RXxQXfD_(;_>a0mQ&AS&UZ1dm~Pn5oJaD zH%H|;av+YqOxLZ8jbZB=#^2iE z_;SMZHV1KGU~%P4Xd|k-PF>?WKb@kw`NJCD z@3!V-?m92WUNrvu;U!hcI(_W(;uumvb{C(Agbz)>8_m<+|MTS~%Ih9k{LUdRVjbXw zSlX`sQ6GWU*y|(A_~6i>cM4?n*y6?*dulmPCd&3bM>cM86%<_9TzSp{z{SeSuI#Ye zx=&C(5c(%#sio@X%J*==4u-3?Dpb?yRMUR@QK`vJa(wJEC~QJ6Z2Qv~PC*>7G6)J zWdjT5C__y0NV_bUvSp%8(UOmC*tUpIDtF+k{^k6m=$LW98rPLj`>)}em{Rm}3nc{f zV^qL6rb*G@LT3EVXZ+*ik<2K-Sd;wM&cg^Mo?&tX=c$|&(7$>+89D0(7qQ@ATK^}K zL){PKfJTiYTyiJ{pndd@D|3`GxXg4hL|^KesXxs@v}Rv>MulX`3y*YQd68XIch0pq z+@a6mu=UvlLm<-936=em-}0{Gop=A+Xf*3XaITg~n@KP98hZ>~${Pf!;Y;YsCw@#e zc3FE;uMCL!-)2^nn@1_9_p7r#gqf=M?!LggO93Spe#?k&vun9!fEzxl*pA3mcuy1A zi55fll*tUULXX;Aj&l5FBkKy|hy2eqsk{RVAh9`gYj^YlxuuY)oRORHU+$|IDly}0 zYK^|kJ#Dmed}R5IFPit`ZK8JnQdb#=rl3H@Z_-li(t&W?YTUvz+39BQ-6W{z>D`-M z7`D91v}16l+L8>j?B>>Sp2pgv1YK-8tc}fDgVIwg zSd{~f|A$Q9AxNjYy45_VvNL*tZ7JKZF9ia%gBn2DbnS_$e^%Il2TM}!>Pz|H?({y} zOXU5w&M7I819XIl0};pYqIQZ5z_KEmbJZW>7H%p&L*q-%1SRD<>aXe3=I<8w-w+@E z7T7a7yl2NcG+;(!;N=EJ*W}jq>mk7%eg7wE5IZJp#fMv`b@8Yfa7<)l3hF6e?nrKc zmG>;+wn`GpNad#*A6cOtbM8&{(*cL@!h#z1s5{r(Zt48$9V2gV!O3iRse)4_Yeq=b zAkQX>Be+6MA>g)7-O*WQV?eEhaK~NhvV=)e1}vYGVZ%Qu2Z_tN9pKwXZWceWpJgMV z*){6dqBwb64e)vcAm3PCD-~Xo0`GQJ!x@sQc)??Nv)A-a(eX<#W=E6SUvQA5q>E+X zNwImm_moJsQcPhR-ywb16=7UXUM=@3N;+=8w~h!SP4zBvb~(1ucZ_MdujzTs{@jtU zNIe@PYXkFa&HNu{<2SjOCol7%NQS`**;5GNgGF7C+cc*)a01%cwF=u zD1)%vrYYQcKyh;Ea%KDVKX*Gt{cVWV&r^uqKKq`kKywjxc&7a$^QsU8c@Bg-mzsH? zP4gGc5Eo)@v!3nyO5ED-R1=u@+BliT6sHdjP+ueVtA^z)YC!DYP*v-7^4b`vbVW+#-iEla711oT@{0Ba>FE3L8&B}#t z?hZf;BWu%LJ~#j;D(Ck#|CSQ4m-aPcBLk5FCvuB?uU=qt>(4}^6W#NSf#-`j6;jO)UJ&;9}YY+~^>D2VLxB_gtbx()XR^>t>qE2Rk(n=Yl~X;{*s@%j;2+Fy|T zW`=J~+iqMZadTmfngVJ&|Ay{Ydm+hj7Ag>P-B1GFo_!VBYh`J=WVm*3FwoMh;&HM0 zq@J2aaZsw33klsNLB$6;Oux3uZC!!~Y3@(7p%uMoC_sqOloHcll77Zoj|3YA(%zr` z;3Yf(Iw2QG-in`KeD+xw)B{Wm|$#Qu`A{;e;gv0jj<`dIu<}|3)_?$pZ6)j+zqyS@<0!Tkh%q)_q^_r z>*h+y;u&D}qEuA#&Fm7rn~e%-{5y0?BITc`>D~_UqwHa%2M>6?utgdrU9w#NuPx{4 zF1yyH?N6^U5>rw1PUgfaHlO@@KL_X~O{X}oX|TD0EYL8ZP<1>UMMv<$Uq#!0-%IM0 z%P5Lzkdq5OBTWNQx6T4yz#O3PnoA%LBMSgV9th$8AIiQmD$0KSnjX5l1_T5V1nKS) z1f(RSK^p0fp+Qm*=@0<{0ZBo+L%O>|x_e+|-kaw+=dAVr_5Vr175ZNKq}~|;kZ)Jpm2_T4)co-$HvcI z(9Xm_vPj;6mnP%Ol#4+x)EZ0vylVPL7l61tFj-8mv99F5%7XnB1kXVp+7S7$+j4MM z`cP$ggv-yO3W{bdRJsKYJtJF}cN?=MiV26k6ee?fqmuOm5)WfPOq++TB;sV8>vMm0$MQ0y05bSyfS8BxV{3dp*5YqQ^YM9nYY+b6 zo2@ABym=1~XaDZnmA{7_$8DB+&#|Sk#tMVQatFcjdbfQj7-sT@5<(_uBI7UYKFLi^ zJ(YKOg^S#^{|)lC`YG1se|*MR#KE6m)d0{^`C~NNv;P0#iP5)Lxr6s3J$Q8iB-t*2 zOL`Df$UKr#=er`yaF|S-x&v5$6kPE)u@e0c2%~v+-u{OE8FF3*H~K; z^ECY9^F8}Lh!pnIErNqu1=HO9xqB<}JV$umYe|CA79KP$iXKhWyZ;jCE)k~jry%HK zMZzc=gzcL?aDFpCF8T1nh+-0ff#+_pp|!bj|6-->{dapkaKQU9s=i<&ParLM9Y{gq z3h{YyhGC8-X+J1Kx~UFL6%x;PopHSw?R*HyPUVeacvwAsG6!a>1O>fQMw;x6LQ7c zaW?52#A{v!84HNS%L+ik(e)>?F*hNiwPt5zK0Jovke7B9mf3bk<9ER7G`}K#UmH^a z@;de~e`lACO?D)*eirZJQ`w~@9+Gzw!}S5XkF^cf{j+0icG~E|4+=l$avUA|bVYzW z$G&tj8<&4b_Wh1deaR5^B^SJz6FCd8zrCz#`|%RK%SMNQ?+jmP^J^YK%y;glGtAiA z#tFt*?b>Tllbim!7aCzyNAT6h1igwHbaYIL>%dx!uTmQ!%6REI_J5N-wSzUKIGpyu z+{6I}heX{pdnDin#8=yYTU?Jw0k~Uo_ru8zmt>jD@g^F6&(r~8uNw!`X~u`OUW=vx zz1+21PR*ZWMig&$JT*|y=~+`~2T7VD*F1 zIuw+Fzna&E(40TZj`y7q9B=3@s*KD5^gTM2;<$M2R3M;H(%3{5A+e8YK=19Mhz2Lz zoip^SHuOei=s9e_mt9T2xP0{caPJ>QYzBL+yXY!yRn%1mDjGF!|DauRFrEQ5Z1wPoHW7&fc5!HaeZLY=41_=F?9BZ zzn#b7qlg1UrQqsA6(IG~^*aA^iXOjNTbxhlQ=ftxz(=_P^x?dYm#Rv2EBar8=={bo zex2?ufn=Zv-97MhX-(|*p0@$|aL-k)5%G<-Q0MG`fe_lX#!A&k(;=OOAX*(}#2 zxKL>B_zFdI|o%&6_c09?o$E9Cho>BkjYUY20x7Kt*zA;R{!*-l0 zr`qBVHnx$%@&35fR6V0zZUGE3vxL|-H&zjFSS;>WG?jh(1?ODL~t@c{S@f4 z{F6eeJoTShEt;}~&kTu5d49=me*Y8x6w_|L7A|G>E7z{hV1)1BQN59l5F+6N^X2lX zpRRvq8ZJtv(7sFD0soN;c@OlaAq?TSMO%qa-Z2y7=5s(0n0G3}dp8HlF%#GASS4IY z-7{OvaaA|*5v>xGP=TMJj|Rv>UVK0XvrD}nbApR$S83yo?7|7269g(&^@=8uM^X9O z2f@phn`4)o#u!)#B}MPI_sZi0<4NEp<&S(kLxSkyui0%&Eq#1tG0fX2P`Js>&l5f3OjoH<&o3taXU^}Pff4A6r* ziygJa%8rxWgZ=0xCtCS$rmuGF_SJhJYv(?IkofPe$4zov`y9}2=DwU3wW=(x$k%;s z{W{Qh*%2?Jp{z@8qcrq8>1}Y;QwsB3h$XQlVFSaH*quq{DQ#_DC;btK)5lS}&KgHp z{+!>Fr})eOgj84S2Q*;0gP9xW?n{^`_b{i8-6V+=MITY3<;m-a2mK@U=h59?H<;f4G4<%~z%8o2l zmBaGSD8h+A&P0AdlFE{1cJ-G9WggSa7%@RnUVASE#lx+lTyw=$VbQBQ>+2ZA3B~pK zAXjJt$Z@f*JSq~y;OK48GHU}0Ew`$Y;4O4h-dx8!73WAX)tzg zI)^mfY>gE3<<3OA2yIa#jmSs~F&+im{->vIM*nD90^Xq}-Dm;aR-$om=WvS?a4a<8 zMYMJ}0zOJF%0^;t+};b7w0D|o?3G)2NL(e!w%Z?-7$`(l+-fBL@dVp@L2oJzR! z*C~b@uDjH|)$V9Z_K^^7Hv5uK|268NqZi9iKI0y47n?|?0eXh(Ew|G*PFrmK{-2_# zJ{5iH;_?RU>!Lu@zd2uB(d#S|oGYIiQRu}&4L3BAl6a~e&$=!{I;sxAh!X*d>z?uD zfUb&--51Tru8QDT|C5%B_@l+#=3`=3>iz8I?(aNLHnD@UT^QfsIl_v_SzcplJVu{j zEv2~rpP&=RmK5~=8+3B`lXIJ45VdZ$HYNG)3E9V}MPE)F+W!-vGH;|6t?<2}Zz;}e z^o2=-ImL)k$qHpr_gp{ZoTUHt}PI?u6tr^Hb!{n(@Q5S z&))CfzaOa_Vs8 z3u4h*Hap-1`T^}!eJ!ICKwiOG1W;A}6NiG_I{t?OiEqvF5;5$iDf2{Cb3^yE88PsQ zTBndWy0$%Xj-i13ri4X<^aAWe$HVtsMBxWPdV6dtcVbe!w0^UGf6&0UB}fUGRKjaW zwaOz0*AF6QCZ&3naf`P17>r_4?%hMp0ukef_E~fBe=nfAqN}JZ?iv#WRKf28O*3`D zo#LIPr=h~|-}zj<^a*myKfTa~P-r*HHzR%Mm&Kn~G%VQ@`V>=RWTV@_zi;mxnrR!qG%1Gz-=&#S&tkYO=abLh$= z6$gboc7TG-S)vWmUkp(4GG}Sya_*u|tUsZsO05ed|D{aYfUO5)pa8V@ps(`oYOzJ? zVy6Y|YIfbCkeweHK40MdpT29vLlGjZnu_wi(Si4Pda=nX7tetnke7+aLT(Fbf)zUV z(y1~#K1dwz(@-^7kdWLs5PQLw+aRkE5!Z7nTrH**%}{Z_v+#T#(w_z`7_>;nw+cCu zbj#T-7WrQ4>p88HK&_Rbe}hVS_jgTkF5w9mfIUsnvn;Y97C+GL*~#&Q0?y=6+~!a) z^eNcn?Q3neAzLr+^!MxJ3$`Le*OgtR%D-V&66rB_lsBR=m})a*-tXK{qA^ZuHm*qm z)<|ANFz@-prgl3Jk`p;lo=lcTmqe{0_c943ruqTTl?8=`=)P!HGI?71j_0pALUZC`A=w2Ef%fw2%&jG$>Xy0mM2$I{w}P zw*UO6(TFy0fw)j#a1(A+(sYRQQ`0w^yCx{bSyxJKInTUvgpcZ;eA@r`sgS71{TJrd zzoObltCy@)XOPf2p;27eny0U~_>ifG+T2q38{mz!MNZ&4Znonl=Q*CmMbVI!y7HrqI%SRWQ!Ao8q_Yo(4qY>Nw>=# zFXcXJoQu=e`_tg%Mvp-W*d@vRDCFKtz{RPvw^!k4J@nPVUYE<_mUk$Y*Tl??r z5PEP~Ki}o-bgB-RKi}mU;Ipd(2xdThQsEPZ*O>7}qKKOuz9VhqdWnRD!}&^1T6;+q zHh7T`hMJ2;hH`T^Jnak0_Bj>eqS<%(G1_gd755`~9Asu`cWU4(F!OlK2V6=OpJl(%ASjxGH4^l>L=P{4944r?BkHUGa!j? zXQ#F&Hi?)bncZHsTy%Vjfa|{QQA3KSwS`;%a?a-f>MX7m2Gox){b79$KsZ?DznuL| zZV@~$K0+;0_!|H)f$DqbA7Qem@DG?lQlfTQ|C0j#u;iC2#Sn4tmees9itPBD1iFCi zU-&fCOW}Z9%l)QXQ~-#);irN&>j(c(N>(b|(D=!2DRaX6A|xo<@ZGnP#(vU|0=F|E zL1^ND9>H%c@2eJJF`JDVpAJR(lX2W;xfcxit5G;(NNm^{B&yT$-<9}KnOH5rl-}?& z3z{}jv(yUXI)cE9;N@12#Ss%B>(m#<)g_8rfElK}FJb59$NlOLH=WXotnoLVrg=lN z1FA6C^^)5=hraluI_pvTB~@Wui`BqI!RFCA2OqU~;YOGG)f4QO6W+&BF`me8NcmVZ ze#GDsOVy60^}OgNqFn^Ik|IZ9ARWQI9?*jRj)~+V#PgkZbH>7>@0$kVOc(|N?v7+o z^wA(+PHUwMg9=cF*JYvz7t992D1>NJuJwvfS$Y$YEogY|74zFijRetg6B$W`5}#&8 zyCIn41}l@;S;`HfQufqWN>0gdW0iUTw?^W2!N)&~XunPMLiXfdU77QJ(n!mVfAoYV~xm5Ry23N?V*{19-hH}c}sKT`UT~f_V&Ght`Ptsvf}EGIP=3@)K$v_qPYO6gWAkb1?=}**Jt&eHOt@_vgY{T1 z2%F#$VbU^^)C|XH+$&+u?q0|dtvEo`1dt&h`G|f#ZhFcXdwIR1c!6O_I7t*tj(zLy zz~O9#jvI$P2m)gqeCdpwK^^3C-mO+0e<7~soAKU&OUH0S6C2zBK^&(Py?s?vlmuTB zn`?jHo|%zReRkH==#=1flq~{l$QBOhRam#NcsLe{-&3==w?h?0+9|KEAoyG|+vwX^ zUi!8M&=G9Vw;t8u+-NlhJI#3>&tb9BXF47&c+B9;QOExg;wM%OL8LxeNqW!1`K7b( zWDsIVJ9RKAz|R}8?9aOHa}z6`)@n{?^x3&L5jP-cT@pQ()47P)JwiK)kmK`soD05s^LR7Z4$SHhq$EjolfEm{CF8{or zoV9lUy8fG7F9|Gv+xH2`N9o6j_@_>dXJ7FHw-*q2bQ1u$SA#qxye{wP0&eMe_^oK! zX?dhiP?yGaYlsY`Wn@9?5AWqaA`{7*Nl^^UcpJF zJP2X+|EStVYvC?E@y~l30mGPqXdoaITbZ(l2?gnex)zEY7r+a@jol+VxUu2Nn)GAs z1w`w_b9ipUN!eRo)9|I5r;Gg8FDu}T-Uu+KtzUho_PzoZ_d^ySS zoQ!-?r;FtI^B}U{PxP75bccJW72Z!rV=JgjR8^xG1wT)ce{w^BtzB}aI+;tMDv{F_ zUq7#(*|mCgFnhRBIOusd!6G#O`y*2Yuh4fD0{5j(<@@Vzv0maC{IxE0&2Jo)PQ0#K=4xkh>=;UF`r;G z&q6va)=-Kf7*%I&>(U4#E0<@c3i;%hIoq0^A~p;2o^*cfMP{EPYRH?$d=OUM`dQXF zUQviHnjE5g5YgQg4EV80&?bb#lN#Af8)&E{-0eEP@x`}t#f3O7>+wpW>&)#Yyu8z$UAE4Gt<$EJ3 z!fS2)A#Slx@B`rAuT>TBb;yeWDh-t2xXpy@w^x#OVF_1Qu~oeoMw_@j#NlJFieGGV zWe~rHN`6s6kg&A! zIuhQT27MWSay}xCjdXn21lpk{Utw zuAI}x?|1IjdoGK3w{?V2;i`93i`gTDcYzBJhgU!x(4_;O+4$B-ty#bU2n2>HbHldJm|?bC5kkdrqEqbFO9;2LXkCFtxoq@#W7j| zO+EO?*6J#!#i?!tCfX9JR$%m9@|N==_i65E<>S5VlAgYOf(|D<3U>mpWkT2AC>>Nd@rO zSd>ZMe6+wL^04e2JJ`?PEpC}QpvxUSBz~%_LYugOxsgchk8H?{BGfbZrAB1`$@SCW zhA;(ujX{9iD9(S(tTxHP*@lp#LEvP-;Mv2P`}y3 zbfU;|zwF$@5Wk*iUk>;CAmUP++I+;jmboDb6okOD1-g5=qZoTx|I`OWZ=5q$FY$JM z8LV*~6oixCPT}{UU7gv7M9fGzP7-DDfkOuGnoGX?Ud_$T3>!4rerDqjw-9|v3=KDc z)%+p;H->(6li$0GRUsCyVdmdGxQyy0b%0q`5K;AAN9QO$V*Q);lJ;${k-H1>b zswngn)wF?ptr4jh8@BolQUVNF{eGoZz2hS~06vu28ZQxmvRZ>D5JAtOJ{y3*=cM%2 z1l_}9r@B4y4HBac$XuF3x+n!}t!Ww3O5x%6tRCB@jG;{Ck(k>q4x<#y4Grv0zO zI?g{y<@;~H6tIWrFl$gIp;{5Ae|(wPe}@lmbyDmWzFB$wsfQXfh)61jq$_^T<$75* zE5N)s7JO?^`nGgoclU#+&-w3c37^huFy*hDmFP2YsL8N_G8x79=WJ!{rQzp#s8sB+ zl}fcpQ3y^s{US`qph91|JNa-@`^f&=w&F{t;F5kV)un^yc<&61Yqxt?Dh+$6<08sA zIOh+$B4<`t34Z^W{-Hxdd05{nQBZ2BTuJIQ{PYD`>DA?2;}z=L(n~hUmxhX4f+G;A zH%=UL4;#tLjb1a~k71qkLq-Az*}vX;bYy(N@I`B_K&qUVp~m-ZG=Tj3{Q@a?-&o;>Yk8@3z%zC(Wau;u7?uwS6MlwAWV4}4dG z*WP{8)sFI!DT(eAoB);tOYM-#=i#U&i(*roByvtYtZ46&H^QonKIrtNja+M(B43m< zcEJ8vcNV#T612d`@g#3JR+5-=jAcxGMQ%pwd5?$mKRqK3h(5v+hVxEl87rGoXV1b3 zGB$73g#nyp4&I?HE;gy+f=d?feAi0bEv8Hd3(q~)Lv^;@E^fq`$uiaxyJSD3Ma>*M z7jQA_WZwiC+fI+I?dAYrE?dN7skiT@a~@el!{w8bCPQA!7`~PZhm^@HVL9r)=Co_S zJ8DMngf}@mvZ#tPaH&F(BOOg?YtPsBE&i%HgdgAJq@F4Mph#xZQaSTXD%==3eEdkp z4+i2qv5Izs?t!uBd~6kA@AqZK6^osn%~`$#*5J;HFf&1KFRCF4QMc6};w{eSI%U|3 zCWv;CgQJoLCg=C^Ba#A>IA)97wH*vH*p<`3DJesy01Gj!p{5DHJ zPyb1U8E~~#c6_UJtRR$|yaXL~qQ3Qz;LE+n>Hp0BE3D*BzRCNduEoc3Vx@`KiFd|H zRS0VE#rPpFA}#a=7y@kequ<)kZW5#x?9YZ)21?o7{zi64aK7Cx`;$HvO(E*?ZLCmY z-&3$Sy#Mx*Yk7Z{ulDRY@qS7fq(HAQw+0RahAPZ0Z0*ueRa=0(7T1TJFRv!XL8{1A z#WHU#CvClKQ@?=3spS>O>FRV5da*oHwtV}ZaC7HNotJ<)gcquo<=++Pyk8J!p#ZiP zHxtW~a@oQWDFu8neT2TCZMr)Y3n$vJbVddyeOTITKvA=wM~Nhe?br7B#4qiq1u9oQnfIv;i^BvBSfQJXTlYY1usvtz`Dj&avqMTUx^9E=4s7@lyCU z!ifocz7{{pH3}>CwNgxfiLB)Ik%ZM8>qVASpZeLYwbc3@g;D#=<)erFP?v{>? z>%Qx*nVN=R3Eq?5vxHLd2n~<6_)Xy@h;w#@4?nRTyhs8sPP3jRZ63AL~&_CbN0FvOxd)T@N!A&|1Sue%Vq4YlrFl2{lq*S|_*QgSoLDw9? z6dKSk@$6Oa@Xpv9tyrLat%XECB3b(=L!O#SrVRu(yQ#uzb9ouZVrV+3E=*M1N5`K9 zh`gM!`(%5n=s3_M)8i}DRIvhR3I*op=8XN;RYn(692eJayEG}$I~$oRb8HMpu-}x# z?rG;dVXR12yApYVw4QqB8?f@1KmWu?2s$!<*h!`Y1Dw(--eDqE*Hv6-eoo=Ax00u> zm@Amz;dl-t(B$NH(YF%vaeJm`m;f2%SHK`v@%GqO-!E5wAx?M#Z#`!ZY?5Exp9mOS z3udeZJtv)%!clK7O%o6m+L{B6=c@JzOet#1Q!Vq`CrI+Z`QXvDgO{vYx2MVe$#+0_ zjC<-qUKxaqSRWygeGOVtHI7U$|5^c3@rtZ;_o^2sP+V1#>=WYTTrEda1gl~k@xj2< z2sxT>$f(sWsW9}YI-V}HqL^0q8=b>(YhY&j!xR=Uj(G?_HetPsA%b1{&bRBs6jf1r z5zkZn>qKKk#o$cyK-L244*uQ^aT(H^Z*g-sXqiul8k6&ii+tWkUE!3;muXK1PyVuD zno+NOMjWg{744g$8==<*+yKh_bV5ck0_L#CkNp1s{)i0-x2WZk8?^%KX{*OUol)yU zUbeX3%<*z=6(AT~7=qoW&DV!f1**&h)n|o{u%~6+-|$zG=e!4w6<1#HyNX!<0cH;>ANhj*+(Qw>DQ^_+yHLKD-+K2TI`?Vg-VzXTa8D zTRS@^Lj07kQxy_zsij4rb={>O&~M#J82iXUiKy9Fwu)-hxgnWu1g*LgX8r` zimO|keiu9`$F2zyLeRHAB=QqHXC15mwxL+e!xisimrM~KKY9pheLCxgD7g?-pH>rH z({1Nm?`*u0x;k6R{qT@@7L)wd^1EbOq)g78y6cy1u7lh%NSn=dMaZO{(f!u zol_qHu!EIy1^*Vac1PbeS$CM7VzZLVG&JI$D|CnWf7*T6YWG|pDxgWB&gMkf~1y46n95}}S1Zy%ugFWOsvRRSV*2{$k~)}3%6&u5PHi6IZP%N5 z`A)V2-;Y~ytXF+9vzsi-S3qg6VhWogsG zfYzaIFnDLIk^RWs{CRYt5>~v%*ynHGS_yfk-=lMRJvgxNg}m$i$BRE`G9#&Bt^5wk zvNu-nQYDd?HXqpB@rIl8N#@rm*#abVJB!=~fj6mxa8|h)K)FR9vMKf*va>g4LGG*SO=^@i*5b zTcy4}6Lf8ly}CSZ$8C}7n-=>__*W*P>8!Nu@@t4`K(pW*g372>1nkGjy%KNVMbwia zR6>t0a*3xPcXZ3%+~4dEa6ouU#-oIpjxao~es~Z2e08$v1o1cQSZ{!wCsEtiKsu&p z+s$a1gkmj3fsF_J-eR-87rNkXLe7HYN+QlObDOVOz#RL}UWY@|nVv7R8W-Cqj7qPB zl@G@iKW}_Ag``WFSVCH)N!v?yLqSU_7N|TlXJ6KOAjN$F@%p{i+i6Uln0W(Z_zOd~ z*$>P@w!xV%nqvgM`2j#)5}S;Qc`#Q_#&tu6#6yK4p+WYaf(qKX(O( z8!r|WHo0G34UYFsM;X``?-bqz8HFDJ{-nXfBkR;zqn#?(FW-C=q=BsSC1L( zaHXP2dGr}}Q3KAWc1$}`!MVk^sNid7y}rw(>g>LWWnM9ln`^O@<7>0k73t)wZ|u*V zKauQL$59g8SVC+MEPP_Q)o+=ci&thaNV?arb2l+t{r!KOfigyKyKbLPni%dpkW;?= z_jwp_^$`QN=x%Z~RE~KLyIN+D+ZFr+ti_*H0ZhP{(lvd~<>ipVCV$zA4z7+@@DCQt zBhVe0eHGVN%&+&Z49CXDi?qDjBE+G;-MtdBfpbnvuThjf<=C#hUGTvb({aD|C5i}P z0E$FATStvp`{28%f<~%y3l}?js`1bYv1bpOepuXc%6Q(j$3uOG{Zs zfDd2=ez$n~R(-C)ZRe;DacZ&HU?EED4>ZC?=;o}?ktRePoR>u&_D90-gzl(?Vnbgz zjBHHyIVAH8r$b2VI<6>#oL1veg?k-9$EZKlNAy|b;4+DdDpY6*uaf!WEg^;b2cf*#&vN*UF z>@sRl4DxwC2p;_HMEg#6jWa5rje4@UJ6Lr6>Wh51G3Wa1EXoGxsbbdIV@D)E?(^mQ zyT`h8m30;FEQQ;nR@G}#1eGVhF*%6vu(XZm{J%Wi(0X?GW07Ls8 zMna}UioG{epj)V14OczMRnLOuRfpCPAV9wM0?~y{eO2x^4VCWo(clb_>)85EbmFP| z#dsRGG6trGUvBA3A%`x z1OKcA#J4z<(#D9@B(uveviqmVIXqucajdoeqFHEz^-v>k@$Ssnu28%b_-B>1Tu$o6 z=o`)FNBV`@&kRry4&!rgn^O&JN7)Mr1AsI8OKIxSaBi!uHRKFOG_ozX_3nGiZ6}VN zr^E}^RbYgSjbE>VBh&TVCVleA&voVXaZ}noZl<`!eGV?p1AA!uT9D&Hvp(zbKAKo6 z+lf)h^TOl6I-AEQD(8-gZ)&{W1-7O0xoRX;z)Wailk?>-XG&1S#&6Vx=iQl-Tsf1G z352@AYd)bIF~nv0n0thar)u3#3g3Q)fb5%olmN;x;=nB}yzqEmfF=6y=a$Jg=n{ju7jl|vjDIraJ|>nyl+Xza_~7WO)o=pel!A^`i+spS zi-h|ldxceQt4q3QzsvEwNMZ50j2JJO!jHmG$HesC67j-mJHWh6JJW<#9E#BV3hbhl zIeGxQQl%WnpHvxhK(=mkg9YdFG(`r82RBQaV)MC-^P&p$*x5s?)O6WoBRX}ewZA=R znnizC>Lrl*Sk;y7{=B$L+gh*C{R_vmW?%`oycY91yK5l-0|4&#CRjw>{>B2?3KX93 zPOih9v}GW?xPpq#A1FerLqXSzHA4Je*=obvQ?ur$L;BWaxZfvN3cLv|JMM?6Tri#C zE`OZD)ucxCo4S09Cq5V2MEn2U*t{q0V1Pv{D!zoPKF zG86vbQ(25G0meq!$I6fD-bq}Q`!X*j3Q@{Ks@A66%AHDVXxAx!@{wFxX;i0*`ho(t z6V$x&MM-rph0g{#wx0IHfpc^8lHz`MI$3S=9=&$X=rqki;M&h%2YZ2(aQ0--BIB?jR5Z<`%9sdEo^Sk_F zbvaHrXa$llxK4|dOj#$aR79J`-`@5v3sL(~lVeQxt({Cm{< zj)0D*R_5kJ-HhmU$Zggw0jyY%+~I=@HOQqobh~Niu;YOYa|!o)Ltmz-a);qQszb2t zT7@$I4G#^Xmc^RV`5t3_=xX-Ut@Z*974Vpk>b&f=@XFHm3p z0z2C&iO9gWNlDbftIj5-A*y7&RX$6dtVZAQDO_*-#x z)@A?LY)IQv(S*$J5}24=oiX;&6qN2fcS~-Jnc>Xrs<7IV>2;_|+k3WRl+{Rcy<5W# zpvl$cxOVWNWFOYCS^hV?xItpjeZ_|2E?ApLJtgy%g_jjZ5aICcVxLJm{C)4AhaJ*2 zC85FGUW9o<8DxeQV5{%l7r;;&)5X1AnlAbP!^S}^uX?)#i3P*M$)Z1e^jQ@*h+zqKy ziV;@J=otz#_miJ~^X*-TOwG2x`LomjgEDl(A8|^(2+IkGS>U(?^fn^PpF~Imx^(Au zoq)JizmA05MqZ1WAm{*!sshi6zHXSQYi6+J=Cq<{VN(p}E#YYS`Tafo8Jdz|h+I@r z8L9L<7g*C#PU0hiFP|X3)kg^WVRLGE&u?dax5=^p~qF+BpoiS#Y>eO03ni7W4!HfFrti?l^BLP{yLZJN&^@%SEslQkMVl)0AU#%?V@9WuVvu_^@zZs3}Wj9k~UnSeb)8YL~3P zjFw>nSBdlDp{;=(hOtV~aqGg5b+n0b@g|@MNX!0fMtk2^HlX$D)oUcJ)i+}qm2YBs zdDrD521p80L5Dvm4MWSQWE}Xv0~2KlyQ!RsMAofoA@5hM_M@?FWSFVT$Ypd7su-4= z7(OMQMXrLip<;V&wZCm9>pv`B@}-nF3z|8>4ju2u6A&?Uew%2(bXwDVA>o^JqtS)a z@53`OlkUPQ#cc_wraQK0m6Uw2C2x9od(c?lt-uG@ucMncin(uhci&|s~EjaTiX65a&!o*I|b^ic#Rsu z=AIsN%yFa~&Xfvy#{xCo&9?Q-Q~{eHq5KMSKZU(r z(GQYB0kk0MSThV#%8#L6-Uu$uJx3QfFv+K7{@XX9t$`P&882!s+gziSx71Yfn!GZV zjlED@(5Pum3yZ00*_$BzCDjR5JipR+;?`KiS%G9=>igG<+1c5@?(T$}{O_XiH*VDt zvj|%*|2=eIhvyzGi&~9J-ZVc(;LP9wTj6y`*O0^+x_30foiZ{Ik}}~h_gyNsO*~6` z$vzVGnpl@mFE7T#T$=5DCOSBx6D6F2HOu}K{9`)Pun|Ww7pUP%n%q){eXYxb#i8sv zx#J+RHNBo1IThpYyBCA4H#uC&xC?@;mPOVI`b(#JQf1$EKt_5dN9*5Z+A4pJ_S%gm z6kAqZ9*QmmPoqDiBifn%We0CQR!iPCbYgZLIgQ!AzmF{U zc&T?o72tm9qF|yG>0+t?w%XDG%A`?R$9h~Ynzad|L#Cznx1w5l)6OpE@!1VLSc@}7gzvM^!kWEjYEQT@KQpH7k|E!Wk12@ToiBt>NJ8+hw&Gkm0sA` zgk~}HmcO*|p7dijf9Z@nA=e_(i$hVhU&SMVuV}&reB#LOGTRmS_GY(B#RrGWkZ0FM z%YuMk)m@6{d=9ISiF`$rM>tF);_f_CYSN&wMXI{Nk8zRwItWPiLlAKb_DS`_)}H z7*#@Dmr8>YtE8J}ChbE}g^&qA6W+o+L~rx+u-`sEKsr|Xk#YX^8C!Kmou)~9jhe;$ z3xKwv55P%1<)}$BYKl^`pd$E!hH+#Jy3wP$VaxSb7SH^;Yioh&gPb$ES1weLLrL*R za*(nwyyo^czP)w<^hzVkfE>O%ln*z(CrbT_RQBmCW&#*+llw0PoX67-6~udQt1ATe zPdX%k{vgHQq09OrA1LRiQB{{phobJ*>q5Z zkW=Su(FZtRw)mhw64hSd_*Qb-08aW|jkrzPQ_V~mUR<>crE`E`BBSEP>p_XnsNo|n z--31a)G4oD9hC~Vhu1D}rGnlixP}Wn^h=BU^Wt|pleg8`r6~g51ciLfu=7KFU3imI zN}6H~ocu9YmQJ(_j-xd~7>dr4CVrtS1>yXYZW>SM)GJymZVXmXagU%cpK3^hd_ouL z_&66ScS_Nk#{@qvv*t^t2mUFWcQ0^Gbw8A4z37u|(Wy44F%GluT~*UeI>!1gNd^H{ z!Cwk;hrjUH<=fqeY*>%}{XrWX;$UlwMLSi^35=9TOf^OUCoJ~j(fnFv291gZ_htuB zHb2SsrfJse(sljdF3!ze41;-p>T7Qd<|cU~M>=VV!DQ zbESMyDTEB5wwhi7j>3>}&Y=YzJY6cqay-gUUwncgG}cq|b}6JK$RHRV2S0N}8ZyzH_avSsj8|J{;Ns%?tGp z!w<7ofMw!640XBq=Eb4U)=e2C_r-naDg{ZbjrCs9oM`jPicm8SFBEvu03qH11hv2O z>R@E#{Nv?V-vEclIc!%hmA960Ef|)#?H$V>Kdz9f~4pCX*ZP?ob`&e2pX$;k2at-0^#h*YL=b`TIE=R}_$IbHKF`t)2_0 z=HYnpd?LF1ouEwsYQSmICc&U{gYN1%PnL!IrL@*q;&8xyZ5V~4Ko#?M&64@xP|zWb z2_hokAak{LSr4T-5C%O4JAcWl%WdWy$6L}VQ=Bc_yz`;#YtDUySD7930c69wU5D}< z%U5-`*lVI!AB*@-6|hKF9LBL)xViPI4L9#_tXm0=br@f=WuEt%yNP%+`6HRWT4H^p z^8_xGI#>GRmGPXyWBbVX0}r74Pyv(Fz}LU3OAqiV7=5&Y(F{>L4sF^%#>$mrYW7c6 z%FPgbDIf6X;}i4$`d!j>o3??kFxIy=%Ou{)vBBWVo28O{T(>+4;?R_%hbc}Ws51k= zrL1%%ttyZWLP`yHyO4yg(8paxci*o4OmZU-K8DF=vqAEBg2~=9xzqZ(xekPhaM(sr zp!J5QRsNu0=gvjOtHi@#O{mX2`^@eAYVZ>D9PI@OBv_+cafCGwO^h@RhtJ~GU&&PV zi6?_5YhT)*m=jKf2b=$`0uDX=BAuBw%h*v_#JS=cS~`Y5S&M)`bw@ni-22h4aluYb zua0tB)zjlFoMFZ6qL(NaA#g3>O*m~Bx*mXb18IB5nG{#)g@6VA;-8w${qn4jl}2gO zH}gl?*_U%V4^;*FPsmS6$pqJ}-mMrQ_Xo=+9*_;hagV&IHG1*>W0C9!YerkSXkLyOREwFMUZOVh^JmZX2lOT+r>k(Bog-@?gz4sZsRmTT>%3dOHt0|R6YA~UUmcWf zD^YS2%TE)yabtNaIhK(6@>?yiN^kd?&|eoPn$D$$<%VyzUEd?@5!Hh>4fG-BSU29`gyx-`3U6p0NDI>WN8N$m6v0*jQO{&v^(yEM8Ihgz}2guddG5_s=Y z(x=t2r2E#Ao~iU;`2K-Q)hjJ3+;>$6ajmOE)8y%(AjgAknX51D@<#o)s3hkpd*Hs@ zVBvl*Qw4uduj7FSMP#o3$JSp*McwxCzbGXoDIm=d1|8BM3?ZPPs30XREv>*1!q6a+ zA|)jyA|NT#_n)bHI!<|q}EXPbPtXEqxdV4Awta<^l8OSH9Rkk7N=hogVl-}*ar~;Je~m%ZHYy=7@Q4xczC-9W!&*jP+%n z6@9(ExM81@`4YP-=y;l9b}n|J2Gw)f5@hwQ-fzmeTG^cn=`~<{z|4r2Czim99C(d8 zk#MYL4330r_HpnKOlTE+FO|Vzv>`8`wk(|$Uo|boEoM?wZ758jKy$~xCROLdD8br-;i7?K4uJ;O=2HtoCh4+!m+36m zAXfiWFmNbgxhB7g2=lnv4-k!FqHC938{a?+E5z)>T2e;>zh< zMZ37`Tlb2nNn4!!pSH{!XZ7%W{&k*7h?EqbG&V}Ew&R~|^gfN4t?_IBFk<3aHrdRu&8Zl5S(>4VVp zNX{gbD7q;tivzE=gPN_>{>Y`(g9lM~0BMFvxG;48ZOfgl1Fq=atC*&Xe%*ka5(5$q z*oY)F5}!N%m_IAOhci{KO9RjDizhc_x&;s9IpxiL+>ZX(N1Thg_nXx}trL*g{pM3? zl>U9qk2|7DkkAN^(skcOfi3lA0tWX{k)G=3L)1PV(h3>RdKD`C=Qqss+SAEni z(#G~-RqKBQ<{G^y<>E? zFkZry-si+z!YqeS4T3m-%cXJlvSr>H8)r}+6a1)`mL#PC_h++0sc_|8DWe8qF{;r( zUO{h6B!uAovd{yS=0H`R6i(dG>Z=5e;)hs^TThp0jLOm10%L^(*lua@SY9eiaI{-q zf(e`KAuIW2A3r^g!)c#!R>6)!aMk89Xz+FPX%LGM^7&& z3-{S6)+U|sgY+pX)QMRt)k(_r8QM$Q;I_8cqMJf)XVm%p{<^R;Rsb9&ao+12QkmpK zfkcasy9Zlr)|BhWmMLNn&T($D9%QmdiY_j^zVnOXMM?y5mcqs@Y>*a8X-uSpW)Js)jj1)SErVLQ1y~<7J z4Mt6e9GX7IBK?hy=No6sFUisQ(xgC1F1rZdoqPY!J_1kj7&)@4CQR^Z!8SmKdCt9LO+-ar_sV>xVmyxd#zVW$- z`r)VKuv=sjN$N!NIhNt8BxyQIRKFu3<2_f%&{d&ExaB2Ry23pWlHNTJse)FHE#OHV zBT+sM`_{l03eKxf^>(<<;_J4xIc_}lyt-Gc+DZGP)pN}{;(@HKD48nB<d1c+u z{dIKq`YYE47;TtkK_zWe>8=3>o#?V0UVc4&$CBqhH$|_O9S@WFOobA!b(ar;CQK;2 z^KkAt%g4M?EwQ#Ln~)a+k!QqddnQyLmK$@VZfWG@*#7S2JCi9rHD%g|8GRNVSFgK!bTTsk>UZ*g2y-1Ckz{4{ zl@n#yu~5xi6sF+z_hiy`qp*9{Y4gD6-D zF5Fr%X94HB6GPpsbf=2uIgw9ag0!Rq@ys4_G3F3_xfVkqm-2e@JLyxn<#y4~7TN3T zu&)!e9Bd*0I`J$kxRUnQ{~hxr`b;GwzHK_XX!jE;{LbZs-0b!e_rGkN!0c`gT}Qbw z?eXAh_=#~%dWf$=Vsg7^?16&*w5g_bcFZz5grsl>0;kh}xo!#CoV51BkR2p5aCTs& zOpnWYIb4JN9O9FT?db_$U099j<6+n0S6yl}YUJ8ux5xKLa$BR_r2P=*x!+=-Dbq9U zKYKe}T1BSw)vdXHV%a5%atSloBOA>)%`%4fXB26xxj{wblg6Vd+PT_SKPIx2cKwZ! zcfs}~+}X=(Y7LYU7XK>m%t$)>N@aW=yiZZJ+%=)YR)vdM;SqlYuQXk~p_Q8?9ON8* z3K^VcO`G(AugRa+zM28|+$0m3S3^60%eErr_m`$wcLg^Gct&|{avlD#aY9BmU1RBT z-Jb=qsoO=OU2MMhBZEYdIP*oX%!HiTZeUD@(t6f(+u|KeTSF3sZcPuQU948)hs`NvMmYaE>#9DAMB{IDoQr`2S7X`wbEV)3t6%b#Yb6Gp1(fv6iF(!{ZMg z=0N;xEvTp8m#-vxS+^~UB#6HB(cY-Uj#gK0J#W&-ZzcDw6YXukA%=;OVEZ!1YLxXw z$|M59WZ`@05NuP=*leq!C3X0)<1zd$(P}D72!N50Chh%Cm9?vezVJyaFa;|L@Lujm zTJTw)JSRG7@jGIjorO91+Ql1;{mftIxlaESAj()ZU_zrKlF{Ha#t_Eh>lo(xg~aTU zDznf@Tc56fh{ydw+9O6^YJ&!~%H6XU-yf5~ z%z}}@hy~oVcd-3Qx}8JVYM)NwpCm^j#3m|T&$P@&q{4Yt1}Iq`^7NSN8Zi31j>tiS zoiP{%IKsDzw28VL2`r-gj46Ky=EP*qUD|oMU(0gKA7IxOWxBRj8rM1H&-Y3H{V&)N zbd<_(toWR_^c^5P~AUc`US)~XaKLCBqsc#NXV)pcVbvIx#Y z8XMN#hj|vZU0;tjeDxy2m8S<|9@E6?aOYSpvG_{4>jj)1(tr1XzWdvLDC6tQYoi#fs5#n9@Jzm+`ffVi{a>G~XTHhz zPqDvUmh0#@;Qqs}ykdpEW&K4bmzsz8r3UsYQA1<80A|`{E4>nyl1uJGhK+}#sZX66 z;+4X~Quk^sFZ<81-MyIDysYEJ4Q4R#8T{TeRPx9fdW~&&q&w~bIhPz;4>eo^xq4oY z68Z&6=D_SV_(TJmcPfR87o0h8{-)5i| zj_Z$4XPk80N?#+kOY9n6B@wgD8#Ziho%R&*!gQrG@xzgeQ#A98X1jx=}}^TJqV1 zccp`R;rW0s{?AV&UTr0uH*p}SoIBua{=evRTwGx1T$BMN{U(Yrw)}auD|B` zZ1kug#d_5avA2bjPy_QxsJ)|$+Pnlymq-Vr@3wGqw*v^2_G!RQD;E#N93eskGVUD0TBLd<}ZaY`8Kr1Y=T%Z|ILuJsQs}ddsiez)5K)O=@-ZTo z+PUHGFmdd?X)ec3o;c3k7LGhcOEZ+!K-=;_LkgqJuG7ry%vo$k>&|^Cl<;dvlHU@$vBz;^J1R5>Ay|YSEKtCh%W~{aG7jW{IMR<}^kh zrcBv6n#TkW8F%BVmOd#EkWZw3kN}kfF&5vkRuq=-4CM}_!@m9`c1dZ zN+IE>qJr=FliQ10D&DlNLl!SN!&18rZeM7W@+_575KSMgs?Ms^|AmB~PlS_flr z521i`Mm9N59>_o=bNU#46KdS5hq1k}qr3}I{u;3SwZxqzP})1*qSc)395o&<)&m;} zxRG>`yJgfYehED}e0mR(Mahyc{7IN6eW!$w>bBvpz{!-!`!j@s2~;ML3>nYKtELKFa`yaTFtHOvzq7)qnY zK$~&ceSa7#5KUW7n$Fd}j{CWRKT=Q+UYrzC6X>7dF^@St zL58-p>gG(Dl{ShmQOl6>q?6i*DMiw?t1JhI^Gdlr4>NQ0qQ)|v)>nL}qHVvud^Z0h zRhPAr0w;#`veoM#Ag3akhY&X<)3h{I%IgeqQVHx5uCx{(h3v z%}j}iH#vQ^wO(lpK7XA2-i_(v_?!=$1Ep$zY9F%)bHtw4I0onJAA9?ey5xw&1gSZh zOU%oHAKLJ1z_eU_h@WDaI9k5tAQNwc+DmpNT-DnTXG0oiVTfi$^3Ehq@GR@M0WvLt zPQ{5O($H0zXy)Pvvn}68iMS(v9qy5Gu02545X~yOcdilKJqNo-rbp=GxQiIhR(cz0 zVSr^8GJ;xO<_t+0VB7qA{2prF;>~Qn40s-i?=toCV?ey_b;OVCJTS?S9#jD8?7^Ey zY7qm)XL!Hq&P_GXBo_sMg0GmH1c@bW(n zPkGMTIeM2Yn;RLZS~1_9SSE-rgD5@U=&R0>G3avLG*(I-sp2!W!hKGltR>7*|A0-w z5?v0+i3?yxJ1vA%5A7ef`t&oo7_PJBm35ZOWt3rwQZ^+-GhALaN`z{|Vj$kXGnn_P z<4mM3*s)?nI@6~2d2LSLiU`rjlUm+UK9qj%@=fViKn2;BhwGB>u^dvk-p$=A9?HbxAagohIA2aDMr9D>%8oV0|g2e9Re=TdCvr0|-92~#TRqu8D6*whA zzc%d6DVuerLXxx%Qp4>{Wzm(i!CovYBII{Dn%kNWR)uElOB$U@nh~FOXRC)K92nZP z=_8HTLg&wqwV!Qn7^YRtz%4Trq{o9Lm6at6nPAJ{!`VZ+Q2_mt$aUOAs)qL)v{c1k zl9MvHR4%TRjl*;(k@TQb^G!*33L7hg5;E#BBmVUr-*K6e_R#CwaGy(GAGlVu62FJ_ z$faN{u{>H-GSB}7d#K`z;8w=B=%4-of!KD)+h6<(%bp|L+e#c8vIcOV@+;J(Et-M#@3IhfZFDi z4rR0!$}5zwss-as%Vt;FR88>OBrH2BsC#bam`A)!A675Xs!h|0rWfc;PLgN3(^j{e z{rM)ft4`6wJ1uW?r897}Iy4~U@&5R0crVL1Q*inXRz2|^QVaQtJ;uYFE)pHTxoHZ- zM5)cM3oG?5iw&0(^JsDFRr8D8l~2|ihb|NuHT~{e!G`+!#9?k=66=)D_$U5#NN$^l z!@QjktK6$*RQmpgGd-f%sM*Q*kjk-azU$aR)zr6jEeR->EWUqp_FMnbnO;5K0)n$D z&Bl`)2Rk>EKb^*|$;$<{m$W2NnHc2is8T1M#ukW39W!)CJue9&enTKAC3IU;K%3NE z>vmvR3(`e-iRsX1h7r2K9!RM4{>K;CmppALV6#Ai(jwDKKd&;cwz*=PRSP&_Fm+{W#-E^sgP6;$>;LDjJ}fluQvCd zjIsIZ9~qVa36AtDu5B!vef_V~r;dWqhVoBBl=8QoApE^hW5oLGyggIkH-4_oL1^7~%@>gspaVVzdB<)|e1Gj->cvx} zP|uUZ<}b447+kej9(3ZV^E#>|e(kUndLGAJb6|I3u?g<|SGj6wDP$;cs3{{}w`PpJ zJ{Dqn^n>+F>X054`@Db+a&e0P>1=xP0uaF5=`|bWCUau?J)UODST84!bjN#2o0uy* zC=gFlg>Vn7STLq=_tB{&-V32$R+!lL44iX{g7j#h`ZRC zOfz^>y@V`^%Bo*NSjr#Y>L8)MmC@&|gb)1p?_x-00B(kZUc$07Bluoy|GJ-1ib4bC z`v)Q4DHHiO<0ftLz98PC#+cat&S_`}Xv-iWAvBxb1dbo{KlDMI{pC-U@WqI>0BatJc;?_hNr6(+XfT%cBX zL4~Kwmz6#J*6HfIEQ);|@h{k3%yN-cB%U&eOj4e@+m7i8JtF!Pz>obXve*1I0kOes z0Ana56OJDu6p`3GW%O-*y>*t9A!(D^N=jy~v&$EaRPxl=VAM&j-m3t9|et_QbF$X_byl=RqBkMmEj zZZpMwxvoU>(frGTm1`_J90&DLX~(GNVK42Y*z`D$@JQ?j1-MLQVq(&+eBzqs(m|vK z#Lw0l1n4g}Gci5~hMnF%sKu4-YWElE%V}}Pp^r*_jm?;PooMpZ!%N%Ru+h$4!*uDQYCDD%V;8kQ$p(#0Znl7 zFi30YXY{>_WR;zG;^O;}ZScSaaD+2fQ}UE`f3Yu_vv>Xa^%!YlG3z+bH&d9W*MyADjl-PFfD!eICC4W zb^Q|$_1%7mC)ZU?5`G;KCirN2>gP&~yl_-f>b4^)k*mr^mU3B&3^hwxL9RB>MY-%B zPicyg&T;l;(||e8RaO50dHO36e9E~|!hhET$$@>xLmYb3Tj2kfn{?s%FaiJ&f)>$UDiesbNT^ohmj{Z4RQ7ib zc=!H4p$()(D*Q@At%|VSX>ruSCFPE<6mrh@%ox?*jBXa^i>Ww}h$6FK;%|zzcpw~h zdFHhAVD>$LzZ0`~)n`nRsF`N|lJ9urE-KoEFDsR^KinFGI09{~uuNHpdf0B4UA?k? zl`KJbR#m&3;s@67GlXFG-{`wM8Aa%oS)G};=i}%Sa6@rB`#oE69+cy}c<&Yj7#Q>% zAMU&B#kTxHhF36ksB*rSvP$j`J%7`h0)J_J9S7@faF?*_x}wMTLS27%1EVLHMmEF9 zM(&r{+t5X|+NTnOS7A=Z6m0fM?TY2ahm#&;7!&8VsZ5cPo;)KW3_a79$npH6UIly< z9O3HmHDG5uEnpL=oB7^80!kq|13iTxMzs!yTgyRpZYS+6l>{L27dGlaHzgGa4s)yn z8$m&(2COYaEhZ&=YSgbirr^#~Gh|3TTdEi~T085#YqaN-7v2HcO%zc4%!+VM!gpmU zYM?{zr^P##c|YMI=FKO9yZxCxih;I2pZ$h@A#(Er4@otM@&GmgmohMT>!sY267fQR zk{TD_*Cr#Wzp~?FjW1fO(1vtQn77=4?(HN56wTkiq&SUFstAa$)=tb9bb? zpmT?(QUKjW;NTWom%E#@KRM(>OZc#2G9%u-j}tLov#>3n62aqjoV=?0FY6Nff?sTc zl|ugTLk-ALjZOR9p7VGUfkg4@#7|RqM2lS~L$|mGgSHq_u2M)zOf;9pp#_A5!TUd{`lu)`-`56nhec+B(S?5&z`*rH zC^yj`k{3LC4B!#y6W^Zip2a+i0rNntsM^1z9ok|&tAUWsmR2WQ1Rld?Hj43$*3DX$ z82T#O=jao^EkWpS*G+I9ng--5#0F}T)%UkEIq2$(gM%!UHOl^TGkjL#`~&ggq`X7Z zUYa!3GVkcY>@HLl<9UeC!7oztdtkOsJBh>juEuOXVMH85EWCOJjsPXiaIOCiK<L|wPuoRECw)=r-c7>}QP%=_?X z9j7t-Dj5WAU$mIcr$cEq@JL7N)=I)?-e<=V!PqydU0@i=aW=L+tOBtZmbAO>+-TKY z<3dq!dS_?1dcF#Z%z=(_Fy;81^~Fg-C7tz3jDKcc?${t;@G}?!1?Jv)tmJW3(e%Hu zmusA^-$zCXHkzr^vUruUw9 zh-S6S#lM{TIZ3$9@$M?x`*gYFp)7TB<#DFW*!+dyD915G<=%gpb9rAxm^uV5;|{ie zGD`E!JtyEOUZ(y0GkRpa8>fLHwSO$zdS)kst^-TKMXmobWroeO?%=Qge>f5c!qFxa zWCxI_e;kRVO`=Y_{7E%$R+0feL@VkvGHUd;H=fds*j;`?XIjfA&u`=HVpm2Bt2j-fU`eh!^c0bo=?Bd-sL30 zl=Sbtw+ByWb`$SR+qlQ8vL@@dr36OaMF~}M$2F?qJ@fvm2{?|Pdru`X;mi079GkP>OH-qQx)B}xUeG+vtMLgKMp=d|0sqoo4nyBWhGPR{`rabu# zTj)wiO9DbXn#IM)rm^7t;{<#n(^gc7(5#%-QgXU{RJ&A{D+3W?Hy$?>*Ct%&LwLE> zPm-yGOkM)Oe~>)RD!r^yXT~|dh0eN&gajXC_VL`XW$s-*d7rWy98)_h_Mq3|AvWxo zau;xepcna>lNZP9uJ2BQFVQy6GtHNo7=gt7CMOG@vn8r%E3XP6(&K?7`TF`LdA_xhiTR$6*aQaXGtnfL^Z_mOa>-D3lPZoHOx0yp2M@n#gOO1LBmT z(j7_}ySQ*Vp6f){dLJxdKW~;?dS10a$_wiE+ooW1*6V@>h4fcThI|d~;=3GCN><{_ zBSmQxqimlnJ}POB;eHe+FBQe`1RPGKxSd@Iec>Rm#N)3-CIrSe;iPQci((hbGLcMf zfuNHAwR-<|Tx+$itQ+GZBaRWcr`ph=art4TEpUSQ9BV*O<|5pP%$U26#a1b4q6dwf8Z~(RWF%& zNW^4)RXetQFtw1L^`xU5T}w(5+=nD0yTKSb5C|Gd*PgI3qwtBKUJ0T|Z{W5kk}r*Qe%#OZ+20*ds{(nVa=zw z!{zElp(!@bkfp}PacvcY|HETgPWpmnNnA0hZDaI>{=6<_8PxAI)Zo>HIgi2mp!Q(R z*NJ8snj*&zbaqJ7U}?o?5X=sAl2Q|kBZ@TXY83?*^vSIJPBUzMP!6>abhgV+apJju zc?M`?e@xDgk`^~m6xLPI_)av0bAyY2tIK7dJzKP+-&G$P!~OR0$CB1n*P|7w{&wWb zwH{~ve-Riek9R_ti1CbsOyZ>ih^3N+)L`+V& zE=Yl^)=^%8Ae<639F)Ruj_yj{TO#`7u}dA#H>nxZSD{Wl$w3i&p9w zB3OD+!mAw|t%#Gj8?(@G!`(HQ9!vd+y5-p5!d#@SLn65hah_v4bQs9=-@&3s(awR* zlD|)vJ?4Y@|9DyIJCwzICO^tLs+ybsAb_C+cDlW!oR}X(>2-zksa5gIq)n!8Jxt$W zJyO*xc3bBME(%JT03@IjfJ@wAWYJADAUmcy?>Df~-sSJ`7@yoI*YK69t!5rKcRiFK zv+qy1Z7EeceqoE7#Au49PTlpow>Mm!@AIPjNi!_LI~5@Tv_sNxA0|M{Wa9K<77>%6V9F*9D9b?$DTah zWu8C(Du+dz&(tn6&fG7b`c3|$A_aA}dz4TJ8r_p9sZJ1E@HX|{RQa_b8yO@kLFr5g zUrx4niX|_wUuT32pm?M(#~5!oHnCU?IOuJavrSjTL-19p?bmIMY_hf@xnG$rcaJAG z?NZHk9drMEVgC`+e_#kmCSPN8$D7}4-;|uW0<7X5AMM))Ys^7MgLA0=(AqCkKH2QT zSpTym%F&OUYh(^>uUcgCwFn})Ki9)|jKn^upNAOi{b4FkZ&!1K$waoFZ4{bkHuC0s z(FhYx8(EHYjg9>2(6{tksuEL<}<-ddu;(eS@B%y)-vS@F~QJ@kp9()7^rUF z6teh1e(-2FX6E&@$FB`$@Mq%>z24lr$v?Zw>`gBEUaC8Mf6HyRmOk545tbRur&_i4 zb$otjc0|%V;Sk^SUx~E7TN4`YHY;{Y`oYFh6+?zK<`Boby`0 zx_u%w0D#Q29G{3{a&bMQLeIpjvkMV9eNt?PTAaTe#{7X^m^wH(40v+xBZ_ALo32=* z)Nk0jOlbbJ@XyZl&uzq2;{Z$!+Svx9aKZ59>fPG*Fh@_z4$9*n86B+in!wCJ@f$d{}Gn9v`-AMI7v)T(0&hT-K~#5$DCyz~%GUQ~EGnfasP3*0J48S>zKSYYW{oh3FdZU_1yB>rEi!38%t2zwP@ z??)0LMYim=eigxG9Y*O}F|oJ{8SU7BxzADHqInopzf=1Q2;O|xyx56Y{Ra7i^YLRt z6P|C4QmKT_K@_se0JJrF|NcU; z_)O_a-t@BO(TS+iIp=?W#ekT$1q=xFksIeWAG)fR8pqXrbiscowm=QVs_6Ffbf+uS z3$!W;FjLuO#hyYxM>BNPIqDk99nM5(_Sb%;A{O&B5WiDI5$kZw`ec%GZ>WSr>6Llf zeDMc69nB*5`fPu;0!w*!56m#zn>WDEIBa#tmuLWjo8wN$`?^aBe6{%~W=JcCR7kt* z%^hhe5>uaDae-Mm;{3%sg0r0@<3C?hA}WFyRHTW0t%lg2$5PYRjB>quBPI`C{cBH< z`~z_baGkw7@0L7b1A-FQ)l5NBrp6VgQZHOG;&z|$&P0PkEVHG-DlZj#us%)!QQ1Sr z!d`eFKj&-FTXH6CG4H--4L^@jxs_|z1$o3psyfOYxB1jMvG@@}E!eJ^_V4PKksXzn z))+qSTzyV5Es%#n$3c|Bi?S?#LqQ7p{7Z^Q%+5G42W7gS1>`uRtkdf1X?#wKWyv6H zY44=ms|jt4=^%468xSqKs}D%~dXw6GN}=CX`NvV0NTfYe17^Ss-w1A&Uy9B>fp8HU zAMNAtTKor>P`m$gWtUs@ChsEs&)#o2I4+wPSDlzQFV>(WA1p)OWIz0(@iFyk6O^)l zn66}P6o2QChqUvFA2nZrQqKTVPgmm=LTUzbe!FJA$@+xcLUo=)a5gUoM8pO*TYnp2 zYMI|Dw6aTXRIl!{z}??G>^ga=M6?U)r z(s^OSXNqlLz|3GjW@iYqGqfX^=BM%DgUp1JCA0NbKm|npoo)60U);aGl}2SHeye;Q zODk91g8i9_`i!4hr^*Y?GRRVaJBUHWO1V;HTAp9;l*QycB65p3^9g>>y?iKr%LChP z{TX~D0s|YVO|U_0;hd7u_PqM*u}=p!EXemJ!d7d{#Y!Z^T5N1^zx-xU>6pM>!oAP_ zDe^i6;|tl5(%d&yIbk*_?WN)p9om@tde{08^khnS!JZ@$HS6DAvK*6yUXpp|*Fj6QH-C-^C^Tx0lu3I(puyA^IF|QikUfhd zS`n+Ri|Hub_BGG|kp}ji=B)2_-={{{e%7qoEFtKkn^Ni&+g3rh3F;%({$dLA+AyLJ z1MfJ6V0|limVNSmQgVz|qno!OzxDeaIGQR)eSD6Ah9GB%Uqu;Jl+Xpa3cH_k0GsGV zBJ?{;B)kISI>G1r`Lv|JQ~Nc%<_2Y$>&fzfKe!P3VuvdbXz-BFbWef2U~8fl6dBv1 zx7)jS@9DBB+`{@^lf#(z*oa=qTUAs2x_+T>pIWywOYko_B;c#)f?i|C`=>EnB1LpB zWN8zZsoBzB*vK`?JP6>+j&M0-Gu&=U;^;dhPC0}=I$1CI-QhM)CxzPLiU*?mrL#EJlCza{fES- z#F+M;hB^Jx+D zx@#l+Zr-_p?w+GNluwH51tyQB{(4+z)a&A&0QgL58DtY+NrlqDHa7}^T2twk^n{~F zF--mQNEm(Koh}X#xj9^8^`Qv^DcnD28}??ZnUF5r^zTVQ{?JKyG|k`kF4c)jPIS>N zjP@bd4)n{!*&9*2oxuSds_eZz{;N+v#U%x!iF@?=O0gMte(}@*TXca*INcw!gSVX1 zH8hWnNd5ytTAXFrm6f8^pxzgi=xO75Y&{c@*I-!f@H2>rVtOPgW-_T6ogL-C z*!oDy_szisJDGfrkn6BeCyZKZ0z-?=XS~uq+DBl_`Foo4vLNDf`xvYT41I4^AxwcY zkYzYQ$LUu^ehy)Ej`)L6MY{MNn?#nRhyUR&ZjRSfXKg!yL$em-BjzV-f&{GPeH;`->USWd|_5t-W$I|ZsKB3RX?t_eb~ zzzqH=CYqG+8ui`6;F@>A_cmBhh=OO}&e-^FNGm2R@v_~H0d5IEc5S>zLz#ESAeFu7 zKN1*1m2$MAM4%sdX&dI>0sa*@#`Gc&qr3YtWrpXTe?Xm~$z-N5ul`@jw#r2n;-^ql z+&PIO_h&LY;LqE0PFgi%0&J&Mk(@HL4ttWP4KsC|@aC1Mvyn{W>fQmdvPr15&Pr#= zfJ0zt6A5X7bO()z<+uB;wEmBtSZ`@^2~Gq@GH@z9hRp-Cg`$a71sMr+`J4|W0X)Bz zf?O!%dx-e%6Lj1ZWboIk<|f9S5=k2{{Pbr%Y`o(F-_(9h?%wZigyHG-UxknVA-neC6-uW;zotxwaGw2(Fiv0AAh+!(IU;rMwcD0e$2-iGNc<_0+05Alp(AeZ@$kb!94u}=@oLQHNd39r^ z0$?x`lJ)@9AyV`k_1Mr50iJ-}bs>V!Ba+QUdG$6w{2XXtHyv(jcz_;K3pi<4qMGET z#L<*S?E%%)qDO=sJEBqz7T&L?e;75t))O-Q ziJFX$>G$3g-r3)-AWxN;Zt_Jr?$3#UW^_{2Lgg&(c(JQBU!c!$>upO$f};<|@b}G) z5A#?f*KWtnE~Qg)NgD)VpTBf|^Pg1#H1xrL@P0zXMxmLrJfi*XX*T&G|A=-XHxgaG zf0>gLt%zC+cKA)__jf6D2JcnE!b7@-Y5Yji%a0kE?iv?mVvCeR`6g6}Y-5q8P>rup zX`(d6rZ4{^W8}UCCr*$xzGL^f2o9=9JGZ`fJbZ*DO6fz=S8^2ljUkAFzq0v!x@`Yl z$4~?qEi&NkE-7f25(aJOqwmRO`2ngd*dwAf%5WiUG2z;w#kIk4bhdF?1CT%-w~a{J zh|=wh=mF^gRG2C<&TH&v;C}vNnI=rc%qJxbAqjGIW@D4o$W)le}iH z+_itn)`b8N9_6```3n!R^n)1xOLGmwNgq8Rzl5TNqoaV$*InFp{tLvb-wTRW20W#@ zJ{E0R-;SeL-f`V->OWeB5NOA_N+G>LQ`iY;eV@Rrl3I{bQc07$9VEEC_lr8;!KcUK z?k7!KPKCG;9X3S(tgvxapw8z>JpPa<_gm+8+(_Ju+pEP|&j$O>Aza8XNRff_^wQA{ z#D-zlqk6u{k{G!AuQ{%;qfdY5UY2N1?ryHq?~zjMCs))?8PpSn&C9X$m4#nkuno#} zEV5`YSW31m%U3w_Ay#LiQ~YPD9osSQE*Ipy2YU}~L(gy92Fx!j7}W|g2S4K$r3Unl zYdyTzRCH;Ee)=~Oo%&<6)%_PY(BGqPO7G}Gg8a*U=4=wa zrERq;_gwG!#?U}#lK19R;Uhe;KwxEzBS_|Pp>Ko67ya|8@`KJKo-N8M$n+gTTv5I? zD>Ub$|BRIvgjer5ieLsZDelXjALB@eqR#+bqyHB`14PS7S$yxGXh?iSh`QiA@^>x0 zC zUIzjZQ<`@UINL0d%liI@;ZHi=ieh^*W)`&U^1hwcSt^?N@62Q<2W=LG8cvZZg@Z;^ zq9`MbMa4<_N?|OlZ;!8E*Z=NAq~Wo?NNiYH8}_z}e6aRc zdurK=2R_BnxA$T832f4s$*#ZcUeZL2C4qM9Yo+`*2b(|#DJg$nP*AW(v4+tH5w+yP zGv-vra_Z~R868n>`|dTXxfjxGOzThRTzk(o9`Iy8#k=&H z4332ObrDMBu0`Hw`yul7Oi**=)E7y?Hd#Ug3sY0AM2ECnMSgf57xc6XKU0MA@q@dI zK~qGNfA-llmpc{NCaYtD#)@4S*rZ%qsvJ9uUpHt-+!*3o(i$0zQ_^js zf}|WItwDd3t+V;YOZcwSOZY+sXMJ(j*{nI2#*MwtFTmx8X)=tBB)zoUc?SnO>3YKW zT)kLtNkFijqlk~T^-XN_J((MaH*vjem|rXX5}|ucdPUIS*(Axm!L|fzvqH10WPk7r zeGE4xO#JV@@#5Eb&YMxNa#&75yeBS+#>F=;%&?YtR;8eVc7A)N;us)(J&A)p|33(g z(w8jogWJ)dp7!!et+PI9bPw?Xz42Mxm9uvCvn*0RYEcWzJ5LLr+`7C>L5IAXZ7U*a zOEM0=||U>TA|$&1+b4s&)AA*M?g!mxXAhitk-^O4VIa z{fJl-Pbq0te>V>j4QIY6C>L0~JbqsVU2v9? zoNf4AZ1hXTE;AZdvoRax;J>2$`M_^os9Te+^7bjir-{S^^wH14WX8fH2w<04jty9|jfUtnv^c&6 zdS_9LNFmPAxFYjjlP?}}evLhhC(BDJe2neTcsJDx*7v6of!jn^!iM${=zdD)nSu|! zU`-VB^yjM16@UJkj|2!Fx zIA${aZ2nwEn1yfq(&Qrg`yH;BKpdKgh*Xztx*sn-2)tcbV0FZ&&~F6bZAV!4fm_cm ze`FM=DayR^XX+tz@FXdSvKi7i`vfgsV|fjn&7(pES`;PU2Z`TVD8MYVQ||O7^m|+Z zIQ6hcrc?c! zSo|q5uAalN$qM@oH=PzcgNY*F99!<05gzf_G?kmUj*B1nrZ+QU>=kjvfM|EN0m`oY zMxbo*H>V`TxbgM^%ec?o+q{ulw|ENq7ovuQx=s3m|HcVEte?N}?4IzV!DM)KglvBs zdCNP$JB<1&8gA;s1C-wwbxd#gt$x$`f7FZ@i7(o&?k%mu4`j1Y@fPsEYHAwWPuup! zZmOa3#WKn!{@Tid0Xy^*%aeiaQZJuKZI+@XSi2MzMgv!#*@wTn-{MN0?y3!-nR3V< zNbvk7_^}L&+lDs2H|Paq`~LF@7G@RZ1Z-yG+0N*;>L@{+e9EJz5vr9cclGY++)l7B zh*XdMEF@boW+Q*PlX7{jenu8+=Ogbllp-fPBR(PPTc0*KiKsRHQfLutYk<)%&9q+(0ViQtOd5{@xfy`2klySn!d6OF%ncehS>cp!Tp`PD5+(HZ@)Hji^vk)Nw+=T)f2B%}CGaJUT|9+8 zfn$yX+}LP*bNbarwVz%JUm~iTI}H-*$3RIl_PT~GhtLz2@}D+S?^om?rUsY|2hke$ zBpP46AHGGRNYCxPHk_(G#KJua&66yP?ouILXd-#&r99=D4h?r$5tY6hUwVdThi6>E zCnj8fx1=4ciBH6XIz`+EMye+-(XGngdlPh5O;?Ayv}Pc=&rqfl&}Ydz*LAS+xrnfK ze3M-tdQ?747W!GD$Vbp|_TaeE<3z-`YouN{vLfX2xA9M0pX3mQWE$VUbu%+D@0%Vy zJ~4i@e-zoox4e0C5RuxMc?W45-kF)0Nc1}S>FaTk*QQz$!O8B?{D(ez&|5ew9ZZLg zD!51Yl>RTi-ZHGMwh7zC-Q9x~*A};6#oeV8w-ztOA-KC0S}0PixVyW%6)Eme+#@^B z`|Z7dem|4kN0OD?Yu2op^SWk@aX$P~ulo?+DC z%pv1`!RR=`C$GzXkb5NBd~z`b2P{e*nzP>#V(P(b)}30tbCaN&mDLgN+@5FNnkDrL zmTeEm?7?33^S>D!yBp{1QT2bkP=)sd7s|V!-9eQUyW3e8=o3c19Xv>ZBB1)3Qr^vF z?oKbMt?UN-1^c|fOd*$z@TGtrHQpZZ`rYbYQfX7gN*VusC>ih5c7mVkc&($C=-t;f zKq=di8|BE;{?W}uKk^Qj!IY7@sG>8cQ32u7jN-uC)4b+C3P_EVi?fx7_j}@ z$rFEbqnhZ=&a(l-w*?{Q?4jAx5*qXGXN~xHpLD%Y!W-n}9&1TO2y*mRpyto(*ddi{ zu{y{4&}ANmj5X-$+fT5H7yCLWt{Kg#tQ``qLboT@8s1)njsZvqO@eDqKWXH5EEX#` z6CzW1BdjF)9XV0%vS2UiuY&1Gb!CtGPh(m9=6^1|wlwQ?g|1U<&HtvY)_GV?;k%c| z3%4<69hhj{SdM@4ZP@wjpTE(Z_Z^i~kd@%}2LQ`U>sLcrrXwAgdrof=fydL!d5Q3b zAMeMAC`~B$nDGSUV^fa_Ob5vp)^N?M^Xo+1D)BIQZ`S|#F3E7b%LF#-dkqI>s(vdf zv-dpExY79CLkwSGIdMDj1n>lX|$!|S43(Y+qQrG;c>M-gbbjIKpUH*f<%Sk&T@P@OFxyLPz zD0>?ZIY_2%E=Z`~8F<`WN( z%eAJ86PD@I4ljtw3(d9t&me`PQ*Hq5dx(Eyd6F|l+JS?^vDz^o5xT{H|MWIxpwW^y zExBLvGR1Dvr9T(spLdNzq3g`wt{CAfkL@bcfHup!nNkO!9i?^IO#gY!W=py6fZPDH;!_Ip;L0zMB|EJx9YLvi`$ zxaj4OxLLrHyq>7^0%7b0m_;b};o$3yt5bA_!aXmhqQTQgCw{LlOLj9vo9IxXIrP8A z1$9UU0PF&TTh7|AkBW|G!{q#PBNHNUn%0i-3fwe7Tkx=?i)+# z*Ry{e_EJN(G_CPC-`pqfhvoAMOudM+`UC7SjFgpT`VBrt^%J`c%T7Y6yRRPD|!^krDdBJ?JiJVCHOy9rIH>icG8$ zA3B2xK zJP?InirpH#$HFtey}u#Se6OLQQ8Fd+!*%Mr;4vR^YZcl0*Vk8FVDq^Z70%J^)F}~O zqR^4;8{O~ypJWcZd~Y+G(eZKdN&rAu+8x{h-}38rg(LdQAlvlu0&^bAYd|6IIAsut z&}$~a*p4@|f1?t2Xr@SBiJcGS2&wv=S$7a$f_jdI>^jDE7oq!*)OP1p#c_zk|rr;3%U z9`9-Hsab%nM$bmB3P0DyK{V-4-FgXfj}Rx_bRLhx9^ARa+M0k2L`C39)mDV@iPpp@ zdfq}x63tfhTKsAH=|aitqmYzCEFk^7`A$ypzuI^0W|~#Zo#1 zRz}BDGSE*WjZ?VUyuc^YCrG1hFomF|Hq1Amy??bqJG@Dt z{IYt;w~umS78?=v<%#a#kxk@*jrNWpeZM~~|6C~4V$hS__47O#$nFHhQXl{j6(?Ih z$Bm_631p-b{g_THK;Zs-4WjF`IaJm0VJ=F!Ti6^Vd9k+F@~^&z-a39PG&N<2I8?W5 zw9C!8S?xGn;F=~@`U$mbI=_G`p;e@qcz*B;8`6&VTkhS+dV$^DbPXlqnF5S(^Q$u) zs`2^gI9)LYb%`iOf*{rfMi(|!CLWEG|MyLHTY_UGDvvunMRNz4w_?&*7yK`~fBZN7 zr}9cXso}+?IQuuH)7a2OLsqA0ofRs}bL7{|kHF@mQ&s-sDN6(YPoLI!7Nm1%L5UOK zMZ#@Mp+Gx3mMY^8maZ!>_Q}%9$EEUaMPXN!iCVGbvLqIg^i9mLw4MZ8VOhrY^X$ zbLaXST@G&j?<@os3>%}WQ7gHxmK>aNp5;JN)*zqNBxKvqZlS>EjCw36Psey3(BoeZ z`1#@A3v`O(r0Rt9CRYbWewpX`UE>4_t&%ZHWT}f8c_sfi2hEXy54To769aFT zxJf1w9|4ZHT$I?_Zmj0LzFZ3H(Bz*PiF(}MB*(rV9QgY1i@rB1$$3U!3}oahL%;vG zvbVJg^Y;Ki_*6-dsti zX<9d6pR68zTM*C7Q6F*r3-|Us@Fse;KPr=Vr>hGe-(WMO_@WXee`ou5JmWw$M;4ly z1|Sq{`ZG$(kg7#^JzL~19bYu`0q)Ohtv0}FD;8%6{oDQDF;_r%&p-M_;jcIhL6`@g!2vH_yba#9Z-(m;18?xYN+z4?WY14ZLTa zRW09$k)IYQMSQxxulBwkWCt=$D9o=leO|y1s(mNruC|KC` zQ6-t3z6Slw7T8}|v%dYK?dj0?OL$oHTFCn%6@ts_&#f_^MYD)49orP%5Pnh_f6~tJ z$bbcY>-mek^@hYh=m_D^trG;jdVE~&1TmUOO~`x-fN>}Fx*kK~(jBg&ieB6gYP|Ii zTusWFdw3u-Nj|f)$$`3LVPT@HqrMGkzYWg@G8FV@Vx*hc753E>SD*0fSw6g&uk|{; z_Y8Q^BP$S}RrIyv0nLp6wMj)nz%VD4SJOh=@fTU(qe+*Q`*<_LP9rUg#p%#uRW2lWu%jqA1*%rbYB+h5PG5c?k@R_$G zTRT@OCDKO=)Yd0Y#ndNA!%8cDFAL6Ucj{mGf`Jf;!ZI6EbsRs^{UoF;2ZEHz9R{VA zMkqd%`O|3T$Qm-{6^_75I#Ti#x&-p`XNPmC+f(oN2YI%72d>VACyGuoe@j<2_P19a zSd|x{iu`&IYrn?RE%YI%QUUn`ZzKxMmq}|GJm-2c28Iy#X#IVZC^F3D~e z5y@ERjta{obQ$#DTH)1?4t~WjtInZo%3Pui`wgcHuIXd(!m5rAcghiIe3#9khKiiGpik?ahBJERui+e#_}3gVJzx~uH&6DN(9DjO*)$}Q`>gjZ|oI-b^?*t%)CAn zzXg0fe-zNP$=v+shNkPf?%H#27+3AZOv$weVj$*sZY1Xa;whH!<@KlkzqZCNM~RJS z}h@)AUj&$8lg~u)AQ?V(B=bry^%kLtsATQjQPOI%NfQNnhjAzwj3>g8#>+h z1N$8<%8Zm}irE$9V39k4C*2usz47tyR*(h*FhRVB|Rv? zL>MnfBmMfQrfb^A7s~U8>#2W9qBD?vp1C$~=@H*oNr8p;Yrz^65c>dw%z@5JkEh!@ z7=vLnzovMvm?>WCdhI@^1wZ+5`CCw~c2>pQjv?9woa#q{tCiC(@+!^+%TT4aV*0YY zSXllD2rz3j14l;#ddI|2Kj`sDi@j4ZZ+Ex#YNk%>)$+T+C$)a_N z$t26>TRbVJX=%FpgLLd?rBOSWvaz00(t%~8K8VGiF|_y{G$7L2F3c`ZAp4w|tOrzl zcsCBHFTde^0q$$B174yYi67p0H^H=9^dQ6+eFDx)J=~%a`43TONoL=@0H+@x@Y4wW zGO%02t%J7?`3!c1Hc64Y92c})O=9@x__VS}IOe`2Qx%LaR(dz;AvEkU@6sFt5=aBP zEZVJKm+#OF?=IkJ0lXw6rG95@C#7uCNXln|SlVYm;fT{9`*t_dE<2_+oM|j4he@B6LYh-l(IY=$;|f-DX?>Uma+u9>0KA~|L3w*6=se^&t#J;{T^PGs}{)CO)I&N9}FEE`6TO=ou22ebe zGZcDHO-?(^RsiUHv3bx29DKq=ek2{eO4dUOt4>Xu{A{WEGB+)qkpGQ{f*w7z=gYjG zM9t}Kq{U|?b@F=uKQ924X+o6q6~q9w2TKoEMBxjMXw5MDT-t?T=^q0{fLDBw^hunA z1(=d-50xEjkQ;yuW=F(Ils0LDF%(JRP{6RsJtOAmQz-c(`T_b_$UQqr0wXnGv-D)L z_b>TlTXFK5s7;Tq+9U?9ZB7iCM3?5=Gcp*~O9bW;jlkVYM=|HI-eZNxBDXh* zup;@SsTzOT7(XBxEWN4uuNdPGXL{tc@GO!oFqIQw6NS{BMKEf*x|#%PvjM#fdvY;d%Br}0ec0$y=JrO{ym_^Lkjv;C)D6Mk~djk zXxts`0)~S!NZ5O1Vo!v z!S`U2nGs{XlGR^yAaXXUR<`#n_e^<$e^1ef_dF~CHC|0(D)w#CLCZ2?Y-7ij!|=9)SS3mD?kEZ_L-5UTgztj~B^p8~FMgB~lOB!X?XoYI;zjgO3x&i4`b5)Ya1!M(u0 z+;RqrVMej{Ktry4B{o`r2V$WOA1bc}n5glm@%P3MOA;K;?Tnr=fgVM z@Gl7ij?C=ozXFzTHQQi{6?|NW2?m5s+@^XZx{F&L@$ryZNofz$G11hwunj0%-F8mRQ8-w z1llb#a}JV|Lje=|A`Q0~T4i45iKrD@yff)!&US%=9Z5->1dU`VGcSHdvuNYpK=F5R zRUIRccquhcr>$<(w1Cz2IMTolc+G6)4KeW<8)I0M)kh^f9U~(MrOEL(JXm!Ms!PbX zFj4x>w`A57edFPwg{YU`jV#E0M6-}HfXrGdd%QfLo4rp$a0zgzv4Dt~RtPueMz{a& z;F#wQ()3w}55L)9b|5eK?zz$avb)i8AW|SW!zZw_53l0!ju=^BQA04;w#BjqDUc{? zZ>l|qWZyRs+&&%Bf`{(9^kiDzL#ljW<=Wyd&O>9#Y6IFE$JUEHVjUWfX_c962gwB+ zS1w|0TXOsgcSo?DzHwBd6Q&pd1>{^Kke(0>9pN^Mgq* zxBfEcJwPvV>ml4hu<>=9E3FPFS|@cSJP;Y~$?7_`5HAQh$uvO%H=!#^%YKbbqG>+( z=l?+gx@zG`da#d+$-+AjZM88UBd)vw0iQ z%uT^Vn59j*EjMz3e^Rv5hj+t`*t__Y&jvHNU=Z2k-xiHZX;PLg%`$1=Vl)ScnE4NAM& zbbX$a#9&ph5_#$#>SplQ5zBJ6KMSFuCxJePqo&V>@EY4nS={mN9I&&)r)MfxdHbJ; z+FJ?9FPUqw3g}5=vOWx?{b~*2^JZ!IfwtIC*R^a>Z} z>3VTO3-(3%FWp3Xk?&;jj7~S*-+KJ+N73u%$yU{(bYXixs&ko0-1^a+7qwt~<;@pN zjse_a3}g5@q{p3unmOi!h}h}95%iIfcke_3UWV^I!B4Cw=h+P+HJ1yXbS+oice|>s zN_)!A0|!`LeTX!+C+0oA6V)s=fzsSZPDfzNK9_~f7};xu4r|m# zVpDfyv{*2XY;cb^74r0Sfxp6?1_@3`!e#*{I_U+*s^_CmgzqZfaY!%TR6bIQ(KP39U zAV%fjmW~13b~7#Ggd0Q6?SpnB8X8&fcbXtF)eI7&1D+xWnvRx*_^>RsIEz#{`Q=D0 zf2IfK4K5tHOuGUi{00+^iFr6{nrJy+xaX6WG7Jp??t;rml&YZQlzJvQqv;Y(g7vHm zk{SY}p?qJ|CBx*3W)0EMjavIo)tF4!Sz9XPi9v3%#p&kOB-6VEAJS2^gI5-}c4ZQ; zj5;(u#73fg|Ly9DVQF{bY6o2Lu?66J?g2z(6&{w|X_*zpIzlQSGy7U_V1?l^p&aDQW$iKM7Z!*H+DeBw z4wDpOtsPumT9Kq?h%Nb@Pc+o0Tk~WrOgOx;SD0{eUCf_Kv*xeB=iL)2pAdnEGM4-1 zop>pi^}sK%3P)jsyK9z@95`gbm4Oa6#R$1dd*7DWqRY;-7xNMQ*yj6%-NX&-=C#Up zW{To-kZmK03XrEA_A$4#*6QAx9&DANgBFa9M76Lgliksc=0=ITcN(qLrBuxAv)v*> zlKtiv_x0L6pRHb=_L3G@^JqrKyLH!wJ780glQ#Rjfzw52M_iXlT3X|3FSSp%s|#;~ zt2%QA8x)*8MbFeRl;6!36`H-1g$5r!xYEn%@h}jYv=)DoOIO0)s&BGJH94G_R^{@` zS^IS(J*G8EvAtUJCKKIRc$Qs2~(pAmB; zkpap8*;my1G-lTi{T?|adxf~b5$Ai2G^`6e;KA(m7$!UZ{8cT}JiD5CO5rOe0{xXu znbnn2tCTi7w_h7EJ)yT611J+&V02o_|6Q;Mq71r>oLinFDky>y-)FypN|#sg31j^0 z6|34iJ{+HHlV_!0)H$8USkQcHp>%LxuJOq@BNHQp`Z-vRzaE33VU(uxPA4g zlQr6edc0Cg?LqxVD+v<{Hs&NtTNZ6CyFF4(ckA|b+2x5-0$&vAAUhXr^rD+mwQ}$; z;loVTy8ODu2g6suy38?A_-{p2jSgDvi`dl>uoNyE zEW(%a0YdJ3UcFC_c)>X9-j79!?rpYn=BYz;loO&g4ahVVLzSy zdYKwqG-Ez#G*N0{+upp7<7|SH7cs;24ja0c5*mr!#?JSPcQSt#Qj@=%?D!4PG45_!qebXv$k}TW%ls!Ae7jeBLh6W1)R}|nki%Rt6(3wQ zhQ^s=7*fB+nD?)KKH9-4m-7e^ut;yh;I;0#TA~qjh*65|pJ$$Pt@S;jC)$zoMPM$9G|;H4C2*Zg z{qABUf(DMs52~<{5WShF4+)xW(TV%eh`L3~P65b$AK&_X@Xp>iowIySuWaz%jo_cs zDT-p}K20slXKJ125x(XWd8P_ibEuQv#(+kI0Kd>rjXcpbsh6vPyRjJJldB!3699Av zrV6|5c@{olow?2FmULWSc6PiinQFHQ^K-&$xqsN*kaAWwtRVYcs1mmYB(-pXq1xd! zH*jI%3EWQDPlrldP{!-D5Pb)`=VI)Fu|m7$^1wD=x6UE+sMm7Q1IrZCu?ZHH;#lZRt#dH`>Z?2f-5P*=c5#pVvH@{ z=X>VA;VMoM;*_GYtRlN_j)DaR){`SY6Mu61X3>Zu!e$6v#4aXLiHS_dSyt-8%vi;0 zY1rS_a2uTB%@f5&3bCz)FXpHtb+I2C%iWItVJ`KB3)mqKJum%W2_b;1n zlK*VynCtWuSQG1+iL;iT*bq z(EUUY+TIZxq#^!^4Ca(Qv55&Kz#e<8{; zkAYX}PVCI9TO=8$cW=@hb^816gw|iEeXP)sH@bc_}&` z;rIZz^EjtVVgdh}PejR+AyE9jG_e+K;%^DN*Ip6|J0SDN*J~Z$!WWjajCCNVQe`l| z493s7v*JDt2N=`4%VJNvZVM(4@_R;4xVCE6;67Y3hec{jOJwHA!|n=ipf8hNVv}ViHv6rcBzKnK`K%^;#xPy=o2P$*Ed|Zc#O&|LUUhLS?AeYfZd#DlY5oJ)j zrywC8#f%X!O|jDM9O6v7h4*`h_cx@!m5lmAKZ_k4N_Lc1eIqO?pyMhVv5zzcQHW&d ziT{C|QjEan;4XE-2pVX@Bo)OK1yWO`0QdZ&qVfMoSlm23`LqX|5V>r01+RN26@#9S zK*R7tXx8GHW`$wZ{6&Xpi;FU+Vb$mLWE8K_9*&HPRFBsm~~RCX+%*eu&RLIS&9U{YjoE^ZIfbmi^)R$80&g@n)?m z-4atBUiMW0X}?mlZekIN9zqhxf~_tV(f`(1*=cA{Kl<&y;XVEvBuA2Z_@tfENHW>gHE=m2y9aXq3Qd)cYMF(lOl>V$Jy<6nVsUWh0~w%^CK3szhcW3i z(;?El2v{aLn(e$pK>JS)``2Ex^~`ey1zI55Qkm%at6)hxLkzu_X6&egosX!{9EW+r z$?5UWzi_4Y>~X)iam&$EuFf_mAG13&ismZWGZ9i7o+!pY5!10}H|;IJV_gLY?7wLD zPE!BBw)x`<)S?c*svrm?+#DyiR+&9X77Dj?ZNA8BvU<&R5ydIw?tpffH8@DT^1veT zI21HVCS)jmTZVzQA4!pmXY(n1ZXMD7!;ju3O8T4klG&`czYd?(ln8GP+S0&VH0aY8 z#GEi00P4LM)qANvMg1|1pNoQY(vRzOe`0>>I_R^p9!L+@OS5)Ad1a)yCETW~;4Ke^e#s4f>f#`zlWyDD3iA=^L*( z(LY^HiI^WnEv14LhSvRf#KBp$)D-8MfmauYW@o`4R!6FkZ;wfex~zt78sTFP8yy!) z8b2M33y265VJVD}H_Z{qDYX8OfbZdE!^J$zrwQT!A&g8NEjlj{*f*%EG0r0#;8^8@ zuvuFA;@=XtpMxIke-Dd~Lx>}FA>?Krv?~iAAYal7d{| zuz4Booq#?Ix!P8pQuJWC2<~6x`t&PgJ-fwJ!u~9PgLV^m9_wr!~(U05vxKyYN`ra}q z+BeKqEWJuQ(s^H_0Wxg};|QJO0Hn&B7K8n&-_5}L>^0abM>*6HEwtLO0{VU+dC757 zLr6a2!t#pO4&?B4pnR;iK#eP0lry)lsw~0fUD!!9QW)O&7R_#Xwxl0 zjL{oV{}n4M78!H2wy6Ah&t^Nd{oTo1yviUy@|cC&JPu;n-HH4>i+kn*7JJYKY|ZRY~aLwS7oTw+z3xd z=;ZWN>GgG;=fO>e=fg&}=hJA)-L&|nL&O&4hk1S>p_HFKyLFAW69!J3W*M0Y7PcQ@ z(o}R*!z%h}57%JjOKEU%-?l_%>%(>>Tz0%-Mg8ja;kZs%G8D6ip_0fZ4*GDasR91A z=k4=jM;N-?viqYn{+G2;mTxfeAIf4T489X|CQCO4v2B+N;07H)&)4x~85RR(gJ<4M?a>+s7nZ+BTI=S{pnA-|*BiRnF%P$9 zC!jVu)kaXsw|m9b-uR+(VMlc~RzGQWTMq;QM3kaq5Uoh=SQ|a+M`9=0$9>*#B;b>` z4Ng3qloBuFN+?c$KZZ*GL{3k{TN>$9IHQQt8+XV-xs&VOI9pl%S%s=b{2VlB>bmqS z?3f9RB@W7_+fm{?d2f;~E0VZcBq+KE5q8V~z9AsO>PgoOXR7K`SikCId9Ud{$Wk?C ze1LD9FDF>fKNb<*&%3}xcLrBwJ-fj433aO{72Owpg4~)8Nu@CA4g-(s-0^ z-2M8V`-=e-KLdP`97H`@PdGgZuWK9Dl)kgqfFrh=ZtNp{chJ|%Qusu&5>4Q%T3YaW z-FMf`m#>bVHYBFr=(XQn`EYlWO#S_RMOdKUE|Mxx{1LX=ZB_kVPD&S&@?gqqo$g<# z`j`v8hSnp#_i-QifP=Zw-(&w8rl7^dB8am!XD!O_xS2a7L*tQ*?~{bLAdmJG%0T`l z77dAU$R?5!@fnqka^gr2lf0TC)#i#IXFJ|{@VOxr<>H*)K*_hW>6l$!VULzClgk|P&{-YPI9!4US9 z_}mDHdQj;!)b+@a;5Q@4yt(4&=8meXfK>LlGLd7H$)|zQIxSDDbHx7S^fS`uEE>zD zKj-Gd$SGbBY_P${YLRFfVQ8az_8-1}hl49)T(3H3n80@#s+^TRZhMp76APhlA)SFP zAem&*C)4i(c=LO*%qa4*LgsGoA&3ai6;q8P1WJU0RHl*k_VD>bGjK0Cm(9)0k8nT{ zvfAFU-tsRskZ;myG|$4X2t~?fDE}%W6eAaL(>`2=x|fhUHNzst0E%EV#nimYi(yoY zARtz54W!UTtGP}&GcsQ&*O@agq zt2Ef&jD+ACbXhZ2clQhN18ea5e)xi*6M3aQ&=yec$H4oH#``&L$3Mqq4qkyIQ&XX+ z!IX>~c}ctrP!Vbi+jOE?g0=2HyxR@IQfR@6`BVNmKP<(w4G{YepAR$L5Ys zr%tDz*CV3Vk5|H&2%Uen)JR*j>7U@Z3r1@SaY0hE(oX%US?bn0qLz^H=P{aT75&SSnNLMQ4 z%lbE5z{MM9$_pyFLkC`KxMIT_(V{yPuuH}_q3C&7U{=y)lf%${l5Kphm!pp9ZC&}H zj_Q^yU$t{MIL!W*Qa#(IHv#y27V0;~MHv<%dafrC;Paa_5Dwyd{VkIVkkP*g{r2gT zrzpvjN;Q`u6K_f^^DooE*lojIV>>L99dbu!Eke#v)E7f+w5ls?j{n=EH%ewm2rmMu z|8?Q-vUN{-Ly%7fW71BZ>VBQT9SVkHyQ$l4Bg3Y$|4_OU&! z7ZOg=hFB08qGa#!8xrwyMbqkhY~#mrOA5tVNrCQAr^Pc^CEMYE<$TgxJ>ORC(*81AeAG0aeNS!Q+6*^~X@UWRUy{7E zerX8mlMuKnGZ}s!R@u$A^7Ey+Yh$7c`*a#`rAZK8hDqQJ*K&FkjeBAw;77eeqAT6AVuT@>>}n79N- z7qDNR-Ob3$o*J*8)cCEe=P!`pWE7B{^-beOk?UJbuaeCwt<2!{u3gS}4;-QedSTze z+no9IYSt4QN{(7QvqU;{D%CIO_4y9R<&zx5B31e*L1-j0|wz1JVLuW6lj2BjNUNv@b8-=Z0)26VG?O8d6(L5? zzqqm$@zS&K&XLN&42WaJ1R8jUy(`~bxLu-N*tj?DX47DQ{=~ghVE< zxr>teS1vlu|9vzfnVA`5fF1XMO!@VX#pkx)0+PPm37b+sSVnk@+DSOkdRQjD*p-UQptDDm7i| zBxVfXQZ$JK4jsi%1JppjR~r-r-u3-jNCeJafm7AJYhdm(tw^+ zT!&4r16y>W>PMfDs=Tol6%~s1n`43d#GAB%m4A@vzl+d^k;z*q)-RIboladxDWf_B zjCiMkl95xuJRG1V@z|0#rr$Cox{5eJLW7y{pWqm1&1qga$Se##`C9RNSuu$3)I&1i zSu&nq1Zvsq)NHWk|KaR48r%M_>?wd!nbRHfI1(V087b_d*2P)-gJ2|aF7@*fEh!); z=@ZE(oHo{2Ab08ywRgz=D7^OUd;AgUq zttLC+W>F_i!)4Sdu0SDutE#ej6?S74yIIQ#L;nc%bN;Xy=^b&w3AcDrUa3`oq(N(k zyCg6F2@rPqsJXD(-~Z*a(`?f8!2o3AlSsY1>E{;gdE2Ng8R~QOGhvBTuZxZBpxV!d zYxR`&cb1WoChAX7?Zvd)x3pFcl^ z0uwNMMAh!zZ^^t_Op?|-_(fHpC;nItJa{uS7ywRTb0%$T^&)7b7YZd;P2!V<7^WG< z6+ac;z~dmJT?0ab8TdL9cn3niR3=s-|1snl>8;GjgE6lj>fPewWOL+M6hiH z6OBg}nJbMOtkto2IIOyRE*Lmj?deQ&p#^3{x+avSocw9z`b!%Cos6#P<}thN&+0%K zi(HS-(!X4a01&&EQ!=6{ya{#ynvg86N{7cyg8OX2DXN!IZ9DRV4ujOpW&fk4@Hdgo zPrsWxdPK1}_Jut}Jy!dyJ3;^r91bvXvwhfqmmjg!3VKe++W3_;{WH=dOx{ z;~VWtrvpQ;#?<@;6s2v|j?_uBEg(@bv)%B*xd;zM+XEpBI1wII;acgg)EEES!X)!6 zndD6YG-U%lTwJx*J_6!U8W}#5-HJ;j3cJPfqwGadu1cupE{4*O7PDHv`I$GeyORSv z#F6lf-z87v)#zPPJCFVany8&Y8l3aHJ=B8ZB4y0g=U>bhptG70a{Rt@Ut>pIZRBIY zWBKqu>(T3~%N4Z9?lw2&!Fpa|hrD~iy3 zt|+BKWGYfSJ)fNI1K5uj(8!ls=NZBt-F{F6hd7MlIh+9s91zr*MX>hh?(yrn{Nv4v zLCj1))G}Ut9R{M%^Z{6vfn!^Ncs^s7D zLi>G~CRT6ww(fE<4=zUx?>{;nWp{ZAnu&TyVN^T;IQPsK+a+$Klbb)gikQBLzGk|I)2}O;me&CSLH8VlVT> zS_I+Uk|Ae(F{-oIr1CwncXXSnUVI!~TYR_Z>g#Zxyu|{xLQ%{e@6jmj`>s+jAyRuw zXzC4WpIzAsyB%$|I{Q~~qW*EX?z7@4D%Y?kBf8Y;8wVRgGV>#AI?f|CCblg!+@HH| zu)?R2gs$IHAUJFjkPxi2BD)W8d&p}A9RR{6I+R+Jv7Y-~yWWl7K*s@L+PLF<%WA*&HS#|IMKelza#`1b#%c7`d39Zk?{w*vj_Oo&6yKZHTTj)R@{j=laS ziv;g6WCcs){D=tj&?7-gqh=u!6aB-4q2sC(^i1}vE2h0c}kEkhINAI=8wfl z!RQ}c@{T@XLX_e{Wt9S={7!9kG#)f+Qdp71cdcq>0Yrq zHuZ!8Ei-z$I0ZSd1~=uHK%LfSLd#?~uStorruzv>m*)2k4<1_P;yPrgM zvI`QqukvHWb@k!Lb$KDYsttq-l|?#|G{Cq&a0KT@ZUcRa@IW-vAKHFa10;V+fi4F; zZ+lY&{4Nxz;M&T!U7)KHuyXibVeNXMymZy*h;Hy^a8jf;k$^w+LLqO zl!Ij_i5yZZg*zTnY|Ao>eNrm9hf6xtso)Vdg&f9#d;W|lgvxDF7c=Wa33nK^@9GS9FP zknr^;GrzRXK!Nb8=>0YV!2%VCrLdo;gytmfib*DD7I%x7iAu`H1eFu^{w9F_AW7#Y zqi@REAPM=e7R9GKrTy{F>=R1oz1*z9H)OgWE~1uPSO3Y1ARUW`Ir{u@qoSf3MA;5z zd3fO`R5F1AXyTh+f<>AEar;XuiC(1LtO^2P|0dw17uTeEkuO{w^#!sg;11Dr^x9?C zxNQqjmfC0>*-bT=m4g(k5eT>CYbsMBNYfPR*u5ZzMk~}H`M;eHXslYf?4Qm5<|+Gx zK^^bQhbxNWynfpm{nr61DJzHa(`t|g0O5_5FAYpwQD1czo`o)LE%AJ8 z0o!v~;SfR^1Yyp4U;)gza7HQh?X5txhTI)|_)2*x)#sL%_0xtj@dF}zCXGj&lJ2FX zQroO!>eVM}=Bm&#AG%ugyX>lB3AQ}nc(amZ-@l2AefUw7G{zptoG(1xx7zJrx3#Fc z+{L*^P-zDe@nb?*p1&0B+F(Hg%mTCrt!sPh4P)w}hVd-VV*VxGWep6&N16qO!CmP` zrFrF+TwL?&(-hcBCKMhi4i{I8wf={BTvwr4Q~M=4P$|Czo^Wf*2D@`R@Q4M ze9%W+0>Jmarwo8U@tc~;w3z+1XDIFR6N*C#bw(MOz3>>BUy6A$I2nIX{{WxiKlUY0 zOkoL#p9n3sD^&LwU@*IUh$D@$&_IAp;Z?1Rk z-mwkdXL^f!{x{b{bnhCI;tQq;3f4EAWib??1>K9*iyJhXF^fgSKy4PXBC z#!BVRwQRAxp!p~OoJb8d-DM-NOwjb1_3Yr~BpWx{pT;K2nXy39+>>G^iGvyt}w zbZoa6i-^b3LTqM4Dq8R;+JvqO4dA^l{Wc~POX{X8QhGT}GTrneM@6FLaya2fYmv2V z%T>KU4nFUKdiz9XLJ=vay9OS(V5dMp>}~l)_p95v^Q__he7Vnw6NxlmR7%=P`&Gh5|DfNNe^x&u^ z{1?BEEC-pi>zlNnny=tLjzAqY&Hz()QVu<<=Aso5eVqX;`KSxk*JFH}di{wZO`0Vs z3A~nZ)9-rC6PTSkhfwkzD5(1FT8<8VpnU%>W|bM?l0HvSGhhI7Aavw$L8SR#;x&YrkIz!U5aH{73!19{zxm?>GagR=`d`pHZ9NTYg6TuTBCp)e%yl2_-Z`Kd z11cX&NM%|-jM={=0boym%3P<`1Y%>lZF#%WBWu6508G8>!U5vh!SrFn8#(9JQ9FR# z=OP*c9b(S??7la@6t85oTK+v)>bQy<-gW&yl)YtClx_GuiXx!WAl)J%T}qd93DOPH zjdU}Bbc!_6-604_hje#$4P8SG!_0Yjf9HSd!&&EigvDY#GtYfrv9G=N1()}B`5(H2 zlc1xv0(Y=9Q#hx^zfPfmVE&1k!5^-P6GCR0f`LkF&vCmtxg(WGKN*NUtAM@#d)5Hs z*AtE_EYp*f(v_C{t&9h)!M2XNc)sA|pb ztMZRtzWH2`Yxo(WRPIw|=Zm!7%J}9DI@09qC5I91*A1qa@A_CRif#*WuT^uA^1^%ShNPk+5$(&?D6uRg-Ht*0{?t4Ce)T6gbb8oht_>$8fl_jXAZ>T{eWD|fq1tf9 z(aHCybJ*>(AKHXMt}MtyBz2Zc=AGTv(VGo9xX-!Y#~6ZThUWeCf@@fmz720I{*VwY zknI^(5RRf^{Tb6~_^dl=cq=XWiWe)sFPaI5axYo{w1gX`Jk$Zy#*Ia)|3z^8GWdPf z(Rz)13>@1>;uq4g*e^+{kLmjlPEtmQ!&&XgMr=#Sr#Kq-c{^WzZuY;jX!gEWZ4PE%O{q54L)W}q?Hp}w?C-0M zxy4GZ8MFBz#KV)A{8eLp04%Hf$C*y^y7HgddRe{w(OkX7Npro$C{rbb47^WBIv}Pb z9|uU;zTl4-ADu$>tuJ3=t+vCyrjtCpi@90v({h+WqnmpE)!j4sBZA|b`CE*+?zK{z zz}uCaXWdNcXe_+{0{DB2;Kzs&#@mCF^Dd2y9HMO046G)ZTa9vTD<|;FZ*udX6Y<8{ z{8YP$5*@{{X!*0o@?&%OQ1mcX{z*wwEoM?g18Ub!_);gIUPq5?&xvT=6is7{XoZRA z(mSF}#do?3JVRpm-l&q1Xd6!RIQ`k7!`vuoLoeWgKm0*f7C#aLqtH4P=N6^%ddV9c zK1~L73}z#lowxD_c&_~^kn~?6ATm`sm%&U`xo^SvA3biIZXiY86BtAGAW;WcX8p3j zU1TQ3=FOKaR@w?gwpm_bx>Jd=3?8ydIFscw=b7k z@uHWCR(ql?B4YlJoz679{R`D8iV=Xq9!S&EcHA8XT#g;O+}IW zHtP=#e|4e;+eUwVEcA;zQv!^cmGv4NMb@l-5JnS3jBE+HAzH=KT-Ku zyHb|{Zb>}Vhf}ZitwT<>t-TP$0)p)ew|UzxQ8>SCao9AerF*-0UyTohsv-#&=tK|p zqNBc@ei0O;LYkNHf?=c`f*dAAK&2v{rTxqpmgejT@5ZIbH`@V5XP}Qf9|0w!4Wh0= z<-e&x!eg#|p;B^8)Zh15Io5ou-cymE=`wI(191SkZNAiFcU!jS-Fi3U*m)1#*KU+> zv+l23pYKt6cFBp@i_62Xt&dJ$G@h=t$3(P;)MFfQHx*#q-Z>GnX{VpnN4FknbLGa2 zQ(fhH5f`Jw&#m`Ip)HXODM76tBR7;YGD5ar_933bZSgHpQ4g1=R2aq=E3If>hfT9#fsXfva1KY|ZnY#Eqo*dtBu$!!?ek z2G-iFA-yRalZ|LVj3Pm!ht@I0#%R6;UQUO25kSwQ$PlkIx6DH-sjV}JoIBYOtv}i+6egExC(fJRRlmczTW$* zjnh=?-hxV>H}pk(H!bu|dZoyH5sytuDVUnPS6f0IA5y`~zuokpUD)nL4B5V1C#!Y5 zCyOnDCkwUs%nx%`%#Ku5eeLWgan&!s`v46xhueFlZ+Y0|&?3NmM{3>PE=+t?h2+M% z6bqr+DN@dh*|a2dfFt3z2#s%mAXzMXE+AyzL5aB!MY-ROW>`P(8D0h@;&TX4+f1FI zpF0i_pNxZlvQIyq6Gx3dkEJfP!Zi%KqNR^<-rt$R(ueirXGJv-&eD6&YDDY5&*@d# zbBV+`FMi9UAjS6+9-i6&tc3E;cuSS>{g{#Z<_xO9roua|_H~&qd2tQ#?uJ02URaJ6 zSAY)k2&!+ zXb*NG5|)aFXQ`Xhh5Nyl{TK9#Q5HP<&Hh5N~e$KgT+($$|CVM z#vlEr_eKxm-HzM@9m`=X4=JvdFry;)N)jqEd{mca4AbNT0) zusY|bhHxGr~1P!Gm)Jy=l9BO<~ zj^BFXI3{nI6(Pc}1Utx8^!wr)PoEpO&$OYmkVo@0g@jo`41_)T{NRLuy5y&(NuDE0 z-^ZQ>LvBG)=B#Ay1aT3*i5V*-Zex}_&5=lYMk1KHrm?e0)b{IyKS9!H%H6tWLG{nx zIP^UqaYBKT!v45~|C2BN@B99l~HnT&CEIYG+^32?R7rR@eUEF~v1UJ?) zhh}V3%X0UB2K4C;U!IcmI?whfEDq)L~?dX?)ect#kU@K)K z;IXIgjp)IiT7NVGg(dk2H#vF8V>%4)$^2o8<2}5&y|E=bWnn+Y;@Z0tG6R*|Gi#)(_ekp6m1&YcxnhhA_{<) z3y^_L0oZxY081x7u-r6R;x&Ehc8YIMG^1w58 zfm^FJF<4iB|J4e(MEn-!5-0Ov^t3nGU3-Cy_0Izy@=qFwY7 zpihB&Nc@;NNSZKSa--LE?w5(Uu*7S=F!7aaaWsFuwU^*aj`KM@Y08i8H&${d4|9kT z5+2LQ&!%U>yGIwr$Hx+R&22+-i5!t3s{9DzlplWy(#-o^%jbSzfbg1htrFK2;O{7R{9^r>HdtZGzL}z$U%c5w**T;_wLpR74anp1gj!r zroVa5xe2E~X(x#v?Sckhe+>VetHKWCS+q?Phe*fSf1H-i7Sz7{pdi}Au zels4kNySvj`%U>pR(J4fGOOM+V9?1q$eSZ4_R&`fZ!PU#@;WnL|Cu+G+^BCnQ}~w% z{4T%VeYF{~!aZI@hnHhW>Y@9MO{=t?+8ir=p` zFIRx|{B1ETAs2H7z+pmDx>S9}1!|m3%(P-QrkU?B)c2014F}h-sVcpTlBGlteKSe< zjCY56m*BBy6#Ob*?eB)#sSV{bKI& zVdptA|NqqlEN~gsizQ$a&H09v=4a2D?2T2t?hE8b%%IwTFB8fyL^@nKGx_}lD0+9v z&Oqn>&}zgPXf|1|YG^rZw^|f_p9%zt#sI5arb;|=jiAxMKmzUH{1Wly4h=6 zTEJz`70}?sO`U-dJ|7N>v;96kp6;ehE2L_y*P4{Fl!kv65!zb5#9xRc3C?*HmH zCkH6;_cFbDGVsDU6U}d@8j3ee$TvPX~E=_#nm35mBRHZuunC!E=t8n z;i>C3e-5^hqJA&XZiUCT)EDHd!If0Kapt97G?a~(AAH?0L^UPmQ+lEt^Bj9x;141f zRFkj%sCIoOVFEfn*01xa|Fb)1FnznwyliU;iLtxaI5Yqx9VkFkGuSaVXYkR-`uQDk z$GP+hrJoTR??su~0LNM_rwW_DqtfmN5h7goF$zv6LGlw;9tOB~jV zhL^nc<3rhJ9YgE=@BemvSQS43EO?d>`tdcwHEF3= z+Cbhzf3!Ue{N-?MORSXh2rrefo+hf95e3ZdyH-MgzWympv0~g5d#yGr*tCWtyQiI? zHN3HrZvRtxX`Q{f$Em{wKusPe@b?X;TTjIy&{+Jc?#OaKxzO_vkE?G|`Qgtu$?z}D zni?nKoV5*!C5VTZ|4rce@G-?#2^~@=CwYc~h<%k8-Dev*(wOGf|9anN{-Dp2zu%h?U~0-(%BGmI@Yh zx>SeWm3d(Pz&RmB04Tz_^ZV`Z{;J!35BBCe{TBQHhTGQp~X7v(=s%1_n) z^VjSQ7ZqCd^%8T0x%^Feae5vyK>rY|=W%=701#Bs@Evyyz_mUovb}Jt6xo&ojqm}T zqpgI-)3HKePoJ?A)&J?%_3TqlF3~56*jFJHgJMS1Kj_GQA=i$rs1K#Oiy$jB$4e3t z@BqGC1JAyWn&@);enDSL+HPM`_+dPwOf2@pOHGbqnQyy@oI#MC2}`Dkn?T$3&GNy( zCcrVcFg@tO7Li44io&W7dWnn_AHGRl11lq^km&DF!%!1eGi<9<9W#vj`<>$Z@9u~- zA(_3wo6i(){GykA#tSFoHz70A;{_?82eQn?Mm*lDn{6)a)dgFMx4et)M-ke0ebxVm zao9OO4iM7OrvXsR^Cq@%DbUf;b2m3S`1NArG*-G^`TZxBQ+sCReQ)H>fnGnBO2lt*P z7eHFlK$xr)%WF+;X^ zFu!4OwGQiiT{jJ>UCXT4OR;yN!3V=S8Jv2hLJ5adT zM^mE3&bB061nqT#5{ZNJSNc}(hzfq?Aq`~GbTJd@%|v6Z(^6P79e0TGP(C#%whvd7 zs{iwu+#5wXNq@X|@-ZntCNdLR?F0J%AixpJ5u0uM?gIcHxZUCcPKFNu{)#Y>4Wv?? z8Hc%cl~mx_u!{1E^xs>bAMbQr zWKr-MnTQhte9B&1j*J?63rws!2z)=iSFl;-d`{}0hFri5YRx*!g7tHVdq8K>AnS++ z(ISbvvd6)T?St_quUkjNjpHo~dsSmI-n*<_piGwvumdvBtK^R?hWFSEDOifE?|Qa_)OnWyoQ~ zmC@#|Di-|R@A)>@Q{&|E+%#uWFCiVQ7aDh7m-;57=Z?CsqrUbk5x?&8y`b%GH}xx? zT%#rdvCDT}mh$?%cZ>cqi|RPZgWy3TZ0hrlPL}Gn>{Hla6yNP0wqlZ~yangB@;xfZ z)B$F?&N*Ew`U&p!Jb88-n@w?LH;KpuN57lF!v!-q7qBn+&m-wZ6pVZz$po}4W}kS{ z%%PhPB_M0WU&Yp6k14`QoX_x+3Q30mBVZgPVCRgI7zjwW-CnW;h z*gjDCP~i2z(;`$eNaY$&O|rIMYQk)#jM&-M7Ha)$y}vU9#zI-{rbi9{xS)-P$E~U) zwn1+GK!{bsU2*aJ+2+8XXtb3_P3PDhF|?a4D`V94b8d_O{HEl`;>oROJt9yn&M`&v zQ9q&9BUkQ_4+eg8PSO7F&usqR|BTB7=sZT!xDTih=V6dyQ7YN&48AO^t)m+dOcY`2 zeLbtiA>Js6iH%u$Unl-sPx4{gMnu&jDl0u*j!5Kzg!%o#;dF z__PR1{w@l|3RIATui%x0d9Nv@Yj`>8*-rl2CfaG9e=0u9M45FgHIkGy;A*UhuRZGV zFcj7l-9r!cCi+GahPr9yfc$y;yYJn&|A2f{24#4eaWGf>_hs_8zcb9IC-|_VLx%O` zd4wLr#eUfI<7}dFUowz#@hJ?yd+}ZCe`iX|2nS|uKyxR^0(!AsdH})V;rfcAv6h+F zf;=VTLysKu7{Y2cLr46NDdzDPi$|pAz5!WQ#(Ds2sw<$YYE4^HBId! zaealaFey!pdo8zL{S|du{+$^frqKNt<*yqqv(K)Z{r&miQ?Qs#qD^+iiDC1Lt({xt zw@mE8)y{9~akWSSCEf@m%?DL79B{{9^PboZzQ8xUSNpi97#gBd2AdT7kK#yDE}NOH-utWbvuhCJU_nV{! z{>Uw`$1%I;sreI`Du8Svl+0ol)fuZ8V zM(XfN=m%>3-%20t}$nFj^Fjnm9pmW z?%z13H=Z6wKS9tDB7pX*vISij`R~3O#l)br&2@XPoCj%2{6%#8IO5JQozImgW-UvW z*%I*R|GWlF=FDztUv0-ceu%1e!i{2(@rhQ&dmnc=3U_(Ve%vvo5AQ<;=X|Xv;8`me z>}KC`YTy?6wIsOuRM$QUGFB0n|AJ5g?3g6)~p5EcTJM`rLin@Ns{v^+==H@ zF`)nO;Oum#>XUIOi6FVb6ArKb*fIc5J*gS{vIP3{yt%WoCEO{`(RG|s34*!B6)U3O zH~F2wudYTxSh%h;C*be({QjO%6;-gp!M z`&k&_q=nEEl3b`@U@u8hkUh`-O6o<^rFVRquATFr-&HrWsYUoNE)94Hqh6P)O=WPb z?0?=^D_riNosJ*$PPV5Z=-GuJ_`WD`#KrZg{CL`K$CeM)5$p(&$K(ADS*G2q?CODq`dQ1=&wkb8c#mwUyP5AA7-?37mpVJM%pIk8`)DjE1fMi*N2dVY@zCi z_R8gkq9o>IQ@0~A((c?;;Zz=$Bhfel54(rs&h%sHrWR%ww|)+*zORLZ%3yT zRp1t2c1S9im3+h%t5X<7N11*sL8DmfY3Nz&rU!}8cQ<+7^{MR_MXFGs1gR<$AksF* zt0TVRP|U^&9%gNNS1#$9S)U~F;ywT$Q$y_Q@BcCKRb%*q7NPR=GGxirEHxh=#FnUZ zgxs}BWdvFoxa}~uMeUdqioC<7k?5h)A5HTd=^R%Lu!6siYEvHlFZ&HY>O=rVJ%4yH{(zm= z;JSB4Mboj+GF9Dg-KDgUio!=CRuN|kSx?j*p+5iK>G_Csg=*ggN=s`oyH$^XBvptxT z1N#vhEd{LoXwD~;X1}DR;CtOj8HznW-ycHxim7ct`!do59T|I9Mpzwxrktb`89yR# zc#^#|2#52}^8kLFlvwJSRGf&^5wLacO|L`^B?vE{p5TkbV5+=3p>3|F>XWq<+ZfFdLf-dMz@ z_Bx>9RQknCkr!}R?N%SRTdXfRv>=;YSaz!vebq5KuaShT4ejZ^ITR_9(01Egq*m2ZDt0W)Cyp^yY}pjeY`eME{rrPne^ zZMAu@wU!|QE?JdhUKfy5DJDBU;(;v?_hsfFFA)|VzyqKXAb$cYQlbE?twnX6_UPMB z8BltEYl!_h9ijbC|BGSX7!xRc*1y7h;a{1VU9mFcaz(((fYL@_zlYQE>8}T)UJ^^e zn#fnoP_Ykhyx-_#h%rp@z5Lcj=sWNn6qOr_W4+m!OURr}A3l;T$8U?3NFpDM#g`w? z;45L>KV+8#GR=ZzT72CVdtdXZkHT1rR{1V;IyUKk=`y?Lo*UmZ;o$HO^Fe}gY%xB= z=Ylv9s2cR41JNm4#yOis~({%Xpf7`5iVWW^{birqvE^DwhxX zVvY`mW^E5f4yMytgiv+uh5^rs0{VOZ+oAHN91B}g5{fTjTkmKZU2qt9X;5%N3g0$4 zDa;oQuJl>=i$x#_5nA+5!)DCwSKItv0q_@~Hr1X)yAHsM5OuN-ia`;#AWR@k{02%N zKSRR}ax8%)$~SM=T%8skn%(v#<;f8bzX)W9Xx-@VD`o_fn1$yf~#UE zJE#Qk3M@atX6;f}dWwZAoZ216`6bZXt_IPmO)i_o-#UR81*<(|iXKxq0Fw?d>43{K zLkR(5T*E27-6~2XzlF@dlfEKi z7b<6XeS45oVNL~>{of?sbkfeT>}|@4NxlH;c_r2wLw(^fY_AMFoI3 zF08eG!ywn2cfT6czQkKqn0?}|`aw%eD~?#g;XG9zuTZn^&%fJA?nJhY_%B1Z6pd{zI~U*s@KQ-`-+9F1|l=&9yu6 zvV)J$gPY6g2*CP_jVZL9uP!=DJr)F=>I--dI)&kx zt8e(S3RbIS_gxcnZgx_UzhvF%=#|wTob+)z(g71qQgZ4gF^g7TXq%=ox(oBq*SH#H z{yU?v_ksyXziDDxC1;0@#3Saq0rr<@%TL}CE9$jK#$QYD5_21bnrP`$jyiZvwIzgf zBSScn$d{;L3i@+Rc$0GDSO)M8oQ|sKp_;}=4!;Tf-hVw}Gf+U#RQah=Gi?v*dGJqq zyffGVmYO7*@@qm^v-M5f<&2SVp$iL(;C3vIlzj|Q z6R{&oo~5g2jn@qjgAH#Fg$|m+mr9I~SD7a8-iP@P&8zMEq_fHnp#~;BZ&JCwyr!c! z1@d<~(Si=*3|mS5yPyN6Np{!j$LiP)CQup79ujByJhvPN@BV@85g!`)Bk9&|H7VCI zrS&w+pAo>m;^z(cpZ6ZIjqz=v3BG6lc61~P!B%jO9=T7Hl>e3&rh6MHQh66g;HTT> zaSZ-S1|1us=`U4dsL#XxD9QiUH zL1pTt9J)2V!kv#0dFf}iYHVI8Max422dXE1%{BZDxDn`cmMN~mCq87Rfsw6jvkn!Q zZSQk2CZb9o%W52*0@+0w73XH5;YD^E{N{e&VWU3J|k@1e8@ zz{b>s{R6dwKxFKq$uF(9WxP>eF;w8`Ynb?MX(^Rh9a)WZ6ki`Gub)1OygEs>K)$2f z7iMU^{cUo?8Qa>=d4o#u(Lne3)Or)o=d?m-kVJjWa*k{Y%&JW$<>*SK%ott&{#`hZ z9PW1ZWjLChzr{52C&t(Oo8q0R{y1YNU)rZos-}p-0CORJxRC%_8_#WX(fDLGP=;-f z|LpSv;0_jDVgEAN$sxhcK(-zNTo?>@0bkogoml-XEyu&W%ieK>l^(n!OuwqXCw zrXdswspQB7yuD%8bEoB2$EfC@^2#6rKZ;@OGBY#cfDO_BMih*Yy={N`pw-M|!&T)>px;8QJ@4X3`#$UcYiNMQG*b4v^FWRA zf*5SqI<9Lm{D#b=)>G|pwt<(xK?e1erfPY`YGk4zsxQ8mlP%2qGSvM23;$69NF0hR zGxP94YbJFgQTW_aS|Z{^;Pn zpXo96=P1E?Kla4Axi&GGFnQ{?=Cdsa0cbt+&lWTDkQx;gDXAi0gQpbt*lYS~d!xt5 zhff$X%WaKle;iuR3=QRkl%iin2~3+eUuBmetc@3rsxqBm(qnvvN!+pPizG6|p!XPl z7?ehn2$H%n?7CoREolto2hg3$gY7jSwp9!kip-K_?*2CZ9WZQwxr%0jE5#D~W zKP?*W{HOc2C_i-1_7r{bh%K~TL=$3eN$$tDy)iU9i7xptM5qUCgZ$enXgzKB;xzC& zn77tse&}-?J&bOjr$iOYn2)9LbR)Wyt;1xz>xFacTO;&zD*|ECDT*iL?7o zMLfQm$sYOLKvT)ct~{X#*=& z=v@MK3zHgvz_`tqmFcuY;P;&z$qL<2+|tf?A}J~R_mGREf8&UfRT)qGN{ME(UM+9K zvw}=qi17Tt_)=xYaNhgB7nRMi4O6R;ZMB%xC(-iRSP#W}ptN$Y@DkH%EAzGD#-gcz zN#!Etaoi7UzT2a&2bX$lOFkz{W&n*=Iz8nI6BRjOE>>R++sbV{r{Rh+xh_Uxsmf>T zE&>A1k1JARP%heL_zaHjkg!%qZO6?V=jF>OtZav4oMk)FTauS^K}MBAa~%hnp+)9R z`f~wVznl?gSl=BGyd5JfZLAl=${S4oTzBO;CpB~z*>LUbPzc4uyNBmM=Rfvul?is2 zjnPD^ROia%DLImr={NKWjqZ(_qp#IZK$IpJzXjkwXm#eaRn+gd$G+^IJywD$cngm% zS43Phpw2J(AheSoD#2t*5}vE(QtR&g+W?6-eGF_%2A#kzkr#DVggnAO92ljhMiclU zSR|-`hqU;q1$pH@x$MiiA&x;#{UvIM7*CbQnR-0%=U;8y9c<=B_2P{jnq6cGubEr! zpdz;mSStE2$7R7ucDE~TP3V1$I&c`Y`i+uAHQ)~RkK1)-l}Lp&1bEljvfy!Fxr5pX zVAb4ibPqFhC))H5GB}f+32cmWONeZ~i?o!Y@<7aWlmB)5V)9tts&TNjOOQF~(PijC zHBaIPe1}=W4;f?N2Pc6T?pSepRA@Efg-ok&NlO|dtvNTgF~11X%HQS!7pdJO?N^u! zE>S<-z3?617Jg#xnUr8wo$$|h_&Q7f*tqJ_y5FHgg;&wuUxjz_OS^`wjY27!`_%=1kAPr% z*=X$r^{}qsrT`e7)J$Lti7YaF*m%(gc?kQ9DASS+Ir4=YZ0~sv*Ww6rAlq%!Z5Uwv_D(j5R z-(A7$4{8XGXK@Yr9uf#nr8wf;F>pez<9R3V)LoZlz1yv=w=@Y*JbNhVdHlL>I09Sv z60hYs{LFR4m00((Uwup(1GjwZ((`EaIjX|CN#@29kNUilO9Vkq($S;8V&brrs;|(F z!VV9({zyZH)dIstHW|UJxXLZO?U~c39J`}n9S5O7ZDb1B`!s;#RGju#Cbt>6Ct*{) zpDJ2RR^vXQw|s``GH=KTGU8VWBJQW`;%YCgT{9qJQuTO?`t6N`ktNX>pX(0s7~fci zJOxl5%*XZ+y!m~Nd`YdjYB`v*&uelpv0!go-#1|Yf%PD~P65C@{q|a*n`{lIB8Zi^ zX>|4hlK%Jn+Y^8Nc)0z=-_h&N*uQ<}`W}A(^ZsZvgDs8!81rKn4H9P#nxFXQ%ACC) zyy)O(TF+X}6#MaeyV2*n{+puGB4hjcJ#ICh%iGEq`TMuJO`4sr<-HMYw^L|TLjxY$ z(&@AE?SKC+);HC3;_@CUlpoH2U#p7hisOcTTXEXxM82%?;h~stU!@TA7wHYgxeTCkj-nzH`TviKH^qF)Q+oyMzPh+a`+Kj4hH6ld8*O_D2G3bWe1#T(e+omkyt1LO06D?56g@WdeAuYE<0wk zbtx)piXb1lHESQfo`Bq7f3wx^69j{#Wl1>k@sh`!U+)>Q z-j5^dCG*CxGDxEc;<4xhv$~c?wwZIVc!b=^<&<+Xonv#|WuG8#BQ+Wsbb8J(dzyi0 znt52DQQGa{kG+Ss=4Dsc*ITFV$;tS7(}x?L274jQL7bP)9x|bkTVxL)h%7y%KD51; zB;X{gsXf6z7jD^8)Ih;LG{Im=P7F;p2a{1`#OEqoLc}F8%^z4KM57bx-|Fs}tiH~M zMFpiFtYgx7YDWynxbsj5{f!Gq-v4;oY3^?(?YSF6SyF7s)9V$ehIC=%_1C^0m-M`1 zipc0SRghN_0$}tQ{e3zJ#Y0A}Q*+azV4b5T;vvn%xzSvhKB1mRN4zxlBek15z*UUQ zaDog^%%_Zl>u|)da@Yw>z;)f&1@3(`66*{C`PEN3DSI3|-TJjM&IMXhB1#i}ulO&f z`pw=YlJN+NQkgD@2s$LQF5^XAZwQp}RLbQ4Uf#J=^ID=b(KL}vxpLS3>}na)QAZKK zf<MP9(QJsg>NCj{+~&`4!T>IH!!#E}_}+|E zz(v>4!=v~E2~<-rRK&YAng8#{am7f{nm?w26fNNmr-scL-A7do?dPu;Q+Q1FK{>P;ERX!Z~}agon$!9`1OIa8-Hy zly#5-XPUrUy<4F}OH8i~{>GG6Swr150q{hxw5D4DyhlMd9cY$FpaKBz>s#f65;;?sl{%K*z!1b2V>nvxfQwU?4!9hz_4=db zVe)=8gc+e=^qw~Frb7V!ltHw}Yho8opv7s}mclx&v?gOt2Oak!6jZ+v%htyeYC!Q{ zljZU&>!Z)=>=n~wo2+fsBv`SRh@q-*&}DymHU&g$NuDxwH&a&ctvtn zU+ZhcK90WU?_K17S`x~*%!dOv2Gn3*31@CBhsygng<*?L{rPW4Tm0jY`@z~NY}76y zqeykQ3>7m=DbRb1hN3(I-5V3AQle?~3>xU)8Wbu!VEdPUV_(tDT2tj+MCK%jhQ7=Z%MoRD&O4$H1mXr<0J3 zhSRLsxm7it<3ZLym-P^{ywvv%-j zV;!+Qs@mW$a{gw_7!wma_^T?~Zz)gkqrl;;?{eeWxw~LT188egonfvYH0%BFz z?FvMC5RJqJJj7`&;$j#!1RQ{|S~riaMr)_NN}e?U0c)pg9N)33kNM``ViIL_(4qGe z)2^rj!&6K0d$tD2q{%5B-RqJy{ZWkU46!8)g^kz#S{;H=Vw{-DQi-7mc_X_Ln8$6n z9#D(AcSQ@paqu)huAKA7nu z>0ffky!hgWd0>jYB#e7vMx(qOLVQ;`?5cL|i##NHnE= znZ&*fvf1dFe80qvsDQrrm%!$D-7|r70L$Rgi|YM6XC1xAM}vI%CU&KY!8D;vw;mP~)#2 zdCQ8GsMWC9$K97tBgB$1)M0rQ(S>rG@0nVAgl|YAsBl1J3ppj|o;tVhpqzLf<@3C4tDX^&;cR&&{5u z^WYquDCUMryGa{aKF|hHXz}hxw=XmwHLo;@F@}&+xd^EPy8bExKP|)V36IG!zGF8n zQ57~$#|`8>FL-p2W*~YZbel0DdsepgSMn6{xP9#3=WSvB z;zyxOlii~*TD1{3=Q5P(LUPXO3dpF;6;OKIh+;B@MoY<3fHdIsyB&g|0y0S*<^epB zJJ@+3p0!U5NgT`!`?mVspvvQ(iG2dUOF&K)>*TdcQJ<^)S=>+B=!^GMPT3nvh`FED zYo)qnrbLo}SQb4+BDOt%bHsH>k%Bh0pFIvV#}u zCDuvXhg+E=dQjDVC=VS(Aj%I|CsbUEdFC;C<$IWE3RV4QpS#c6%4JFgzy_`TM+&Mz{@K-ro|R z%?r8X-v^CX_x*nT#n5A(kbWv-Z2wnst)tVPhxKx2{V@XFOJ6?RYHMBiDt11ZVZp(w zey*c_`kler!b*KxbO?^n-=gegay1H$L?2(FlGs9Zm96`;kah+{lK-h-5`t6J24N~Y zdy%3TjH!t^0}eM(Z~`; zvXY`7zp#y>tl&oH01>}eYpS9Zh%%#3tCB|Fk3$mMv6)7xjM1!IF|tdv zCI=svTEIv;$rt<4vA}yy2r(e$U`g3qFLb^ZD-!Ic@n7w+>!i|eM9W?dvmWec0yQSX zH%692dxhUHs>QI`8^FehV)2IN7^7ulb|5!`y}J4zll-U0?K?yLsw zzVDSjD;AaGYnh$5x`&)?rvZ>RK1Zs<+n7%>pbJqu%NVI=BrqOBc`GTHp-Y4M$c| z>ya3KS4+);bQ0@RtUw#4c)*|R`Z?PeB1(Ue9uNjO_sq+&&PCcXr6sl7rt`JSLL%=h z(Z@E=w~$ff!nJ+v|} zONJQywIJ4NPhiYLcJZtmOygc{_bf#Yk%K|EGU2S#7h))><2=}i)F)>D<@k6dvyWZ32OfS!ywe+-z2}jMgP&$b>99x{3I1FK+NDU1`uyenLr@CI zM@L00`8qVs?0O{3N}h(CVA`qa#j}rqwDc8t9jwYvXUlcdy*VF`i$xXA+HbRB{JFVx zFG6WlvOKlSCih6e1B;>1QijU(fvu+Rv4TQ8iSB1>neEWouqo5HM=1f?YTo`>Dy9Bd z3S~j}(}~w&UYq8Of5`m9a?MRVn*L0#+~0=;%iRI>zcKiirxM@_uMpM9Q)+qS(9v*O zmJ#=s7u!sd;)h(q2Zy>ZV<+>K;Ss1o5pBk4r&pq?7hYS>O;y{Ok>n)5-jn9*%K>g# z0vt8g_R>^8Q1hmEe=#FwX(51a5pZp%;w&)H|3D(C4qQB3Kn_zPsD4lOeb)g(^@H-W zRf%X2ymriVW-2ugWV-cCO1XT0ek;2DqGvpq8>tR(2#av~5s+9X%eYjelo* zAKgyWGrj@V;yn-)bH=~9g5|qj8^h4h4t~NlQzipct*bXSLaRKDT$@`flIYV5r|E?5mkTPSs z220dNUObdr`O3xEdZdsId+#U8Un>laZJVy-3b#$vm*#J>o-IumFfJzZ zOMl_Qw;QB+Hwr#KB;h|XmKkX>rt-hrg#4-Y8{Nz|0`Umn5P{-v29Wp|C5+=KKuhrA zFQ%5{ixUjA>oYsHx|3ntvEw`oDLf)1I^Kge+PCCNZD&&|n0S5VXXYE;6&x%Y3F4S` zV^OlMS#Pyu%`u*j)-Yj=Fb(mYhKLY91&9B^D1g@V2-!g&j9;JroUe}HT6w)pH}(T_ zc3@albR)U4gvpov3(Vtwl74O|ozWPdW@G7dK)|B1{h(n}}>L*PZk* z1mJ(@pG+sad0&fPnvj^+fSZM8WlAoC0c#t@wf>^lj_3cz+IxjH`NZG8B2uIXh)9zr zf(X)kN0A~*Q>v7JfPgfS5?Y9;^xl=;QM&YAMCmP|NezNP0@8y>Amj``_kW+~+56($ zoJ;fulJ}kY&RUksg-p zcWR7#^)(>+j?ua1f4*MOKPS3pzPfXLLV1dStnmxdhN%1EU02BYjaaN-3lgJ*7O)mGUv83ujOj7z0@ux|Ga3t zWNs-&Q(bVg033j)>N!DE_YlYOxvEOrRHw; z46|YqjP~2`f8;UqO&*waWkQp@5-pP(sXyR}^+t{2q{Y?7(*Ru-`ghHx+ZRRTv(a@kM&Mrj8z8AaWl8T~+;rYxkEl?nK$O=*9l#_?pJq<*`owl!kfLg`jSo?#u@sQj2{SYK8K-!a5Mp(sKg znjBDz;%od&Jp_L)nX@cQqmUHe)%<<5a7Uf_`$5R4lcUy-L!=2g02G25t*28%rJYf-1RZTUUFwOiJx*!BE9D)Y^X{$w}Zq_ZmzW=3R&d8U7Q2)jB zlN&*|o3M`=POVQmUcH_g0k_Ri@Q%;_Vs+do89}Ev-K}hS3Yr{m%M7hLhPqzC@84p2 zO}ZnT`s)u7)2fAVAm>>2yEkNvuSC~~eRBr9?ihI|p;+?8mQ(h?!mF3_DTeQ5O zYIc-guLkw2KH6s? zjuUQ==e`SFHCeHm?SNN~EV1^}k0`PJHnRI|hMa;>!F_(=^?Vi;;7VduGYJeWx`*1qEB?`Vwj5b*}9+3 zgF7nhvqTySm!6HZ34*Esq}w$p`0$I*Kl%Ypm1+Yp1PU)$Ibk?(E{J!15=FJvyB_=! z1^d^3c|rBepuLgjpu+g*(Z!VM1wBNB+0(ab-by3rrw)|nf0|F$zW-=;vcDnzx+fl4 z#d~Q`Y_a^Mc-&?rJi047`uNx;&fu+>er?}+OIZ+IrnoBSraUwy(| ztkU1t!3J}d7=hymmJigSgPXC=*ERAnCK|3=%pBM#a4d;ByLa#AXhCARjc*}Z$Ffj) zK6y&M#}i~NiDWM4a8#Ag12dxFMW@{}RRHv#@pPiZn$*p;$D1Oy3iFo98yI>L|UKyW2%2 z=>pz0kA^s8v_A$JChf%y(Pw$_d`u$}EAei%GDb%2RxcV)J z@64ea?AL`d_inTL*^iataFQ<{NpHL^#2)vF#{Y?SZZzbtALN^Wbw9UjVU_a%Z>r?i+=17@mP~+s|HLBU_FXql;XtO4d>S?K(GMQVgrhc$_F z%kYW48cKer6;ygM65=f3ThX4!`-Ps{r%hN6!U`dwo$!qw^Q-@<<8(!)<5AXvqmN!k zTq*HM@-HHdjQ&-7Y31bHodxV{X=PFB+3|O5*9iy4yu$^9sDvvj-eH`kQQnsX@50M= z69jnYUNmi5mhPqU9^INEx-V}p8LJT@ztDVCdB?vdZ)a9E6LDk)Ol?z3sPg26RDj0x zJSw}`oYqC{y?)0)KWEq{=!xlC$k!qg(t;t=<>E>jgVuu6-CTu{Nm>jbJ>0)QP3 z($3GKTZr1N25K2t8);eEUgr;F$2Az9U9YP)#L{d{WVd+ob)y$d2~TdZMGz{MoJ%ME zrwiZ;aQngIDk#R1(B-CL2_4t-?yF-lyCQH~?sP&~^N9LWZ##T;o2&PGaCjHwh zuiwfrzW2Yl{yOsa+_md`48}MY9s58R{j*UZ!#PjG@X^vpU*=;=*w!RA`)rz!bcPFs zXM)QwxrtF$EG*1m4JSGhSyW!v-q+}`MA-URyXu&|QPx^t4B&42gWJSdFw>Bc%414t zV3PR1rsd9xzG7QH+Piz&l#KQr891-JoW)DZd^|S&@eF5iIT^l#j|G=E3l56!em#`% z-x`(x(p99mTj5qFt5}7wU!%0R8{%aWm#(=3lDCi*r&Y5*+IH_5w_mXMfmPn~2l>2E zq=HxHv9VO)(j}&V&wpJp(N^~N*Xziw^mN*cL@Qj%l(ymt{bs*Zw?zS!=yE&sr2zvX7ThN zKHcVze|7I&$jwz}oopl0$~>h`Tq*WlQ&YnwGVu-pg3~#N#>~w1I*#>xbrE0=ujb-= z`Mx3-o2^UG+$^Oo6-)cVr-5*|;YWji^lZ;?h7l;dr0x13NG|8W@AYT3~xhIT1j6BkJSW|-*WwUis{)Q(3fVojOR6#@I< zZQGV(#{q5wKaK|60u#@=;eWGX^^11^c*D&0kXsDvWs7#|ATY?Tm?VFR73Z^mVLyJd z(~&J?-naz&%>nMuDhw3&zFdJp#IgW@qC7EUWXg_XB|Y;Fg+fx}J`6)YA_rs=zo{4S<|0XFa;q}CHEeObGe;UotfJ3OzXhe z4sXMDM}rmVo(uOaZi3Uh^A>`4Kf+TJ3|V!Wj@XC3=jJjM?57u_9@bNoaz8QGKWtk~ zTp+D-Upw0Um0C#qL3MoJ7$7u(-maKe-m>4gS>96od{gMh{Bgnu!PnKs*m}kqtuJ<{RS|1J_;3$rZ8} zn@>}y!fG5F%+2A4PLN4cII3DTcJGTjYjvK6+Ilagr2XMSyEuUh$MH^E83BZ!0RTg# zx8{_$h+%=ThYq2FMcy2(yd=uYVCdi6X3?b0ZKA)_rF)?GW|H3AT-_#&G|DTh@153# zAhGGgZc-gy?zPW*3-Yi^p)%~x*MSVO0oZa4fa%-6l(RmG3N_CA888?Y}4O7{UO1`V3KQ zLE)|rzKCN54v9w`?~mu>0t8ulhgORWNzfjEpCg&1LYEcArHD(93665#%ukM)9bVWC zTpLD{nE-VaD7mR8MpuCmC68Y#xHKV8@EK9blm<~rQuX#|AX(nRPCl8`IuZ}2no{4TQlGq?dV@={LhMo5?NhxrWD5g7&^CE~kakp=23 z`X!)St!>*v+BWEx&wqxTI#Us!xdhYND&>lu5rcbF6P=&0Xh(a8`iL}&epmf)Uzdaj zt8BE_#ezIihtw^X0B3)a9+)g|Cim=3ZNJc;s%RP<=le4K-VN@2u*e^G*G>2Dj@lWc zGdahB0KIHfD^kGMyDt>k>`YR(-ILW9BdJeo=`^|G81j0K3Ud=h*7E37pW}aZh zw*VF2Kw~*?+vhhI9Kik|B?-)#sb&G(snqAJRf;-~LtYJfZnv!A9SG-}6AGqvzHtJv zO%Gy-K(fr=WH}MjlHKeZXg%Zww!o+5eejotxUQA~0x~!6AlY3tG`D5yjM1igI2A3s z;LirfvZ-Iq_ylkjR2&;z4F7cPDQtYd8R1cFI2&>O$Nx|N ztoa4+tzNpbRu_D<607{MPD(wZLJB-t{{yt)|~e9IcXjcZe*ATfmo^6rUYLLefaVhR{|x zh)^-K@_G|Y9Q=!Zkq6cg{*u=KV|-T1{p$?eULB>RPPUSN9;wLV<`e;X9R;p8%YmnF z>?`_N5juBMAy4wt3GzNX10n7G_wz)DMM%3O*d+}E70sZ`1e}K;UZmd^pgb7-cc*=D z3 zh~K7VN{!c$NDw7lh;n;3hddg;{0U6sZa5Q+hNwq5Ue_Z3r}p`N1+WQX^W>}dq1WDpCdH+mghSZ{PkMp)s}=b(I;4GDMA9i`qnM&}lklV}?N=5GDy}q* zUurPK?6x6ZNN(CjOn;dX5-ky>*eLZ{UddYyOY zF9z?CjVM^=uG~=NGizk(`<2Qc&wB9J+}51vxePDnNDD!8wwR%ZoLe=z=_&K?^M@c*{ zJ#^_u%&+5)DKQ(BmJb_Ry`a2XV>D^qI4cuy?;z8jSb`T0^>5{%lIE46ypWWV1NOMx5AtE%5PLT15D2EaZ#vYC0do` z+09vA#+0V|Jjv=P`k`lt2B4Fsar}*H*O_UaTZvN5)Rc)zxo4;|QK%$EQ$7EHM?3Ou zebJNGiKQw{lD<`c-ZGHiuZZ$Ugy1P`JChAAb3^fMcf1N7)^%#Ja~T)v3h%!6TG$lK zpiufh|8rXXY*cutxWB*uT!Sfs1`@pGpg+xVtIGJNX=&{|!s3z7w&aq$x95{Xyp&L5 zyH!RDj)$2>3)blF!5e09d)MItGx2f97wUjtU9YQyexLJ%{{8{tKR-U!M@JtACYg^ zQ2!!qx8^=qp?bW4?9F)!mM4I`hZwNIT};3BEpcxAcfNXw)8L-*GgOrE|E+6#J`J1&>M;|P3Gw*^B%Z2s|^vlrf7kBNVizzgojtFwD-tgaS%B7m9D z&)jR3Ju2aUcFb`bT+ixze~v!*{w`}Nly&O~QSjvg+TSTBHte^)el2z6d_S?ms7KFd z(CjtcD;3Ju#Phq{5EHox5j#83aZlUpzis?0Y^5CgXKttOV~?!-N+a(I%07Fs_7P?z zr+#{1Wm|9Y`CNQ%cwUzN1Hvi-_p8q&Fc%ae4gkkPHJTa{aiO03c7P(W5) zCCVq`0J<-5d;F;Vs14i44bg=h4}^O@uqR^w(IFfiy&oAc-n~Fa@WShUJGKk7>k+`c zX!AO%1J20GyVpIylDxu>Zjw`^h~rH*BxrYU~HS)k=~c zdnwo~<5!v?^ z#z68aQ*$IukR@H#ykI zTkL!McshS8txpae-G9*(ol+Ha_ky;%TS0N-Ly36HCG969)nkIz#Lq6IMJ;OTx+gl^ zZ0k%fps>v~`$}4SL4vt0K5Lm5@xU)g`XNIfaB-*|h#bWHxD~%^=Y?Z03P={$94npf zs`?Mu8KRCO*T><ztw;NqVV0V2Pg(9KBP`>f8eDi!R%4P&= zdO`1{K~Vo4Wiuk|Ez8RfbT2F_;#JNEpZqc~ihCxPGB=#N#w)J+>g3I3*sIaZm;dk~ z+R#KxJNM6wkJEkAs7v5|d!dMk9pTC}O2HeI-zpy_ah9Kcm&hxZ6~p##x}su25AUyf zF{(nc>o=IxeNH7gU*(A{JNm^7gAu7|B>I4H{I)PdWea%3fT(k2+cF_HR?Ds>ojSHJ zQN`{wW*jmROaAx?SL(V5Z;APtDvCrXCS5E_6^fR*q6}N3RX!`d^09ea6SA5dxQiTm z3t3J_X$2Dgy#l?ReB2ML&vC70*7;ssubZZvK5R1YhQ+4R5L6d!AtyHIHI`$EfU4VL z6%TD$6!L++`?kzYCT72LjM2+@%PTeh!u4%6IL?e?q3g#hCeWd6(Kx@@ETD>-u^%_} zUr^*HBW}d;FJQ|pD$U+sy*i>k^uE)o>ez;-xc@t+TJZLJi>3lf$CXBZTt)h(0q%L8uj#RF z>ZkwZ72inr1@nQK1|jF#Nuh9|q-30GR&rQfSv3M4DYik~KPJtu3egb2B^ZH{A85H- z6{0mvRcKQazeXbmiMXp{e#i_M%2Vw$#Y)+(+7a~l$UEy{2#`m}UaLlVKhXYOc2px5 zyVj(z5?qZGJsT)f!YY%t<`EQEMsXY&aYP@h_fNU2qYibjhM~)U-u)xwMEN%U)|{$D zJhb``mztVTMq8eZ^=$M`#eZvVT5K-8K?SpU{WU1pO|$o%*DvB6fM=LQcT80>;H(fd zfyA&IJJ!z3k#Dty9*5m^X!iL6i2S#hA78q~_QALV7MgFH75mGK-^RYVmbmI*dgi-& zL-=lu5H}vC(+<^131Wtwxg7JfzvXNhd{mXGv>1yt_$+_DKF92pc5S!;Zd2xXeOcMe zt+Ib}9+*wVh5^RN_sjIg6)y(|s{a%?seG~t$<<{W&rC@6|2EhXb!D(1p>4kump?Qn zMO#fl%QOU`NSa1iS$%RrwJWm4yYB>%T|w{UjG*P?y!-bT_c$;3)s&7cl$B*pzdfMx zF(um`Do76AbUd4t^<97|3W8{Yl>CZ`LE_8~f+h&*?~zR3@%$nY$#Cx8q-q&JXlhZK#~YpKdVCvfJMP z+rPH#iqG-1<67(5rKjVdl1cmu70hRz@!%9;2zTqTgCr#8&t_d}NjMKHpOVGpUjY=0$Qr&Z{MTeXgh-NHZ3 zTD`z>Gyk2z=GS&Qd#vP$%x*KQ8FaLr_WVS?mw%s*pR;gS`{ZKV&g}6?ld-|5<|Wu% z4+-?x)+s>DfhQp!Fj}0X;JO z(}0*8vM*&`k6g=2SzoXwJ+Pn&r=cX(!%)5#6@^Y8Ek#D)b|s!p{jRdv$!dEx)1U!A z8L!BcA8%B^S14!G7;FjnFhln#heKwV8>w@xOJFi!r}t4D*2x%;XrBgVI)F>gMJx4! z;(iW#_Wb)y9bxz1t5fC=MzcNx`B@7pbr-~{=tzP(ZrX>fqa*BW{vHcnEM*Vh{^c-SyY1K$d~yrH$d7Funp_);~G0TQbOZMUr`?DO)xxNu-JCgw%UmC!gkv zmoycOZH5U)O8O+5${8&5nOAOwv^ORte3eMn#=0@#u6wDY%zQU1qWm#|25V>qF+#yDxe}qxN z^Z8l#jUYV_%!6tQ{JNhQeVv=kp-Za*O72E$)CWMxD(?9`ON-BSTPjM~37NLI&c2@^ z)wtRycG|dltY9=usYQDyn2~}wsnhE;i%al>SdY!0t;bz_99AX!dvT6_NxyvV`N`w3 zyjDZ*KO+nZX}I|b`Pt{J{W;#m1Nb2kS2ny2vuoj$L%p7B^MN`7e&A>#fNK}5Y|-^q zL$TPOTgu2Oi=c06Uf2T9h8Kz>Htpq6wVp0FwU@n)R#63J>mbCpWy^#R<$mP!XhY05 za2zjoh5ZH20dgd8*K0}+z3<>=U03aOFWW6>yF_6_O&t3(R}=02)7{H;mH6JCJYxM_ zAy}-y?5S^b{)?pmUog+>?)BkV!E*S32gs&}xsNn>@I8+C5jSno-+2$Ts1CXUy=_(i zcU2?AarLSh^!Q60j@W6Srb2D~MLy)-y2#bUHAYS3NnA1T=F5z3LR5j< zA1+ppU(rrFF&%#CDDbE?kf-;JCfoj?Y#=eyDJhxVY2tSaAIv!12dlVg-zqqLwYg+OjOl{FqSt-L{v#X z-+pqR7sPWG;;4s#HG*Or&TRaL{(RnV(75N!g}0$*xj!T~o|Y(K_Nrj&p)mMHD_X%> zv%$g)`m_xF=%E?3$q!qJtl+yf_0eYmd~Tu^-ymHt zOl@oj9OQ2v!EH_46N?``gb3nzAL{oox{!}OQ6D(S{&2~Yk}Gjg3K{wYsP&bW269h8 z7$|US4^O{fva)H#dSIT;lhvIqY_<=!cS6}W$M1)jN#xnl-@{0K zUgf^;Qw#UN7Ctq#Pz*SL+(a;h8h4xoPg}HOjE|rCgSK|Tb$JC!;=-vpjy_XMP)Sr+ zFCNn^h0RP>jd@zEJu6zf|J;X3Zl|o6`0+Oj=WYmDuf}QJ1UB}Ny5M1Y|tXgTZok&nKVOmjXNWu z&kR5Q5E{Hp1{d(jB+j(23v0Uj`&w7d)t>tU%(g7-ShrQ^1V(g?n(zGvy6?kii8-k& ziOi(2z3{t8kCQ%ZJ=4I23*~1w*K8AowsJfbhj7oRFiL14lvXKNETr9)&dWxmD*z$< z4AF~(IQ&@}P;%R z^Us_=&+Z*PDuj=@O?7ZBoF?WK?aMwm;=w2i860qcoS|zO2rRWnQrIo4&5E_#k+YYV{E)&!G=F85dKE_|1nhAk zXVDz;hPPfZtQ|)tmW&tE&`yfM;3@)@Xt-6LmuwNu`-HXQ*W${dfjwjq|2#kSx0Otw zPvU%5bh}}lQ1?h*jD=_6({rH5Szo7}^Jc|Y7Ugl67VZe!*RgIz;cV1UpW3#Sl1WGU z#u}h*8`BZ(k}eBgY(|(($V@Ye($0-^EUpONe_243CUD@>nwAjqGw(I8wgXu#9SLh2LMU(^?6I>zP3ca%-H*2tKgNbvx^O| zc#uS0Yn6BLG^e_Ov}vqRR`=c=Xq4REX@x7xz{}mYr`zaMQt7|eFAHhJTND^uSkDa3 zB8mSg7O`q}R3y>iAV;f#@AgNe?=8@i+It=f+x_2dB)lON9iRmsO)Na z3kqB)^8Z$gn9wz1cgM_!XM^m?yQE zG4ks-TaZwKr{scSs;6RDMSUCwkX&M;(h#B!92ObCS+Pen0B5@aLb<&33t)ym81u5L=_BoU%YPqRSwx4kDdzHy zj|7OwkvlUE6q_je|2fC6Ry!C~bB52Op7=s%X5?w(Yc(FN zviBr;tm+S2TEnH|FD?wcl0eQk@#B|NQ#Th(B0Wg>LM_;@pGj6}7Z^C&$*?$Xn->PA zzLcISVeTAmi_D*Jvr5+_iV3QILm%^TMndxNJZ$HO!;X(4ZyPH;oaU`4Iu2HoMSt+_ z+n?ldIs6_@N?ZwnW6eSybd3D!enmD^P33!XwDTx7;P5B5d?!F&F)Y{3V9xQ<&_ECa zUY}9b`ooApfn4e7Rh@iMCjNiLA-Oba!KKKrO05X2UAllJ`uF5;G%1l25#x2-CayvmeehU%FKe_p>_ z^^wfEU$Q8OcYyqtbpkJ6w8Xic3aK4SnO63xpinOX(06qa&Hcp${m7eOTU`nuurPm8?Hqzl$I?Bph?!_9y z?nzEjknpRUbJAZ^w!E+Mpe;D8C1LDs*$asX@`^%28|8h+U6Xan1m9S_rl6i32j4T1 zJ1j~nZ&k7!4E{^u{in53YL=Yhk!TL=C&^FFm!1R;9o9r7U4KBw(y8BGEDsQ%=yMP^ z@#&S;?LUJ=pX_YxCpWQOKfbJ~5hxtR?~u={r_?DwgFaNE3Q$L3#8JtjqW?!J2pCM` zdW6Him35oNt6Uc3Y`GxY@p()qb?C+)()1fY`az^?Lc=& z=8_&JojKU!h?r1kDka!Y*E`HAJwBW+T^F&FkKHJ(EYwwQ`B{*+Lv zsPVv#2@E|q99aVCg4-?px&9(FYa285b0T*K-n#LKhqe*fzQ5I-Xfl~QE8yYXBkC_$ zi3U*sPi|_50~*yin^>(vA#pcJ{#nMvy&@6#J-y0lm15jjbjcNc8S|b_jW>fi`7%}J z)Bz(RF@3G{Fn%N43nOgy%`(=&G}RaGs~vxVS$n=xYZ^HKB;6mi$uao5EL8BDep1RF zMNM8^t{X~v{BL}5I^bBv&M&R>0aC)()A_G)?2S=Q9@0Dl=Dgesh zM2Ot`A#OWhC7?#}DCPNr4;%cs`ne35huoINCz5T+;oTO(&XNs13Y`}gz6eAsUlYKQ zj%H|ODz?;hLJo*vzbcmwv&3;&pSw~QOHW#D$jR}t;_xQQ7$zl3p%gHD0fb2Yru_}T zw7)&md8x(`q6ED$7Igcd((b*);#-u2UqPH1a^7HpbZGu-#?E{g<3;W0jPeWff_+}J zTh()_hByfOned>NqP%<}xJ_yWIHerL2ROBpV&&t{#s}K4KOdufoE%T;_atDODbzkx zfxK5UI@XWNjgABzFHli=BA1q`jIqO`!-cs&e_|P96;lHL=5uVc4%A@6fTSjdwPxxb z(@^$QPPGouPEoDjKz>%#FElQxqUt)##8Mu1Ncu8NF~h*g!2b5vvEGPwL~gnicJCxM z+PlfZj@}=e=t6irM9YIMBEkF zeyqGp^0<(O<5@u2DWmxRj%y+WH^`=pfg-s(*f!@3nqLteMpZ*}15*ob1qfAT&CE=o ziR6LaJUjH}pgq=<{3cnDaagW!;H0=w>-J(??hbt>g3%H>bH4J=x>OZ3^*_sw!S~6i zEHx2f-i`+2eE3MNFnin^fAD%9%b=mF=F4fTlq3BMuJGk$Gt2t1#9U$@#Vb|pnD94q zN%EvJE#)6Gt%P%^Swd&yuc}h83Q){|UiOS&!Y1Z$m{kC2^AEM1`tW5W^K9rVm*4|r zM7z7&LNo)6*dIEm8fx^{i97Ggm8WV(=!0PnC!C23&E>QA^(&^4*?5!QCt1yV|Fv1{CmuxGo+XI0qc_MgGs53tx3U!AN$d|3AxhOorfH`w~b1% z7?HMx{GSv58be;Klsc)*(fvHhJGEE2D=1j>d9(;Qx6_)r=uc?#+>Z9Z*b~-Ak^TUW zH~Bt|u!W+|@M6gRnuW0{DnH_l4h1JqtNOX>w%{P?PhwO7U-0#ixhdVk+h<$!n9$KP zKDL0R9FT_io6Gb`v=1n}I!ey#0ySlGn49(Nq)Dvo49a+BUsh?7aQH zu26HgwBVbV9T{WkDT7;C2wE4BdS>!p(a2dU^qrQcId=UdWYz2FfA@?mE=sjk04`J; z+aexd@H0OLF%u!IWBw>{eWbWlm;g%sgbMdQf2>uF{2QVcz-(`GCc@_>-u`y_u2m$H zg7qpyNSIE1AiVMN;sN{#^%eG*SQ>YIA1xvd#)5!k=c_zfs#$8qJdsM|9=<>}W?h7@ z!m(Aegng5}5C4n7-htq`?WU2@MsDOH*b1Y4Q-W4#-eplsnsf96Os1#(JH=gE+mQ}7a6TEs;Y`%sf!Q@y2|;@aamXfaLC+r z=KN-$kD83vKf`Y*`Q5^=HgsfWA(f81Ljm@Fxlyh_aTDn;Yxj(~41Ms5dn-_Fl%V=Y z`6sBJ-w1e?4hr0+M~X4w)5zs0V72GF<>-QBg3@WJ5!a(Mqa>Q=Eb3+phe4Ao{Fd(@ z^l@%5=}BKEV;|ie@q{U-B=YykbTY)I@5#fUSXGhFeox7M1^ufr8+|9}%3jN3@t?%i zU3xnCK}9#5ZptlM=r{m>1cZjEa#I4by&}*x+Tu=AFsSH59BDJ-vUJ!o+{;|1yQ4OU zbNtn_IfjIvsinD@h#q9zZv{AOq8sQ07_9W!-2Pij1^d%HSDAewm4wS@-1tIv2It5) zqlEx0I#+mo&v6V53Hla+RA`aDk}HZQZw{czl0Km8bB77RcF8{>kK{iCsS7mG{ED&F zINx`)x~gV}BWwjWIOcxZ)Md%n;c5@vwo!ZCnNiR`egZAuKs};?8FY{tMm*a*cl(4S zbgiN~O}G-hLMGODb>P|G$S2-Z(JVs|+yh3)U`nZT17{&Zi5d4}#B7b}3w2!l?O)$* zH5H_PJm3nbG_HW`)|RH`^*I$jLr9%6MlhQ5ICEi!UxFX6|7DE44t})$|N3#G$Rry2 zh_vlU*+;nzi;P@^2kM(a!R=Ip5ACl{eP&zSAhR|8x^m!(R+i~M3tU_7JAHA|QhCX~ zS6ODgO2z-kqzV@vHwC}ofyCbiEu1>Hbuu(*luyIhJfiwHh4Adnrw6p-ohFl)WLtlW z(Y7xcvV(3EiLs6GlJ2_Inc8L_!C_tVD)B3oXx7#{G+h}8Mh$2G>Uk<}E+USgwCmlL zPfs!!>56azOUmyus!!dQi}fuJ+%H%rt3?CThG~p}nDN!>O|$7OG^6u*H}4jlMf#tz zP}v()*LQtdxm7ERyEb3aH&Li5@?nTlCPKOd?Cf(KbY(H*j=l?mH@hMxV5&Z2-9{zg zW?v8hvhcmEic*tb`H^cu%Dudhu*S=TTUN~zw4C6F-5rx_7`2bFqP+#V#x+oQ3&+6( zNlG@L(=F=4nXKHum;_FXQRWK!1QO?~D)5v-Rn)*9{4PmPWOBG4Zo+HSnxwog{_%jLEq z@ga8l)@fex!QHB4Jl^KDnBUK3J0mO%S`JZfThXZVIy!FkI-1ZgXZmeIcsldx!3CH( zvi6Jl_sxp&YfKg4zcd75nd+JgNgm117kDP#oqiQqS`{u8uLX%(PWF^VvbuRFExYuY zH$O~yl!4-R&eJZ)of|%0#&(HH%cm=W)Ht@35uPlR(egpaQZ762c#xorKRW)eFEhV4 zrjYoxwqiR>gN2!W&osap^?gAi8u1qju>`=gGaDD`RKL#%wFj>IJ`xhlPmXtsQ{2yM z+IaXSB<1R<)+kr1%qn>|WV1ib;k;)=IB#aGp-3FJ##@``wtrab^N7q1l#XSuO;(tk z4c<~5Y3BY_&Uumc%F^zzON^KiR?Rd(;sXy+WpmSu&hgjlBs$w!iS#dQuS*?icGQ+5 zi^UDk#_b}POYx%_pH_6mjGmO7lhAbWDYWxDP*B`lt@*`4x)~{O(yW^c?q6^;32Fb* ztqYDc+-X)zSdjh&&*s(m*%&!n-#0g3r~_#~va-MwKPIarnOg5Oi3+>mSzWmVaIhSQ zaWY9?Tvtu3EOk}0N~9K)FR!pIIPe$f$>ylKAW+2kR+VOrqp7<4?)RuUAEMwZ(iZn1 zbaAVoUhr<&xq41lAP~zK60Tu+K4*_HvgAHn-GPoTnhVzJbW^sl;wnJr}pu~-HBI0H>b)*R4u>J1Q10kziZ9g zk#}Ocs{`&P0nZ8`BcBQ2qSOWNMleN@NLm-yDro{NQL}n(?_v?zp)D7v9l1urWX(GM zVwdDVJu3a4G0rTU;QXnQ+Uk0Zg245i)V zFS*5gw(`58Q+al8^;vDIg{^M4jP6jqV&aYClI}Fm8g#e2Dkm+#Jm6tq2i48~qZfbO z2=}oRQ1OpE!~b`=KrQjK(YW$d_mr#kc7*gD7si*Pe!fc7#a(#R06-URew?0dW{tHl zuuy}H-#Vj8sig%bnof3jd5gwiMEg1@%E9VazNP54 z&UyY_Ig?UCy<7$tMhVzlMnkc*7uB?09^vmuwbZr(IOpv24=lH}UDO7w!f`Hg)CQ@R z|5cDU6VFW;6(C1pUGx1J?qjbUxe1e)wRO<@7G8>h09YQA*?^k*vk-|XR>qs+b_nmC^IHJ^kSVI9*)mWsv1z+r7` zgd88){PMv`-?hN3kb7E1HTwm#cFgzf6s~6cgcnpZ?blo^4w%0EF6`^`X!qRLsxtEo z__rkHOiT~|hpIDP)z$1(pT7z5GCXz?LVFW7IX2Cujd!Zi5Zyb?IB1|Cc=eP|AIq$O zUWp!Nje{u8{?XE=h~!fFx1cCBWfbi%N(Ebay5C%S9Nh+FHfNN1jlq$v>gD~9UmnOh zUDkSRJ@u1XyE$)AlK;*~+N@2I#^CoXOPO4%tNQmHKUawC6Kx{b=W>6kzL80p;RjsWJVRyAA-ycyUBVhg}yx5D8coUqop_ocbf~ zLwn|2s(q2zU&tJlqMGHO=EBkilw-EeVYO9iAH^s}`y9~p(~v^cvPrny>HZ$v(Oq=m z6kBti+QcsU?+h^ae#b)LM>W`Y9H)G+O*2$d?vAHiz^|~8jk)sj2IrZ{xH$coWPi^a z&K_*XWiJMW@L}u^e26j@CLpTJCWUiR)~bC%@}g(MMP z+RNqxIg@@JIdLeBMAj<&?q?>`aILXx*Mp*ozKVbDVuy331sq+#b~lF^l998}@Jr5o zugz4b;uoRV$Ew7Tsh*z36FV%SvsR9ev0Wzr_|X3bRA1o13ZQXU(b?^WZQ5m*mA1KS z?OP$9r9wQ{z1UHmff?=!`H=n9C>yVIigUHs*OLLic`5l=|A|L*XFe!4tIN~X=>zJz z6Bs>&>~G9T-2RdqYe6wJIF_jNV&wUQ)sR2xz1;95`z+Slj|WLBkIhw+iA*K4J|&9& zHT~d*b^Fm?s0>{6H0!)L3vxr(;R1sZu9hZcM%U z_3`J+9y1}o6YfP@dNOox)jE`+f}aB5n8(SjWn>1lC@nb zDh3JugBVJ)1KA07sj2a(!E7W8oL5Qcu6wBu3&W2GJ(s_Qd#YRhKZLz`JXCM^KU|i` zuCgzq6h+9s8zQprl)dbPtYaHP3T4k$WS4#48EcA=eP6~XWDLeOwqa(T)93sBJ+I&M z*Yl5m953gb`##rwUDtcL+`D}K2>u&0Pz1d=9h$;~k4{1kdnJAWqG zX8T#Y;;>ylaSq{LQ~YDAW%A76-y`q9DQQ}?JATXNsV>U6O0Xr}DVC`4&E8Fn__C+$ z7&N(u5#hW{^yp3?s}<1T9=wrw2+toIV@Xr0bnj&GZT<()v6lK@-hTcMq=Nvy0+8pl zFL1(uImu9lyk?v~3fzIA+a*SgqC)tNhqp0{i&9%^oUnKKV@I}bZFl@X)3es~kq03< zAN*&zD)Pnq=Qd_Yi+wgRad^?=iU+aY>xrO*#JkMZVV44EGM|kSXLw{+Ztrm+UcFaW zCR}8jD#_H-`6kJjMQ;JhOBER}Cbm|A9UiX!ucQG~7)7e(mrq!w&`&0WieN4e&DveS z9wNBhId+_3eyZ3u83hD@3`bE%AG!bsP(d&$)Q1mE&KS62N=v9KNE|-0_w65?75elx z-%B&#LoCbl35Zrym&zA!&iCTDQNTAnNgVfhyka)o{ce-kH@ zwrV?}%2bM1d~>8X{iP;F{Ippq^K5|lp#dwy>qqAQ6TUpO1!OP(#JgyaAU3vOb1Yw? z%3NrwzTWbw4;HXlJIgOIChC3h_A|#m-@I0f>&8}XpS_Ol5qkB1dyoL+e`Bx-o%RC} z-}UI^w^9#$bIus=@iOZvk==b+*)vQZl^^k>?g=Q;<`;2LgGl1pLj(mdSLPCK-2GtTh|Hm451jvw3&!W74HZ!;`t7=9SO(AZ+BS_S0 zE0M3iwcjZ#nPT|IG^sYb>spsg6Cs5)^p%ufi+LWArV+_#aV~a!xLt%e4LPDzCcELZ$ zXh-Xf5xE)m_;k2=W$8R(8f0>ar#`Y}m2r<|f;w(vn&zest6C;MHDdyBz@%UOYS-2t zOZ`onOv@xD5u4oXNIaht1;A9)rvhYPtQv34n@W$Q_1|Hg_O;QQhqY4 zrr07F5Dyaccs&{lY=TP*(yF8zW3^PVKhCOO|w6c=jyO;6i=*vP^kmi>H{q2-4F!y=;bTK$f!&JDthPzc7US4sl#1*%<|U%X&vw+Ry${pt#Y2 zb5!O&Xq=?*K%5>h(H)hMTi8yqD&qS;UI5kU`(;*OEIF0@+752gK!7lxJ|=9BT;DRL!yP{`jzrBHC^+2run@tkc+{+_a2C@RT(GoFSX4u<0u z(#?8*G@z;_WCk&FQV7*(x?&Abh=d{mF)-B|84Y;)waEs3Q-LLFdyLm?Diw|eeZ5k7 z&&G}^leJOmLE$rA7%%a`xC56nXYAbM^7nTV{<{E^q4P^KK->lFPgfP!5-V6o-h@%6 zFkG%Xu=c7%4|t0!a+G+MF-ZoFx|Cs}X5tULl-Ap6$s8}u5yF4s8nARp4kr8IcgX~x zNBRF0)$|noN!K*~D;+_PWf*wu{u9$hGrsEl+romYDXKcECuIMB-A1-FeuQy#?Ft4f zqqI6Y%M$B~>?GigM=(Adh z@Xz`dw)UhR9HTOiuea<)Nc!mL`>_DFv4G3JkTa(Rd*II53t$9^RJP)OtkxTy&1xSI z<=Shll*$_p38_`^)GVE-c(S(6xu}=C$3pvFS5Q^m&&x}+^k4E~qh5+#hKp)G7z>7< zczyqLewCd{ngLZ+m)|gqX_-S`Y686rG=jboNCNP@B-FtKBmJaBJ=wI51iCB zx_KpmW*CkbH(=+QsM!b>6%?d-SVcMQrp)(=Fm*Tc6gk0+tofqwnSc&KYQyl6pdt!- zrBCXj*s5-mvCVVWWvuv9zvGUnobR}yZ9DCa5u7c6l)bW<0Cdd@Z=T$`uRt<%I}Z=4WmtcrzOE~Flj}CEhnwVh6)>V63Dn&Busuf{MoZ*D*d=r!+PDv zQyb~{rWE_zxa*%N&VD%%H4R8u^s(;*V6of>J*|7ki6tkTWIEcP+3)X@Wj<=*w(iWE z3F*7&t`f)P02Wsd;wu7moX=b~BVLqgWQQ)?FCp180!DgBhY*a|vvSh& zy>z3LJP-i=Z1j}&c>zu_P_2JNu>W3~8cd>Dx~=m#W3xd5~Hxf^jfGAf^Wttz4Wj@f@HlOPI&DUkl1mjM%3ril%qwOCEJ23l&+7#Z_Bq8?NW0@;J%M z#`Ird#P|G;`$}1KAb?N^)R5b_Tr}W$5O`8GFuwb(5uUU5@)YRW3Ji|7C}hn7p!*JB z-O zD_LDj{#MRm{uqTTWR!1i@rU0KR(_6P9`t+q+>Opn{?7IBEqZUIyXPz^VL0C%y=BcW z&+a@~y7NBS#M0B9$LV7axiH4ha|H=6KUvtM<9VQcM>w}B0uI?NH+7$}fzQ64t&Rv$ z1d$tAh~gN{G>azdm3B@JB`Hm(nU2! zF|XxVzqX$?a%nL2=n(bAo{QB;;`l(g1Tp&Zkl{HyHBi9vz*FjaznFO06LSn9Q);c% z8&e>)W*6TTyK#jVCv^*zBGO$=|GCHh$iw1oMIpV`;X879jMta(dc0xR_D&H!B}GK* z^`+h5npk}9XxNjm=xeD%iz!OGd0LY!zA3~7;xt7-GBK(AfA1^sj4Ek z`{ON!!a?E*DI%VAq+6mM{od-lI8K!PoV7aEFyq5xW$Z-jvXLhV|AugErS+IS))HT> zVu(IsU8S7iUf>NM(~O_ljN;v*0J-fwO6+GfjrCvP4I$f?Evv&VzrLhC>-O2pfh^(#5LH1z3$Vn^NQ}v;rjY|qx3zOBPv-PWZ>n2SYfyew?@^vr-9$b_5()G}+cn)bIiY_B#cGt1&n^n1)X8S8A=gi!qoQWSVFj3F z;oge>ZhMGXMAzx?VikSoHpZcizs>z6_na`w`He!|4KrazzU##r?wP(T#3M;vDJbb@drB%TA-|c^T1Qn>^0s6WnP?w|7jh| zEmTO8j+=ObkVn7h_%*J>ovj(~Guh=C)0%{F@nU8aJWmq$at;wmh2@%l`0n|++=~Ak zm`crDhSiQ0>p#7pdt~fg|t<=xg2Rp{EZcegzGVtNo z!BB|{+n@5Cz3q24M2_{*NW3fT6|dy{(>*T-VnwJuYqn;YT{GX%ul(rYZw)0wm+m$F zFn6kcz$X{w}^RByhtT!cF#X-^#<@TSM3;H1hUbbrCZO@SJw|En`UU zTJt=W;Me9C^VxHK!_$b)ghy+sQSc^y6y}r4%es{2-{%7+F|4#QS-cC8a<8R!s{DDq$S*K^d#ktkb7sl7rAb3 zRoMk)@GL=#!adwOp9=wATyxa~#j_A@`MoMdgM>&%a%>oPV|+U`7)C}d0cH*|Nnkx@ z*{^mNe)3{pzqbE$V=Kfj-|!xOHDKfQ|13N@ce?vxmazI_q1;sUgN(e!>ET8nVTifL zH4_sjwe|^ymfUT>;1Zh1S4O@ifkxWoiNr07PhdahFOA7H%CBf9cw zZB)+Brv!>_IcNr61gC|D9pqov|4G*@`cn9|9rVKXwjX2CD=Bg6k|svf<)AV5#6UIt zRllgHVpTPBS0pJ^Yfs7_^42T$&iDX3G-KX>&KSakk`H@G0`xgzfz^mlgg#p|-=_${kNA|9cs(pgU z`h$Y?)Hb2Z?ME^;g^0esKxBB-s6S+j2ASAnDU4?KmvPE33cUQ2g$GWx@YG=LhZj@0 zM>PW;Q`AQlhfC|(%pPBVOe0u^fMt(E3HCkd917~3YTgz$;8e&J<_;=R=*GTyJ~NHT zBEz9$x=35no79oDzlQi1#wosy^O^9IEe-OJjze<{fdaA{?Ja^waK@5+q{c>gR z5*E?=RjJJla%hZ9>_Qs|ZN=vIKC#J2T!(ENOq|QnJ&^wwtkAjRgU~k05mC7k!V^fI z=4mZ#@}A3QWES4FD|1UVHXXHS!;UpP`*7Pp?1vMl%w8=w zolTs11srp>6tHig)I5ayYti=FFrw?Lab~;V=IYtOv%*5vSvbL^ zRx#}4Rjt-7Omj;%t|AL|0}W{F;a79lmaPl(m|C`*{{$}y?%w0r2{h|;|Gc{x4tKxR z_$L5iX5|&~wbLPzYs|RjVETpcCZ2AbZ{`Z> zyZWJl=3LqUcgS>>_bUKr%O_m(hboPwnIoIyW=3VoxFBqQ{%+p7G7)(8OsqdUr8u~+Z5_Y zD0%hgE9aVRr35iUlb7r0KvmwxJ;EK$yNWNhqAmxK1s5|;YmWxkL|00^dU{M#48dvk_G0z!y@9#OjO+67KA!V~Jzqi;# z(W%JB6GDo4xR4{>zGoyfQN8s31VifJ)sua1$yfdKzl$`yLd29$t}Q>WS9JD6ezhpD zZn?ROp!m5GF0b9Z8Ha(JXg9hi+JI$K`-bI0LBzjv8+$~;-f$3fMk(aCRnTb(%$D#+ zgb;oBM_c590rZ4g)e+uxr78Icys~S+vo*kNILB3cVlat{aT5o<(I<0NdYHEw==d-p;3AL2_e~ z&=wx|w%W=WjX9^@7(#YgrYriNddik2Ci;@h+lkYKDXTp(WgrpoVfA`a9a=N6wEB(V zop+7t4(PrI2Z&Xmz2~>1O5kkk@ywu>u#14RG)_X}@^;<^?^fc0=t|QW@5x=FJIFgX zU*4PEE0egjv;)I3Jxf017oN5k!I%8`cdxLTlj!qy=-NEa;j|)=#)1LZIO(@g7x_|a zGHtgay0+L7Q5+}0-J7VTQP~EZ^tIh8yv> z!x?*6x$9H9WbxtqFzs9!b2IafKFpK&b$gA^^rK-0gug_*rN`Z)&5f@a1l{wKhOuDW zZXY|9eASPK(oCG30^`zy#hg_fTQeb#a=6|F;_Z8d{9mtJ+U&uMBb35E>G}0Nx3qPe z>uJL;r^!tqj(aS)Z5Q41yiDD()-UF)fkga*7kC8a-1MXV^MMJrT3V^qrkaE%OApQl z-}V=G3rfNy%a3!M?OIZ{)G87CDxJ6k%mE&^yf9pQ{;rZ#0H}2)$+rB z>mg8i;h@I93=2(7pNdz}I_KbOCSI;I>@PmnY7*7z(nHKt!;fn423g)NXkp+--lW~f zB(7rRCR0bF<8zJO+Q!vH_ym*LBY%i>gp$k;Dbn5ciZXbKtw>ILMYaaphBMs5 z0gvYKh)$x8DWh5fCdU&$QM?~If4-zx-{a9uQ*<-xm5CN6!5$KmzEr(7^RcUyAh`zK z^Yiei3O!kX=E3F2iTYM}9wi zAtqwNXIFT~)c~DRNGPH?{KYyKAFTdI>q^W3(`#v*i96ZHu20FACC-jS?Q>QCXRv2! zNsZ-CfoMI)wHDC=Zbf>eG7h6(5Pu#)eB^xZU(}<^;3BE-_<=B7E49YTZK9do?k;2J z|J^=PMf%M5jAN%g#5&9S%M?3wFCEUl&=TnWBcdya>F9;8FAuVpmVs(3Eq}?7(PB&u z9>c8mS|~I>&-}fQ@owNIxUqQwl&AZ~^;)M=MW(B)Ct+*_8&p)3dpS@zN^q8~M}57_ z->$SYB7R~jgCRHyEa&5H^U}BC>+qWmD|#1ur>>&XNjVPnI$Ux))({pOsBVPPzo_Xo z1XS2e?yDdgI|a}zM+aelQ}Aa$eKDp!qvxwsf!E{hkBYvRTRxeLQ0JA0+L`V0TgtX3 z0Uq0I3Z=XUL@_|9(d*rnYwpUDmmnt6z>TSV4%$#X4Q{lf=FAx zfQ4cd!5 z9VQ;bh`O=|RW~^WH>MeWfk7ww_4y$4vrOAwGE`v;WSPU}`M1 z;P||ejY6H_yHpe6NtSGRGa0Qa!yX0e;7+z<`*ycGj#(0e`H` zKUZ<(os(cm4JY*p&cHU(26oTswmpn;asQ&P@b5ROXwAmY(^<{5T&e!#$Hk3o1K*5m z(t1^qhS{X`+5X~meU$na{u)MlaQo01?i%X}AW_+eUZ&&*&mn#QG{lJbDzTawb*Xcz z!D;KJcQ85ypQg@!^^0yOsorbkUH^@qQTdk18a^oJ(=?LYP@1bU@!+f0)(4rTqu#bS z0e#$BrS5+>rn;pWv7cMSbiE|_exIDi=D#Ba!NM(ZvBoWsHQz4QoE{~RTN-iEI7%~j z+iuRI|Dex&*pC)VD^WmiFL&z(nq*`e5k+pb`hIhciPfR6mVIK=8Uo(YN0{dA{o>e& zgCG>mii>$?XWT)*ALfmf< z1DC9R2^fT;RwI0{69Yqx9{Qb+y7MM#EWGr$F|@}R6pS?Jcgo_YNLm?}DFgQ;T+@s#(yUT_)jvQ)l zP7|4$#!dbEy%Xi~b1Er%t}1909*}P>J(`o#w7nD;i9`+(cVG`-x<{oVMFdSeJaLC! zeIg6`JlTB7Mf*Jk;|a?}OV`&C8NjyPebGNd8L6`18IR&{DW~(d)?ndkPF}Pjg>S27 z02Ot}+U2>=`2ct(M(LcarAa+E{pRO1uRfYlNCmnda*>_fmSoeRFWEwC}r23a$qZwWh>wyEvC^u=n zjh>+$vFMUF>*ed&lyvE)055igF-n^mt&>mPuj+1Z$<^+`7TA!M>jz`J&R>LcuovhuD zICXzKqQ2eF&O4%fznVZ@YyC6XANkEDo7*a5=SI{vQWEqn2>*t=|LICgEd?TS`=j-p ztyog1XQ=5V(qOX_dJ)j(y;e*DB|aM+`mG2%dED0EQ?lGyF(No!3qU|=ebMw8q_Gr3 z%gb?uzcagi&rK6&VoX!tFG8#s@%7~+GIW9B36d@EX=NWC z_Dt#MaaQZ6V|J|t$DRNNB7M7W-zPg&3H{ZnvY@3c!tSUTZD^gAtiCx3!y+UW9a@XJ z@m%+azn`9f?~=av{L(Xy6aJq*6)-n&KJ#|%4B<}0&szE=%@5ZcJsz1CgP{4pz-7uv z)t&YVMyR7+_irb;{Zf;!wuKjLd@h!Wq%}Z=-?5F6-xv)N+VpmBQHrU{_zibI*U9XZf#)$m-}Gz&g-u_ov$3& zV9A$V?&1F@f4-$Xb-fH`L|pu^YkpDKWd#k)da~4d=4j8W#V4l^nyH0P=^zx3D`!!_ zGJExVt0D0cteOF!z;q%{6l0b*B|V?{F#`+nOO(|f58bzzuGozB5t(^^>0(SykYF+9 z25PO)MjQ=zh^Uu3T%4;kI}yS#j5C5a=8%Qn0`4gFadro zqb8Ho6;N?+6sEl9`{(Kw?Ts)qu;RCABg0_Wr)w9-1>Mcy@nxSl%~8kJspl30h1^)odZ0aL@>78d$%7}Ul|Kgr6YH6;#WBOd z0t<^bX10$?zugaKIgX!`QQ-p1Dv(^ELlI&pK~0ZurGy>k+Ei30;px?jE}zSP1tLo9 zLpzgl{387c#TG4Czdp`8#f&#PkbUgN*TpzhV~F#0tm0QmoI=4~IM4G!efW+c6SP$A zOi*hLes+ytZTpsZ!QPi*4B;%hzTihQix=_%MdR;Jq|jev3{Mm&3BN&sQlzeU)v?0? zZkzc7%s#Y{JzTvT|0&OmG%@%$OY4(^(ug7YJclQp{7_}~hmss4VHQD}-N&WCwgJB- zZBuDAB0QomgOziC)qX9JZLw!e#JnJWFGtqk-?L0Cz;^g0Drj?h296g)P!L@N^r<*Q zuA(XPb~QXjL$bh2tMK%e-O)6{ZR!H(v(DH^*L1Bs4hptp~q?@VpFKXULW8WuCR#jRTI$U~^aS6F#G`~(?g}e_V z|9Uz^QJL1{Zo<_a+hKO&*N%$cpzuUZ9@geOys17QzI+XmJg4=MaCXt%;!|VQ<+D(D zu7pDs`VcOE95$RP-Iw-Ud7bBVeo`gY-J18HBU<94SM#q?u>!AN+xD%o9l7CNxey)S z-(io9L!2A=kng>q4WYykm=OVyODK~n4YJ@RVL}EriNd;Qh$?}8I%bgeUuuH!oHqQ^Oz3B`p*G^GQ1 zJZhQDzV5QojYhO9iwpxKJdS1{`#7h|yqIQ*qL7JA50Vrh*kj93vMN9ca$dm>#o)mzZ3%z0ibO$JT+z;)XWlIyX8@c9Ul(<&n zRKX0hHP(W2O>6^cEijApu^C3_q2u3UMqgidge~!$ac9EMge-c?vc88s=<0gNg_M@0 zF}Oe^F<)AM-YQI*PU*1m8!b0jxa5R1e_}aO2|SU~^@)`J$CFQ)mt%xzmva81%U&`p z(7BuLu7A+{!tXuQ0fzdPZN1KiRp_2845#;Deiql)l?y0c4(bbJDXC3`52c+vS&i5o@pdRr2;4fxi={3;44E()dE^0m_{y zONt4W$e-EYExkiqE;2|^R(-a8d?hkwxUlZp!kPr#3*&{R83h#TF23d_aj&{E)s~1h z-%uq#53BB`W)Vq01@AqC8 zv2b1j@1)9$Gpi9ChjcB!R0A19fDfd8*|bn`Hxmzkhz)M_&|^dyZKEP--k2Z52%VEG*rUqw zMyYQ8+1>C_27y?}8V4yJPp}35*$0e{Nt9!j#AB!2+=ck(DHpOjFQ zkMMje4~!UT-7shC5*RO04$whBTYu$-Ha~O$>>3*Qho%9mV1IL7+!;4tNKdKKw>P5x zET%nsuX))9yN#6I=E#xZgk8TA?Y7pnEi26ftl()kQ1XSevgzqvWj!&A6Jg`NU-LOV z{dL(tFM-&OXpgBTYMS)u6hmIm- ztI{8}TuZ&ghDyPe90X=<5ezX+bpiZK4AXeg4~i7W)8LTd8rV_R;Y2hj7>$VrX1I|; zv2#r`GxfzmTfPmx?1R#=UfUB89TDeSIS#tnDI#hg3f#9{Ndhlq-&_Vw7&HDD$t&TvSwKYK12qpDU2J&Pja)loaiI;PZe_j3zv)MHF}1o9e8h zGTY%k$Dukv`tD`uj@5Nj1F6DX$5@4rsL!WJXWpo@&4_B?Dov)n1kKWU?;D3vv(7cD4eC}+ zoE|Lg35*X+BQ_3`LO;qfHB?eY``>I##ie5$csgFg!mJFB$%*j{TA8XcGHDA{8w$s{;0W^jt1kqE|g41T^&8 zei4tE`)fbn3V;7*`}YTjy=6i1ygfmRpl=uhmC3}Gl>-OoKM@<{zn20vo;|TW z=WdP10LC$ZbLdu>gdc$%aAMs-b8yVcR5iSCL`I^(>kbK&VWTZPDn0AP$G=~kFfq>Q zGk;@9Z!)b4q$x_qNR{6%RLHa*&MruJ{lx6_S&o>_jEG9NWNRNXFcqtzz@jP-w6=ak z{HuWeOCB8*$4@AXErbd@ic>SZ)*gdqGXi$oa@ zzuFETkr{szT9hhMA7Jf{btSDI1_zZaD?;iXJ_Irq>BgblFQ0UsNPZeSlPQ~2r>eet z1AS|I{G_JyAr1&L+Ah9 zDaQVHEX0rZ2uS3W?7x*e2rnkD^@6$yjTjx$*D~Mf;v;Q5v=nru%)8UF|gs#N( z8AH|z7gB$dMlzWCu}*%N{k&YijZugF>sub^AmR!WP+5E*o|5{H7kNLNIivOtp^G$W zWfw-7ZZ-7`uHZ}m1iDc?1@ofTWTyL%(X(Pc?T5mKN5Q9^nf8NRJovbxJ;<`N=0FFM zi+FC>@I#oDQ)|uhCE4uU+)zm_LLhhLvMAJNd+KnZBsVP!$Wg0`qO&rGs{?`x<1FYo z8#6NK>532a?vF>?w`qP>(0vo|@Y#rPXCnAO?Yvn1MDcPzSxmlA($~VeR~aVS(lpq{8PDe%xlK1>KpyM&DW`acJaQX{xIORTb$ z{Oq>S3y!T#!PHEthw0r2=)pi!1L14apD8ouU~<>R};^n?f^uK=D{C-Eh|#Y zjEX-;NX;J29%~K9ymT+2cSTpLV}*c&W@qrGW5G4tqioBYJ1xV#F-i;vz4|O`{M}qH zvUE+a1zPjsgl+b#;Ygq}_=6X>B6Czciwf!d;vk;jO4C4~e$I32eej;s%ec23_M?7R z!exDvKpN{Qo@D`5S30#*vBPk`442hT8veB$ag9lOrMOlltz((FaJ2vTzW#2yX6;6S z|NUhJxIj+p*zMYD2={N7-bMox8w`!;*=2X_u$ zoduN)?m@0M@1{ID%E1rv52vl6=S~tJy~dK?Ze6%Wsf|x_jY!gHI)R_kmc{Qho?5k? zxA_IrmlW?-B^NW(Pc0%%U)goKE1!(16nzxC3&+q&nGL<(uz229Es3k{HkWGL#=I#3 zWHp1|&NY;d zsbLz)0sQ|ePVn(nhw34te;9N7V>EJfWpy0Ga?v*#_~O9^q!i)t{(}=tw3ZPS()Ccu zums}?YzI3-ybT;POL6?8_3fyXIS+>A-&wcU0Teg8Kt=qHdIi9ex@dTDQE@0=$7tNI zz7O?o7W>y3-=6(esh&L3Qrb>`iC%pYWTBQw3}yX#TjGZw*&u~7g_KG~DBb>_&#%W4 zZ}rW&YuLU8MveT(fccl2+6rDoay60vpijc5RP_~0UASCmN7026H366gXyL`9riwZ1 zwyUqPzsTa3Z2g(kXP74<(9T)OG(*{4DeV1G8z`HD(D%r1+M_XB(zYUAoj^Azy^$?? zcDL{|ckh~s$Lcd}Q=r_EC6I+6T8570!WPJ*uY3;|#nQg>4Jp|@hp)8!3g+s*i|^0r zpGA*DO)s4_tftI(M&Zloeoy;fg-v-XE|ztnHW5VbBwYtXCO|_3Klg|W{;0q$d3C-{T@B&`Na`IA+mHt zS|jmJYoE6#`l!@gJdRgvPXjq`O@SxT%C=%*Ulo6=Nk#<9+kfvhH|_hsNK29ZC8`|aCce-_pQip2pPj)1{>!ogWY59w!JWROd^==!b)226_P@k zmR}h|Kyp^hxxgVZRgylmo*cbFcYnMDbe=Um13FYxq3KhU9Suv?U4|B>U=GA*n{0c3 zG^^)IuLW8FRn8*D5+|R}2qnW+%Bb8A)rBe3f8k8>zHpb*`iTf?8}pms#OaT&mX8>z+<9Al2;oGT zXIlM(_>luZJ^Psv3J}W}esx@OU1+^I!0Aa1Rlfw?*865BUvty^wb`0SORq#hg8yOZ zJmKozwZKJQ0m8sd3Nhi!0G@6q@<0t_QZY3Y(M0oG8`pc|83k!e9sjvkj#~84{~m85 zoPj*M^ip(dQQ6;Z%pAFmVkcq~U+XOWxYTo1Ll%@^0Fqgm2KOu-*OX)4K6wSE;PSjA zCQ8>yp<(3h-o=Caf?|I*ehJ&)YBB8% zTr_TdFD>{f9xAx9Ex_|7X?C2;ZYlXy_nyGc!}-rsR}*iLXyNFkh{^B$bqBcIc;o%a zFELe>fzoaHBv8K>N){p5?BenyCli5W&n_n~x3|b*^=;b5(e$a$ zUS|&WMf8YVs;sQ&Mjj9E#a|Ydq2*sX(})J+UEm*yqXVqVC%a)pil=`%%Or7T)fplF zXbesWz#JK&DUP~64>oNR9m(Gmj~~68j8yH~P|4;PQfK&?eb`Q@3Fdm0^7L?Ap9yqD zuaNSoB|VuC6B*S0{3TW;2U~G@4>+17pEsp$@%>M0v{u$78tMeg1jo@HN7E>Vdq7!D z<&P^Og8;@E(j~qtqiGuhAv4s#0x>s-1&)rCfXOX5EuQsHBepk3(*(VUjms~@>40v! zfp3V@lhD|afzlTtyF=MXQkycC3|+hEw%;yTc4bJ7Sj0S$g6{QDAT#HErg>s1xeha? zoL$e3Q^>leQJ32i$Qu)J8r%2xi?-E<{-ri0gm8438y`S4wDpgoKoG`VD|)wYWd@4| znDd^$f*sR5d#seB>l)uh?$KX&h8A?hE%6UeC-YKab>9hNr>(;(yj+v$>)N7Pf;cD# zo+{j_VuXIkw(3~7hS*NC1N1mWvz6&-ggB5InUr7-8x$4D)?$o*>`{N@mrJ_idWMN; z|7Af*rpZZq?`@vVm%S9RRqEC?8@7N~7X8ic^eT5l*utAFZDsG_@!yHMv%jaRMO!?f zX2P)0wud6ffZ9a8Q48o!xi-=67LqxlYtfhTwsDVWg-3#Yq!_5ZGJI5N4&fJ&Y&Wlr!cRn>gy(jnedFor~* z4$Uf7O+a=-+n~pt^#K|YO2FqTIX-R8cw#=1kbtaqc*=(JlDz?2R=TUtR>YC}n8GkR zQXI^;nkfEfU29h<=}qKLQq2eCDKM1C>n-nA-`jOS?SeA+pBnU;V*i6jn69d5?AxO^psER$DEUVFqIU*o zXAuq6K>K{m4P8wFyz6*n;A6lJCQeX1UUJfN8*asygxSuOdmFW1u4$;1z{vl^KRNqI z$&Ei%G3Dx4&be7GD3=X>Ntw-4bEpoQrwna38W+O=aPHXui3$PyJ40Q-&0UCEjM2~R z*g}<-bV#5p#{otWU44!=#*ig;C{T;akK6G|EjzS?te$HW_5D_aFu!vBfn5R z&tUkYM=CW7Cn{txqO0y-AQR1=1OF|f+Ke}mcI$`_nRhGEm3R$n^L00epSUGDA7g?C zxzD^ZUbQYZMLQ}~K<2bhdSGyezL{#philI};WqUYgr$2N)d9ON*v8O^m+UcaL` zODC`AGAi3PF<4KA(NWP2?JPG+ojwzc28BJ#ns}JDcUb{5<%X_5{hVblpj#8sdG~JX z#chhv1bE3!NdzwM&bfy8(3P;P)`mrl;5Uxqc zqW=>Wm<+J95)F%#2u^lt&4HgNr2=kOQ;{ppF$W140^M_sz~fDAsr zzY?QZb87Pa?$&Jk{3$KNGciBEciv0&R#w|Dm->hR2G{t9?iS!#b@CS31*yLqEm72{{xT{>+}%W1_pbd?K9g$+Vv3Da(@vT zDx`Q$q%Q-XDd$v#!_n(`DblX0}C2 zu|a=Q)oTB99}(R7XkE}JHMEfS_}=%g^v@gqudC~Y$>q@(v zt4ty<`KD6oFVFR?+9|>71@v>KHG00Xfp&&{R?%})&~-AQ4S9y@lQYz6yPCOwYJ*_=hcxOWt2^T@00v@K?WTqVRD+9$UwxD#y59Tf zk1_Va81-NeyvAy72+Dv<_3g(*nv9_CXN1I_NM+%LtSC)VGr4NrJ^ zxbq68D23_}roPq_+xXvh+zEXEbNMt4PNOb^O)%0|yDu=R5U zDA9`Lj8Of~@-jI4gtS858)g)BY$?rfw+PwZqo#ug-IX?N1tT)Tsl(tffa;f%$OwJ& znJGy%q+siHu7~ee5w-TO?@wTSS15lU-ouJ)%-D*((7XEAnej~m@k{}oL<&_nZfN5P zuVD7IUL#MvqbIlD-QIcC4(ZSoF?6Iy}WRVYPBA zqkXrmF?|;_WEG8<;ZWBSMO!%O7(<>HdI9CssM{RkJv*xJuXtu+c8Da!1c1UsWEe7@ zCv-3}?$@(vNEht=5K`BGrU2}s?P=>-)HXmuA?+h9MDGv`YkD$hmVPbmD6rp!a(;KweAbB zaf0Hx!)M!ZKlVAUz0T38!LIu8Jt2~+<|MyQPh0G32qnQ(*tGbxdH_uA+;$$Ws@Tgo z-uTomFZygs4!Y`De|uA=F?!>=g&A27>fD>=*EM8$Q#-|-MKa1q5j4&nd@3MU$B)i# zSEyE+c+2WV^pLcgxYw0F(*IFF0jWXh9FUnA>KNye{ag<;9{ z5!vH0T@kY=K`KHJy4pzT+p3W%(}6KIg(oR>#@&24z5xh+1KHF%h)z>FPnS8Mh_qk$ zsBUhVvS1eZ4J=zuya__r{%&4w^0*Ue-2ye2yvg^P@Z3Qfdses|7&wRPb?y+Bm*2cBAE1X#hQw{NJJ8r?3f9WPZWcmv^O>+M!!{CevdS^|s8C-M`u@ zs?>bV3c_;rC?pH!9R1&ms5VFLx(Oy@-EAL11e`;Yk4gkBRgtaUogG91#RmAYhG+?B zW^npcSnGr^e!-sUr4vVY)@)-E)xCPRm>i=C^-V6>3Wqg?fkrIKwDB(mII!(fa)ZOt@Yo)WbPD@6x?t4HCi?ekGq|~JzIC+0yymZOXj8WYOc##P z1LH!UJE-N(qLvmXr>%97GX)A!vCbxw=|*6h`L{HdY*DS1*6#a-b;h5 zjDuiq5QmHNi@OA}lM<2F4#Xv4;sY3#3a5bvT|9mH1dTLc0^->3ds~T~mbPZ67fXK= zl20aT-aiAlW=70{TyPj5D;uAk;Qyg*+=2U)7#yQ`2f z=5!_Q`h$&gHoBeY@*qRXxFNsy?dxU=%z@9?6?RwO36d0-U+o4*D;@v89U_pR)ApiX zF7Ua{oeZcbo)1}`fWHMFruXGUtsq(53Ps3qe{=uK?hzjtp--~BUrStUb6~Eo43>D? z>4XiV)7&@u&;RiUnrBfd`n91I4}nvx!>)OqBS?xND|L&yb8h`+0?M_KB1BlGI!85j zWG-SvnxV^ZK6F!%-u(9d{ollht3~q{@42QR)^rJc}6be`Rz-C?EgkN@S~qc5SgiXsP$rXkqvxpc0$#<5X8qy zz#JFGo!X5aY}(+r>UY@p|jCMIw@kL3XxPJ1E_X5C0^5XPG-Y$;z1_&I)%R&;zKx zvMbZW=S{dG{z~xPit!b14@>8-pRPcTb?tWh?*5(KMZU=DF@QNa6|zaAbpkdAReQku zt-8p)iM*^PR)vKX_H&kd5hku`E%Do3Zp@;N=Inx#I*F-E^;JngD`^H%pz#o+F*mru zb%&?1NOj5(eWsL5fs^x?J~6Z1S;v=gUn!^prZ=8`tk#fN=1OBLWeY$u-@`vR*T(#U zw{x9YF?>sc8c?!uAI3{1VEo{dkl%6^OjB#RO-B+xK7)0Q@k0Q$b~s+%m>4!06HX5c z7thtU`2P9&v;4*m$N=978g3}U>Xrqyk{^pgf|6pO(2iW3X^{JTKO?6~`_ugHz1P{+ z2GYtXqO{A2R3X;iXJ`qTBM;PA?`u_Z;!%y=rO&@Jgnk#%{mP7abcyX+f`B@dDdqp$ zlPa{09Fk~Os^Whvfa^!(;c7|zn??LMlkwkACsa4NkuQm0kz%>p&gg)L+2SOb(wHc+ z6YU=R(!ZZe5FV7QtYoQ(K|;$j$Ud{UD9`#|W#1VKy&U)SUdgODF-#xuZKR7~qB41S z*IvI8+Rlv(tNd*Gk~yHAIN;Vk!q%+wvst*5d+N&&BSyd&2?~Dz{NEHFkC@%G5eEd-x49-*R=rbt?L-gw#ls3DQ{vnj3>i{6@t*$(^@DK%TZB()lf&pgLiUTyd- zj-q((jrXUT8P}_z*uiA45;03sgc+iV%{G2Z$gwx^4a$uk+5NR<8b{>l5qnqi{5zA; zlEHDNr|wlBYQuxjip7^Gxo?O;ckijub_I&8d;$IoclRL8e@CU-N8|@f)?)fTOK^X7 zYjool&vh-W=C@-TBQwBgoV(*O6Jwhb+aj9V51YNDbEJcl2%!vrwQoWS5V{P2T##HEGwCFEHyl2fdJ53eInWI#v(A&3(qz zY)5Rel`SUyRxak5iF79W^9&w+;He96{ZX?!N!LRS=5gzl;#@q$H0`Xu7f$mJS80E} z#Ca|~x0e`ddO?=qS)LlrC|}BjxjG`#7lo978_Y_-Xu9wC5HcL#I;gnvnY2`a)t|+e z2$sh+*CfK?RBrwbrfqMKK!iOEJ3GdDSJZ15wb3g}b7MVIel)?_@iY}}e(r~sjd=oN z8K&W6KgaPN!3$h|vJe#o{10}wxZC}uPkru|ko&O|X6o@_>i2g=ecGVNSK5w=@u!Wa zwf?&bX?g^*W7VIW&^%m@MHaOz=2zFw&5oh#l|Q49;y%ZdXLh!yd9{K*`mA&9EHK~7 z0MW2B<|g02CigOeE1Oq}PIU`e0z9=EjA0k*D!*Z4=Q}&mr!G8s;Dd z$@PaKCH`yt+&Ia*(%tzVM?b~cZ=5xA275ktd@#)qF`LVKy5gdN?iij7&u`{;XyK}% z7yZBR&G08W?ekIT>pGfN%R=eIoG{_iGGl>bu<4_KY~rV*@9W@6@j>|6t<~%7nX$&O z(bw{lQh(sPnib)iL(uWf!7n%cD6ieK)bV&|RKaM)(Y8%hdaJ_ifNF+p}#h z9%_mHd^23zZ>0?vX770p(S{h0 z=~4>jp&cK#a5624rzh00!wn3csM@k|u9ao@d<%AS70R%W`RoeY^5r^3}WF>hni|<3EHx ze7ygnuFmf5bLm}4^Ov4tMczX~-K0@mUYs*Bh+Hl9_#nHHTy~4JFk)+sJ~{A3Tim;6 zERbY2K07=zL)R0=Op2*jf$%+0_NdRH-^yn<@^0v@SWR&(l1=@&RAMgkb%Bmc3?+_C-rCA(ikv1sQeQcO8;2x&f+D1l5cD&VG$b@ zmW`&B&gt(ICoCqNM=wPH_}4agl)~J@Qq{a3>xk!vlpGsahp&}(soOXgc#-QJWIpRI|Bh5 zq!k7$5iI@&h1GMlOT?sS-nWMa3%68^i`jn^4AhU?oHZe9z&tN&#GZ|X#s8ccsJhFn zOTU@_je3U{)Sh|YXZhJmT92%t{43BfVYeVL!UFBIzALPkt)jkfcBT&R6N-4TY46a% z-f?G3e~1w=i3quT(jql&pc5aO#W{OP-mK@>=^yVL?OFFjjfIy4t8)7q3C^+Us_dB7 zRrbUq311&CqM6A^CE6mk7rVl>+O0?mBE6jhI>8rTd*WsuhTy;DP4w>HHJub zs03MC5!$iUGLXp1a6$l`zE5V}VaYKUnO!5-!m{9ZcWJ0v=EkbbYvy z4odER{op`@E;L=d3Y20^h!ih{rm?lWjjgo0xGgS*(TcZ0(fH+vTw@AEla}GH8ag_k zmQkX60Q_!CTG zfhB?Hv!z=CJJ-42VS!U_td^mi&jSQWS4TTrAJ*?C3c$)&T!pk~-gD4_Eo zt+py3zefOaq|{wPs94dUyTNj30JDlyQ9+wj(R0w9>o@|cn;Y2d7*~HklmaA)B^YXo&k0v z-qjD14-)S(HoG<}GN+e4Fg-j(LnJQ>a-ZXqwn+%)wy%3v$xsnv(1=k(hx4WNUJk5V z+9*(rL9-r(1kvt9mcgH#A@b%=?#e54>#L|v;F;IkP@`T4)2I6x+28cH&A;j_yQ2o9 zkP|U&ef0Ta(!ZJ1j?di}e++R+Iq9Jrk5I_ht$wM{x1Y}-DbR+-q4@aMWCliw3-A8s zLxR12hFLvjP#tG@k8h_^nk)Q(z^er`ZJ#(m&^)T%_Qlwr>-gDbG<((3-1EG*&;%$j&-3 z_Kl0Zl3Ga6f-@|A0Bvrbg&!Cf#6Ev{^N>6${L&4_>pULm9?^V9Zw*+;HA{&pGjArj zv0ZwjLi&J(S|7a) z@S_?X!fEzD>6dqzuz?Q2>Zs|tL#C*UTgEhc7#8d5$~nuAnqCHq z#LHPNXZtrk=D=|EewNGOrD7?7-g{2#Nc?Ab887@87)UADYXU(B$TI-Ua6W+fKj^2R z@3-=#O#t~4m_cK#e`ueq*55o=Tr98qQ^@_6$#)Z4?>yTzW~PV;Igg1F>32NSj>TABxM#Z;70R+i`grx)!)TL*efB3bP)jp8viH zPTTUrZQg;E5=1=PU1h{}Ix_=HuWF9A%fLW>7tt5EA9>Wvh~+b);~rZ zcHQN4^{iM0Znby%sANtFw_j?QUwG^YeznImRR>TkF6!??s-+`Ca00|49YL5&4D+Gs zo?w&T_*w$-3}@Zpch}=C)nCTJqX~aKYwi)TJ+&>89-TZF z`#ebsaeC(`&LYxObT9J(H`sRle-rn|ODaa7hIi7pH_<^r3;lz$c5Wl;Jfo^B{&?AA z3aWwuljPrd|C~l6pB%)VYKI{yHBojVakF8W?Y?zERYJCH$-tcrriwjK-JE_<=B^G4 zb5mKm|4epyamxIOCATaG5+|*E4PRWLXq&UYEN&3(ntsG?-J}~EQcto>FVE^DL&`aD znbZeLjDsDJzEt%rl%l21?F#*`i zoza8C2-v_9ec7O{#>YRAmzYIA&RGbANGVTBhSEJtnK8=zw%#=*B=JG3>+4%-L9Qx4 z7-lL=fqR0fMCXv0xpVPV_w5e$r@RWn`HWpbL<;0gDOtZCR_OwPU z{FGSM!miPUNpCMEF{~o|mTFbd7CaEYFr*o<4uohvKc2bM_84VH^2wo{M;YlrRwmag z%2N=mJJJy_ZEQA=s~VDIu~b4Bsj3ptWM|i<#0j@5z}OZ0zS#7Exb%gE-GN>m!~^r< z6eI>Hx0qDdQGy&}DaisJMJtHTihbU3={yp0{J@c_tA~h_neTuxTkqCF>bJs0`SM;# zU<>!(Y7qV}gJPIIayamu7EM_>LB*DWs&$OJ; z>N!*K?~qd8&HiE|zYWmMk*F>PR6M@jSU2!w+nYPUTWp2AGof5xao>2a^W8je^&?4VZ%cnWA80ltE|>*Z_+7>-OmP~3DjVA z*-q(5Y2jKQ2N=8+;VOW(_}Nm_8I1ScSO*zX>P}lgsOIfbS-9WfWU|*n_`#AeP^1UH z1W$qC1p`HUoJIn5860Hib!$CcYTVx8qBD_j<t=lFS(P^@nMo`lUsoo5 z{n~|%qmrPVzQLywji}9cm%oE=p~Y&u>t4)j`ooYLD*!M7($ZGE;FHj#UrmguX|sAk zJE?t1Lp{0W`Uj<_&MOKoA4w_&tZMAzg$?82s9nNs*~-y9_kf3FnpWf2t;v7W%BIpj zxy|w;13e!ew}@A3alk9>j@8Fa{-hPZ9czTXx|c=dF^0=ahMbxk8GnOTjf&;e_vM$>?CT`;&hHK8_%B zhR|Qb45V`WP9P0Tn;}=SwAG2;s$0dV;SkQx{-tsmFf5wCfYR1ZdhlwP*cJY4Dr)t# zx3NZ6LGG*ZZr@uiIg9?m!fk%A9Oz#K6ll%j4`>3m zqtFffQ3n+xNLzqVXdxJM3Q#_*T>#C)L}>R7j<%(Ce|e$m68&+%#A)JfQoaIxNS zmqkyddJmMRyoZsSVhN)UehmH@g2418Fp0bdT^->eZI znlucn_g$n-1$F$N8Yt8cDt8mtHjIR+NHcHkDsuh3>w*gNX@*-@Q*7hZxujYKI*U+&UDR5V?gQLHp~ZN027N?)L9`Q?Pv%uDvW;_SP7 z*47L2UnMTJ`oFE7>7O*Z#H(ec>SrC*mYlrVYGi5vC~1oOaL6%~2$t?$7x0q{vkjJZ ziUq*)&uyMqi^R32|DDNL$8{NQ?Ox}hN;`vQQ^`JhL}U~2B4Lr#fBng;5Y_$2?_qVn z?mff3!wUTWQB)IzCO-z(oG)fP9%@a4^v}Fh_PTT|dE2^)0m8 z;!owZh))P_+>5Qer7g}9{Fwc1$wMODfCXzg;znhLB0z_<**1VIZi+tx5q^L1}IHG4nXH6R*^pjDt+f{ zUpQA?!H0(*iQ~hA76v=|b#0vFQ|W29{|Zu$Yk+A5CK0221U0d4*6GOSmf7W5>JL`O z<{@?9_}0rCx=pIra>oL`jwWEn@7KDJs{WNfIYLxJCj$R$p6x@)S_vh3qmcS8ovkA? z6#rNPFM12ve-qi~#eQZcpO<$z{fd`(3;)FcP6<#a9=H8ffaD#=LEw|X_7HMFLyCz@ zE^*|WF5)6`kmL>4z54W+R`=@s7;IB~l?-P4IzP}zj_kQq12vO%>&%?@;Z5xy&OSO* z2|7#rp{3Q_Fb1N&9CfG(fP5%5hHs7IiaP0lZdOFSGXwse4n6y$blsD#Ks!H3BXVrE z@SEa#Bwk_S?@Rls`dd1^SWh)!L#*7(onP4-6iqRUV16RaMu$t_ z8UCvnL=E($O_OiIMd`*zSmk_uRVve<1irn;?!7`bAY_ft2oI#oR@zoge%OV7sgEJI z+Are?5}_prJr4*efxv?+FgH?G%;o6@DrVn>)`$9O#_9d&*kqy2&I`~Yjzppj%tI8I z?ws#XTzyGej9K_$;$15FRUC!9_W*AcxVU#70V1A(g?zwFd%>v^IHc`{f zPcg}vncnuTg9pl=(>@tpYg6q$|CMOB*I*2ghfnT+gXF17TL4eCwFciQEhsE#u4W|O z^vR*K?fw+)>U@hP`q0V>M4dHgFJc*25!jeLL{Wy;<@jVhurXU;IgB3^4cqIaH zG+yhEd9&_zz&{|+N}HPqZGDuL)c((_Y%?Y`yK@HP^jrig`;06KyTRQn#fOfs1rCKB?+P zw%<%<*)>JsA-tL76m{ZCOAIixl!3zZpX~9)EjgT}TLSuFWPxliCmy?eYFNdRa1+dr z_6-(~nq0f}gZ6HIbcjm8Z`ER~WsSlQ>Zb!4Obl!8jEIC&$X2OQnu}w;OJyW_0*k+K zofUO$$U=l4aob$l$>`jBydl0d(b_b%3&&kJqHB2wP} zFdC`=Rn1ltyxS-17HmwNqMHcSX3a_6Q&nlUZvX1Oe-ePk2FtOjjK~1C03Npi|LT1S zT>&)f$=Dwt{#Uk>>;oVIl?Vogm{lsNPa9lHtJI5~`$}1K!k(9#EV;anlb;2u0Ln)f9Og`JzyS<_4|%1Djn)TSSg4OD;|lRRB7clQRAKd3 z<9chJZ2}7ufbm|pinZ|L26fGcq19&fCvMCS#K(Sgff?;w;cVPVDuh6X2(%s=-Y?9#oarxgz;Stx1>io8x0CoDz#=oOWI!()Pzd6$v|aSGc8 zzJPU?neZ={Z)FNd-xQ?LyJpT!c6VD7WknIo>hDA~MpOPF*wF+;Ia;K$=)CZW(_lzh zxIGIl{VCvF4q3_bvfkI<`c}uw?Jv^QXm_tExGU}BStUL)hLbBRLO?2Q^%;Fy6!BUt z;tsr`T-{z9N$+?K@ya=p&U}P8R6{e-qDDUgNzwcufK9!{ljjuDTzD9}3DY82$TMfQm_%FY=-{=xqEhqXtNnDmqTR8ETufa@v=RkFbqu>;xvDnaP`n6I{!&&=n?V0mkE#Lr1i=34>ct8??c`^ znwSE7qwrUI9hZHfe7$QdS?JM{_xQ7Nyt>ZfS9e#Cep^4R&83HZscha+K;?p8MPoGD zdgyAoGn%(CjZ(s$H|QUK^IH6lg*c`J|2@xRd7$9^C&UDoBy|V=ojiqru06r*O|kXn ztc32e$nn$?^j&OrV#sR6B7E!n;6W`Ien>G{yCz`BU1bX0J5p=TMq2cktzxl?dRRzM z8N8mz)}`p{dq`y-=~=Eop|qfz}79MalhtE!yWlL=r_SX;x1g{t}SpZ!XhFt+Cu!< zL=otb=JN};k(ftm0Y({~Yyl51lKSyGHnmGJ>$btTBw@i!|Lf<`#2QsHF{QA`V!*y- zytZn#?mGhlK}FgCFPm6?%>6fJk(DZklypH{en!Mfvdb$D>LvM{B9@DZ2c=X!cmw+N zQ`p~}<>Kq{SHrJBvqMIxB6-)`SDx*|!E`QmOy3~b*|w2-99RlU3%4!*!FRX@fRQCJ zrJPr!Nz(4@GH=cs12rQ<@%JqQ#A^0d%cf1?Mp8@(u;-aSj>PAQobrBWb---D5>_F+!`S3n0TFs%c#6MK z+j99eySa|;lgo>~1}d!25x7Rv0!V+6wA;I~?;kH|l$cfO1IbAh{~tR(IXm;EvC@VT zExSV8Yc5akZ=Qe4>Y?B6M~oVr6(Rh!of5Z7WD}j@h2Z*=F>M#vYQJv8w!Gd22t(g5 z;Ht_B!!A&I;+PhJS@3FuGt-#k%^8pn2gYy^)TX4NL02N&aehm`9f8WBr|*|Mj^r46 zY);J5`$v3+DtJxhx#sowPYWLLx3W}xv`qOMFh9EpIlrnFUE}rtZWx-a3SBj_jv68N z+qxKDq+;VOTRthmgnW*(fEfvPST3<(z0MD8IM1?PrSU^nCJ$~)($6Xz72LY7Mnn5S zXmytE^8P9J=&jZR3WcHWH@czLq(xe|rQEVdrvjHPd}_}}gRM+0^V}64c|Q!ih5!GW z5JXp=kpJN;?+>Yi+7LN@iF1MnTw#0R`>o)aMTUFz1xj6$4Y<`VonHfB)yKbIgUOfu zT~{eNAWNDcsR?U=eHEzSEHG$*83G(bs7$+^CPcA?-TZMUu$f40oBJ=zjJZl(#pTw;Cj8&4KG`GtO6Y%^^JO|2oV0NJ&4_I$lG3 zeR#~-K2|dE zoX#=^ebH;TWVxw>K!dT7+H7GssZILlwJ1~_w#MxW%sphIQvDqr-dMuv(wMvEu(v~; zJR=u|LocTvvE6CU*7c$YzttY95hg8X2&{Tz7ip5_gE%m55s91n(h~;!XY%6x(DsNf zb@x`uVA5&Q$)AwkPXX_4R6NF=b=Fay4DCD+z8fRG*eKt4jr_8_Y1)3tB*lroO@X`l zRR#S>^>Y&*~teZ?F7C0tjAacev?jspW4g;-;^NS{gX*!fzI_IHz4KB z3&Yowz`esZpTyPt@;jM{0#6D+$y4W2avn1H_-tlP7N zdzk~k|EC*}4Rq#3zS_pm?8n-TUOH`=8=b|XUtfP*`#P-{8Xl}gSazjg>R`|ym7G8= znbWv0{3@%~8=k~1bB;pFGw^o(U$EEkfrn5wZ@%x%HF^>E#=E;|##Z%nv=Q6<0Awm; z5?zAmio8`&(c)0^ASFqm5@S4bqJRvZ*l^#E{9U4w2qpB;7KAQp+i@=Osu=8zKQqhID*%Mm$%qu+;qr$iUbV1fYN^pgO4RLIN7^OAi?P%`{Xv zs6rDN`0s3xX@%Spe9Lj>e6FL{bok9F#e#lgq;R}lKlEX>6M69-zEye~{*Eh2Iubv) z9W=fy;Xx|B7EQGm@gBcU?@a}2&x^6st8Hy;wERGg`zD>H-RYYFhp~+@$0lxLeNQuv zqofkV0k?KaM-#Iupr*2a_Vh9lr}+)ebi*9FZ!AI-SJ2PSuv=Dte?(4~ySsq!Eh#1i zqwj}0(UpQNA9_6iR9`UDTh?j4JI|^iIhCf6n-)+FKB}=dM}FwGF-%({{1Q3q9c|(#~d?f%1%Z zyUA{7W!tljl8#RH8Dr$senhSg4QeVe_r1T7T~XL6OHrj|)YGm8~1e%-33mG;h2g=vcYQx}bwhRM3?@)egk z#?X*1+(VDtNt>={+;=X_b8;gyE{yEO&exn__rKuuFfP(L$I5>Xj>!t^mGloeP=Hi%7zwoQq2Mt#>9vv=1&mgr)|8PI}oqn8+(4a!l8pQGDAE*j?FTnxx&UXg(8N^Nj z^C@1|{Eq$ARs9$jhACGwKDBd#vM-XX3X+1!!2@kXAM&+WSy|~T^4ceJn{-o5htg0Swff zhmGia>^X@cF!gWf#TH2&Iv?6&6l@f~+P4ApTjhIx?sRC_I-qkecxLZp>HDRyP{9@> zrd8ad8hrj1sjQq(d^TdCymPK+pCP|E`CtXY@?cdA9!v)wLrfk;8erTAxz|W?SYX@l z<%8XWFUOzfe*Gc9e__sh&+<#FJNx8DqZ*b$`sSfPaP^afti^1@!oI_kw_9|+eZtWk zehcLTWmrHg@y*%M1w+&Jd!RIV0viFh{2OJdy}FPrL88My26kUd6tWA~Cd|gL>({`Q zk9*JvwgRKr#YX@yqIy7OOqVN95#`T^fZRTLvA*0pUOUH?pC{! zT;YI+v+uP8jbP4I${4&h*4n!1SVq?7C9FZ|@K28N-UCtrVY! ztFh$$xH(d5=y5IFRhWMXxW%i9VBFdrEU=;!fMaMYc&wcoMz-cIY}pU#_`o$M1luS5 z9$(3}rdg-*m51;w0)*tz^I#*F0Z$(oaELUEVURxMk9$MOJj4t?j2N*x&WsU@bHQR= z-Vq0U3w_kwn#g>kvUBogxfxLiq~hbGziMyZCv*IcD&%MB%?s0WV0io(-&aS+%Jt85 zA$a{Fh*K=Uta~<3BSJn+BacF!Ah5bpf(*{+y&GN1JAAZr^TGPd|7yhO|G zwTw4^uW=ZFBPM&18|ZNHBZXpjrLUf)V!o_**=t+J;37Y<*9j>EA0Ckt$7s246*NBb zJBnAi@@`>lEmA_2Dj&PV%O=zsUPmiunAtK-VM1A9!Z`GoLkNB z{`t$Z&Ab2XW=7kghjdr;{bbJza~k#1#q}tC2$hQlxx+}%$_F-=10Gly@=yl2RO@2TiY(vx#`73fg)lRo=SSym3}E~82YR@QGM|pC$Fago2KM1F-tB|e&Hs_ zv!(`@aWAgR)IK@jafx}-$Fv|3dEtK(Yo;Fut=2t#{N&Rd9+*df&X)G@nww`GeAQn} zx{#8lK6&hcMcxhy+nPf2QxlS zQmK;P3nu3!nIsMuGl z=D4*M8hHDy)s`zBP1M{+Mm#&=V+{J$phuuo(X-d$4*~j+PRiAOUmGMhLiSu5W~?qMQ3zV8B?>D_O5%wP7nskvpel)EuFP z$P@cwlXP1+*;|t4TKRa6>FhO%FC3k&1+{TTiy3Ew5(*zD7rYqP^5a>ae`E8B0_u|L z&ky7^_?rXZcwKN~t^`bi1}eacyue4B8RWQoft&|l2!!s3$myJsYSjIm7U}V4xjg4| zMcF~4`-VlP{e6v!7MHt~ePVtImfAkmoy||a&v-^cgjKFc@aO7LhkkW5ic&|ewZvfc>%h(uG#wo0TuXe#5&saHv=S9T@udt@Ps;2`a7I-Yd*C@16nISr zaM8hI4q8}Q==~_l((Qqrbimu|>6E`rOKMBCFoij92%lpW#WY+~>HHZ$zUxn`a6(1S z=`k8uX|A0kk?liUezpBT0zM1G=42wg5>ziP4*-%WL^D3fQBYvZZO=f(~gX*Bez0?7sK6Er=2 zDPo}e$x%Q(Y%GEvVtCawpPKISv$^D}VjrZrE<(H(g?k`H@0OPR+oWXBS8vp0UiPZu zDy1l(FJU`P*ZZ&gP zxIjDYxYC?o0(iZWv%hUv_^r4Jq!OF1+gf@T+hQK+$nAy|apv(6B~IP{+C`c*^nG?U z-s^|8#Kd>XPJu-@#f!NDm4drJdhv9;VBEIVS*5GBpG}*H6$k`)%jeM-Gsw1g-YmmJ zL**t8u1L9VS%CtxV_Nen}QzFWzC*iSAKD2Ld7 znaFbWGMY6WzIRsg2M>7SL3@DSf%{?xu$Vh(3)-pU;8lp&S`ZVMiIOj+D1rYDmyJvK z0lZ-S5Bg5%H{-I;lIlYVBvl5Snm$5K1^Ny~2vzT~R7{AUgrMKJU820z8J7>KLM-H? zZkns(;sblaC-Jw+f!99a>q_-a&?Px7!S0rEc2B(Vpj6;o8|-Z+<#Z~?MIK3BKuwoKl(EZrC|8t7aP!E_~M)X9)&wcSp&A@nlk?iKn|{ z@cbo(&sEv*nAU_si>=5z4gLM$+6}KDCTiyrvI?r~r%?*tT*Qr(YRQt$$3qaVat%LE z^vo@$pJ$VKJAqQ7dLtH6n9FST*Rne3SmS@Qv%MnO)d&xWq28yb=Ur;ic^NL}cCY_b zZ#YR;4HXj4x!{Q_8be1(yD8O*O9;-?n_Z!V?q#DHWrsW?nDf0T&xa-Noc8bEU()VI zWrBw@gyoQdSbeBw#*1*+V4MAN*Rb_Cca19QQ)*vwnnOQtNW@FeYHwp*KbfqZJ^Vv0 z*^L)V3G5nvZ<@|513WA={L%)C3J_G1L{FB>h!Yg8a6fj+kCv=bl&%ShjEYm7D)|sR zJaf|fnp%Rj;45DD&v~~ede)Xar7w=);{9qg0Vx%@9CL3|VAA-*e}1S732KDvlrCWK zR&3>6xHL+u?NQ#f{F3;jmaw-9?{r?K%wvs9ppiI55z}l!L9$i>+Y?t&Br{Jbf2*YF zhz03_bv$wf{3vU-5OpUJOlSIFQ88jWuJd!mxw$Ol*tELLd0JVJ_Gr~?j0466zJX80 z2={8$Y&KXl>b}y_AY7DYM#PA0=A?zp&HAaNSLFML{`X`kM30c1Vbi8pmg;paF!t7j z9TJCx7%I3kk{3#k4BU%P-DSXADZp*bzT{p{F#nQdKR%Rgxw;;M6pEAQo57-w&e8|{ z^4QV`hh|!vvTi;OkZc!b&w2&6_EV! z;`jBO8d`@{rFfRKjj$R*UA_6}HvW%?;<{nC zV4%Oc+UfXam4dpT*6A6P53Xz}?(FK86W?$|hFyD{>FMFxRU>isEoB?Yql!wX>oyRi z?OkR4-8IO48ecI~^dx2b${P_jTkwltbZGeDPd2Pl$&Ih&XtYYwx{fi!%$!Q_LK)Sr zpXjkSjcrFCqmkhv(jTs~Q#W!13sRq!Q5Q`8CYf1-PK-01frcqv${x-4 zQOe@FrCq$d^2{g)EUw8Jo<-#BVYtPNE=%2v_)LwJIcy2|oU{H^#Kp}m#d#dc>xEVZ z|2}R{w4(|nPCj>=)4*fwHF@i$4~h-pHz!whRP_5Q?nm@}`&828%kC3e^Wbyp-%=H4 zO}L8c#&4}l%z0KM+44o9&fW1@yT?K}A@OERCh4~HjeDE}B*Qh+vLEjvQgI&|Zwla2 zUV6%!-i>z?%F}L@G-=wfW{Y=P%*=uNbGJu8#=njD^Hz38>draK%$0n}#D7=jp-V2N zJ$FsZb&BP4>`=_+hkraZH|2vB&W~jrqSgW(e zM6VU6->YVZf^nyY_Gs6X0DJUWxV&rgNaQjm(r4hK&;6}f8&YZvjb?dw{?`c=x^q8U zPd=w%)^qhkHC3*_H*L0l*wsXlFZyTMQ;smbde7VZl&BW5XNf0O-v$OXhOG9%ls&1X zs}rnS{+H&~tcbOExX`p#$6jkZt8VQ`rahY7P6ceO$vk&oW>wS+J3(+*j0~qfSY9}& z+8T7gXJlK=xX8RqUDs!LEpEqPe#`;W@Iv>}iskJ*Y~1a1UW$dZSYBUR%>c{KdK(rl zGva6XQ~bLBb&9x~2ekd87#3yCv-DO1M+v#VZ2R=GS0V9oUu8a&?DLaORyw;;6hB>qDhjJDda;JIj`7G(DccxI z0~$+8eV&uhNS12t_|q!+9OvSvOQL%GB^~-WDy;%->5waU-F97+;zu`~T!j_xef(!r zN(kE>oTh_1yw_SC=Un^mkd-Tf-|F9bSmu=(-I8*1Lw)1%Y*WfwpFBRZcEBDTE0(9- z*YZFxZY*-WVFfbos=B-INrYqO+g;V{qt!FGZ9I~=?6{|{)}7XLO<&dPA%W)+DRhsQ z@EKdE+SEG)^5jh-O8?ZAPYH57W2VR-y|#54SWN#ATTHJ{#cU`0*9a=u63FSE7ss~MJS;!~N3EJ1;fnz@1ek?8L(TH*rVXfKpr> z+h7c`&a~;wDNUx?Ai}gsLy$IQJ3!vbkimqWZ7-qRzKOhkV+5~^%DB|&8E(y{QFJXv z=@CAI``zZ}JacBYD=h{b9;+$g-v3Chy~SsoN@oai0RH$RcqaCcCjrF`FrEG}>+mbN{FU z0pdT^Izc7*p>)h;Z9MMb{m{2)3Q4Mdnq`I`O38O|6ihwO#9lT%W z*F&s2W5L%S)8L(&N;XNL{d1yIJg?Zd;g!R0q8vD8_=)oTakMO5TIc&lx7jr~^ws3* zTUn#ScTfYjF|yMn?H5h01I+|uPYHDH&U1rnbBsM2 zpJd>Re`@V@i~U@eSv#a}mHYteGdY1hw*RpJ5abk{dmmG_{L|MD!rTz=5ly=!+@q(4cCYH~IG!N9_STM?A(R}7LI)E#E6k`sA5UuN^-3lJig zI>TBa!M{W_r55&3R{dL%5zfGy$fudM4OxI1QhGPaq@0jY*Q)Og<@$CPO(veu5zdgj zXYp3O#Smi6531kPi~rNJl7ieVa9af#;=Mn6jm9(Gw&{*|u=HXvFin6w3(rcrFu(zO z+oaJx^9I-bjv4k`ZPe#X?Qe{?bFCqRDvA$Oaf`;OORESY+G%_}+t~6H)r2I;f=;Fz z-3`jDIrqcue7oVZ5#lEr%EGrgu_b-h@X=unejzV#Yj0+OO`0dpZ+nFoc+CL&Cjw;#Zg35nq zOX*+l%N!n>88&S)3-@e)1#Px9R?QZ3*cvY*$=b*9;R!@Am8gNC8D-Li4-I+RpjXiv znHlfS&E1Zx|H!!hR%ks&csaLKyXCL)QOxb(dRjVVnXJL!($D2Wv<`%?2bsw<@1wcm zkGhL~(0pIlp)vRb=f}*a?bBCoGVFOC&*=$PlpE98{u~GSRfOx1_mteiY%e` z*SyZ*Qv53>nFVikZ>CSqpvfU!gGJ0RhND&ek(p65z-1zbq_*9k;d90;NJ)AtGw+iL z*g!xgKM=j;Y6Y&Jc4^QoBJ1h zH|5`olB*2hv(B|oquoxAhoM*WudR5x)<(NNG{2SmOa&FT0HESi95AtUx3sjxnoSNT zThmpu=8yh3of5{EpXC3Krmv1``u*Ov0FhFVk{F1JASK-si7AbwASKe00+Se%P*h5! zq`Olo$q6VZATUA%9HSXsqXyfao6qn2{NrEv+V+lfu5-n?T>@g;7^;$>PRkpras+zD zsIcPZ=Z4o6&NOv{(>1(t54%E$?u_qg!;&MVIsOi|{UkZC$!7{8F;>hggXfj$u1BW4 z_FH4$v!*1!>3Rt3gn^nS(?r*EQ8VLHxl{{LVoc8oDjF{tF+m z8lx)zxb5BJb+k-X>k&);6<_$Tn6{a62mHgO;Y{eWiE;`KBjN4BS}fA92bzdJUZgxl zmdz({a2*x=?;F5Ht9=fFc-bP7H=68xZ|67{oqHJWtaOG#oAzRnh03O8@E%mw)Us4z z;iD%X*pR}f<$v}%_n9A*eFI_GaR1uXv+x0G@@fn+>haHC5xAvcC`Qz@%2F6b0=ofe z$g4D9Ia3xnVn17Pf#{Yk$TU@11T|A@mwnr`%8o!K=WQO?6N96hTwxFvrGYtq@wr!T zetOmG5nH;De)}c4USo5p?rUk}X)~g+)xSRyTNGzLt@D3Mf{}CyH7`)J(3!Bwk`syR z4ZN3+k`MI=S^)ir3E^m{E_n1{F@?zIk=d75Lr5POze-S1+aHOJT4p_0HQEi*9 z8rX*UbcOt^N5~6vo(d~Z|BhjwxWet!L*-5QW18;3un_Qf$}mi;HNBhrFEqdFlinb? zr_>eocMX_k30_;D8Hkg3TJJ;-+BmA0K0 zaRGNktn`ZxfAsAcDtacein0yga@7v<6z~c{4N191_y$LOtfc5lB`Fx!Swd1hxT_U= zv9VJe0NhMnHBhKoj4?ncx0ht`wXPOf%Y9D`*H;#+%T9^H~>)q1bAOz-HbA6@{g zsPstxhAvVfOud{7di*6%uhg;v6J1yRi1y2Z`q;)tqEhactlax_PKuXAzXbEpy{E$X z>#wLh)mgh8D{gN>cX;Cvo#jHw!qgVWVm9t^==iQTOPN?3bl6U{fFeT46)lIeS_?4p zcEmz$VF&%Q3!7YoVNrgVwSibn1q`qZe@4Fq#IqwH%=pDfm1oO_}L=cfUm-2A?&te_dz@6yGs z3#Mc)&TN0US%D@=?iF*ZChu09J25`d+X76WX2}}?8UPSm4ECLQ&a-t!>3h<(pY);r zThJ$gEH{j1VxNwU>HJ8eacNxe`0XimP3k7LE^qgb*}|UZU0-%;0?Jx{_&<7q-$Be; zs_<=Djr{zDzz)%0$orwM?K&-5t8lK#3D9in(1%CIqc}(qyL9yptmG zDp>?eT16$PaMW^IH^CK%?Y0&>dkB+Tt7;gcKIj3EK>RPX4CnVDOplyHXp+0)2-_t; zT+ajeNyPNU^iLk>l{)Qw?uU_=~mK+&KA;`bB$vh3O%H z!dcXO#d&(y@(oFnzfL~k*V)xNjC!p3iuIu6DMC>d(#_TB0;XPy(R;o^?`=~VJ7}m1 zs(`{G-2!j%cQikd{m(U3$N45lrOKF#U4VMY3VO8h1iah*Xt=c&Tq@54Cv)yV#V~2D zYhTtyH06D(^5Qe%s)!q_dRWYp`c6|{qNAB|Bg4&Kt4oIepylKE@(kj;hdGqn&vm~J zd@5nnQ0>IjFPV-ir-wrmk%$(&m!AAK!^{ohO>#SRZdd{U@i!SsEd;8bz-z?2jBh{g zm4XKmhyGGsu0(JFCnV%~NS}C41pJ6m{^cvp1Ru?Xi!pY z6iuxr3YD-k--2hCsV2vznWN`yD>o9>YAdf>j-eJ%i=-M-oLD#I~9 zcg1sywzAS1n`A3?tO2jl*+Z@iyc6T>pI>;wdVF8ox~IZjN->&mW(-n3#8;=9EyHvPiM4}Tzi zeF))4ny?P4*e=V6wC`lQO{9uo;U_;$LfH=NB;h|O>|rcJ>M=^}%hDl>S!_CQ`AcY+ z=EX+Xn}BZtzN#!CsrRi7ry6FoSsX(3t|`)_RyfDeAW42dOcK51T0`y{I+_DO&px*8 zM*&&P76o-s{_JzmojTg^wT~N->RqgSzs|E@O!k~{6t@jQLM_qwwOX3U!0%jjSL_(B zQVVM|vw&P-F2Bxo}b z$(I^_Pqq;MHE>yvZx?(D`T$p-v=OYY3|@=hqu_y*eEF>H75V9#r(23$b+M$pKTB?p z+3rU_o-=-M@JuO$d|7yVmeDx(g?X9E0jDe;qdR9M)rPYnQwN`7TFbASW7U=n7w^3aCmuC39m=i}HWS8w_6){RkWD zJMg|Ci-M<#zw@65U58~k-~nhEZI><0iyc3UNu%&#BIEJ|9Mgl&h6@p@5{zfu!x*%g zC%dv~xc;))Vhvda=0scq10*hvZCv}FL4(*qG^EJFsj*Ol&M+kTba4H9^N1nk3V7@Q zJcp5|3z*iWUptL1#lL;rH2y4_GE)R&dDvcNf65^ls84;W>4((7vJ#)S+}$mGaMq9F z+7wKW{AO?@N_ia(Cr<2r5oUv_VG{E^uE4SqWa-fIPK5eAos2aowhrRcaTL^HsFFHKYFwB!^+ST_y}VuvLfHi3vgY=9DmsxQP-bpVS~l zL{U+Bo47{fB8*K^@wGc9<;i^+BCH8)~gys%FRX>NI#Ncf$$V3G!|RzM1h z>@1f*N=t*YP)<4@iL9-=rV&zGYek>FT#38-V@(>Zc~Hs$(}8{d;tNsTiiG`z7;OrE zWk0Hjn1~aNa(+wNOpoi)J>()WlJy^)a)R-oZfMhFywo{rhT|D(d$IVxmE_Q_&lZQ% zQh*zwPzQOzJ*tH>2JkwVHMneH?7tV|jc6^EZ-1ZMp_1PFEqP`wq>V&JeQkfc&;f4= z7mF!CrA0YVcX@qz@^#C6dkFKx!vtn+FCJZk9{2f~@GEzaXIp>}l29K&Rr%gvkxgp; zv*^V+FC}&g>7IYDS6;rWrqqT~E*p;cVzbUeuc=|eQJdRPc8^4bhRr18(K;$2i?};b zON%IJ@n3#=6l}Bz?<7UbP$SH<`g;Ov)gT2H3O13ow%hO*u%cCz%4Kb)uBTBgy6szUI4Mo;vK0a^(% zq(zX(x=9XsbJ~v%DoM^Y|7Pv3*Z$M?2sWnm1e53x=DaMy3Jjz$@WEy`z4w1RX+V0u z7}nm_vM-Tn(0JVY!K%6O(MC|Q4W|&s7mQclX1<>IyGH{A)_c-rXmV2Z%EN_O(X|%` z5z&?M^G91+syeWkft)XPLUp+!ag&yqqMd&z8^Rt>CYFHxZ7fh~wiyx?E}C$Ibmy`0 z?AzuI+U0Ms;q%v`|81n=S!FdzWjlJ3oyW1b8w;_Xw)+4lfyp6PNuZ%~F`fbzkrI@xK;xA6*7ivObg4a(KQ+-r8o4^4MikO26RY}HX`vjr+*_qD|5%k7 zQ0R?pHbna{jkOKa)zii@e?YOdMY9>}9bW!J>Vo#Y%G*Sddr=AG9c!}I<0nsqpora~ zg(~K#PKl$?c|rRP2ZC!%+kj?V-ew3F;!2dA?f0lQ7$HpSyHL`!7@hM(`&PU1;`KvO z7edI4=#suQ3>6hP5M(4mw$*^qN`iBnw)zxrhCoEGG*OB*&>W&s#|9WS3hFMZj9Wp~ zDTgx5VV58ek%@+<)i(bGV@ROtUx3O>OJ<4~L*gm4cH;u``jW@zuwX3SOb$ufU{S}| zYhXdUbc)o?=Av2>W?w(gKKfHbbL?u=+(yJ$4`eDDj1_C>A~!7-&xtEGrhB;a7;V$^ zQX>PamK%Sq{2uC&#Q#ucIk+&dC$MK{a1f82={oy$+EXU73>LXp^8UtT#|CFLO%{^D z;|E976YHnkRD-I*h>&_eJ=hTR4 z2x5v}BamM<e$rN6HFcY&=AiauKkg894Y&2G;stHsS4sMsH%D~~pE82ZF|^QbspPD~ z@0AsA(BBc}l?`pY?rkG%NM%{oe?R+dmX&PWW6>y`gW8KHcM4|1v;H@tGKr7Q4td|* zn3P+n!be=~${d6euBe_jwfq_TcOje@f^N&X-3(|XD>)#k^<4?|;{3SreY{A?zg)r1 zxXcZQeYd~5pw)H>QCUn6=yD7Ia*ELD} z;S&tPf_y$pI-!vv^XJ6meq(QfUe(A!4q-hkd-vCcPrZDOX{4gRtxdk^XG#dRac4r`4Mp7G#oGX>rt8z031uD|LNZ>^f4f^{7!L%HJota3c^ z+H2KKXn)Juc0su>&8WuHyTBwQmD0xD$Y3eokjhV_1L-n(!ENANN=GgYG0&xgidsJC z;fX54LuB+`U-pu$j(iGTdC)!rG`D|hIJ zxEu&*;4MvGyz{sS=(1F0x}N-{T>G0B?9%MTPsTi2+rH!~0iJ&ja{&H%1L$Bwe+|*I zyJi2K2pm(g#k}<;}lKCIl6p`eRfffz@)I9U+r>IchGN zd{qk$TRSveKbs&Qz`CF~I?%tx=X9TEU*|wk(@jC&RGUvNE@I_<={0!mYMpP@UZ!%$ zf%=xhacGyGEEs6oq2DoZd`6PvNf8hb_AQXh1w;fhf&i2dR|1UXji5R*V7U@s>bO_3 z1j{_d#HfI(pu*w+D#&fN?xduRQVrw%Kc8E!g_9gPKMTUDE{W6-?_GLz`x!B1DM*xL z7~;0?0L|V_Bf-yWb{2l)_B7#;9MD%NWDSbl&@v@ZJo#&_dGq9b^C|ZIdhcgob zXEg@RvCXO^S9=}N{FV(cks$N~cCySHFD#mv!--I>D8Cu7XlCK9L;1X|H&B9jpGzlp zb;74uYgP-gIhU5kv7ph18y>Rs^$ArXh=BjfQI%*9z!v+joA>N|*-90S>Jq>B)#ual zo#P8fa-SW|3l%XcK5DC#zn0zO`BQA(sXL7F@e8cW5XXV_1!$q@5QM6t^XtPy=J+EKcbpM&ARAQM4mrf(c(lN$4V=ym4GC;C(2qR@6 ze^TVKm2&vbC(pmeY9aq{fg@SBw!wNU&A;Fa9cx1b`HYUmwGQM;U+=2yfZl+OZ6GSF#Xm1n}J=E5WCvBp8C!pBGQciKeAf6w|I0u}62U7FLF;`3i3j~rMm z`Ip{-lYk81Xo&`4+;h{?LvAC(jNZAzi3!*~*F9#x zZ?*3DbF`y%SBCV?M@p~!KJT=ySQ^d{@J$aMa|~`Nph+l9{+neUki+|7?=4t!{|aMg z9ENz8(VIb`X-cKV%@b)JDiQ>Tg$7_($z?~R=Hx#{Sd@m%CSpCJJSttNS9ca+=Px5_ z9#-*ChjSsunhTnJV*y9j>Y3AzGrTe7Ksk65W?%QU1qWZ-d->ypl?#1VfU7R_rT8O_fAv15k<#lr6fX%& zq6bFBTY08?wRwT1K4O6)5@ttON^Cb>czc zHQxM2)a#wuPIAE8&Rqz4Gs}*^KggU2cwD7$R^ydd#2J-rGvsO$oic?Y4J^O$&H0{` zeuhzN1@F2C$9+Vmb@GHV(A#q2@}ax-J6Uhfnh#$2$iKj_cIE!{aQhzYV$P+OHBDlk z%4_Cq?DM7LD(fgW-nSzQIJ;P7H!10Xs5S|pq(>Dr1K>23q`Y6QEO-27XnT7~58KW+ zsJ@FFN1KlGb0TEk=WU4RZO;EnR?Lfi#iZ7!oEjPc`3G-2 znPo-YcC1|_&K77bSU3*+yemQ(;;a@ACf9m3tSmt?&x7c9^c)=fXnACrf$ko{)QR)W zDW&_jtGB<{V&%+f*1YIt(8efquvGn#r?W*%LknI<0ln>#b|zZr;L5Lw91$<_vqQqI znT6(WRQEf^L`P;6|C8NVzuaD6_;^(yb*I7Qs*l#Fy78|ybE4fk<(*@h5zA4yL=VR* zC9#O&E|C0+Ib}&)Fbo%ClwBVw=)#7Z z?DXjJ3t`#Pycxq>Z=so#1NVc#@TbS@wAduYee+V@!(oGn%CfgoubFlUd?feqY zYw>*l{T`dhN~#2{bVebQt|G^>itWfCM24WMWjvR^P--)2TTs>Ex#9dapW>(K=mlyZ zr)Qhnzq%1*N7uK`dZHK2>wurZ1g4xftlW z+fEB%-qy%f2KR){yujJtQlD+M%x)_xefVI*JuILWR>?xCSWd{34;mU8F>yFJSs76J zs!F)`f#>OL!K;7}M*`xWSqZ{q~_r}B>L?S_)wPY^_SsOLGL%xP-D`u_6SsEAqi0$Ggrm>tO!**9W$Y zG7-x}gXL?&VUJY2z1Nd+H-bHN4B*&13=22~9vIekA2;0XZ{+Rt*rz#lCy6)gS~oYM z5o&2yK4Ng~vIsAT(QN+d9TAYNBQF~w)4v7`%BvSu=-c;*oxGapAAbLz4v>5j!KNbr zUzzb8f<6islc|j^eNOnito_gXw$t)DI*xB)&>3_HFrA4AC&h(%-ChwPNr+;8yps{& zTQ%B#xY~y((OqX!zT^%ljc8$YOht_H04_dnv%?<{h#J@-nL5c&{p`%qfX0@h(+XJ3 z>B70xy{F^saY9S+ws+!O&R;j1u&j%}$9|=4iPxy;`t4GmjAiKwnZpX2H=njTEt{}g zn*{=dJ>Dh-_$JVak~T=d_$3*?31o!~r5E+Iu!#)%YiI%5{upnbbW06nb*kuWtj(*PGUxhtOlBsXR$je&ilVZ&hY|d1rFeP z=Fo#x%0Ui#7R#qU)x|~Zt|_iUGx8;Pl>2acZUph)%;$UM+VAExJV-j`f zFDFceO#|{nZPHduEjMCwFzfK_oK+x*NQ^2G+*_@sO*?^XQ|VgJmL8(bAx5SU?Rc`N zm63MuUD@S1#_g*Q`8po#>TEgH)}ApQ>PdLCi}ZAs{V>{pGQgHcXK5IHM=ssjwkWGg zxG0G~i1+%oXd!dO+aaG2lL!1nYMT4%J6Tcex37a6sorC4q>;s4KIWG~Qi*wea_R9O ze3qlzW4@0A+z4+x@inlDZoLonN@tE1eY?c43eQ~qg(@L(aCk*Rvd^<``Qa@`hcMPx zqUOv~#-f1Zvfq`x{~qr~nmV_%Tz#FlzRa6`HheeI{(?R43tY1Ya#uX3G@9&!2xuUU z-Skl&Og(WYx-~#Mw5cDA?5SJ_P4|xREuh&H03hJXC5o{*h7YVl{D#X&Rr>I@h7b?c z5GplM`kp@YQenGnztE2%47&V%fmhu@car>51<`}s)+yT~tz_s1+18vySafL2Q3_fB z;24vVb81Jh{EZ8o>t5=eo&6<#eWkKatg}|R@;v@)dN*}vm((-QxcV#ibfxHX3k08j z5IAQx5)<*_;9A8RW1W*5u8!Lhf{t{-Ggdq*OWQh-AgK?V_rK5ObUju51lYPQJW!VX zU{1Ih>gA*<6qkQMPkbkERo&yu-s6<=UUY+Zo#NNM<1fKvjmMu(zX`RCL#F>Z7BQsU zm4Ux=ToTc}VVgpXUzePoJI>zaql|47ThUv+ZTMJ0C2lDO_YrdcesSAbwe#jH&TCfb?Vo!?ZFu3n2HG5$O)_MLP@!YP8~U6TcI^mpaR&Rx0;#%_wvF)y`}d za;Xy1_T6sD@4j4Rs5%HzX=6=j-E~ms%`f zdIpuB2UD(fQQgOkwprwc<(Q9X9p2afVGzNg{}XsR#$QEbi+X;m*t0L`Ejbg zn4IB1(paO_@W9{_-1B#dLWKwVY-VRTz)(b~1!qkrxrZ8V&c93US$*Gh+(jWrNYed< zE}{;7$+#>wan!?lkAqsd>=o_GVV_MgCoRiO1E(V`N*$kf;{CGLJ{9Kz%vl6v48E{% zJb@_l`Ec#c1~aw|R+G0FLbirq{A+ws^~84BJsJdn_HiIz=u~`BqLe8?{WnG%N$a5+ zh)1v(z{`LKJ04vQuS%2G&JR zZNxG?oq*qDy;!$T0}a+g=)g7`j2Ue279W(Bea^aFBS*e~z~DvCdqaAvhvSs@svdJH zlGQ{-zAZVe2Q64J=h6=pBvD(xyr_2b|0Xq>S*qUF%X&)wXR~-zi%&<~DvBkMKhPF< zUZhT?O1Ea+G|&$%%eUQT>@0hJ`_r+dpz5`h4V7fXitBynvhtQD73`#Jqe!+}CZ^OWv-l z4jFxr*xmoMcE=#iLo2?>fr&2QE&p(*k(H?_b$O@*TECL)d!iQ(Nn^ZqLX1K>?9e@% zk5N|;!XP$x>_M3*OSe* z?L6GFyw^J+UHLy;0?wXgnqr9qvOqnlJ+p54eQH@LYod!qQ$XV4{6j zMnue04{IfwYI93d!*xK2va%cPTv0kz)Kh5X%}?D;@Pk!|Pm0uvAs!NQZ|d(JHxDI* zORlh>*&E-wqnV=6Y^2d0(~IU8h19>o@3B~)&F64TxYBx^EpcNROFD+8j>fcoLLW5v zYCsI&z-g)lqOC)g%`~McRBTXb@8_at zb7m+!bJK16Ym8od&28!81s?8cr5I0MWbkPP|ppaJdH6Txte7YfqBC7r`*zHNr1 zdooY{PkGHhNff$gZN{*!M4VH?-zPqLFQh#Uk ze{0rbS>2JGxS!dHNv$)k>ru5Kf1X1Plcmi#YS$%Fy7>g)w$ATix%UZGlVfY8ZqTV0L~V|IqSCs#!zJ@NLSf4LKF4_POUniRMh} zXqXuNI{IL|!u4+6CaK##gdL%}jxKVnjGg0O8Ad^diY}iWeWI^h>xCihrggjAVQzXG zA9F~cze$ads-pVqE9<)jADNNTA4HL3frV;nI1TZ_2?S%(o0@g#zzEhXbJ zK6W1U!GgtzhcX;@#zO%4O|=JGr9s9?ym>1oS=IRUIe>a=FMt&hm1Dy>aGQi;S#G1@TQRCv|>z1#jEcuRBUTbPo7iIqlAhX zSbymMyju10Rb17iImYd_>&{r8TBSnq53iKW^9fDsK(VP3)m$(_bb6KVC?c-m=Y*{IJU6&+>Tw9T+So0HkEv#)rYkZNlkm8l$`t zy{zW<>Hw$OaE;Ya?ZZkQ)zb9hVnCyxWlS4O)LcT+DOu4C-t88j`&wZ|x>pXPbz7ya zq8s41hr{Z+bav1Gx)hwcR4)Hky4=BHPzJUtQK{5<{e9LY2<^*?7aa`R>xL(j^emW} zt>(aF;GqGP(?elmqac#Ccf7{2S3jn$RTVkgu!yq&581$}?}`fIzq|pgOtw3_Qi?dJ z)tL_e@2ju)rC0s0d@u~2JyJ5%8!a2qDQHLD=tCy)FdJU=i`X$*lt07Rra+QVm00}A zaCk4aMS55?JbvfY*dHtz`aL@yjQh~u$OLFKUmsJo24{zE4_3Emjf)so`dykD@zbNR z(!Pmm9+!q(P82V1m%Wv`ATtux*49?6&?`cig=#5Yb%G?BmHR85I;ORfogDU~0F}`P#HSKN{+^>< z==*|ZPz({r6OX`2dDQxb-+_qqZ(5R9pPfbPsxR!*jXgKrM$BTfrk?AtXn)7gUDIz9 ztg!=gLEJ&Xejh$<6|qT8M9C#AkiJ3Rh;>~tQWJ|gn8yV!Rlw(Q79z=#c>|~6K-RU- zR5-nairWEwxXF)so9J~0knK6Jp9=wQL(COa`D99W*kR-NA#C6eec$uVkUz&n|A%T{ z)P!+2xAuOVM9gpr{o&EJAWzP8vlS`bI1&Ab{6Ct8e;kr@{Z@>qC=h5~g(RSmRzy=N z{-jothxTG`IT%4u#Y%)sqLw|^A5rltdwFn88VsbYJ4mArt)w4s*d~YeT<_dj*cdHa zVDQE(we&}|{mqND;dI|%+RvI87x{=#V+bAa<0SDEaW0+J@^y)KxMg&h_^6s}XVjyw zx#ypoYQ(;OX<#vd#)WRIqOn3Exr{RaZwj@w;t*{%lo=G;#zK4XHRWxlIkw>OH;v)K^d;z(uUsk=XFjG}?2B z!i@FhJ;A?8%rdkQ?#_{7u{P(jLm2H39}P>E9O;GWMdRf9*JDn?MLCU(u8lX%?61Bh ze?oW1TKyM-0@iysVN7Dg$xvEy4?D%etNxss*6kC;hn7vfQ6PqAX?b)nrVSW#;d()N zN(8(s!9F`qSw|bcSJ1Fdxiz_8gWzaD97j{2emx>cxk^5X{7dL-s%}Ecf%hys_Xh_<*U*x`Z^t z|MXHCW!Q^IYbU$hg608ak&u%Hwy(yq?s}03hRaDWQ`$-J4_?gxPV}~hxUQR6HXXZy zACU(r;7{m=?8}I?->MS$JK95)+f6E2eGN-C?D|pNqE~vNnyV=l^~Vg`IKHYbh`q(- z(CgXUHmnz|fbVI1kuqG^Ke3Ds_rTvEsb3+0ByHbQ(#51pZ7bprig}I(UOqfxn*XpP z^T{5*43V1|jHLa2GC7QNuya;r2+SVvdf&Xg_E}sM`JaMoo;2JP@%SnR#7PSPy9bu;23TVvI)B3JA>3_#B)BgkO zR8FSz@uq11=NC9H(%kAa{)i)D)O7*n#O&|jn8Ce7p0-IQb4=5`?AXMKZlmbVKST~y zZEH^9feJEjajJsEj%NivBul#2zq*s=y%v31PE}&s_#A)iM%<)a>b22`QQjt-X|~qg zQ~vVQHg_qOVeY@sE*$*$*v(c`Zcwv2!t{E1<<2YR4FqIKcf_`Rh_x?{sKadiKqTG` zrQqqz{d(?4AB-L*Ik8A+1CxbYrlIiP!VPw)$&%q~K>z=w(%bTzh#q3EV z1Uz%Oj(BGVrQbV6Ig5*PQ-fMWS_qxaE?Sfb{Y92Sn{c1boP_9DtqXIX*b|t%@gPmj z;n8BklB}C}MdLL|@vVzb_kmWWs;qzUWxhY6Jh#=uQBr9%y<MY0~fX7pWcC zdp@}H5(MY(uFW`*1ClbowCY4OnKvK3OWLrygA6ha#4iVIg#bomr83ORMj>L)W-s)) zGdO0iD;$Afi?WgoVphDDd*UxVb1|dp(aP|Yl&kuh_mY93bJwMrm6dLzI$X(OnFv{K zVwXciRKCCb2Q}n5rKZo_ekO9qsm~0;sH%N7F#n`PF{JpxQFGuP1B!lghId$}ErT4H z6~pS4sOh{@4-Hh4Ak5=lh{fELBg8;WDFI8b&OWW9%E*|Nteo;M%-iW&=i|NbmJvxF zovRanhqw_kEimBRcY!K9;9ED?5mkxFz?W>|FNDFkd%h-A3Q?iPd2H4cH4h#beM`9? z2;~bq`;uJjpHP;~PB~KixSuS(Wsw#R`6`inz)m_kr_2{R&$o{Wg!kC1=LH^f0mfxn z1fW;JwYO&^xR^Km2w^nRy)Wl%*~>8k3?A0P2OhxQ5Mkb=09v$pz9Djpd*B5YYsX1p2BEj5@)E zC(OufsLz@U(JFU?>3lulUf_)gyV75`#8p<~- zKHY$IU{QzNWqN;|X`kk9w84*Bclswi5{D+Zl+ernRd&~?a&-XpW^w^PkV49q}t4=9+HA3ZJ~uxq!~TSQfsyE^Sl z{1ZKo?fnRFDfYhNa+O`4XbBncVVp$Yw^~O`F4Mig$O$O%CUQEVyOf2`B=zyL$X<6t z1Gr<>G2rJq(Fe)7_8=ToEO=q=ZSq;uN=fB7CI(f7P#{_WMg)Wa0LdfI){T%O;1hRw zY@9?NGycgw^U;*SVSgOGq}X=Mr&G-~eY@b*k}AA^ZJ?%&Fp2czFl+k(6cRccr#at|=0SoHo`fvF1th(@wlI5G1 z-Ri4>VWjWp%yvE97G<6{&e<=o(Aj3+gu2R@ zw!pCb0GxgWjsYNiMuyt_QT2u*t-o-7ss4bZM`T4dgM<+PV;y`tNv+BV&*( zo&K-dl#k#$Sy@2Pmu6{9JLb%Ld$X<1->B4=>D2yrs@~}R>;ql2I zjMXn+oyyY#luZ&~Zu(>6i>w5fKuj2fhDA+bkXBE#hT-u9YK+{Qh%-B0lC+mhqxm0M z`tzL#al_W%ZAyf7$k%nRgw(jz&dsNF7-H;c`+mal5Idx;%n=u`(G1^6 z?48IbRKTZprh?QkN)_w~K6T9NPhg|PwkjA$L8HMKh|vpUEd5dCz&X}g1LlqDb_O!9 z!l#0EG@0nH;&d)2&}nS;0+pc!Qg0r0+gr!j_MM(5(nf!mKk;(kzznLWJvQ#v$$t(G z>r>=1bTM`uY0XCrW2F1Nc8B0$CvHv8Np?>$9l-!U&f0+K)pv05XBrTx@2r2S;^ytx zhK9z6zPsLO=vgm=B?Mn28sNq?Z zFm^G^x-e#W>(o+u0f$Sa^sUCnSv?ip0?*G`FZZu^EM7W%_NaUtc$E_0Q=?{X>5p`~ z&SG!yUn>dv@Lv!T_Eh4TMh~_$+b@x%;<0o5VAuKOAEZg}NBe7zMI@sL7e3IZ z0ZyW^f@Wd1h@Muuh>6c4=*^fO)n70CKayRqck=+v3kim}o2TSSj3GY=c!R8=lLl~& zeetjs!r1Gtl+Iqsvn@7wF&R^T04q~%>zi{l4nXtDK;omoAWz zx$JT)zi+W?CTzYgktMA;v*F~uE~MB;oErWG3|y5Ku$2Wk5199JftaZrXda`iUVYc= zLhG74VVLdlX>!P_DKc*psK3gGUpf6oFm)@isy7Tmb~%i(7g2{vuugzln&Otw|=|;)rTG7O-f|{jT`pP zl1=3qF$aLW&Q9BUG{SpI$^5YZ9NJ<+;!&W2VO4#D0}kk%O1AT7%%cy9LiL8<58<$v;OBerIE93 zzv=DtNWD?HDfSG@UBD~>6I(S|@ZH*dVwmp8m^7|Yr^&W@h@3+%+>ldllLJ!CVj6N` zRJ@lPI7<~k*eU~R!a>si%%`ivf2m+;6!jY zBJYBUo!9=%w3;nr?r~_x%8at_Y>#zSv9VXM_U$O4=urmeH-3EPk4M#$c5<^cyR6S( z2g)hI6Ir3!$~0{corb1=SD}b$3VdDM3|Ke*WRavA^9}`I15;8(<~qv($wmR}+=+Du z;^qc&t+-iYDvzNf)=|3Qn{4!zuij;fQyeR9il{X8$^F+OI%PS^6*^S8cS<|zq}F35 zOB^etMd(caJ8au$=J6&NEc_FHaZQmAI<0s?rt%TqAi=W|txpQ#F zX;m_i@s(;z3Yt}g_u8k2LkbtBDbBX8-aV650KGS^qOSuWMpv2g1AQr7U6@`SG`6b# zqDld!rEAe#9XP&tG?_%>^R1iY1nXc84o^O&!3h*+L zO3jQM&3nWX^1GxIuT6OniDXC6fY@ABLGz1Va}a8^HW;yFE-U%xhoe*~Q$|1TG>^21 zXm;EKmP4{f&#kY18K-liheJL)0;?|;LjxK`(|=4N48wdgCBOVzV(2dytJPF*n@$^YL4Ah~g8IX8#k_ZzZ(S5H?SsM9}0Iz-PyZ-hNNcjMI3yqP%$WvkzAENc||BNfO1 z!-ghp%;Gp=y>`G?Xis0!WhgUJLY*(p79C{{KoW0(lEboj`j}IhZYHaKVO<=rW9@nu z-}qB(d_J~*2sPJF?~#|&^ql&awT$6z7jop&3i48+s4#C);Y7oO(1>U}>tG?e(h?p%IOH<%9{g z;ej#xUF3G(r_9PHY3p_Bcj&x6buOCX03;yx?rGYk2#DS!?`2T1$acl+wb8W{oTLnC z_h2>ob^3Ap1A<7R;e{>V-&1LU8wyi-9&d_)XvC~O%QcO&dy*b>fopdmi!am*h?4`j zKvM~V*=fq#R((?_r6>eo2^&M$Obt@|$)uZV7Xvg|N*X3IR$bekw1&?li>k85p zx6}t=k04{n*{7?p`z|gIH_&xRaR;m9?pP?xuWOyr4I?{Ktng3mPh-wA7wn4a zEX!zQW#$UxW+RN{Mg4=t%&?Xfzub2oiP?{Oi>^fwwldA7ActNfO)h=c!_KHXy3f0I zP_a)7==XYX!59Xz`x-QFkX~nMCNmrU-wa&1bA4fxo}J)041KU;*3_)?2EG-C4NyoD zpVvtN%Xb2S&%L|O$5ffdf8R*N`qRo&=F6++8X<&utp7233e~;C@Z4>*pgB?tS!Kid zBM?6`Zj&(4|1(SE* zO$R9u?~-_aS*jzir5xan%M)M?y`7VNxJa;TFR$5Nl824T_i0}LUu;*@EbKFJ?5_6K zdyj`r8dtk^hjl4}YaU&@deqTpsb-u_bydC8#6YRjkyA2s@$%Es(O(zBAIu^$c`vm*fNtK7}@52SRgjJvh5 zj9m2`-NZ{+qOFxA3fcHuHQaV`>FwjbSU&0vEU55OwC-T#KHYovG`y4?ns>^Wj~s;Q z)|)hz9w(r9>}6IVM87HNJ715yh!OFz*tlP^K*ZJ##0vxS&-g-t_F@4GE6RRC;Jgh|6T(>h zn)oGRXSA22v1CA$ZFTR_JP+WG(0=bXOax%{KhP&;Qt!X=UgLa^$z^27*G3dw`h3D{ zvAWKc=3SETETceI>F!-Gh5_f!B4CX-0SAIx)s35AK^tE51NIEh^=mnhl@b`1QYBQ5YVCcZ=cw?0DR$6=v+0EGGDa;7PV)$QHRF>|!oP}cz7RT|3uS-4N z9_A02NKVHsJvY+Jth9CP>zy;>r+!y-W!R(1%mKW9=HWN(XJm%TMc9(Y1q_U)+!hF; z)}DYP-#9pK?H;}_{KtYA0d(lfUPME)5ulpG1iY&v;{T=jKGz)J1N=pXaQZnL7E;1k ztPLz)lXw0)iXL$Ef7e-xP2kwR88q2!@qP6x&(}zUthSPP8e#gHd!H!MV?rJ(D{pBac`_yu|oUmft2-a0>xyNjz#D>ZBf)q1+;NbTpp@# zy?=ercL8vF0##7^KUx0yh>wrhuSL{mGSQPvK-&cKDV5d-(zLVQH}DpUeq-7gHY6)y zN7zPg}c4Dh+J2_;h`*cat54FHZFkQM{wx_&%8cN@=&Q}qy?bH8b*d3E9Hs6Ub*@ z2qiK8$CvcK&N~y|=_opcA{|40G?R+jf zk1W>1sw?Ork+!(}^&^1)ln0g3Ia3T)!%upwLELfA8=Ws%H6we@yD!i^XTS?S^O2yp zbS&rb6FnUxYQYpkKKb*wGD;`aSI_VrXq$5jwKfL4ub>()Ji7~8%XUvZr}e)vKdH9f z*vFmLM@I!<2DmZvK4Z-l(#{}HY9S0o-_2a!28dOX3=8Ot%@223{>yuLEvIsM64205 z;ss>7&$bPuFf3*;9SYemd0-*nT|*;;*7A+5ADu~iA?Hg5d6k?&omxtHgMA0O@5~;( z9w3)x3^BZ36_JiVG{2(QH~H)Hzb?eaSU~ZAw&!*t&dkaN?AOy;Y6t@^Z+4lej|kAt z%l@q*rOrMBM)nkdY)P?MJ5PuDEAO&eVC;h?U%N_p^r`K89oY1_$y~y=jv-D|)M;#9 z5m0J%zl7fZj|D+Hn36&Zh)?-cZmfmlJ$ct-8T9#Q;``Y@8;=3eXY zJ^{as9J9*SSQ7b?3sV83JDOxK<*uz8|T9Ho{{p5Hkkzi!dT^bK8*X zUHRM|r&iAb<||t7CC#(Pnqz(f6@wE$7w|vV%8|6DzBVd92$@+j@%U}Mx&2_T{utUp z#QF)E5UIkk#V=mI{P;qf`pJznI~|}a8K{E0z3JFC(J853@7@5sIzY94Go!RyM<%QS z1iFM}d=Tr}AYu*glw3V%F7^QmQ=a5;NkF*jhw|{xk?{it=D$wSKuzcq!tCs-%{aXn z4D(7!u7q4OHWvu;pofPBJx?6Xzbq(0>m&yf!I$Q-exj@*R2a}rP2H)+Q20mfQImMO z-iY~uQKzcSQ~2UHEo?#%l}B4Vl6?W>r3onQ4b)*OY;kGljwh7E1@YM>&>uEYsqv1$ zK{jHlsR3BW`lD@>+QskGc%a{+oTMo9Vb}qCN7l=$?m>DZVgua%0o0PfFTRyggs$f` z5VN1KV4~$4D~2g>+Qh_!Y013{q&FBLqkUqWe%a|fNcI#Ze*AlvUNCW_hG*RSV zM8n~0Fd<-af3u6&v|s|Btk;++XG3N@0tRJmXF;=ChSjhrur4!d5-p6E5`eyx!OFn<7@Al9(&O9AXACprHYp!`+5 z*C9$ZfgT%}icx{Vx-9dU{JHCcfQwF8O26GqSR|mu0Feq*(uAf9@GbDp$;?!Lg#PGCqtC;0!$9Ahf5u`no(Tt~inqI|aWr>dE8PSF|0v!F z%DseC1ckC5mZ)vk2ahR3vex8$wn6J#_|tI1&+wQm;06H5et{MLczKg=0-r#a)V=|@ zDCtJDZ^%1c6dY~ACVD2D-P4rT* zq&T(8e(9;5J$YZ^&{v)tftHi)W~|hhctrGE|NduvAY4)o9j*_+!xdjuAa_sxwhLZf z0f;E=c5&cZ>bOxkO^llQwawCVSmm`{o8slj#W(07K=kkU2;3J|D%KY=ez|@i&IGwX zO^(mMrfNrO88V^S9v&Rx%^Km+&3}*cgHy(dB40?9@k;Ki!fvc1Q$To12QjpsFP#%Q=~jo zV?#iFpNHYz?dXZ|+iIWm31vhN3{(#)OVeWMW4L>~u?5@%+yY5Zp-S{Q?0)e5K;3*Q2CbEtY_U{YrHGs&qHf4uLrslwnX=raJ zu89#axF#4vH9LFk9eWaxiy4s;RL*ZM;x7m3A}I$v4^lD3(nLVm1XitG9>rMWiXy>% z-6>FYWt?xSFn^=}tgCY$AsYU5mOY4#{lB`#klpy^?S@3KDUQJBfnaVqGKoj4m$T9l z+`%d)riBU`AQ9&-|C=-I3Qn(t)EO|Cl>HFE0BjP9$5~JHMtNU0Hbz zIm!Y#-W*Jt1~^sU<=_P%ETDp;&;bG1KZwBK{s-Qrm>s~*VV!)#pL?>Kb>6MM-V9W- zTl@V*!g-W%rg;N`&NpwMV+>+>4cI$I;>^7z(`q_Q{kC}=nD@oRL2AX*aeL)2Uuvjb z1)Z}bI|3f_SZK_wQL+@5?>>;8R`ZW602cP9WWQ@R8vNC`{`&coS96T$26ik^O3_1h z(rzjV9+VS1s>enSpbh-;YVaSB#84(kir>wO3Jd&14W()mV0Gre?#v_<88;IvBoue0 zT=n7T*!ar#2$c3n&R2HsR3$YE+0$05kI?J>S_&{Pppa>sl=2TFe|*)ARjoz?M;r0ACGnvZJgKc2!ST{)fl>O3{w zG4jnRhVk$K!}(&smdr9{!4%m5c*xeRPxlFVg}-Wjy?q#sKkMst+Tdt}(;bTPve^%s zQbV<)WS3yBW2w)QO3sygj{haH|9?d_5kB$$QVXZjV~m?P1B0MQ-2Szpn#amp|Fq^! zddN7U;mRXb!Utdo+DOLEQpwJpNK`E@P%}gOErD$~qH+fZ04$p5P<89u4wt zckC7PIoR)JlEuxR@q~;_UNNgD;NkO}t|)`P_+IrAWoz=Gzw)DsTaFpE?@G=nrLOhq z24%kFd0ijTw*<*veb}K`Nxh5*L^wk1kNakX68m$V2wENAA^X4k+I*&7=y|Gzo#K^% zy;`X)%8F4h)8ze%c|<;-as|JhxUnxGwQZDieD{!H=hp|raBR~in_lErwo{8Q;YqoP zVZqx;mdyZk`$)hDadKN(#diOrpn{BgpwwUVSBvz|ORm^?*O}iE9}d29SG$USQZfv{ zJ>e$-@$M^u;o~z^3t6YY!f+i)dD1uX5bXCxcR|?>0lu3R^pPm#N)6|_Q0F= zGCj7@eOO|fFAi`TKib|8Au5e)g0%^<@;pHMAa}o%8));0;e8p_iF{bICyz6EV0cZ2 zb@-I`jgo(t=6zB2-mN;ZvKcB`3dx+{4qB4%=+DC+le(bnl&0UXp%DOyg7#!2eo*^D z&*7G+>IE$Fgc6j~Z2j;`6PHU_Vx|P*mU+VrNV%sf68T2Aj&H#54plKsG4iGN){#76 zz(9L6NZ3*W>=i~_kZ!?H@t!WHy2r-ax@PXY*b`0Or>ZzF1I@Z=2pas<)WiO`i6iGo zW9J#~G84Fs zGO`5t6hGlMzK0_B=UNPdJ=Z<_O9zp#^Mq``;L6yPCaxwz5RB^hVCh5z7IBw;ur-IzsTDTYA9Y5jRW;#vg(qJ(OzYk?>{ylrI z#INC8KRT|&b5d+D3oCo0!)LQp&$WZMl40+PSCVi*Akv+BU7y$bE0mU6)A;VFl95 zq<25zlq_yk(_oxqH9?-?RwC%(&?|+$MHf`|llYdO&_|BfB8tQ6|dK0HCESvGotgx1{@N~+X8=hbZBktDey9@k| zy$+}K&}0-J1c+H~yw=dwZk`i*&G+nO_=B@2NmoJ{g zt0YnKhoQD*nbK$Oua^-APCa*_&{bBe5Ltkha63SiGBbXRtQ)F z9^(PM=y8ppf9=Q~qM?c*t~GVJNkdsi)4HrrQ5v3IdE`hpPq%nr?q(d6X~-+|ejQX$ z9%MS?tZKNeezJ|8q42fB4C*L9<0S+~N*_nP5`1kP@Ip4+q=WWN+Lby0Um@HSt$)$^ z^uM4Y&t60@m2!^MYvDjeoDt5kSMS;>jt_vm0@nrUCg7teW8nhcpa(IX(Ke3)>zq#c z88YnRfF1=s4~z>+fwIa8NZXlh0B*B(;B;%a|HF`o&Iu#7q@2Co9Z+;Pt?jw^AHgrz z%#NyD?L@0mXt*6&$$ejW_8eqZLHqk}Ltp=w2?G$x--vo?)4;%7UpVr4N{kD%a5AWAJ)eASDIQf-J0S%+AUv zBj0x@{y5>%XFr|-`fHazz=DQ;C=Z4qIl%)^QTHO(I~YOS(Y)IgjKdw8^U2TQc~XYg z_&qeY)$Z!2d;0C5vZ5%8?cIAc%k!S^QkRTG&lVRmo3fflo8=mm7~WRuSZp}&dC1%c z8$hFAXMoGYc;sl1ANp3y2@Lq}GG!reF10?t)F=l4K*HUJg}K1spdlD0JvK5=1Y9&= z0QEm`lONbw0h2k)P{)r7*aV82!aCl>i93-0d%gjh`se3xt&{nDF_K{;Id6O8_p%vO zN9;Uas!Qv@Bhh2wFHT2!?+?J3zD+oIl@P*LO^ti9oDUkkh0bBS;8#$!0000gMwWRq zAeFd8_+#~S>}AP`HnC^yt&MU90PsHB>gD?q$W5ZX$riU)VF~-m&(|oW(tr{7y_h`U zr7J0bl?b7f4Pmy9={jEE%bXL#$|f@OErE|d#gm_5qH0EuMM@Vkd)R(!NquECFd68% z)XiKth9&%8Bfw39p4Q-~ZWLs1fJIwqkHM?QK3coLqjy}5l!jP%NskQw^&`Y!%>Z`_ z@K*tGNLzH3+vM!`Ubx&Yndm5Sxh76>=`lM3p7YgL8SCQe!oBU<;AI%s3T`$s8+C3a zHERkS>1VQDT_|bO>DwkYW!}H_?{C_VV1jq$@4L(K@cZyMN3zqAuLK9B^Y`C9{>Wm3 zrh}a0Cr&TTelei0TXmmvL9h0e1CfTiIH!0h%a`n|RUoWx))>^-d>sdbV4p1lr`G{s zA6=c20x&VD&i3)GLl3+gBr&eg*P*E5{}#||hl0Zjw|^={(ACN^?K zto1wbEhW%@3zC0=>yR=4qk(68zoB1R2one7mjD_FIc>hvW=Sx4frCuhnja4n1R3Oo zoB>K?m`{07E@fKjq?J;3%6_$S_ATFVSNv)UE;q1?ZW4G@iUy|Bb1G&XgSAdHkmVUo zz}#*wA8~Jx)akU2G22dE6gbMf`3$Ev0l~X;4fH-N+{oM`|LX3H%7xSQ=?UOT_>Ijf z!C6sc)z!UUMIwP`*6@yk+S^d*5(vp93rcZ^Z6HULsgi{$oBe1FvnMxBeyem@8@-Gz zXiW!>2*ge3QTS$!L@N-N1dg}EbdEk1b>Gh2(4#roV7!9Wm+vADshmD??0uj1Q%mAR1_On0G+D~pVceWL?d;Tuj>H4_AN zr5h*f;<^Qlr2g}V{(Cgbh~~&;1)Np9K)Z?b@%OqkZiHT**~s5u4@P|!Zton>V&fuO zzvGtJva+|@2%xIPOh#`9VvH_^l;9;Dxe#m~_lfl5>8s6{G}ZsP8;N70mTLVZFxPR$fE5`C-4e0*tCS|#a-hg-`>x4J(J{$XlQS!LxlDlc{ z6g=5Qxk(spYRCl91T*uyoGc2J{?tn$X^bUJ>&ba52?dL9cvMm(a{A914&`5looOO#V`)-jDwN+ zV?a&SPuZU#w;Ljk-O=%G;=jV1Vt%vNymZ_{ncGB@n%WnO?P-bAnrRJG zSh|m22IxuR7#8tuATlA^A1aHJawCd)0@H^Xp zGHU1W-^y53&@n#0w0|{0T%v#Z%Xa{Vvk?$v07FjLTbFf#`}=L50KMHZlnGa6U7p=e zheBLARL4^hl~pD0yK>Pf1Nhu6EQc0geu@NY>e^la#bw~mM4&6ygsPv;D4muC3G(Ye<6@zX=S|RW5SJyPEQs&d1zf)XTQ$Ep`KtZ!ze_ z>c*q*hfTx9PquaOv@gd1G(V>5B?|ui0as|ny-q3o_2_J<9NH!sL|5ah5HbGYhJOu^EV+*P zfnBH%yeEY)#J$VKFvOjj$w=yisa|8ag}q0p`&?syfx0g=uNXGjFL#r0%)>t7f4I9@ z^syaxNHV-{Qo+?uqfbo`Q)*Igj37Ab>4+?~(;ss;ATB?Bpp=cG4sH%MK)=ag$12i3 ztGtQr{Y@Ce%6}FHhSojbgx66lmkGf5s=G zM&3-ij3XW`qXKVIj_oT4fbIh3g9DQhEKwl%)Mna!-cHG8-RP~Sr4oKIKHlB0xzDFv zNx!i^4gF@WFa^H03Tz~T83LxvlZn#6au$|=6M2{-ULr5`F&VY|fS#>^mccay&g_mV zzx7gg<->FR%zuF&qnHCfGj~pN+!0&#YijAWWf~IqPN9O##P#eqfc$pjT20CjzL^8! z6`9Z^DhRl4{6gL944fY{ft2pczQtw8?;O`%2Ltu>?TUQKP`ZHC1jSWca6&^UUzZfc z)#w&fZ>{qSOICBepGrGe)?3;ig;(NSE#}{sYz=?ZOLvg-o@;<}MuZCS8f^D|^MYT! z{i=^+J5duW{8?BiD(s|Pa{?qAMFIfEc?x{?G8^uCZJnO+)jN60H9S4gC=XSf?tXPw z&-ZN}>Y0{o5o!eq)5LY!yD!+(M((WPyRZIB^$8Kd3|{fZwThY9ZSOOr15@f6?+A-& zcs)oh)G&MddmU8%PLL(*QTzkxgdAUi(7bI{YU=OP_%gLoWY6{f(RgHIA=gg#1=3aD z9$d6uYZ{|x`=R`Xos)V^C8B+om+PqDYfm_~{Nbo>6>NspDR8k%IWWNP((Y2y&rWdv z@gy=ZO$3t#jxIxp^;EzDzc=mVPo$r^|Ga(Wxm}?wi&=i$Jc>)I&uoBp_<&; ztvcH2m{ocu^xmHzrpAqoyF-H_iok=G5(lgges!iY{kBYy?R_Ra-^?g!vnL)x)_BPu z)4ZexaOkq#@5-ca=v$r^)+~63QaJSu*Ip5h9Qi9#?fk^gP}1snmR6DC_O?_qAF1xr zFv1$j9c>(S+q8>By=!=3QVVOEjhlH)Z)w)`6c=)8w?7`O*yFZ{EhSbKIP1ryOhZ}q z3zDsTJF#9XF_LUwWfm|ge8!cVWzWhgeWBN9Hb;v*CpfS!b{cEw9CkJNyxx^pC>JH= zvX0nXMa~Kp?(dtbUGkLipWT`btuX>S54JY#oVa92P4WrmqDI9r3-1*cX$tq7cKAfn zKQff2H)$Wu4d|2Bo{+OGxJ%i}hqnxu8>to%32fnOdXkvJWpr(NCU?SX-5`ODCuo8=NnaS3YjW=Tf6+u_0gxLn08pSbhro1PA z!hqk!00{*CL=TQnXD1-XyxBZ<0qp2Vo^D^F;c-Osx|&vfWPO`fbudv(n0sp z!=&ZGKvhfQ}pO8(vcDaBB1=4qJNpg=B4 z1lXE8n?jE`dj|Yy8-+!+iQ66s*AK!Ka=#3NR=%G?9UJdkmSiRfJ6P2gZcfHe!STBs zCe21a-sd;6eW0<#-sf&OoT5_@PaPa`Rj$!JQw`s*X+B8>R+3j7%PZ80Z-l=JyXN2=j>M{9NA6t1x_TA`c|(6Uns|J zA2gWY3`D>`glKcd`?F7q_O{)TA?P0AH!OY!kIp1*me116Gd7EKZllb#9+>4X|VjdCUQQ!W) zz+1gQyBncy`z+Go15IU;5qq!va?H}7fQar^_;*>O@Mi7B&u}LRdLQuCBD4K!YC8j; z+3zv407B(ObDXz%-VhZ;Tf1m~f#y^hF%;G6J%N;36di0`sCZ`qtU_-{Z3?7{UW}P# z!w@gUfLqJyoGIatd?-f0$ z%IC6|=k(;lg`aCTO<%zScNXbNZf%?gOq>6Gf6;tR^D70Odc^ZDG)~rM-V~bvav?3E zL-?ZIoGK7@z%5k0n)J`^uPmRnLyHbh>l(yoZp&aN;aVd%nGS9pJl zf&4)Y*X!oN4Vmv1vh{ACS{X^+)esj@aBw$*-)j49%qXV%n@@@1fGEc8N_S*^cVU{fC5VjajV~n0POt(;_U5 zj8*9`2FHEVP?_0EUDks8PgJsvZt04BHxu6a;LiUwDft`7R_-Y4bh zrs8k7yV=2tH^71XKuKU zu~FZH{%W$_g1~MpsuoUxaB2A!6CheE5xco%kmXtge%bZ2IKN37*YE?^w~AbhQQk7C zKt$$&C1Cr(VFCH^$mqNwvagg!q6hW(KZmWfZv&p0QNAstwNRXh5}McCbJBDIsg5h` zjtz3hG0s($PtR2bZml02ne0GO4>2>r>)v-=5YbC>Zm~_{@P;JX4HJqE-DeR(@x-iq zfXm+b_tq`>m)hx9yO@Tu_3sJ^jG>0UJ6Q`d36h4ADorii)4H6X&X^#&&46$3 zME;OGBh=~2_%-3%5I(dn&5;o@TBk)g^oafNuj%B;zHwr=^j5m z0v&zyy8?rfz^LGH&h4iX-Hk_vNo#g2Ih1>FFOH1i?^5uW-q(gYPm-Z0PS^z(jIU|q zx8`gr{hBvM1G#;0hT_YqYRWqh-afcQX7-AYWz%fkg(BeBB6!C#|l@s%ZfI4~wnZ7uhB_7<|a?p`&v%P=UXFk&| zwslNQ^j@xrwRpi}YN4UO&-X=)!ya%c_-ol38=ic4qIJIZMUGC;?A=K5m_&4k+azOZ zs~b(CyQ*!_!Q?RnQ$Td$Q@OPm*JDOT?dg!hw~D;f(VUkV$T)*uufQ$KTSr}5D-lHw z4)0*ISmE70A5W*2Jsk9#OWU4^U^ zA#@uSgj@O?QGsY7{_Gb^q}@+gD<3|*G~~A+NO`JvO;mNo^AhBmlFczvm>?1!!;(O% zde(me8rS%mTA)35ebnG|QhA+<8^In)59)r+NZ>J;=WfCjpJ4{c1ab!hl=`mfAh{ZiqigER|TZjYi)1_T~ z#~rD2GayY|9Bc$29*n!`v*|7&AN~2IlLI(s}DL=R^GjNnDnDfVweg~3h9#Y2Mr+rmyOfN9BcimX^hwv$7n=SKLi$IB9pri zMd!m04;_U*Zx~M@*hyl@&zzoUq^w1>)v6BUJzR$NVN}$2hv7NZ*-q?4aJ=@{U(fI$ zPwSKU6sN#XXG?-(Y^`>ZZ7%VX7T2DCR;L#ch`dP35d3uJTZJus&eKzT+@wP%+!63a z^r6Y#k#f-9W(6Ov_kH`4VWT8feTOc##b8FFaG%AIr$`HERkLk{;$o1V1Ue)bO>Q-f z&z(PE6SWiL`81%&@8lq~U> zR^NLcy{-+&c;F>xQIYIZCVoe|_!dXq?+%+o{ZQ&t35LuzW;DCAhE`^Me8jcvb)XLJ z=RNyfw3WHlep31S$v3|yx;y$< z#+*C(oe-9t))gLG1%kx9BWT}PrTn6;X6uoMT%@m)Q&D+2s&;1*0IKe!XT}LWgt^EH z&i5&o5XJG{|ElcJ3e1tr_GqZB2BsH z{~&BknJJz|-yzW1n+&5(hYF@FnQWXcN2Uh)r68BURx+7C8rH!WcGA8eYc!^O+Q zXpCL^K3HuKHm4A&2PM*;kXh!%M44e;dv$Ja)gLKq%s@~0KQyV(aqZhf!)Ta&`ECzp z8zqR(kg|Ym1>Q1$} zD5%%<(EXHmDav!;G-vH;8UOCc+(tu0?EKV>vlFA(%$*(3vd0Qd{HHwetG>rY1fNsh zjIc=lg7XgXd&GOXS=aE&DKl(k-|-Znm_hdob-ZBsO}ks^W%BLY&dj^SSiZ)^j&@&W znM$y89pl<2@5#m`sZY(S{l9b*@lUSxgm?JM_;~Y7j`&exO@!@{x=xbb)y!kt#(E<@ zg_id*;q-bGoR9t0PTh_cHTrb?Bp>G9$*_=Fd_wvgPvq^VH(RayXkO?xujHw;9_}Y= z3ZCx$?WgV`hTuZ3^J0l*LhDeN4(^2}mhD7l7W*Aq&%05soYcSON!E7HsRi>|5PI-> z0y!I*H}n(c*+Wsa!$*NVzYZCtXw$8$5w-mA*jxXiX1wIhKwR5HRVt z1uPDEdCY+D-4^Fp*MFW{myel_AiSl!9QN#YovO~a)R6wSPw2{PKb5KXe8t?DPwZW_xk?NNvw!U-Y!6UDDt*icKX=oHWD+YZ&ta`PWC1Gj04&2!B9TTJ&jf}rq345 z)lZ=u7hv(oL&CXZ=xdgc$J6atcXYJ1R9(<`p>^PDce&4L$BECzzgVA*xmcg&E892g ziBya)C$;AqGWhr=TlQubCFipI)+|g+P3=9!8t5%8J-K)K^aaOA!J7u6_e-;)&Z4f~ zaU4-z{3cn0+KfGQq13>t_CF}VWp$CM*ioK5fYq09im{!X};Whq0ijm&j*M8>p1SlOhb{-LOy5smulIOslySnHQwu`wF z5YkYcRqWN#qT8}#%d_L|rv8*}nZ223d#mF-d)$M+y_o_gFXopTcwI1U^=FcpY zuxFo=bJiTCd$t-B5cShO^39tW*(VQ?{d}lDh@M_y<&!;PvdNik%?x9618hIq&>H&L zyq@Jg8;-ejwQAs6gsCoNva*46a$=@n;G|xTqvsEL(>)`1yS`H;(?tC8;WF+=r}7Nd z5o+lPg~>66M%u31jKf=&EamHje`!U%O7vy_H>D~@->zmFH$ z<~j@~=~Y%p-8xdP9|Vhi>&2Zs$F0S&WhKeL-#dTS-uiQ-ZK^Tt(S%(9G|a!YOuJ3} zy{#?E@e_&H7nmTg(W}j&)abx2(k5Zeg#*|qt{_V8@hU~Y%aPges+fq6FeeXDF8UMs1-?-S(&B!vtyN~p-B;6aS8@hpLG=0GD?gJ z^53de(Jpa9xkgu~dA4*n^s4m344W<$&SU##g$Ot6g@EinW{BhJc)_!dwXjx=bvkMHOr-g57MVt}>#*CYg%}ip4wKve zV*w0x_|H}*4UN7NJvzQv{2Ezg9^cC8OeQ82`hkihX6gK;9KT@Z z+hU~UeYi$2oxtJd8tdn$TKN(mvHoAWWX!NW5m$87zz!VjrG=J(jv$Vkh+N&0qf*n# zRA6h2qDX}wDiE1prdNiSS1L>M6Fzc8ql~BCQms%#l=!@N^+3$Tj z#jPgv2wKvuQyMoijmwVhvgqDlz(z%AIpj2t6__5a)bZ>#1=f_?x5X_8>cR7|ViV_Y zFE4{|j9;uohHchIF{tQW^R}lK@2-^9U5E2G`(|wT|GiP?sG|WZCk|W-my2X3vCdYd~Y>?C*sN7t82hO;mf| zDb%||&L71Uaj*sy%QS=Qn7i@oD4U{}m_{{RYSiHev2iGw%i~V#1}>T(6^JTP`|OPl zOx-Dc02WOG-!YtJ5MmG=03CmfK?wYc{Q4~h-?b;6$tj*mg2|Niv3AOf+~2|d&ws_{ zt~N3$J{_qzKZaMkidKZij=s@gm7=hpPQBM~g1a^RH7SHhm2eTTMTl(|CFXq2a~XHl z5O(OzAA00W0{Sr~I21P4KTct z5G$S2LC;>bv$+t0{(LLp5FPaR$A* z1~(<+z3<6V+R34E#pz+gioebGbIebMA($G;&wb+a>X>+Dd-JK4KhY^O{rr;*5Xp11 zD{S;0S_n`H#ky8qe}N=HkjZ(IbXqz@k1f+CbVhV?(c$vUEdO7lQueo)kCTz#pi{3z zy831r2`e6s2i4VF6$m*M=wJ@0@hTSLI#=H6lkk~e+$~LH7R-+hW)N|I`P`tB>{_lf z;Jp|k#ZKzn$2G}`lqg$Iq0(&LaWYjf%^{C5h{lksm9F^y`(lb#2Yu7OtYoIaaPxEN zZ8$Rf<)prQK(zZ@eG93li@yWd#4OcGU0tKosLMgoNbJF7(_(zq{)%;r%|7i{jd+4-7{p+->-#T>(aeS?D+jXMs3hA zi?l+IZ`{eJQ|E@3E+@|yB*Bt>8*E!X=~uwELXHS*V>=waG4CkiP%j`5s#|-iH*TI;@`EH@l zA^~!^@B-HOt95-vp|(V$u3+Q`onLMV*Uym`o=jN_j`+#TJNmokE zmOD!G^wp_T)~C`w%|~*2Ydn87niK*sHfZ@D$ho4**7E`6p&0^7|LpV=!W<}eCV^(= z%ur(<@{y~#?vyy<4!gnf)WE6oGvG^U9ISwC8UWoU{lpJWFL8CshD(0VQ3T6HY{xRAs1|#B-Mmxda<%7%DQ;{u=g!b*?+XC4z|wWRf%+&3c?fv+Xy z%vT=CT-$3Eq{Q5gDr1LxuQQ#LJMr*WzYTA-^9`G*@;zvKCDq&HK}5kwuj*6$~o5+Ly z!f&`LLasy+8fB|5BcRaMpp!Ai=8UrWw&kYQ@!-=#Ztlf_-%}(Q{HPNahMrp>VA?NkeKNv{})C4?uDB&ep3y$eA`motQIZV`t2y?+Z{-B z*oBsi9=lY70rpb`_1*8gO1+_&rZF7c;35yknUM>J4ICTTsI{Gig};^Af_=Ckd; zFEL3V|MY@eV`ye>EkgHlbI7MZ?`SbyP1b=`MVe8Jc%KiGsC~|IBsD)qspur$!S}0s zIklg5hLGv)B-Q(L@&2ve$ZaQY9kLL!wDp>KfTLU;eu3L#UHWn;_=PL9vP}g zvMijAw_F6!MNTg#85BC~I}xR%%#vgh7flIT$h-&^pUMZhWjWLV9-hmC?TFLAu_vc@ z^_+*6IGdbw{^2lEMxhZzvp+j2Ygg4v_c-~JFTX(W-{zOf59-9twwc?` z>=zkU)>HCjIe}y@9i)ahYmTSV{Fuj!=K7<&5_LE^-kjBe{EpsB4cOO2zDb^?N*QS9 z5>FXmFTO9gf9LV`KauNQ0xleA3_IpKwos{e-G47FylCD5SJB87X+t@aKYHj@;+hkm zEp&qE6u;oBXU)E-&6M{|=d|OeFemB}f0E!5*vp^H<$u0>IzYtY$U({E9M50=qB_Ob zLsBwXlNsM^v|iz@uKo~%gHHT6VP%4EAJvDV9IjoT61lA$2S^1)u)iMrl+h92lg}|? ztVmaY5=-iOk+-jlLHINHt-q4ow}$GxyxX9eIz9bkvTv28uaAize>|Sgz@F&z#Euzq zYMS?`Qb@T-_d|2m~ zl<57oY$Gx=<*92FtN8Fd=;C4$nK!NV?qIbB8>jWRLd5caDm)S!#JK3EbSUJ`{B3hM zbBRiE&E9;>-zB&^q}xXAKSuGji4XmBDO$UPS{?EAkhABs6JU}VE$d^wdWGgPLbeQ& z%Z=W%Kgn%_UEz`Rk35gP*EZDtQPKPL%A3RX+c&wMSY%4+16(aX`%DhufXi95G*PUE zK6GhAy{JLZo}lUSj?xu?8TYt4#>IhXizF-|Y2Xtepc#!eKy>Q(&`!5pd#}otoR&Cx z39_i+zm`sD<$9s(9l*vvHH9;s=JsMyi^vJ@S%QU^ZM1nTm^7E0`D-_|KckfVPpEf@ z;?;wR66#f4&Do_yS!wn5$9wq1)iv_Lp^9L5#dTlQ?Q#C^LOkY3ik6|}s^^RPgZcoB zKsXy`U)#Pqy>_O3DDWxOaWG~OTU^6E^ zKPl^B%l>j|zV8Vtg@0hfe~*TS?i8>aN$iBT8sCG7Z$??~h#5ye=gOv|3SF4{zdLapW7QdK~(f*LU$lt_>TK{@&W@-gy%COl(C&vDMIS|bZ zSP|AZbwFJPqcm2|q&-@tUB9Ojn=0(N;Z|@+Zo~vt(xB5tzbwi8Ab*Rh3{oHyM@P5w~zI$czfR)02%iF`9IH>t&M9z9Jni$w=(62$& z>4DM72g;Hdlekprt3gkwXtv54KfeJ%Us(X}Wh{V)lKYUxo`E|!zSounJvhV(n?fcu z_w>UGPFK`H{cX9;p`i1fg)a>T!ar5`!%|N`UgZ zxKD1Xgn=C|Uv{MK#a~ksB ziccp(#-QyZ2;LnDWjg9qI!mmXV^DszMs)LVJ_sARKbdNhb+ z%=b52rZ3KSHW^=nJI9opu%MZ^S!K!Gx2}0IE4TN@P*q*dy0T2t|AgE2t|bs$!bHd{ z+R}PysJdBpJk9}b;?g1tLAw#Jyi?0NmjCPAVLk;42vqlrp)$+uB zL3eZWyv&_r7Xltv2`fxkG+>;BUU`S5KOWs`<1(k1nU7CLNEPWbm`%>L3O#6l+LhVy z`SFagB~wYA6#`)+1K6vACmYwhoV=icqTfGSyoN?YjESpHoj`6+WG*(lz0FaUqFLt( z39}!l-FUuBwWla?&Sgol6{zB93Exxm-4lOoRZCJqVi|En-^l;+G@&A)_*(wUlc#T$ z+#_=om59@8{&%Ozyp2^#>Zyl>me}1njHn~M#;J)|wtK-8408{l1wo-mPhNg%YtY3T zZ!m@{d|M1{gkwYvFbWo+H2_J^w1qoCFKSh!e3O44IlEIo5KOBwoMC(Bp~BUMK(oua zg6vb!ZGQN)r+;dyP`O3g@8O0c&mYMUYSpv+OTjz{$bJtQc4@uxj(QH^zwVHr-cS_R zRgF#Q%Ykr>l6{aMI)i?_^z%&mZ6GG4>1)_ zT4OE<_H*uQ9z`55+38NhuU-;?@lBH>l9e$^KvhADQxR7?Va>Z*tk=zUQv8BPux)PY zl>qS}fXWpo(XUJKA?GJHoQ%U&j~nbb*#ldz=QKI}+l`Nq&DZ)xO!&DJ(e=JpoO@c` zfp9A*7vbuFWA?wnd@EQvD`?e9{E@+MIl?Ng8;iDMv75kY<<)YqGnn3Xt?hc@X*T#c zeKlfHYz1Nvy@O7#=%4WO$X&MH5;53mZ0!U@Pn)xUtUR0Eo%jB(W#tizIYGwU3wv^Q z+Ma$N+3nN&FlNix0-?$A`G#}L(p-);9RzuH%UB?M$#dI%c}os!i(ve$QBSnV<$yi8 zCFKd0koEj5yIO=+1k9F`+|f&cEjp6#!)sJ=r51{W&`9DW*nYKz(J&8REqR(lprYLY zh^M37j+FGBDyrHc;wjjYc?paU&Ol@_RIrd}3H*E0dorwqFJX9w1H6wsY(M)KkSs@l zx@!=Iu`aB%tCMx`9u6}-%55@Qzg}Ww2rdGEafw>C-}RWfeO5RM=})M1QPsQ1XM8*8 z&D#A)Dh!7fv+)?d^WW}xf~6oY^?pX3!iIyG1t5fLhiTHljeWR8D!uvEHXCgf8k=@| z89XTYuqJmTzw>74pGG05fQW^Ggl$eIzCG$Or-qcZJrVUPDR%K^`Ktf7Q71rk*4((! z5|Xf5zuaMsXCJuRm&pOVClXM-5pXc57O?cm<;HG>?(C`GeG_?iGy%+9UV|P= z%0D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